The Meaning of Life, the Universe, and Everything.
Join Date:
4/7/2013
Posts:
60
Location:
Australia
Minecraft:
TheFireyArcher
Xbox:
N/A
PSN:
N/A
Member Details
Ive been making a mod called kitchen++ and I stopped when I hit a bug. Now I have more time on my hands, I've been trying to fix it.Basically what happens is I right click on the furnace and the inventory comes up, but when I try to pick something up, it goes all glitchy on me. I try to pick something up, it wont let me, but when I click keeping around some of the items move.
This is probably not enough info, just ask for a video and ill try to make one.
public class TileEntityStove extends TileEntity implements ISidedInventory{
private String localizedName;
private static final int[] slots_top = new int[]{0};
private static final int[] slots_bottom = new int[]{2, 1};
private static final int[] slots_side = new int[]{1};
private ItemStack[] slots = new ItemStack [3];
public int furnaceSpeed = 150;
public int burnTime;
public int currentItemBurnTime;
public int cookTime;
public void setGuiDisplayName(String displayName) {
this.localizedName = displayName;
}
public String getInventoryName(){
return this.hasCustomInventoryName() ? this.localizedName : "container.stove";
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world,
int x, int y, int z) {
TileEntity entity = world.getTileEntity(x, y, z);
if(entity != null) {
switch(ID) {
case ExampleMod.guiIDStove:
if(entity instanceof TileEntityStove) {
return new ContainerStove(player.inventory, (TileEntityStove) entity);
}
return null;
}
}
return null;
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world,
int x, int y, int z) {
TileEntity entity = world.getTileEntity(x, y, z);
if(entity != null) {
switch(ID) {
case ExampleMod.guiIDStove:
if(entity instanceof TileEntityStove) {
return new GuiStove(player.inventory, (TileEntityStove) entity);
}
return null;
private static final ResourceLocation bground = new ResourceLocation(ExampleMod.MODID + ":" + "textures/gui/StoveGui.png");
public TileEntityStove stove;
public GuiStove(InventoryPlayer inventoryPlayer, TileEntityStove entity) {
super(new ContainerStove(inventoryPlayer, entity));
this.stove = entity;
this.xSize = 176;
this.ySize = 166;
}
public void drawGuiContainerForegroundLayer(int par1, int par2) {
String name = this.stove.hasCustomInventoryName() ? this.stove.getInventoryName() : I18n.format(this.stove.getInventoryName(), new Object[0]);
private final boolean isActive;
private static boolean keepInventory;
public Stove(boolean isActive) {
super(Material.iron);
this.isActive = isActive;
}
public int getRenderType(){
return -1;
}
public boolean isOpaqueCube(){
return false;
}
public boolean renderAsNormalBlock(){
return false;
}
public Item getItemDropped(World world, int x, int y, int z) {
return Item.getItemFromBlock(ExampleMod.furnitureStoveIdle);
}
public void onBlockAdded(World world, int x, int y, int z) {
super.onBlockAdded(world, x, y, z);
this.setDefaultDirection(world, x, y, z);
}
private void setDefaultDirection(World world, int x, int y, int z) {
if(!world.isRemote) {
Block b1 = world.getBlock(x, y, z - 1);
Block b2 = world.getBlock(x, y, z + 1);
Block b3 = world.getBlock(x - 1, y, z);
Block b4 = world.getBlock(x + 1, y, z);
world.setBlockMetadataWithNotify(x, y, z, b0, 2);
}
}
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ){
System.out.println("hello");
if(world.isRemote) {
FMLNetworkHandler.openGui(player, ExampleMod.instance, ExampleMod.guiIDStove, world, x, y, z);
@Override
public TileEntity createNewTileEntity(World var1, int i) {
return new TileEntityStove();
}
//TODO randomDisplayTick
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityplayer, ItemStack itemstack) {
int l = MathHelper.floor_double((double)(entityplayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
if(itemstack.hasDisplayName()) {
((TileEntityStove)world.getTileEntity(x, y, z)).setGuiDisplayName(itemstack.getDisplayName());
}
}
public static void updateStoveBlockState(boolean active, World worldObj, int xCoord, int yCoord, int zCoord) {
int i = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
Ive been making a mod called kitchen++ and I stopped when I hit a bug. Now I have more time on my hands, I've been trying to fix it.Basically what happens is I right click on the furnace and the inventory comes up, but when I try to pick something up, it goes all glitchy on me. I try to pick something up, it wont let me, but when I click keeping around some of the items move.
This is probably not enough info, just ask for a video and ill try to make one.
CLASSES:
TileEntity
package kitchen.blocks.tileentity;
import kitchen.furniture.Stove;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import cpw.mods.fml.common.registry.GameRegistry;
public class TileEntityStove extends TileEntity implements ISidedInventory{
private String localizedName;
private static final int[] slots_top = new int[]{0};
private static final int[] slots_bottom = new int[]{2, 1};
private static final int[] slots_side = new int[]{1};
private ItemStack[] slots = new ItemStack [3];
public int furnaceSpeed = 150;
public int burnTime;
public int currentItemBurnTime;
public int cookTime;
public void setGuiDisplayName(String displayName) {
this.localizedName = displayName;
}
public String getInventoryName(){
return this.hasCustomInventoryName() ? this.localizedName : "container.stove";
}
public boolean hasCustomInventoryName() {
return this.localizedName != null && this.localizedName.length() > 0;
}
public int getSizeInventory() {
return this.slots.length;
}
@Override
public ItemStack getStackInSlot(int var1) {return this.slots[var1];}
@Override
public ItemStack decrStackSize(int var1, int var2) {
if(this.slots[var1] != null) {
ItemStack itemstack;
if(this.slots[var1].stackSize <= var2) {
itemstack = this.slots[var1];
this.slots[var1] = null;
return itemstack;
} else {
itemstack = this.slots[var1].splitStack(var2);
if(this.slots[var1].stackSize == 0) {
this.slots[var1] = null;
}
}
}
return null;
}
@Override
public ItemStack getStackInSlotOnClosing(int i) {
if(this.slots!= null) {
ItemStack itemstack = this.slots;
this.slots = null;
return itemstack;
}
return null;
}
@Override
public void setInventorySlotContents(int i, ItemStack itemstack) {
this.slots = itemstack;
if(itemstack != null && itemstack.stackSize > this.getInventoryStackLimit()) {
itemstack.stackSize = this.getInventoryStackLimit();
}
}
@Override
public int getInventoryStackLimit() {
return 64;
}
@Override
public boolean isUseableByPlayer(EntityPlayer entityPlayer) {
return this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : entityPlayer.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D;
}
@Override
public void openInventory() {}
@Override
public void closeInventory() {}
@Override
public boolean isItemValidForSlot(int i, ItemStack itemstack) {
return i == 2 ? false : (i == 1 ? isItemFuel(itemstack) : true);
}
public static boolean isItemFuel(ItemStack itemstack){
return getItemBurnTime(itemstack) > 0;
}
private static int getItemBurnTime(ItemStack itemstack) {
if(itemstack == null) {
return 0;
}else{
Item item = itemstack.getItem();
if(item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.air){
Block block = Block.getBlockFromItem(item);
if(block == Blocks.coal_block) return 14400;
}
if(item == Items.coal) return 1600;
if(item == Items.lava_bucket) return 20000;
if(item == Items.flint_and_steel) return 2000;
if(item == Items.paper) return 100;
return GameRegistry.getFuelValue(itemstack);
}
}
public boolean isBurning(){
return this.burnTime > 0;
}
public void updateEntity() {
boolean flag = this.burnTime > 0;
boolean flag1 =false;
if(this.isBurning()) {
this.burnTime--;
}
if(!this.worldObj.isRemote) {
if(this.burnTime == 0 && this.canSmelt()) {
this.currentItemBurnTime = this.burnTime = getItemBurnTime(this.slots[1]);
if(this.isBurning()) {
flag1 = true;
if(this.slots[1] != null) {
this.slots[1].stackSize--;
if(this.slots[1].stackSize == 0) {
this.slots[1] = this.slots[1].getItem().getContainerItem(this.slots[1]);
}
}
}
}
if(this.isBurning() && this.canSmelt()) {
this.cookTime++;
if(this.cookTime == this.furnaceSpeed) {
this.cookTime = 0;
this.smeltItem();
flag1 = true;
}
}else{
this.cookTime = 0;
}
if(flag != this.isBurning()) {
flag1 = true;
Stove.updateStoveBlockState(this.burnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
}
}
if(flag1) {
this.markDirty();
}
}
public boolean canSmelt(){
if(slots[0] == null) {
return false;
} else {
ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[0]);
if(itemstack == null) return false;
if(this.slots[2] == null) return true;
if(this.slots[2].isItemEqual(itemstack)) return false;
int result = this.slots[2].stackSize + itemstack.stackSize;
return (result <= getInventoryStackLimit() && result <= itemstack.getMaxStackSize());
}
}
public void smeltItem() {
if(this.canSmelt()) {
ItemStack itemstack = FurnaceRecipes.smelting().getSmeltingResult(this.slots[0]);
if(this.slots[2] == null) {
this.slots[2] = itemstack.copy();
} else if(this.slots[2].isItemEqual(itemstack)) {
this.slots[2].stackSize += itemstack.stackSize;
}
this.slots[0].stackSize--;
if(this.slots[0].stackSize <= 0) {
this.slots[0] = null;
}
}
}
@Override
public int[] getAccessibleSlotsFromSide(int var1) {
return var1 == 0 ? slots_bottom : var1 == 1 ? slots_top : slots_side;
}
@Override
public boolean canInsertItem(int i, ItemStack itemstack, int j) {
return this.isItemValidForSlot(i, itemstack);
}
@Override
public boolean canExtractItem(int i, ItemStack itemstack, int j) {
return j != 0 || i != 1 || itemstack.getItem() == Items.bucket;
}
public int getBurnTimeRemainingScaled(int i) {
if(this.currentItemBurnTime == 0) {
this.currentItemBurnTime = this.furnaceSpeed;
}
return this.burnTime * i / this.currentItemBurnTime;
}
public int getCookProgressScaled(int i){
return this.cookTime * i / this.furnaceSpeed;
}
public void readFromNBT(NBTTagCompound nbt){
super.readFromNBT(nbt);
}
}
Container class:
package kitchen.container;
import kitchen.blocks.tileentity.TileEntityStove;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.SlotFurnace;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.tileentity.TileEntityFurnace;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ContainerStove extends Container{
private TileEntityStove stove;
public int lastBurnTime;
public int lastCurrentItemBurnTime;
public int lastCookTime;
public ContainerStove(InventoryPlayer inventory, TileEntityStove tileentity) {
this.stove = tileentity;
this.addSlotToContainer(new Slot(tileentity, 0, 56, 35));
this.addSlotToContainer(new Slot(tileentity, 1, 8, 62));
this.addSlotToContainer(new SlotFurnace(inventory.player, tileentity, 2, 116, 35));
for(int i=0;i<3;i++) {
for(int j=0;j<9;j++) {
this.addSlotToContainer(new Slot(inventory, j + i * 9 + 9, 8 + j * 18, 84 + i*18));
}
}
for(int i=0;i<9;i++) {
this.addSlotToContainer(new Slot(inventory, i, 8 + i * 18, 142));
}
}
public void addCraftingToCrafter(ICrafting icrafting) {
super.addCraftingToCrafters(icrafting);
icrafting.sendProgressBarUpdate(this, 0, this.stove.cookTime);
icrafting.sendProgressBarUpdate(this, 1, this.stove.burnTime);
icrafting.sendProgressBarUpdate(this, 2, this.stove.currentItemBurnTime);
}
public void detectAndSendChanges() {
super.detectAndSendChanges();
for(int i=0;i<this.crafters.size();i++) {
ICrafting icrafting = (ICrafting) this.crafters.get(i);
if(this.lastCookTime != this.stove.cookTime) {
icrafting.sendProgressBarUpdate(this, 0, this.stove.cookTime);
}
if(this.lastBurnTime != this.stove.burnTime) {
icrafting.sendProgressBarUpdate(this, 0, this.stove.burnTime);
}
if(this.lastCurrentItemBurnTime != this.stove.currentItemBurnTime) {
icrafting.sendProgressBarUpdate(this, 0, this.stove.currentItemBurnTime);
}
}
this.lastCookTime = this.stove.cookTime;
this.lastBurnTime = this.stove.burnTime;
this.lastCurrentItemBurnTime = this.stove.currentItemBurnTime;
}
@SideOnly(Side.CLIENT)
public void updateProgressBar(int slot, int newValue) {
super.updateProgressBar(slot, newValue);
}
public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) {
ItemStack itemstack = null;
Slot slot = (Slot)this.inventorySlots.get(par2);
if (slot != null && slot.getHasStack()) {
ItemStack itemstack1 = slot.getStack();
itemstack = itemstack1.copy();
if (par2 == 2) {
if (!this.mergeItemStack(itemstack1, 3, 39, true)) {
return null;
}
slot.onSlotChange(itemstack1, itemstack);
} else if (par2 != 1 && par2 != 0) {
if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) {
if (!this.mergeItemStack(itemstack1, 0, 1, false)) {
return null;
}
}else if (TileEntityStove.isItemFuel(itemstack1)) {
if (!this.mergeItemStack(itemstack1, 1, 2, false)) {
return null;
}
} else if (par2 >= 3 && par2 < 30) {
if (!this.mergeItemStack(itemstack1, 30, 39, false)) {
return null;
}
} else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) {
return null;
}
} else if (!this.mergeItemStack(itemstack1, 3, 39, false)) {
return null;
}
if (itemstack1.stackSize == 0) {
slot.putStack((ItemStack)null);
} else {
slot.onSlotChanged();
}
if (itemstack1.stackSize == itemstack.stackSize) {
return null;
}
slot.onPickupFromSlot(par1EntityPlayer, itemstack1);
}
return itemstack;
}
@Override
public boolean canInteractWith(EntityPlayer var1) {return true;}
}
Gui handler:
package kitchen.handler;
import kitchen.ExampleMod;
import kitchen.blocks.tileentity.TileEntityStove;
import kitchen.container.ContainerStove;
import kitchen.gui.GuiStove;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import cpw.mods.fml.common.network.IGuiHandler;
public class GuiHandler implements IGuiHandler{
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world,
int x, int y, int z) {
TileEntity entity = world.getTileEntity(x, y, z);
if(entity != null) {
switch(ID) {
case ExampleMod.guiIDStove:
if(entity instanceof TileEntityStove) {
return new ContainerStove(player.inventory, (TileEntityStove) entity);
}
return null;
}
}
return null;
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world,
int x, int y, int z) {
TileEntity entity = world.getTileEntity(x, y, z);
if(entity != null) {
switch(ID) {
case ExampleMod.guiIDStove:
if(entity instanceof TileEntityStove) {
return new GuiStove(player.inventory, (TileEntityStove) entity);
}
return null;
}
}
return null;
}
}
Gui class:
package kitchen.gui;
import org.lwjgl.opengl.GL11;
import kitchen.ExampleMod;
import kitchen.blocks.tileentity.TileEntityStove;
import kitchen.container.ContainerStove;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;
public class GuiStove extends GuiContainer {
private static final ResourceLocation bground = new ResourceLocation(ExampleMod.MODID + ":" + "textures/gui/StoveGui.png");
public TileEntityStove stove;
public GuiStove(InventoryPlayer inventoryPlayer, TileEntityStove entity) {
super(new ContainerStove(inventoryPlayer, entity));
this.stove = entity;
this.xSize = 176;
this.ySize = 166;
}
public void drawGuiContainerForegroundLayer(int par1, int par2) {
String name = this.stove.hasCustomInventoryName() ? this.stove.getInventoryName() : I18n.format(this.stove.getInventoryName(), new Object[0]);
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 118, this.ySize - 96 + 2, 4210752);
}
@Override
protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
GL11.glColor4f(1F, 1F, 1F, 1F);
Minecraft.getMinecraft().getTextureManager().bindTexture(bground);
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
}
}
Block class:
package kitchen.furniture;
import kitchen.ExampleMod;
import kitchen.blocks.tileentity.TileEntityStove;
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class Stove extends BlockContainer {
private final boolean isActive;
private static boolean keepInventory;
public Stove(boolean isActive) {
super(Material.iron);
this.isActive = isActive;
}
public int getRenderType(){
return -1;
}
public boolean isOpaqueCube(){
return false;
}
public boolean renderAsNormalBlock(){
return false;
}
public Item getItemDropped(World world, int x, int y, int z) {
return Item.getItemFromBlock(ExampleMod.furnitureStoveIdle);
}
public void onBlockAdded(World world, int x, int y, int z) {
super.onBlockAdded(world, x, y, z);
this.setDefaultDirection(world, x, y, z);
}
private void setDefaultDirection(World world, int x, int y, int z) {
if(!world.isRemote) {
Block b1 = world.getBlock(x, y, z - 1);
Block b2 = world.getBlock(x, y, z + 1);
Block b3 = world.getBlock(x - 1, y, z);
Block b4 = world.getBlock(x + 1, y, z);
byte b0 = 3;
if(b1.func_149730_j() && !b2.func_149730_j()) {
b0 = 3;
}
if(b2.func_149730_j() && !b1.func_149730_j()) {
b0 = 2;
}
if(b3.func_149730_j() && !b4.func_149730_j()) {
b0 = 5;
}
if(b4.func_149730_j() && !b3.func_149730_j()) {
b0 = 4;
}
world.setBlockMetadataWithNotify(x, y, z, b0, 2);
}
}
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ){
System.out.println("hello");
if(world.isRemote) {
FMLNetworkHandler.openGui(player, ExampleMod.instance, ExampleMod.guiIDStove, world, x, y, z);
}
return true;
}
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.blockIcon = iconRegister.registerIcon(ExampleMod.MODID + ":" + this.getUnlocalizedName().substring(5));
}
@Override
public TileEntity createNewTileEntity(World var1, int i) {
return new TileEntityStove();
}
//TODO randomDisplayTick
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityplayer, ItemStack itemstack) {
int l = MathHelper.floor_double((double)(entityplayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
System.out.println("helofps");
if(l == 0) {
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
System.out.println("helofps1");
}
if(l == 1) {
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
System.out.println("helofps2");
}
if(l == 2) {
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
System.out.println("helofps3");
}
if(l == 3) {
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
System.out.println("helofps4");
}
if(itemstack.hasDisplayName()) {
((TileEntityStove)world.getTileEntity(x, y, z)).setGuiDisplayName(itemstack.getDisplayName());
}
}
public static void updateStoveBlockState(boolean active, World worldObj, int xCoord, int yCoord, int zCoord) {
int i = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
TileEntity tileentity = worldObj.getTileEntity(xCoord, yCoord, zCoord);
keepInventory = true;
if(active) {
worldObj.setBlock(xCoord, yCoord, zCoord, ExampleMod.furnitureStoveActive);
} else {
worldObj.setBlock(xCoord, yCoord, zCoord, ExampleMod.furnitureStoveIdle);
}
keepInventory = false;
worldObj.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, i, 2);
if(tileentity != null) {
tileentity.validate();
worldObj.setTileEntity(xCoord, yCoord, zCoord, tileentity);
}
}
}
Model class:
package kitchen.model;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
public class ModelStove extends ModelBase
{
//fields
ModelRenderer Shape2;
ModelRenderer Shape3;
ModelRenderer Shape4;
ModelRenderer Shape5;
ModelRenderer Shape6;
ModelRenderer Shape7;
ModelRenderer Shape8;
ModelRenderer Shape9;
ModelRenderer Shape10;
ModelRenderer Shape11;
ModelRenderer Shape12;
ModelRenderer Shape13;
ModelRenderer Shape14;
ModelRenderer Shape15;
ModelRenderer Shape16;
ModelRenderer Shape17;
ModelRenderer Shape18;
ModelRenderer Shape19;
ModelRenderer Shape20;
ModelRenderer Shape21;
ModelRenderer Shape22;
public ModelStove()
{
textureWidth = 64;
textureHeight = 128;
Shape2 = new ModelRenderer(this, 0, 0);
Shape2.addBox(0F, 0F, 0F, 1, 14, 12);
Shape2.setRotationPoint(-6F, 10F, -6F);
Shape2.setTextureSize(64, 128);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 0, 0);
Shape3.addBox(0F, 0F, 0F, 1, 14, 12);
Shape3.setRotationPoint(5F, 10F, -6F);
Shape3.setTextureSize(64, 128);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
Shape4 = new ModelRenderer(this, 0, 104);
Shape4.addBox(0F, 0F, 0F, 10, 14, 1);
Shape4.setRotationPoint(-5F, 10F, 5F);
Shape4.setTextureSize(64, 128);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 0, 26);
Shape5.addBox(0F, 0F, 0F, 10, 5, 1);
Shape5.setRotationPoint(-5F, 24F, -5.3F);
Shape5.setTextureSize(64, 128);
Shape5.mirror = true;
setRotation(Shape5, -3.141593F, 0F, 0F);
Shape6 = new ModelRenderer(this, 0, 48);
Shape6.addBox(0F, 0F, 0F, 10, 1, 11);
Shape6.setRotationPoint(-5F, 23.5F, -6F);
Shape6.setTextureSize(64, 128);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
Shape7 = new ModelRenderer(this, 0, 48);
Shape7.addBox(0F, 0F, 0F, 10, 1, 11);
Shape7.setRotationPoint(-5F, 18F, -6F);
Shape7.setTextureSize(64, 128);
Shape7.mirror = true;
setRotation(Shape7, 0F, 0F, 0F);
Shape8 = new ModelRenderer(this, 0, 32);
Shape8.addBox(0F, 0F, 0F, 10, 8, 1);
Shape8.setRotationPoint(-5F, 18F, -5.3F);
Shape8.setTextureSize(64, 128);
Shape8.mirror = true;
setRotation(Shape8, -3.141593F, 0F, 0F);
Shape9 = new ModelRenderer(this, 0, 41);
Shape9.addBox(0F, 0F, 0F, 7, 4, 1);
Shape9.setRotationPoint(-3.5F, 16.5F, -5.4F);
Shape9.setTextureSize(64, 128);
Shape9.mirror = true;
setRotation(Shape9, -3.141593F, 0F, 0F);
Shape10 = new ModelRenderer(this, 0, 46);
Shape10.addBox(0F, 0F, 0F, 10, 1, 1);
Shape10.setRotationPoint(-5F, 20.5F, -6F);
Shape10.setTextureSize(64, 128);
Shape10.mirror = true;
setRotation(Shape10, -3.141593F, 0F, 0F);
Shape11 = new ModelRenderer(this, 0, 46);
Shape11.addBox(0F, 0F, 0F, 10, 1, 1);
Shape11.setRotationPoint(-5F, 11.5F, -6F);
Shape11.setTextureSize(64, 128);
Shape11.mirror = true;
setRotation(Shape11, -3.141593F, 0F, 0F);
Shape12 = new ModelRenderer(this, 0, 72);
Shape12.addBox(0F, 0F, 0F, 10, 2, 1);
Shape12.setRotationPoint(-5F, 8.5F, -5.2F);
Shape12.setTextureSize(64, 128);
Shape12.mirror = true;
setRotation(Shape12, -0.6108652F, 0F, 0F);
Shape13 = new ModelRenderer(this, 0, 78);
Shape13.addBox(0F, 0F, 0F, 1, 1, 11);
Shape13.setRotationPoint(5F, 9F, -5.3F);
Shape13.setTextureSize(64, 128);
Shape13.mirror = true;
setRotation(Shape13, 0F, 0F, 0F);
Shape14 = new ModelRenderer(this, 0, 78);
Shape14.addBox(0F, 0F, 0F, 1, 1, 11);
Shape14.setRotationPoint(-6F, 9F, -5.3F);
Shape14.setTextureSize(64, 128);
Shape14.mirror = true;
setRotation(Shape14, 0F, 0F, 0F);
Shape15 = new ModelRenderer(this, 0, 95);
Shape15.addBox(0F, 0F, 0F, 12, 4, 1);
Shape15.setRotationPoint(-6F, 6F, 5.4F);
Shape15.setTextureSize(64, 128);
Shape15.mirror = true;
setRotation(Shape15, -0.0872665F, 0F, 0F);
Shape16 = new ModelRenderer(this, 0, 90);
Shape16.addBox(0F, 0F, 0F, 12, 4, 1);
Shape16.setRotationPoint(-6F, 4F, 5.3F);
Shape16.setTextureSize(64, 128);
Shape16.mirror = true;
setRotation(Shape16, -0.0349066F, 0F, 0F);
Shape17 = new ModelRenderer(this, 24, 117);
Shape17.addBox(0F, 0F, 0F, 10, 1, 10);
Shape17.setRotationPoint(-5F, 9.5F, -5F);
Shape17.setTextureSize(64, 128);
Shape17.mirror = true;
setRotation(Shape17, 0F, 0F, 0F);
Shape18 = new ModelRenderer(this, 0, 100);
Shape18.addBox(0F, 0F, 0F, 3, 1, 3);
Shape18.setRotationPoint(-4F, 9F, 1F);
Shape18.setTextureSize(64, 128);
Shape18.mirror = true;
setRotation(Shape18, 0F, 0F, 0F);
Shape19 = new ModelRenderer(this, 0, 100);
Shape19.addBox(0F, 0F, 0F, 3, 1, 3);
Shape19.setRotationPoint(1F, 9F, 1F);
Shape19.setTextureSize(64, 128);
Shape19.mirror = true;
setRotation(Shape19, 0F, 0F, 0F);
Shape20 = new ModelRenderer(this, 0, 100);
Shape20.addBox(0F, 0F, 0F, 3, 1, 3);
Shape20.setRotationPoint(-4F, 9F, -3F);
Shape20.setTextureSize(64, 128);
Shape20.mirror = true;
setRotation(Shape20, 0F, 0F, 0F);
Shape21 = new ModelRenderer(this, 0, 100);
Shape21.addBox(0F, 0F, 0F, 3, 1, 3);
Shape21.setRotationPoint(1F, 9F, -3F);
Shape21.setTextureSize(64, 128);
Shape21.mirror = true;
setRotation(Shape21, 0F, 0F, 0F);
Shape22 = new ModelRenderer(this, 0, 75);
Shape22.addBox(0F, 0F, 0F, 10, 2, 1);
Shape22.setRotationPoint(-5F, 10.2F, -3F);
Shape22.setTextureSize(64, 128);
Shape22.mirror = true;
setRotation(Shape22, -2.268928F, 0F, 0F);
}
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5, entity);
Shape2.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape5.render(f5);
Shape6.render(f5);
Shape7.render(f5);
Shape8.render(f5);
Shape9.render(f5);
Shape10.render(f5);
Shape11.render(f5);
Shape12.render(f5);
Shape13.render(f5);
Shape14.render(f5);
Shape15.render(f5);
Shape16.render(f5);
Shape17.render(f5);
Shape18.render(f5);
Shape19.render(f5);
Shape20.render(f5);
Shape21.render(f5);
Shape22.render(f5);
}
private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}
public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
}
public void renderModel(float f){
Shape2.render(f);
Shape3.render(f);
Shape4.render(f);
Shape5.render(f);
Shape6.render(f);
Shape7.render(f);
Shape8.render(f);
Shape9.render(f);
Shape10.render(f);
Shape11.render(f);
Shape12.render(f);
Shape13.render(f);
Shape14.render(f);
Shape15.render(f);
Shape16.render(f);
Shape17.render(f);
Shape18.render(f);
Shape19.render(f);
Shape20.render(f);
Shape21.render(f);
Shape22.render(f);
}
}
There are also a couple of other classes that do not relate to the problem im having (item renderers(you know, in hand)).
Any help is appreciated so I can get back to work on this mod!
~ mitchmanz
bump