mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
funnier minecarts
This commit is contained in:
parent
625b0c70ab
commit
7e7d062324
@ -149,8 +149,16 @@ public class ToolRecipes {
|
||||
CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon_tools), new Object[] { Items.book, Items.gold_nugget, KEY_GREEN });
|
||||
|
||||
//Carts
|
||||
CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(EnumCartBase.WOOD, EnumMinecart.EMPTY), new Object[] { "P P", "WPW", 'P',KEY_SLAB, 'W', KEY_PLANKS });
|
||||
CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(EnumCartBase.STEEL, EnumMinecart.EMPTY), new Object[] { "P P", "IPI", 'P', STEEL.plate(), 'I', STEEL.ingot() });
|
||||
CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(EnumCartBase.STEEL, EnumMinecart.DESTROYER), new Object[] { "S S", "BLB", "SCS", 'S', STEEL.ingot(), 'B', ModItems.blades_steel, 'L', Fluids.LAVA.getDict(1000), 'C', DictFrame.fromOne(ModItems.cart, EnumMinecart.EMPTY) });
|
||||
CraftingManager.addShapelessAuto(ItemModMinecart.createCartItem(EnumCartBase.PAINTED, EnumMinecart.EMPTY), new Object[] { ItemModMinecart.createCartItem(EnumCartBase.STEEL, EnumMinecart.EMPTY), KEY_RED });
|
||||
|
||||
for(EnumCartBase base : EnumCartBase.values()) {
|
||||
|
||||
if(EnumMinecart.DESTROYER.supportsBase(base)) CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(base, EnumMinecart.DESTROYER), new Object[] { "S S", "BLB", "SCS", 'S', STEEL.ingot(), 'B', ModItems.blades_steel, 'L', Fluids.LAVA.getDict(1000), 'C', ItemModMinecart.createCartItem(base, EnumMinecart.EMPTY) });
|
||||
if(EnumMinecart.POWDER.supportsBase(base)) CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(base, EnumMinecart.POWDER), new Object[] { "PPP", "PCP", "PPP", 'P', Items.gunpowder, 'C', ItemModMinecart.createCartItem(base, EnumMinecart.EMPTY) });
|
||||
if(EnumMinecart.SEMTEX.supportsBase(base)) CraftingManager.addRecipeAuto(ItemModMinecart.createCartItem(base, EnumMinecart.SEMTEX), new Object[] { "S", "C", 'S', ModBlocks.semtex, 'C', ItemModMinecart.createCartItem(base, EnumMinecart.EMPTY) });
|
||||
}
|
||||
net.minecraft.item.crafting.CraftingManager.getInstance().addRecipe(DictFrame.fromOne(ModItems.cart, EnumMinecart.CRATE), new Object[] { "C", "S", 'C', ModBlocks.crate_steel, 'S', Items.minecart }).func_92100_c();
|
||||
|
||||
//Configged
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.hbm.entity.cart;
|
||||
|
||||
import net.minecraft.entity.item.EntityMinecart;
|
||||
import com.hbm.items.tool.ItemModMinecart.EnumCartBase;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -14,16 +15,16 @@ import net.minecraft.world.World;
|
||||
* @author hbm
|
||||
*
|
||||
*/
|
||||
public abstract class EntityMinecartContainerBase extends EntityMinecart implements IInventory {
|
||||
public abstract class EntityMinecartContainerBase extends EntityMinecartNTM implements IInventory {
|
||||
|
||||
protected ItemStack[] slots = new ItemStack[this.getSizeInventory()];
|
||||
|
||||
public EntityMinecartContainerBase(World p_i1712_1_) {
|
||||
super(p_i1712_1_);
|
||||
public EntityMinecartContainerBase(World world) {
|
||||
super(world);
|
||||
}
|
||||
|
||||
public EntityMinecartContainerBase(World world, double x, double y, double z) {
|
||||
super(world, x, y, z);
|
||||
public EntityMinecartContainerBase(World world, double x, double y, double z, EnumCartBase type) {
|
||||
super(world, x, y, z, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -102,11 +103,6 @@ public abstract class EntityMinecartContainerBase extends EntityMinecart impleme
|
||||
public boolean isItemValidForSlot(int slot, ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMinecartType() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound nbt) {
|
||||
|
||||
@ -21,8 +21,8 @@ public class EntityMinecartCrate extends EntityMinecartContainerBase {
|
||||
super(world);
|
||||
}
|
||||
|
||||
public EntityMinecartCrate(World world, double x, double y, double z, ItemStack stack) {
|
||||
super(world, x, y, z);
|
||||
public EntityMinecartCrate(World world, double x, double y, double z, EnumCartBase type, ItemStack stack) {
|
||||
super(world, x, y, z, type);
|
||||
if(stack.hasTagCompound()) {
|
||||
for(int i = 0; i < getSizeInventory(); i++) {
|
||||
setInventorySlotContents(i, ItemStack.loadItemStackFromNBT(stack.stackTagCompound.getCompoundTag("slot" + i)));
|
||||
|
||||
@ -8,8 +8,12 @@ import com.hbm.items.tool.ItemModMinecart;
|
||||
import com.hbm.items.tool.ItemModMinecart.EnumCartBase;
|
||||
import com.hbm.items.tool.ItemModMinecart.EnumMinecart;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.entity.item.RenderNeoCart;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.item.EntityItem;
|
||||
@ -25,8 +29,8 @@ public class EntityMinecartDestroyer extends EntityMinecartContainerBase {
|
||||
super(p_i1712_1_);
|
||||
}
|
||||
|
||||
public EntityMinecartDestroyer(World world, double x, double y, double z) {
|
||||
super(world, x, y, z);
|
||||
public EntityMinecartDestroyer(World world, double x, double y, double z, EnumCartBase type) {
|
||||
super(world, x, y, z, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -122,19 +126,14 @@ public class EntityMinecartDestroyer extends EntityMinecartContainerBase {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void killMinecart(DamageSource p_94095_1_) {
|
||||
this.setDead();
|
||||
ItemStack itemstack = ItemModMinecart.createCartItem(EnumCartBase.STEEL, EnumMinecart.DESTROYER);
|
||||
|
||||
if(this.func_95999_t() != null) {
|
||||
itemstack.setStackDisplayName(this.func_95999_t());
|
||||
}
|
||||
|
||||
this.entityDropItem(itemstack, 0.0F);
|
||||
public ItemStack getCartItem() {
|
||||
return ItemModMinecart.createCartItem(this.getBase(), EnumMinecart.DESTROYER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getCartItem() {
|
||||
return ItemModMinecart.createCartItem(EnumCartBase.STEEL, EnumMinecart.DESTROYER);
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void renderSpecialContent(RenderNeoCart renderer) {
|
||||
renderer.bindTexture(ResourceManager.cart_destroyer_tex);
|
||||
ResourceManager.cart_destroyer.renderAll();
|
||||
}
|
||||
}
|
||||
|
||||
89
src/main/java/com/hbm/entity/cart/EntityMinecartNTM.java
Normal file
89
src/main/java/com/hbm/entity/cart/EntityMinecartNTM.java
Normal file
@ -0,0 +1,89 @@
|
||||
package com.hbm.entity.cart;
|
||||
|
||||
import com.hbm.items.tool.ItemModMinecart.EnumCartBase;
|
||||
import com.hbm.render.entity.item.RenderNeoCart;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.item.EntityMinecart;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public abstract class EntityMinecartNTM extends EntityMinecart {
|
||||
|
||||
public static final int cart_base_id = 23;
|
||||
|
||||
public EntityMinecartNTM(World p_i1712_1_) {
|
||||
super(p_i1712_1_);
|
||||
}
|
||||
|
||||
public EntityMinecartNTM(World world, double x, double y, double z, EnumCartBase type) {
|
||||
super(world, x, y, z);
|
||||
this.setBase(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void entityInit() {
|
||||
super.entityInit();
|
||||
this.dataWatcher.addObject(cart_base_id, new Integer(0)); //EnumCartBase
|
||||
}
|
||||
|
||||
public void setBase(EnumCartBase type) {
|
||||
this.dataWatcher.updateObject(cart_base_id, type.ordinal());
|
||||
}
|
||||
|
||||
public EnumCartBase getBase() {
|
||||
return EnumCartBase.values()[this.dataWatcher.getWatchableObjectInt(cart_base_id)];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMinecartType() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBeCollidedWith() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBox(Entity entity) {
|
||||
return entity.boundingBox;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getBoundingBox() {
|
||||
return this.boundingBox;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void killMinecart(DamageSource p_94095_1_) {
|
||||
this.setDead();
|
||||
ItemStack itemstack = getCartItem();
|
||||
|
||||
if(this.func_95999_t() != null) {
|
||||
itemstack.setStackDisplayName(this.func_95999_t());
|
||||
}
|
||||
|
||||
this.entityDropItem(itemstack, 0.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeEntityToNBT(NBTTagCompound nbt) {
|
||||
super.writeEntityToNBT(nbt);
|
||||
nbt.setInteger("base", this.dataWatcher.getWatchableObjectInt(cart_base_id));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void readEntityFromNBT(NBTTagCompound nbt) {
|
||||
super.readEntityFromNBT(nbt);
|
||||
this.dataWatcher.updateObject(23, nbt.getInteger("base"));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void renderSpecialContent(RenderNeoCart renderer) { }
|
||||
}
|
||||
@ -4,57 +4,21 @@ import com.hbm.items.tool.ItemModMinecart;
|
||||
import com.hbm.items.tool.ItemModMinecart.EnumCartBase;
|
||||
import com.hbm.items.tool.ItemModMinecart.EnumMinecart;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.item.EntityMinecart;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMinecartOre extends EntityMinecart {
|
||||
public class EntityMinecartOre extends EntityMinecartNTM {
|
||||
|
||||
public EntityMinecartOre(World p_i1712_1_) {
|
||||
super(p_i1712_1_);
|
||||
}
|
||||
|
||||
public EntityMinecartOre(World world, double x, double y, double z) {
|
||||
super(world, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMinecartType() {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canBeCollidedWith() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBox(Entity entity) {
|
||||
return entity.boundingBox;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getBoundingBox() {
|
||||
return this.boundingBox;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void killMinecart(DamageSource p_94095_1_) {
|
||||
this.setDead();
|
||||
ItemStack itemstack = ItemModMinecart.createCartItem(EnumCartBase.STEEL, EnumMinecart.EMPTY);
|
||||
|
||||
if(this.func_95999_t() != null) {
|
||||
itemstack.setStackDisplayName(this.func_95999_t());
|
||||
}
|
||||
|
||||
this.entityDropItem(itemstack, 0.0F);
|
||||
public EntityMinecartOre(World world, double x, double y, double z, EnumCartBase type) {
|
||||
super(world, x, y, z, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getCartItem() {
|
||||
return ItemModMinecart.createCartItem(EnumCartBase.STEEL, EnumMinecart.EMPTY);
|
||||
return ItemModMinecart.createCartItem(this.getBase(), EnumMinecart.EMPTY);
|
||||
}
|
||||
}
|
||||
|
||||
35
src/main/java/com/hbm/entity/cart/EntityMinecartPowder.java
Normal file
35
src/main/java/com/hbm/entity/cart/EntityMinecartPowder.java
Normal file
@ -0,0 +1,35 @@
|
||||
package com.hbm.entity.cart;
|
||||
|
||||
import com.hbm.items.tool.ItemModMinecart;
|
||||
import com.hbm.items.tool.ItemModMinecart.EnumCartBase;
|
||||
import com.hbm.items.tool.ItemModMinecart.EnumMinecart;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.entity.item.RenderNeoCart;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMinecartPowder extends EntityMinecartNTM {
|
||||
|
||||
public EntityMinecartPowder(World world) {
|
||||
super(world);
|
||||
}
|
||||
|
||||
public EntityMinecartPowder(World world, double x, double y, double z, EnumCartBase type) {
|
||||
super(world, x, y, z, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getCartItem() {
|
||||
return ItemModMinecart.createCartItem(this.getBase(), EnumMinecart.POWDER);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void renderSpecialContent(RenderNeoCart renderer) {
|
||||
renderer.bindTexture(ResourceManager.cart_powder_tex);
|
||||
ResourceManager.cart_powder.renderPart("Powder");
|
||||
}
|
||||
}
|
||||
37
src/main/java/com/hbm/entity/cart/EntityMinecartSemtex.java
Normal file
37
src/main/java/com/hbm/entity/cart/EntityMinecartSemtex.java
Normal file
@ -0,0 +1,37 @@
|
||||
package com.hbm.entity.cart;
|
||||
|
||||
import com.hbm.items.tool.ItemModMinecart;
|
||||
import com.hbm.items.tool.ItemModMinecart.EnumCartBase;
|
||||
import com.hbm.items.tool.ItemModMinecart.EnumMinecart;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.entity.item.RenderNeoCart;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class EntityMinecartSemtex extends EntityMinecartNTM {
|
||||
|
||||
public EntityMinecartSemtex(World world) {
|
||||
super(world);
|
||||
}
|
||||
|
||||
public EntityMinecartSemtex(World world, double x, double y, double z, EnumCartBase type) {
|
||||
super(world, x, y, z, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getCartItem() {
|
||||
return ItemModMinecart.createCartItem(this.getBase(), EnumMinecart.SEMTEX);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void renderSpecialContent(RenderNeoCart renderer) {
|
||||
renderer.bindTexture(ResourceManager.cart_semtex_top);
|
||||
ResourceManager.cart_powder.renderPart("SemtexTop");
|
||||
renderer.bindTexture(ResourceManager.cart_semtex_side);
|
||||
ResourceManager.cart_powder.renderPart("SemtexSide");
|
||||
}
|
||||
}
|
||||
@ -43,10 +43,11 @@ public class ItemModMinecart extends Item {
|
||||
}
|
||||
|
||||
public static enum EnumMinecart {
|
||||
EMPTY (EnumCartBase.STEEL),
|
||||
EMPTY (EnumCartBase.WOOD, EnumCartBase.STEEL, EnumCartBase.PAINTED),
|
||||
CRATE (EnumCartBase.VANILLA),
|
||||
DESTROYER (EnumCartBase.STEEL),
|
||||
POWDER (EnumCartBase.WOOD);
|
||||
DESTROYER (EnumCartBase.STEEL, EnumCartBase.PAINTED),
|
||||
POWDER (EnumCartBase.WOOD, EnumCartBase.STEEL, EnumCartBase.PAINTED),
|
||||
SEMTEX (EnumCartBase.WOOD, EnumCartBase.STEEL, EnumCartBase.PAINTED);
|
||||
|
||||
public int types;
|
||||
|
||||
@ -217,7 +218,7 @@ public class ItemModMinecart extends Item {
|
||||
if(BlockRailBase.func_150051_a(world.getBlock(x, y, z))) {
|
||||
if(!world.isRemote) {
|
||||
|
||||
EntityMinecart entityminecart = createMinecart(world, x + 0.5D, y + 0.5D, z + 0.5D, stack);
|
||||
EntityMinecart entityminecart = createMinecart(world, x + fx, y + fy, z + fz, stack);
|
||||
|
||||
if(stack.hasDisplayName()) {
|
||||
entityminecart.setMinecartName(stack.getDisplayName());
|
||||
@ -235,10 +236,13 @@ public class ItemModMinecart extends Item {
|
||||
|
||||
public static EntityMinecart createMinecart(World world, double x, double y, double z, ItemStack stack) {
|
||||
EnumMinecart type = (EnumMinecart) EnumMinecart.values()[stack.getItemDamage()];
|
||||
EnumCartBase base = getBaseType(stack);
|
||||
switch(type) {
|
||||
case CRATE: return new EntityMinecartCrate(world, x, y, z, stack);
|
||||
case DESTROYER: return new EntityMinecartDestroyer(world, x, y, z);
|
||||
case EMPTY: return new EntityMinecartOre(world, x, y, z);
|
||||
case CRATE: return new EntityMinecartCrate(world, x, y, z, base, stack);
|
||||
case DESTROYER: return new EntityMinecartDestroyer(world, x, y, z, base);
|
||||
case EMPTY: return new EntityMinecartOre(world, x, y, z, base);
|
||||
case POWDER: return new EntityMinecartPowder(world, x, y, z, base);
|
||||
case SEMTEX: return new EntityMinecartSemtex(world, x, y, z, base);
|
||||
default: return new EntityMinecartEmpty(world, x, y, z);
|
||||
}
|
||||
}
|
||||
|
||||
@ -627,8 +627,7 @@ public class ClientProxy extends ServerProxy {
|
||||
//minecarts
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMinecartTest.class, new RenderMinecartTest());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMinecartCrate.class, new RenderMinecart());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMinecartDestroyer.class, new RenderNeoCart());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMinecartOre.class, new RenderNeoCart());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMinecartNTM.class, new RenderNeoCart());
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMagnusCartus.class, new RenderMagnusCartus());
|
||||
//items
|
||||
RenderingRegistry.registerEntityRenderingHandler(EntityMovingItem.class, new RenderMovingItem());
|
||||
|
||||
@ -495,6 +495,8 @@ public class MainRegistry {
|
||||
EntityRegistry.registerModEntity(EntityMinecartOre.class, "entity_ntm_cart_ore", 172, this, 250, 1, false);
|
||||
EntityRegistry.registerModEntity(EntityMinecartBogie.class, "entity_ntm_cart_bogie", 173, this, 250, 1, false);
|
||||
EntityRegistry.registerModEntity(EntityMagnusCartus.class, "entity_ntm_cart_chungoid", 174, this, 250, 1, false);
|
||||
EntityRegistry.registerModEntity(EntityMinecartPowder.class, "entity_ntm_cart_powder", 175, this, 250, 1, false);
|
||||
EntityRegistry.registerModEntity(EntityMinecartSemtex.class, "entity_ntm_cart_semtex", 176, this, 250, 1, false);
|
||||
|
||||
EntityRegistry.registerGlobalEntityID(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x204131, 0x75CE00);
|
||||
EntityRegistry.registerGlobalEntityID(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", EntityRegistry.findGlobalUniqueEntityId(), 0x813b9b, 0xd71fdd);
|
||||
|
||||
@ -916,6 +916,7 @@ public class ResourceManager {
|
||||
//Carts
|
||||
public static final IModelCustom cart = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vehicles/cart.obj"));
|
||||
public static final IModelCustom cart_destroyer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vehicles/cart_destroyer.obj"));
|
||||
public static final IModelCustom cart_powder = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/vehicles/cart_powder.obj"));
|
||||
|
||||
////Texture Entities
|
||||
|
||||
@ -1184,6 +1185,9 @@ public class ResourceManager {
|
||||
public static final ResourceLocation cart_blank = new ResourceLocation(RefStrings.MODID, "textures/entity/cart_metal_naked.png");
|
||||
public static final ResourceLocation cart_wood = new ResourceLocation(RefStrings.MODID, "textures/entity/cart_wood.png");
|
||||
public static final ResourceLocation cart_destroyer_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/cart_destroyer.png");
|
||||
public static final ResourceLocation cart_powder_tex = new ResourceLocation(RefStrings.MODID, "textures/blocks/block_gunpowder.png");
|
||||
public static final ResourceLocation cart_semtex_side = new ResourceLocation(RefStrings.MODID, "textures/blocks/semtex_side.png");
|
||||
public static final ResourceLocation cart_semtex_top = new ResourceLocation(RefStrings.MODID, "textures/blocks/semtex_bottom.png");
|
||||
|
||||
//ISBRHs
|
||||
public static final IModelCustom scaffold = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/scaffold.obj"));
|
||||
|
||||
@ -2,12 +2,11 @@ package com.hbm.render.entity.item;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.entity.cart.EntityMinecartDestroyer;
|
||||
import com.hbm.entity.cart.EntityMinecartNTM;
|
||||
import com.hbm.main.ResourceManager;
|
||||
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.item.EntityMinecart;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.Vec3;
|
||||
@ -15,11 +14,12 @@ import net.minecraft.util.Vec3;
|
||||
public class RenderNeoCart extends Render {
|
||||
|
||||
@Override
|
||||
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) {
|
||||
this.doRender((EntityMinecart) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
|
||||
public void doRender(Entity entity, double x, double y, double z, float rot, float interp) {
|
||||
this.doRender((EntityMinecartNTM) entity, x, y, z, rot, interp);
|
||||
}
|
||||
|
||||
public void doRender(EntityMinecart cart, double x, double y, double z, float rot, float interp) {
|
||||
public void doRender(EntityMinecartNTM cart, double x, double y, double z, float rot, float interp) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
this.bindEntityTexture(cart);
|
||||
long rand = (long) cart.getEntityId() * 493286711L;
|
||||
@ -80,17 +80,33 @@ public class RenderNeoCart extends Render {
|
||||
}
|
||||
|
||||
ResourceManager.cart.renderPart("Bucket");
|
||||
|
||||
if(cart instanceof EntityMinecartDestroyer) {
|
||||
bindTexture(ResourceManager.cart_destroyer_tex);
|
||||
ResourceManager.cart_destroyer.renderAll();
|
||||
}
|
||||
cart.renderSpecialContent(this);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
|
||||
return ResourceManager.cart_blank;
|
||||
protected ResourceLocation getEntityTexture(Entity entity) {
|
||||
return getEntityTexture((EntityMinecartNTM) entity);
|
||||
}
|
||||
|
||||
protected ResourceLocation getEntityTexture(EntityMinecartNTM entity) {
|
||||
switch(entity.getBase()) {
|
||||
case PAINTED: return ResourceManager.cart_metal;
|
||||
default:
|
||||
case STEEL: return ResourceManager.cart_blank;
|
||||
case WOOD: return ResourceManager.cart_wood;
|
||||
}
|
||||
}
|
||||
|
||||
//"NoT vIsIbLe" how about you kiss my fucking ass
|
||||
@Override
|
||||
public void bindEntityTexture(Entity entity) {
|
||||
this.bindTexture(this.getEntityTexture(entity));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bindTexture(ResourceLocation loc) {
|
||||
this.renderManager.renderEngine.bindTexture(loc);
|
||||
}
|
||||
}
|
||||
|
||||
266
src/main/resources/assets/hbm/models/vehicles/cart_powder.obj
Normal file
266
src/main/resources/assets/hbm/models/vehicles/cart_powder.obj
Normal file
@ -0,0 +1,266 @@
|
||||
# Blender v2.79 (sub 0) OBJ File: 'cart_powder.blend'
|
||||
# www.blender.org
|
||||
o Powder
|
||||
v -0.500000 0.812500 0.562500
|
||||
v 0.500000 0.812500 0.562500
|
||||
v -0.500000 0.812500 -0.562500
|
||||
v 0.500000 0.812500 -0.562500
|
||||
v -0.250000 0.812500 0.562500
|
||||
v 0.000000 0.875000 0.562500
|
||||
v 0.250000 0.875000 0.562500
|
||||
v 0.250000 0.875000 -0.562500
|
||||
v 0.000000 0.937500 -0.562500
|
||||
v -0.250000 0.875000 -0.562500
|
||||
v -0.500000 0.812500 -0.281250
|
||||
v -0.500000 0.812500 0.000000
|
||||
v -0.500000 0.812500 0.281250
|
||||
v 0.500000 0.812500 0.281250
|
||||
v 0.500000 0.812500 0.000000
|
||||
v 0.500000 0.812500 -0.281250
|
||||
v -0.250000 0.875000 0.281250
|
||||
v -0.250000 0.937500 0.000000
|
||||
v -0.250000 0.875000 -0.281250
|
||||
v 0.000000 0.937500 0.281250
|
||||
v 0.000000 1.000000 0.000000
|
||||
v 0.000000 0.937500 -0.281250
|
||||
v 0.250000 0.875000 0.281250
|
||||
v 0.250000 0.937500 0.000000
|
||||
v 0.250000 0.875000 -0.281250
|
||||
vt 0.250000 0.250000
|
||||
vt 0.000000 0.250000
|
||||
vt 0.250000 -0.000000
|
||||
vt 1.000000 0.250000
|
||||
vt 0.750000 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 0.750000 0.250000
|
||||
vt 0.500000 0.250000
|
||||
vt 0.500000 -0.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.250000 1.000000
|
||||
vt 0.250000 0.750000
|
||||
vt 0.500000 0.750000
|
||||
vt 0.250000 0.500000
|
||||
vt 0.500000 0.500000
|
||||
vt 0.750000 1.000000
|
||||
vt 0.750000 0.750000
|
||||
vt 0.750000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 0.750000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.750000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 -0.000000
|
||||
vn 0.2425 0.9701 0.0000
|
||||
vn -0.2425 0.9701 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.2371 0.9484 0.2107
|
||||
vn 0.2371 0.9484 -0.2107
|
||||
vn -0.2371 0.9484 0.2107
|
||||
vn -0.2371 0.9484 -0.2107
|
||||
vn 0.4386 0.8773 -0.1949
|
||||
vn -0.4386 0.8773 0.1949
|
||||
vn -0.4386 0.8773 -0.1949
|
||||
vn 0.4386 0.8773 0.1949
|
||||
s off
|
||||
f 25/1/1 16/2/1 8/3/1
|
||||
f 11/4/2 10/5/2 3/6/2
|
||||
f 19/7/2 22/8/2 9/9/2
|
||||
f 22/8/1 25/1/1 9/9/1
|
||||
f 6/10/3 7/11/3 23/12/3
|
||||
f 20/13/4 23/12/4 24/14/4
|
||||
f 21/15/5 24/14/5 22/8/5
|
||||
f 5/16/6 6/10/6 17/17/6
|
||||
f 17/17/6 20/13/6 18/18/6
|
||||
f 18/18/7 21/15/7 22/8/7
|
||||
f 1/19/3 5/16/3 13/20/3
|
||||
f 13/20/2 17/17/2 12/21/2
|
||||
f 12/21/2 19/7/2 11/4/2
|
||||
f 7/11/1 2/22/1 14/23/1
|
||||
f 23/12/1 14/23/1 15/24/1
|
||||
f 24/14/8 15/24/8 25/1/8
|
||||
f 18/18/6 20/13/6 21/15/6
|
||||
f 24/14/4 21/15/4 20/13/4
|
||||
f 22/8/7 19/7/7 18/18/7
|
||||
f 22/8/5 24/14/5 25/1/5
|
||||
f 12/21/9 17/17/9 18/18/9
|
||||
f 25/1/1 15/24/1 16/2/1
|
||||
f 19/7/10 12/21/10 18/18/10
|
||||
f 9/9/2 10/5/2 19/7/2
|
||||
f 9/9/1 25/1/1 8/3/1
|
||||
f 17/17/6 6/10/6 20/13/6
|
||||
f 15/24/11 24/14/11 23/12/11
|
||||
f 23/12/4 20/13/4 6/10/4
|
||||
f 14/23/1 23/12/1 7/11/1
|
||||
f 13/20/6 5/16/6 17/17/6
|
||||
f 10/5/2 11/4/2 19/7/2
|
||||
f 8/3/1 16/2/1 4/25/1
|
||||
o SemtexTop
|
||||
v -0.531250 1.250000 0.531250
|
||||
v -0.531250 1.250000 0.031250
|
||||
v -0.031250 1.250000 0.531250
|
||||
v -0.031250 1.250000 0.031250
|
||||
v -0.531250 1.250000 -0.031250
|
||||
v -0.531250 1.250000 -0.531250
|
||||
v -0.031250 1.250000 -0.031250
|
||||
v -0.031250 1.250000 -0.531250
|
||||
v 0.031250 1.250000 0.531250
|
||||
v 0.031250 1.250000 0.031250
|
||||
v 0.531250 1.250000 0.531250
|
||||
v 0.531250 1.250000 0.031250
|
||||
v 0.031250 1.250000 -0.031250
|
||||
v 0.031250 1.250000 -0.531250
|
||||
v 0.531250 1.250000 -0.031250
|
||||
v 0.531250 1.250000 -0.531250
|
||||
vt 1.000000 0.500000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.500000 0.500000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.500000 0.500000
|
||||
vt 0.500000 0.000000
|
||||
vt 0.500000 0.500000
|
||||
vt 0.000000 1.000000
|
||||
vt -0.000000 0.500000
|
||||
vt 0.500000 -0.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.500000 0.500000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
s off
|
||||
f 27/26/12 28/27/12 29/28/12
|
||||
f 31/29/12 32/30/12 33/31/12
|
||||
f 35/32/12 36/33/12 37/34/12
|
||||
f 39/35/12 40/36/12 41/37/12
|
||||
f 27/26/12 26/38/12 28/27/12
|
||||
f 31/29/12 30/39/12 32/30/12
|
||||
f 35/32/12 34/40/12 36/33/12
|
||||
f 39/35/12 38/41/12 40/36/12
|
||||
o SemtexSide
|
||||
v -0.531250 0.875000 0.531250
|
||||
v -0.531250 1.250000 0.531250
|
||||
v -0.531250 0.875000 0.031250
|
||||
v -0.531250 1.250000 0.031250
|
||||
v -0.031250 0.312500 0.531250
|
||||
v -0.031250 1.250000 0.531250
|
||||
v -0.031250 0.312500 0.031250
|
||||
v -0.031250 1.250000 0.031250
|
||||
v -0.531250 0.875000 -0.031250
|
||||
v -0.531250 1.250000 -0.031250
|
||||
v -0.531250 0.875000 -0.531250
|
||||
v -0.531250 1.250000 -0.531250
|
||||
v -0.031250 0.312500 -0.031250
|
||||
v -0.031250 1.250000 -0.031250
|
||||
v -0.031250 0.312500 -0.531250
|
||||
v -0.031250 1.250000 -0.531250
|
||||
v 0.031250 0.312500 0.531250
|
||||
v 0.031250 1.250000 0.531250
|
||||
v 0.031250 0.312500 0.031250
|
||||
v 0.031250 1.250000 0.031250
|
||||
v 0.531250 0.875000 0.531250
|
||||
v 0.531250 1.250000 0.531250
|
||||
v 0.531250 0.875000 0.031250
|
||||
v 0.531250 1.250000 0.031250
|
||||
v 0.031250 0.312500 -0.031250
|
||||
v 0.031250 1.250000 -0.031250
|
||||
v 0.031250 0.312500 -0.531250
|
||||
v 0.031250 1.250000 -0.531250
|
||||
v 0.531250 0.875000 -0.031250
|
||||
v 0.531250 1.250000 -0.031250
|
||||
v 0.531250 0.875000 -0.531250
|
||||
v 0.531250 1.250000 -0.531250
|
||||
vt 1.000000 1.000000
|
||||
vt 0.500000 0.625000
|
||||
vt 1.000000 0.625000
|
||||
vt 1.000000 0.625000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.500000 0.062500
|
||||
vt 0.000000 0.062500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.000000 0.625000
|
||||
vt 0.500000 0.062500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.000000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 1.000000 0.625000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.500000 0.062500
|
||||
vt 1.000000 1.000000
|
||||
vt 0.500000 0.062500
|
||||
vt 1.000000 0.062500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.000000 0.625000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.500000 0.062500
|
||||
vt 1.000000 0.062500
|
||||
vt 0.500000 1.000000
|
||||
vt -0.000000 0.625000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.000000 0.625000
|
||||
vt 0.500000 0.625000
|
||||
vt 1.000000 0.625000
|
||||
vt 0.500000 1.000000
|
||||
vt 0.500000 0.062500
|
||||
vt 0.500000 1.000000
|
||||
vt 0.000000 0.062500
|
||||
vt 0.500000 0.062500
|
||||
vt 0.500000 1.000000
|
||||
vt -0.000000 0.625000
|
||||
vt 0.500000 0.062500
|
||||
vt 1.000000 1.000000
|
||||
vt 0.500000 0.625000
|
||||
vt 1.000000 0.625000
|
||||
vt 1.000000 0.625000
|
||||
vt 0.500000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.500000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
s off
|
||||
f 43/42/13 44/43/13 42/44/13
|
||||
f 44/45/14 49/46/14 48/47/14
|
||||
f 49/46/15 46/48/15 48/47/15
|
||||
f 47/49/16 42/50/16 46/51/16
|
||||
f 51/52/13 52/53/13 50/54/13
|
||||
f 52/55/14 57/56/14 56/57/14
|
||||
f 57/58/15 54/59/15 56/60/15
|
||||
f 55/61/16 50/62/16 54/59/16
|
||||
f 59/63/13 60/64/13 58/65/13
|
||||
f 61/66/14 64/67/14 60/64/14
|
||||
f 65/68/15 62/69/15 64/70/15
|
||||
f 62/71/16 59/72/16 58/73/16
|
||||
f 67/74/13 68/75/13 66/76/13
|
||||
f 69/77/14 72/78/14 68/79/14
|
||||
f 73/80/15 70/81/15 72/82/15
|
||||
f 70/83/16 67/74/16 66/76/16
|
||||
f 43/42/13 45/84/13 44/43/13
|
||||
f 44/45/14 45/85/14 49/46/14
|
||||
f 49/46/15 47/86/15 46/48/15
|
||||
f 47/49/16 43/87/16 42/50/16
|
||||
f 51/52/13 53/88/13 52/53/13
|
||||
f 52/55/14 53/89/14 57/56/14
|
||||
f 57/58/15 55/61/15 54/59/15
|
||||
f 55/61/16 51/90/16 50/62/16
|
||||
f 59/63/13 61/66/13 60/64/13
|
||||
f 61/66/14 65/91/14 64/67/14
|
||||
f 65/68/15 63/92/15 62/69/15
|
||||
f 62/71/16 63/93/16 59/72/16
|
||||
f 67/74/13 69/94/13 68/75/13
|
||||
f 69/77/14 73/95/14 72/78/14
|
||||
f 73/80/15 71/96/15 70/81/15
|
||||
f 70/83/16 71/97/16 67/74/16
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 477 B After Width: | Height: | Size: 531 B |
Binary file not shown.
|
After Width: | Height: | Size: 316 B |
Loading…
x
Reference in New Issue
Block a user