More Alchemical Chest/Inventory stuff

This commit is contained in:
pahimar 2014-01-05 12:16:48 -05:00
parent be86ee89af
commit f8237d6c89
15 changed files with 78 additions and 36 deletions

View file

@ -5,13 +5,19 @@ import com.pahimar.ee3.lib.GuiIds;
import com.pahimar.ee3.lib.RenderIds; import com.pahimar.ee3.lib.RenderIds;
import com.pahimar.ee3.lib.Strings; import com.pahimar.ee3.lib.Strings;
import com.pahimar.ee3.tileentity.TileAlchemicalChest; import com.pahimar.ee3.tileentity.TileAlchemicalChest;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import java.util.List;
/** /**
* Equivalent-Exchange-3 * Equivalent-Exchange-3
* <p/> * <p/>
@ -33,7 +39,7 @@ public class BlockAlchemicalChest extends BlockEE implements ITileEntityProvider
@Override @Override
public TileEntity createNewTileEntity(World world) public TileEntity createNewTileEntity(World world)
{ {
return new TileAlchemicalChest(); return null;
} }
@Override @Override
@ -42,6 +48,15 @@ public class BlockAlchemicalChest extends BlockEE implements ITileEntityProvider
return new TileAlchemicalChest(metaData); return new TileAlchemicalChest(metaData);
} }
@SideOnly(Side.CLIENT)
public void getSubBlocks(int id, CreativeTabs creativeTabs, List list)
{
for (int meta = 0; meta < 3; meta++)
{
list.add(new ItemStack(id, 1, meta));
}
}
@Override @Override
public boolean renderAsNormalBlock() public boolean renderAsNormalBlock()
{ {

View file

@ -1,9 +1,6 @@
package com.pahimar.ee3.block; package com.pahimar.ee3.block;
import com.pahimar.ee3.item.ItemAlchemicalFuelBlock; import com.pahimar.ee3.item.*;
import com.pahimar.ee3.item.ItemInfusedClothBlock;
import com.pahimar.ee3.item.ItemInfusedPlanksBlock;
import com.pahimar.ee3.item.ItemInfusedWoodBlock;
import com.pahimar.ee3.lib.BlockIds; import com.pahimar.ee3.lib.BlockIds;
import com.pahimar.ee3.lib.Strings; import com.pahimar.ee3.lib.Strings;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
@ -43,16 +40,16 @@ public class ModBlocks
infusedCloth = new BlockInfusedCloth(BlockIds.INFUSED_CLOTH); infusedCloth = new BlockInfusedCloth(BlockIds.INFUSED_CLOTH);
infusedPlanks = new BlockInfusedPlanks(BlockIds.INFUSED_PLANKS); infusedPlanks = new BlockInfusedPlanks(BlockIds.INFUSED_PLANKS);
GameRegistry.registerBlock(alchemicalChest, "block." + Strings.ALCHEMICAL_CHEST_NAME); GameRegistry.registerBlock(alchemicalChest, ItemBlockAlchemicalChest.class, "block." + Strings.ALCHEMICAL_CHEST_NAME);
GameRegistry.registerBlock(alchemicalFuel, ItemAlchemicalFuelBlock.class, "block." + Strings.ALCHEMICAL_FUEL_NAME); GameRegistry.registerBlock(alchemicalFuel, ItemBlockAlchemicalFuel.class, "block." + Strings.ALCHEMICAL_FUEL_NAME);
GameRegistry.registerBlock(alchemySquare, "block." + Strings.ALCHEMY_SQUARE_NAME); GameRegistry.registerBlock(alchemySquare, "block." + Strings.ALCHEMY_SQUARE_NAME);
GameRegistry.registerBlock(aludelBase, "block." + Strings.ALUDEL_NAME); GameRegistry.registerBlock(aludelBase, "block." + Strings.ALUDEL_NAME);
GameRegistry.registerBlock(calcinator, "block." + Strings.CALCINATOR_NAME); GameRegistry.registerBlock(calcinator, "block." + Strings.CALCINATOR_NAME);
GameRegistry.registerBlock(chalk, "block." + Strings.CHALK_NAME); GameRegistry.registerBlock(chalk, "block." + Strings.CHALK_NAME);
GameRegistry.registerBlock(glassBell, "block." + Strings.GLASS_BELL_NAME); GameRegistry.registerBlock(glassBell, "block." + Strings.GLASS_BELL_NAME);
GameRegistry.registerBlock(researchStation, "block." + Strings.RESEARCH_STATION_NAME); GameRegistry.registerBlock(researchStation, "block." + Strings.RESEARCH_STATION_NAME);
GameRegistry.registerBlock(infusedCloth, ItemInfusedClothBlock.class, "block." + Strings.INFUSED_CLOTH_NAME); GameRegistry.registerBlock(infusedCloth, ItemBlockInfusedCloth.class, "block." + Strings.INFUSED_CLOTH_NAME);
GameRegistry.registerBlock(infusedWood, ItemInfusedWoodBlock.class, "block." + Strings.INFUSED_WOOD_NAME); GameRegistry.registerBlock(infusedWood, ItemBlockInfusedWood.class, "block." + Strings.INFUSED_WOOD_NAME);
GameRegistry.registerBlock(infusedPlanks, ItemInfusedPlanksBlock.class, "block." + Strings.INFUSED_PLANKS_NAME); GameRegistry.registerBlock(infusedPlanks, ItemBlockInfusedPlanks.class, "block." + Strings.INFUSED_PLANKS_NAME);
} }
} }

View file

@ -45,22 +45,22 @@ public class ItemAlchemicalChestRenderer implements IItemRenderer
{ {
case ENTITY: case ENTITY:
{ {
renderAlchemicalChest(0.5F, 0.5F, 0.5F); renderAlchemicalChest(0.5F, 0.5F, 0.5F, item.getItemDamage());
break; break;
} }
case EQUIPPED: case EQUIPPED:
{ {
renderAlchemicalChest(1.0F, 1.0F, 1.0F); renderAlchemicalChest(1.0F, 1.0F, 1.0F, item.getItemDamage());
break; break;
} }
case EQUIPPED_FIRST_PERSON: case EQUIPPED_FIRST_PERSON:
{ {
renderAlchemicalChest(1.0F, 1.0F, 1.0F); renderAlchemicalChest(1.0F, 1.0F, 1.0F, item.getItemDamage());
break; break;
} }
case INVENTORY: case INVENTORY:
{ {
renderAlchemicalChest(0.0F, 0.075F, 0.0F); renderAlchemicalChest(0.0F, 0.075F, 0.0F, item.getItemDamage());
break; break;
} }
default: default:
@ -68,9 +68,21 @@ public class ItemAlchemicalChestRenderer implements IItemRenderer
} }
} }
private void renderAlchemicalChest(float x, float y, float z) private void renderAlchemicalChest(float x, float y, float z, int metaData)
{ {
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ALCHEMICAL_CHEST); if (metaData == 0)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ALCHEMICAL_CHEST_SMALL);
}
else if (metaData == 1)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ALCHEMICAL_CHEST_MEDIUM);
}
else if (metaData == 2)
{
FMLClientHandler.instance().getClient().renderEngine.bindTexture(Textures.MODEL_ALCHEMICAL_CHEST_LARGE);
}
GL11.glPushMatrix(); //start GL11.glPushMatrix(); //start
GL11.glTranslatef(x, y, z); //size GL11.glTranslatef(x, y, z); //size
GL11.glRotatef(180, 1, 0, 0); GL11.glRotatef(180, 1, 0, 0);

View file

@ -1,6 +1,7 @@
package com.pahimar.ee3.handler; package com.pahimar.ee3.handler;
import com.pahimar.ee3.client.gui.inventory.*; import com.pahimar.ee3.client.gui.inventory.*;
import com.pahimar.ee3.helper.LogHelper;
import com.pahimar.ee3.inventory.*; import com.pahimar.ee3.inventory.*;
import com.pahimar.ee3.lib.GuiIds; import com.pahimar.ee3.lib.GuiIds;
import com.pahimar.ee3.tileentity.TileAlchemicalChest; import com.pahimar.ee3.tileentity.TileAlchemicalChest;
@ -29,16 +30,19 @@ public class GuiHandler implements IGuiHandler
else if (ID == GuiIds.ALCHEMICAL_CHEST_SMALL) else if (ID == GuiIds.ALCHEMICAL_CHEST_SMALL)
{ {
TileAlchemicalChest tileAlchemicalChest = (TileAlchemicalChest) world.getBlockTileEntity(x, y, z); TileAlchemicalChest tileAlchemicalChest = (TileAlchemicalChest) world.getBlockTileEntity(x, y, z);
LogHelper.debug("State: " + tileAlchemicalChest.getState());
return new ContainerAlchemicalChestSmall(player.inventory, tileAlchemicalChest); return new ContainerAlchemicalChestSmall(player.inventory, tileAlchemicalChest);
} }
else if (ID == GuiIds.ALCHEMICAL_CHEST_MEDIUM) else if (ID == GuiIds.ALCHEMICAL_CHEST_MEDIUM)
{ {
TileAlchemicalChest tileAlchemicalChest = (TileAlchemicalChest) world.getBlockTileEntity(x, y, z); TileAlchemicalChest tileAlchemicalChest = (TileAlchemicalChest) world.getBlockTileEntity(x, y, z);
LogHelper.debug("State: " + tileAlchemicalChest.getState());
return new ContainerAlchemicalChestMedium(player.inventory, tileAlchemicalChest); return new ContainerAlchemicalChestMedium(player.inventory, tileAlchemicalChest);
} }
else if (ID == GuiIds.ALCHEMICAL_CHEST_LARGE) else if (ID == GuiIds.ALCHEMICAL_CHEST_LARGE)
{ {
TileAlchemicalChest tileAlchemicalChest = (TileAlchemicalChest) world.getBlockTileEntity(x, y, z); TileAlchemicalChest tileAlchemicalChest = (TileAlchemicalChest) world.getBlockTileEntity(x, y, z);
LogHelper.debug("State: " + tileAlchemicalChest.getState());
return new ContainerAlchemicalChestLarge(player.inventory, tileAlchemicalChest); return new ContainerAlchemicalChestLarge(player.inventory, tileAlchemicalChest);
} }
else if (ID == GuiIds.ALCHEMICAL_BAG) else if (ID == GuiIds.ALCHEMICAL_BAG)

View file

@ -1,5 +1,6 @@
package com.pahimar.ee3.inventory; package com.pahimar.ee3.inventory;
import com.pahimar.ee3.helper.LogHelper;
import com.pahimar.ee3.tileentity.TileAlchemicalChest; import com.pahimar.ee3.tileentity.TileAlchemicalChest;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
@ -27,7 +28,7 @@ public class ContainerAlchemicalChestLarge extends Container
public ContainerAlchemicalChestLarge(InventoryPlayer inventoryPlayer, TileAlchemicalChest tileAlchemicalChest) public ContainerAlchemicalChestLarge(InventoryPlayer inventoryPlayer, TileAlchemicalChest tileAlchemicalChest)
{ {
this.tileAlchemicalChest = tileAlchemicalChest; this.tileAlchemicalChest = tileAlchemicalChest;
LogHelper.debug("State: " + this.tileAlchemicalChest.getState() + ", Inventory size: " + this.tileAlchemicalChest.getSizeInventory());
tileAlchemicalChest.openChest(); tileAlchemicalChest.openChest();
// Add the Alchemical Chest slots to the container // Add the Alchemical Chest slots to the container

View file

@ -1,5 +1,6 @@
package com.pahimar.ee3.inventory; package com.pahimar.ee3.inventory;
import com.pahimar.ee3.helper.LogHelper;
import com.pahimar.ee3.tileentity.TileAlchemicalChest; import com.pahimar.ee3.tileentity.TileAlchemicalChest;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
@ -27,7 +28,7 @@ public class ContainerAlchemicalChestMedium extends Container
public ContainerAlchemicalChestMedium(InventoryPlayer inventoryPlayer, TileAlchemicalChest tileAlchemicalChest) public ContainerAlchemicalChestMedium(InventoryPlayer inventoryPlayer, TileAlchemicalChest tileAlchemicalChest)
{ {
this.tileAlchemicalChest = tileAlchemicalChest; this.tileAlchemicalChest = tileAlchemicalChest;
LogHelper.debug("State: " + this.tileAlchemicalChest.getState() + ", Inventory size: " + this.tileAlchemicalChest.getSizeInventory());
tileAlchemicalChest.openChest(); tileAlchemicalChest.openChest();
// Add the Alchemical Chest slots to the container // Add the Alchemical Chest slots to the container

View file

@ -1,5 +1,6 @@
package com.pahimar.ee3.inventory; package com.pahimar.ee3.inventory;
import com.pahimar.ee3.helper.LogHelper;
import com.pahimar.ee3.tileentity.TileAlchemicalChest; import com.pahimar.ee3.tileentity.TileAlchemicalChest;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
@ -27,7 +28,7 @@ public class ContainerAlchemicalChestSmall extends Container
public ContainerAlchemicalChestSmall(InventoryPlayer inventoryPlayer, TileAlchemicalChest tileAlchemicalChest) public ContainerAlchemicalChestSmall(InventoryPlayer inventoryPlayer, TileAlchemicalChest tileAlchemicalChest)
{ {
this.tileAlchemicalChest = tileAlchemicalChest; this.tileAlchemicalChest = tileAlchemicalChest;
LogHelper.debug("State: " + this.tileAlchemicalChest.getState() + ", Inventory size: " + this.tileAlchemicalChest.getSizeInventory());
tileAlchemicalChest.openChest(); tileAlchemicalChest.openChest();
// Add the Alchemical Chest slots to the container // Add the Alchemical Chest slots to the container

View file

@ -0,0 +1,18 @@
package com.pahimar.ee3.item;
import net.minecraft.item.ItemBlock;
public class ItemBlockAlchemicalChest extends ItemBlock
{
public ItemBlockAlchemicalChest(int id)
{
super(id);
this.setHasSubtypes(true);
}
@Override
public int getMetadata(int meta)
{
return meta;
}
}

View file

@ -4,9 +4,9 @@ import com.pahimar.ee3.block.ModBlocks;
import com.pahimar.ee3.lib.Strings; import com.pahimar.ee3.lib.Strings;
import net.minecraft.item.ItemMultiTextureTile; import net.minecraft.item.ItemMultiTextureTile;
public class ItemAlchemicalFuelBlock extends ItemMultiTextureTile public class ItemBlockAlchemicalFuel extends ItemMultiTextureTile
{ {
public ItemAlchemicalFuelBlock(int id) public ItemBlockAlchemicalFuel(int id)
{ {
super(id, ModBlocks.alchemicalFuel, Strings.ALCHEMICAL_FUEL_SUBTYPE_NAMES); super(id, ModBlocks.alchemicalFuel, Strings.ALCHEMICAL_FUEL_SUBTYPE_NAMES);
} }

View file

@ -2,9 +2,9 @@ package com.pahimar.ee3.item;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
public class ItemInfusedClothBlock extends ItemBlock public class ItemBlockInfusedCloth extends ItemBlock
{ {
public ItemInfusedClothBlock(int id) public ItemBlockInfusedCloth(int id)
{ {
super(id); super(id);
this.setHasSubtypes(true); this.setHasSubtypes(true);

View file

@ -11,9 +11,9 @@ import net.minecraft.util.StatCollector;
import java.util.List; import java.util.List;
public class ItemInfusedPlanksBlock extends ItemBlock public class ItemBlockInfusedPlanks extends ItemBlock
{ {
public ItemInfusedPlanksBlock(int id) public ItemBlockInfusedPlanks(int id)
{ {
super(id); super(id);
this.setHasSubtypes(true); this.setHasSubtypes(true);

View file

@ -11,9 +11,9 @@ import net.minecraft.util.StatCollector;
import java.util.List; import java.util.List;
public class ItemInfusedWoodBlock extends ItemBlock public class ItemBlockInfusedWood extends ItemBlock
{ {
public ItemInfusedWoodBlock(int id) public ItemBlockInfusedWood(int id)
{ {
super(id); super(id);
this.setHasSubtypes(true); this.setHasSubtypes(true);

View file

@ -1,6 +1,7 @@
package com.pahimar.ee3.tileentity; package com.pahimar.ee3.tileentity;
import com.pahimar.ee3.block.ModBlocks; import com.pahimar.ee3.block.ModBlocks;
import com.pahimar.ee3.helper.LogHelper;
import com.pahimar.ee3.lib.Sounds; import com.pahimar.ee3.lib.Sounds;
import com.pahimar.ee3.lib.Strings; import com.pahimar.ee3.lib.Strings;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -49,11 +50,6 @@ public class TileAlchemicalChest extends TileEE implements IInventory
*/ */
private ItemStack[] inventory; private ItemStack[] inventory;
public TileAlchemicalChest()
{
this(0);
}
public TileAlchemicalChest(int metaData) public TileAlchemicalChest(int metaData)
{ {
super(); super();
@ -71,10 +67,6 @@ public class TileAlchemicalChest extends TileEE implements IInventory
{ {
inventory = new ItemStack[LARGE_INVENTORY_SIZE]; inventory = new ItemStack[LARGE_INVENTORY_SIZE];
} }
else
{
inventory = new ItemStack[SMALL_INVENTORY_SIZE];
}
} }
@Override @Override
@ -87,6 +79,7 @@ public class TileAlchemicalChest extends TileEE implements IInventory
@Override @Override
public ItemStack getStackInSlot(int slotIndex) public ItemStack getStackInSlot(int slotIndex)
{ {
LogHelper.debug(inventory.length);
return inventory[slotIndex]; return inventory[slotIndex];
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB