import net.minecraft.src.Material;\r
import net.minecraftforge.common.Configuration;\r
import net.minecraftforge.common.Property;\r
+import chemicraft.block.BlockChemicalCombinationTable;\r
import chemicraft.block.BlockChemicalCraftingTable;\r
+import chemicraft.block.BlockDecompositionTable;\r
+import chemicraft.block.BlockToolAndWeaponCraftingTable;\r
import chemicraft.debug.CommandDeleteItem;\r
+import chemicraft.debug.CommandGenDebugRoom;\r
import chemicraft.debug.CommandSetTile;\r
import chemicraft.item.ItemAtomGrenade;\r
import chemicraft.item.ItemAtoms;\r
import chemicraft.item.ItemGasCollectingBottle;\r
import chemicraft.system.CommonProxy;\r
import chemicraft.system.PacketHandler;\r
+import chemicraft.tileentity.TileEntityChemicalCombinationTable;\r
import chemicraft.tileentity.TileEntityChemicalCraftingTable;\r
+import chemicraft.tileentity.TileEntityDecompositionTable;\r
+import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;\r
import chemicraft.util.Auxiliary;\r
import chemicraft.util.Auxiliary.ArrayAuxiliary;\r
import chemicraft.util.Auxiliary.NameAuxiliary;\r
/**\r
* ChemiCraftのProxy\r
*/\r
- @SidedProxy(clientSide = "chemicraft.client.ClientProxy", serverSide = "chemicraft.CommonProxy")\r
+ @SidedProxy(clientSide = "chemicraft.client.ClientProxy", serverSide = "chemicraft.system.CommonProxy")\r
public static CommonProxy proxy;\r
\r
/**\r
* ChemiCraftのCreativeTab\r
*/\r
- public CreativeTabs creativeTab = new CreativeTabAtoms("ChemiCraft");\r
+ public static final CreativeTabs creativeTab = new CreativeTabAtoms("ChemiCraft");\r
\r
/**\r
* ItemID\r
public void serverStarting(FMLServerStartingEvent event){\r
event.registerServerCommand(new CommandSetTile());\r
event.registerServerCommand(new CommandDeleteItem());\r
+ event.registerServerCommand(new CommandGenDebugRoom());\r
}\r
\r
@Mod.PostInit\r
private void settingProcessing(FMLPostInitializationEvent event){\r
\r
// Blockを追加します\r
- /*\r
- * Commented by mozipi.\r
this.blockDecompositionTable = new BlockDecompositionTable(this.decompositionTableID, 0, Material.ground).setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("DecompositionTable");\r
this.blockChemicalCombinationTable = new BlockChemicalCombinationTable(this.chemicalConbinationTableID, 0, Material.ground).setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("ChemicalCombinationTable");\r
this.blockToolAndWeaponCraftingTable = new BlockToolAndWeaponCraftingTable(this.toolAndWeaponCraftingTableID, 0, Material.ground).setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("ToolAndWeaponCraftingTable");\r
- */\r
this.blockChemicalCraftingTable = new BlockChemicalCraftingTable(chemicalCraftingTableID, 0, Material.ground).setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("ChemicalCraftingTable");\r
\r
\r
this.nameAuxiliary.addName(this.itemAtomGrenade, "元素手榴弾");\r
\r
// TileEntityを追加します\r
- /*\r
- * Commented by mozipi.\r
GameRegistry.registerTileEntity(TileEntityDecompositionTable.class, "DecompositionTable");\r
GameRegistry.registerTileEntity(TileEntityChemicalCombinationTable.class, "TileEntityChemicalCombinationTable");\r
GameRegistry.registerTileEntity(TileEntityToolAndWeaponCraftingTable.class, "TileEntityToolAndWeaponCraftingTable");\r
- */\r
GameRegistry.registerTileEntity(TileEntityChemicalCraftingTable.class, "TileEntityChemicalCraftingTable");\r
\r
// GUIを追加します\r
public BlockChemicalCombinationTable(int par1, int par2, Material par3Material) {
super(par1, par2, par3Material);
+ this.setCreativeTab(ChemiCraft.creativeTab);
}
@Override
if(par1 == 0){
return 17;
}else if(par1 == 1){
- return 3;
+ return 1;
}else{
return 16;
}
public BlockChemicalCraftingTable(int par1, int par2, Material par3Material) {
super(par1, par2, par3Material);
- this.setCreativeTab(ChemiCraft.instance.creativeTab);
+ this.setCreativeTab(ChemiCraft.creativeTab);
}
public BlockDecompositionTable(int par1, int par2, Material par3Material) {
super(par1, par2, par3Material);
+ this.setCreativeTab(ChemiCraft.creativeTab);
}
@Override
if(par1 == 0){
return 17;
}else if(par1 == 1){
- return 3;
+ return 0;
}else{
return 16;
}
package chemicraft.block;
import chemicraft.ChemiCraft;
-import chemicraft.tileentity.TileEntityToolAndWeaponTable;
+import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
import net.minecraft.src.BlockContainer;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.Material;
public BlockToolAndWeaponCraftingTable(int par1, int par2, Material par3Material) {
super(par1, par2, par3Material);
+ this.setCreativeTab(ChemiCraft.creativeTab);
}
@Override
if(par1 == 0){
return 17;
}else if(par1 == 1){
- return 3;
+ return 2;
}else{
return 16;
}
@Override
public TileEntity createNewTileEntity(World var1) {
- return new TileEntityToolAndWeaponTable();
+ return new TileEntityToolAndWeaponCraftingTable();
}
}
package chemicraft.container;
+import net.minecraft.src.Block;
import net.minecraft.src.Container;
import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.ItemStack;
+import net.minecraft.src.Slot;
+import net.minecraft.src.World;
+import chemicraft.ChemiCraft;
+import chemicraft.inventory.InventoryChemicalCombinationTableMaterial;
+import chemicraft.inventory.InventoryChemicalCombinationTableResult;
+import chemicraft.slot.SlotChemicalCombinationTableMaterial;
+import chemicraft.slot.SlotChemicalCombinationTableResult;
+import chemicraft.tileentity.TileEntityChemicalCombinationTable;
public class ContainerChemicalCombinationTable extends Container {
- public ContainerChemicalCombinationTable() {
+ /**
+ * the world.
+ */
+ private World worldObj;
+
+ /**
+ * the TileEntity of Position.
+ */
+ private int posX;
+ private int posY;
+ private int posZ;
+
+ /**
+ * the TileEntity.
+ */
+ private TileEntityChemicalCombinationTable tileentity;
+
+ /**
+ * the Inventory's.
+ */
+ private InventoryChemicalCombinationTableMaterial invm;
+ private InventoryChemicalCombinationTableResult invr;
+
+ public ContainerChemicalCombinationTable(EntityPlayer par1EntityPlayer, TileEntityChemicalCombinationTable par2) {
+ super();
+ this.tileentity = par2;
+ this.worldObj = tileentity.worldObj;
+ this.posX = tileentity.xCoord;
+ this.posY = tileentity.yCoord;
+ this.posZ = tileentity.zCoord;
+ this.invm = this.tileentity.getInvMaterial();
+ this.invr = this.tileentity.getInvResult();
+
+ for(int i = 0;i < 4;i++){
+ for(int j = 0;j < 4;j++){
+ this.addSlotToContainer(new SlotChemicalCombinationTableMaterial(this.invm, i * 4 + j, i * 18 + 16, j * 18 + 8));
+ }
+ }
+ this.addSlotToContainer(new SlotChemicalCombinationTableResult(invr, 0, 123, 34));
+
+
+ int var3;
+ for (var3 = 0; var3 < 3; ++var3)
+ {
+ for (int var4 = 0; var4 < 9; ++var4)
+ {
+ this.addSlotToContainer(new Slot(par1EntityPlayer.inventory, var4 + var3 * 9 + 9, 8 + var4 * 18, 85 + var3 * 18));
+ }
+ }
+
+ for (var3 = 0; var3 < 9; ++var3)
+ {
+ this.addSlotToContainer(new Slot(par1EntityPlayer.inventory, var3, 8 + var3 * 18, 143));
+ }
+ }
+
+ @Override
+ public boolean canInteractWith(EntityPlayer par1EntityPlayer){
+ return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.chemicalConbinationTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
+ }
+
+ @Override
+ public ItemStack transferStackInSlot(int par1){
+ return null;
}
@Override
- public boolean canInteractWith(EntityPlayer var1) {
- return false;
+ public void onCraftGuiClosed(EntityPlayer par1EntityPlayer){
+ super.onCraftGuiClosed(par1EntityPlayer);
}
}
import net.minecraft.src.Container;
import net.minecraft.src.EntityPlayer;
+import chemicraft.tileentity.TileEntityDecompositionTable;
public class ContainerDecompositionTable extends Container {
- public ContainerDecompositionTable(){
-
+ public ContainerDecompositionTable(EntityPlayer par1EntityPlayer, TileEntityDecompositionTable par2){
+ super();
}
@Override
import net.minecraft.src.Container;
import net.minecraft.src.EntityPlayer;
+import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
public class ContainerToolAndWeaponCraftingTable extends Container {
- public ContainerToolAndWeaponCraftingTable(){
-
+ public ContainerToolAndWeaponCraftingTable(EntityPlayer par1EntityPlayer, TileEntityToolAndWeaponCraftingTable par2){
+ super();
}
@Override
--- /dev/null
+package chemicraft.debug;
+
+import net.minecraft.src.Block;
+import net.minecraft.src.CommandBase;
+import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.ICommandSender;
+import net.minecraft.src.World;
+
+public class CommandGenDebugRoom extends CommandBase {
+
+ @Override
+ public String getCommandName() {
+ return "debugRoom";
+ }
+
+ @Override
+ public void processCommand(ICommandSender var1, String[] var2) {
+ try{
+ EntityPlayer player = (EntityPlayer)var1;
+ World wolrd = player.worldObj;
+
+ SetBlockSupport.box(wolrd, (int)player.posX, (int)player.posY, (int)player.posZ, Block.bedrock.blockID, 0, 20, 20, 6);
+ }catch(ClassCastException e){
+
+ }
+ }
+
+}
if(var2.length > 0){\r
try{\r
if(Integer.parseInt(var2[0]) < 4096 && Block.blocksList[Integer.parseInt(var2[0])] != null || Integer.parseInt(var2[0]) == 0){\r
- if(var2.length > 1){\r
+ if(var2.length == 1){\r
SetBlockSupport.square(wolrd, (int)player.posX, (int)player.posY, (int)player.posZ, Integer.parseInt(var2[0]), Integer.parseInt(var2[1]), 12, 12);\r
+ }else if(var2.length > 2){\r
+ SetBlockSupport.square(wolrd, (int)player.posX, (int)player.posY, (int)player.posZ, Integer.parseInt(var2[0]), Integer.parseInt(var2[1]), Integer.parseInt(var2[2]), Integer.parseInt(var2[2]));\r
}else{\r
SetBlockSupport.square(wolrd, (int)player.posX, (int)player.posY, (int)player.posZ, Integer.parseInt(var2[0]), 0, 12, 12);\r
}\r
var1.sendChatToPlayer("\u00a7c指定された文字は数値ではありません。");\r
}\r
}else{\r
- var1.sendChatToPlayer("\u00a7cBlockIDを指定してください。(Metadataも可能)");\r
+ var1.sendChatToPlayer("\u00a7cBlockIDを指定してください。(Metadata, Sizeも可能)");\r
}\r
}catch(ClassCastException e){\r
\r
package chemicraft.gui;
-import net.minecraft.src.Gui;
+import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.GuiContainer;
+import net.minecraft.src.GuiTextField;
+import chemicraft.ChemiCraft;
+import chemicraft.container.ContainerChemicalCombinationTable;
+import chemicraft.tileentity.TileEntityChemicalCombinationTable;
-public class GuiChemicalCombinationTable extends Gui {
+public class GuiChemicalCombinationTable extends GuiContainer {
- public GuiChemicalCombinationTable(){
+ private GuiTextField atomList;
+ public GuiChemicalCombinationTable(EntityPlayer par1EntityPlayer, TileEntityChemicalCombinationTable par2) {
+ super(new ContainerChemicalCombinationTable(par1EntityPlayer, par2));
+ }
+
+ @Override
+ public void initGui(){
+ super.initGui();
+ this.atomList = new GuiTextField(this.fontRenderer, 100, 65, 70, 15);
+ this.atomList.setFocused(false);
+ this.atomList.setMaxStringLength(10);
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
+ this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.guiChemicalCombinationTexture));
+ this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer() {
+ this.atomList.drawTextBox();
}
}
package chemicraft.gui;
-public class GuiDecompositionTable {
+import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.GuiContainer;
+import chemicraft.ChemiCraft;
+import chemicraft.container.ContainerDecompositionTable;
+import chemicraft.tileentity.TileEntityDecompositionTable;
- public GuiDecompositionTable() {
+public class GuiDecompositionTable extends GuiContainer{
+
+ public GuiDecompositionTable(EntityPlayer par1EntityPlayer, TileEntityDecompositionTable par2) {
+ super(new ContainerDecompositionTable(par1EntityPlayer, par2));
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
+ this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.guiDecompositionTexture));
+ this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
}
+
}
package chemicraft.gui;
-public class GuiToolAndWeaponCraftingTable {
+import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.GuiContainer;
+import chemicraft.ChemiCraft;
+import chemicraft.container.ContainerToolAndWeaponCraftingTable;
+import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
- public GuiToolAndWeaponCraftingTable(){
+public class GuiToolAndWeaponCraftingTable extends GuiContainer {
+ public GuiToolAndWeaponCraftingTable(EntityPlayer par1EntityPlayer, TileEntityToolAndWeaponCraftingTable par2) {
+ super(new ContainerToolAndWeaponCraftingTable(par1EntityPlayer, par2));
}
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
+ this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.guiToolAndWeaponCraftingTexture));
+ this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
+ }
+
+
}
package chemicraft.inventory;
+import net.minecraft.src.Container;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.IInventory;
import net.minecraft.src.ItemStack;
public class InventoryChemicalCombinationTableMaterial implements IInventory {
+ private ItemStack[] inventory = new ItemStack[16];
+ private Container eventHandler;
+
+ public void setEventHandler(Container par1){
+ this.eventHandler = par1;
+ }
+
@Override
public int getSizeInventory() {
- return 0;
+ return this.inventory.length;
}
@Override
public ItemStack getStackInSlot(int var1) {
- return null;
+ return this.inventory[var1];
}
@Override
public ItemStack decrStackSize(int var1, int var2) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var3;
+
+ if (this.inventory[var1].stackSize <= var2)
+ {
+ var3 = this.inventory[var1];
+ this.inventory[var1] = null;
+ this.onInventoryChanged();
+ return var3;
+ }
+ else
+ {
+ var3 = this.inventory[var1].splitStack(var2);
+
+ if (this.inventory[var1].stackSize == 0)
+ {
+ this.inventory[var1] = null;
+ }
+
+ this.onInventoryChanged();
+ return var3;
+ }
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public ItemStack getStackInSlotOnClosing(int var1) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var2 = this.inventory[var1];
+ this.inventory[var1] = null;
+ return var2;
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public void setInventorySlotContents(int var1, ItemStack var2) {
+ this.inventory[var1] = var2;
+
+ if (var2 != null && var2.stackSize > this.getInventoryStackLimit())
+ {
+ var2.stackSize = this.getInventoryStackLimit();
+ }
+
+ this.onInventoryChanged();
}
@Override
public String getInvName() {
- return null;
+ return "ChemicalCombinationTableMaterial";
}
@Override
public int getInventoryStackLimit() {
- return 0;
+ return 64;
}
@Override
public void onInventoryChanged() {
+ if(this.eventHandler != null) this.eventHandler.onCraftMatrixChanged(this);
}
@Override
public boolean isUseableByPlayer(EntityPlayer var1) {
- return false;
+ return true;
}
@Override
package chemicraft.inventory;
+import net.minecraft.src.Container;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.IInventory;
import net.minecraft.src.ItemStack;
public class InventoryChemicalCombinationTableResult implements IInventory {
+ private ItemStack[] inventory = new ItemStack[16];
+ private Container eventHandler;
+
+ public void setEventHandler(Container par1){
+ this.eventHandler = par1;
+ }
+
@Override
public int getSizeInventory() {
- return 0;
+ return this.inventory.length;
}
@Override
public ItemStack getStackInSlot(int var1) {
- return null;
+ return this.inventory[var1];
}
@Override
public ItemStack decrStackSize(int var1, int var2) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var3;
+
+ if (this.inventory[var1].stackSize <= var2)
+ {
+ var3 = this.inventory[var1];
+ this.inventory[var1] = null;
+ this.onInventoryChanged();
+ return var3;
+ }
+ else
+ {
+ var3 = this.inventory[var1].splitStack(var2);
+
+ if (this.inventory[var1].stackSize == 0)
+ {
+ this.inventory[var1] = null;
+ }
+
+ this.onInventoryChanged();
+ return var3;
+ }
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public ItemStack getStackInSlotOnClosing(int var1) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var2 = this.inventory[var1];
+ this.inventory[var1] = null;
+ return var2;
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public void setInventorySlotContents(int var1, ItemStack var2) {
+ this.inventory[var1] = var2;
+
+ if (var2 != null && var2.stackSize > this.getInventoryStackLimit())
+ {
+ var2.stackSize = this.getInventoryStackLimit();
+ }
+
+ this.onInventoryChanged();
}
@Override
public String getInvName() {
- return null;
+ return "ChemicalCombinationTableResult";
}
@Override
public int getInventoryStackLimit() {
- return 0;
+ return 64;
}
@Override
public void onInventoryChanged() {
+ if(this.eventHandler != null) this.eventHandler.onCraftMatrixChanged(this);
}
@Override
public boolean isUseableByPlayer(EntityPlayer var1) {
- return false;
+ return true;
}
@Override
public void closeChest() {
}
+
}
package chemicraft.inventory;
+import net.minecraft.src.Container;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.IInventory;
import net.minecraft.src.ItemStack;
public class InventoryDecompositionTableMaterial implements IInventory {
+ private ItemStack[] inventory = new ItemStack[16];
+ private Container eventHandler;
+
+ public void setEventHandler(Container par1){
+ this.eventHandler = par1;
+ }
+
@Override
public int getSizeInventory() {
- return 0;
+ return this.inventory.length;
}
@Override
public ItemStack getStackInSlot(int var1) {
- return null;
+ return this.inventory[var1];
}
@Override
public ItemStack decrStackSize(int var1, int var2) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var3;
+
+ if (this.inventory[var1].stackSize <= var2)
+ {
+ var3 = this.inventory[var1];
+ this.inventory[var1] = null;
+ this.onInventoryChanged();
+ return var3;
+ }
+ else
+ {
+ var3 = this.inventory[var1].splitStack(var2);
+
+ if (this.inventory[var1].stackSize == 0)
+ {
+ this.inventory[var1] = null;
+ }
+
+ this.onInventoryChanged();
+ return var3;
+ }
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public ItemStack getStackInSlotOnClosing(int var1) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var2 = this.inventory[var1];
+ this.inventory[var1] = null;
+ return var2;
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public void setInventorySlotContents(int var1, ItemStack var2) {
+ this.inventory[var1] = var2;
+
+ if (var2 != null && var2.stackSize > this.getInventoryStackLimit())
+ {
+ var2.stackSize = this.getInventoryStackLimit();
+ }
+ this.onInventoryChanged();
}
@Override
public String getInvName() {
- return null;
+ return "DecompositionTableMaterial";
}
@Override
public int getInventoryStackLimit() {
- return 0;
+ return 64;
}
@Override
public void onInventoryChanged() {
-
+ if(this.eventHandler != null) this.eventHandler.onCraftMatrixChanged(this);
}
@Override
public boolean isUseableByPlayer(EntityPlayer var1) {
- return false;
+ return true;
}
@Override
public void openChest() {
-
}
@Override
public void closeChest() {
-
}
}
package chemicraft.inventory;
+import net.minecraft.src.Container;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.IInventory;
import net.minecraft.src.ItemStack;
public class InventoryDecompositionTableResult implements IInventory {
+ private ItemStack[] inventory = new ItemStack[16];
+ private Container eventHandler;
+
+ public void setEventHandler(Container par1){
+ this.eventHandler = par1;
+ }
+
@Override
public int getSizeInventory() {
- return 0;
+ return this.inventory.length;
}
@Override
public ItemStack getStackInSlot(int var1) {
- return null;
+ return this.inventory[var1];
}
@Override
public ItemStack decrStackSize(int var1, int var2) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var3;
+
+ if (this.inventory[var1].stackSize <= var2)
+ {
+ var3 = this.inventory[var1];
+ this.inventory[var1] = null;
+ this.onInventoryChanged();
+ return var3;
+ }
+ else
+ {
+ var3 = this.inventory[var1].splitStack(var2);
+
+ if (this.inventory[var1].stackSize == 0)
+ {
+ this.inventory[var1] = null;
+ }
+
+ this.onInventoryChanged();
+ return var3;
+ }
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public ItemStack getStackInSlotOnClosing(int var1) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var2 = this.inventory[var1];
+ this.inventory[var1] = null;
+ return var2;
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public void setInventorySlotContents(int var1, ItemStack var2) {
+ this.inventory[var1] = var2;
+
+ if (var2 != null && var2.stackSize > this.getInventoryStackLimit())
+ {
+ var2.stackSize = this.getInventoryStackLimit();
+ }
+
+ this.onInventoryChanged();
}
@Override
public String getInvName() {
- return null;
+ return "DecompositionTableResult";
}
@Override
public int getInventoryStackLimit() {
- return 0;
+ return 64;
}
@Override
public void onInventoryChanged() {
+ if(this.eventHandler != null) this.eventHandler.onCraftMatrixChanged(this);
}
@Override
public boolean isUseableByPlayer(EntityPlayer var1) {
- return false;
+ return true;
}
@Override
package chemicraft.inventory;
+import net.minecraft.src.Container;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.IInventory;
import net.minecraft.src.ItemStack;
public class InventoryToolAndWeaponCraftingTableMaterial implements IInventory {
+ private ItemStack[] inventory = new ItemStack[16];
+ private Container eventHandler;
+
+ public void setEventHandler(Container par1){
+ this.eventHandler = par1;
+ }
+
@Override
public int getSizeInventory() {
- return 0;
+ return this.inventory.length;
}
@Override
public ItemStack getStackInSlot(int var1) {
- return null;
+ return this.inventory[var1];
}
@Override
public ItemStack decrStackSize(int var1, int var2) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var3;
+
+ if (this.inventory[var1].stackSize <= var2)
+ {
+ var3 = this.inventory[var1];
+ this.inventory[var1] = null;
+ this.onInventoryChanged();
+ return var3;
+ }
+ else
+ {
+ var3 = this.inventory[var1].splitStack(var2);
+
+ if (this.inventory[var1].stackSize == 0)
+ {
+ this.inventory[var1] = null;
+ }
+
+ this.onInventoryChanged();
+ return var3;
+ }
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public ItemStack getStackInSlotOnClosing(int var1) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var2 = this.inventory[var1];
+ this.inventory[var1] = null;
+ return var2;
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public void setInventorySlotContents(int var1, ItemStack var2) {
+ this.inventory[var1] = var2;
+
+ if (var2 != null && var2.stackSize > this.getInventoryStackLimit())
+ {
+ var2.stackSize = this.getInventoryStackLimit();
+ }
+
+ this.onInventoryChanged();
}
@Override
public String getInvName() {
- return null;
+ return "ToolAndWeaponCraftingTableMaterial";
}
@Override
public int getInventoryStackLimit() {
- return 0;
+ return 64;
}
@Override
public void onInventoryChanged() {
+ if(this.eventHandler != null) this.eventHandler.onCraftMatrixChanged(this);
}
@Override
public boolean isUseableByPlayer(EntityPlayer var1) {
- return false;
+ return true;
}
@Override
package chemicraft.inventory;
+import net.minecraft.src.Container;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.IInventory;
import net.minecraft.src.ItemStack;
public class InventoryToolAndWeaponCraftingTableResult implements IInventory {
+ private ItemStack[] inventory = new ItemStack[16];
+ private Container eventHandler;
+
+ public void setEventHandler(Container par1){
+ this.eventHandler = par1;
+ }
+
@Override
public int getSizeInventory() {
- return 0;
+ return this.inventory.length;
}
@Override
public ItemStack getStackInSlot(int var1) {
- return null;
+ return this.inventory[var1];
}
@Override
public ItemStack decrStackSize(int var1, int var2) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var3;
+
+ if (this.inventory[var1].stackSize <= var2)
+ {
+ var3 = this.inventory[var1];
+ this.inventory[var1] = null;
+ this.onInventoryChanged();
+ return var3;
+ }
+ else
+ {
+ var3 = this.inventory[var1].splitStack(var2);
+
+ if (this.inventory[var1].stackSize == 0)
+ {
+ this.inventory[var1] = null;
+ }
+
+ this.onInventoryChanged();
+ return var3;
+ }
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public ItemStack getStackInSlotOnClosing(int var1) {
- return null;
+ if (this.inventory[var1] != null)
+ {
+ ItemStack var2 = this.inventory[var1];
+ this.inventory[var1] = null;
+ return var2;
+ }
+ else
+ {
+ return null;
+ }
}
@Override
public void setInventorySlotContents(int var1, ItemStack var2) {
+ this.inventory[var1] = var2;
+
+ if (var2 != null && var2.stackSize > this.getInventoryStackLimit())
+ {
+ var2.stackSize = this.getInventoryStackLimit();
+ }
+
+ this.onInventoryChanged();
}
@Override
public String getInvName() {
- return null;
+ return "ToolAndWeaponCraftingTableResult";
}
@Override
public int getInventoryStackLimit() {
- return 0;
+ return 64;
}
@Override
public void onInventoryChanged() {
+ if(this.eventHandler != null) this.eventHandler.onCraftMatrixChanged(this);
}
@Override
public boolean isUseableByPlayer(EntityPlayer var1) {
- return false;
+ return true;
}
@Override
public void closeChest() {
}
+
}
import java.util.List;
+import cpw.mods.fml.common.Side;
+import cpw.mods.fml.common.asm.SideOnly;
+
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.Item;
import net.minecraft.src.ItemStack;
return par1ItemStack;
}
- @SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addInformation(ItemStack par1ItemStack, List par2List) {
- if(par1ItemStack.getTagCompound() != null){
+ System.out.println(par1ItemStack.hasTagCompound());
+ if(par1ItemStack.hasTagCompound()){
NBTTagList var1 = par1ItemStack.getTagCompound().getTagList("Effect");
for(int i = 0;i < 3;i++){
package chemicraft.slot;
+import chemicraft.ChemiCraft;
import net.minecraft.src.IInventory;
+import net.minecraft.src.ItemStack;
import net.minecraft.src.Slot;
public class SlotChemicalCombinationTableMaterial extends Slot {
super(par1iInventory, par2, par3, par4);
}
+ @Override
+ public boolean isItemValid(ItemStack par1ItemStack){
+ if(par1ItemStack.itemID == ChemiCraft.instance.atomsID + 256){
+ return true;
+ }
+ return false;
+ }
+
}
package chemicraft.slot;
import net.minecraft.src.IInventory;
+import net.minecraft.src.ItemStack;
import net.minecraft.src.Slot;
public class SlotChemicalCombinationTableResult extends Slot {
super(par1iInventory, par2, par3, par4);
}
+ @Override
+ public boolean isItemValid(ItemStack par1ItemStack){
+ return false;
+ }
+
}
package chemicraft.slot;
import net.minecraft.src.IInventory;
+import net.minecraft.src.ItemStack;
import net.minecraft.src.Slot;
public class SlotDecompositionTableResult extends Slot {
super(par1iInventory, par2, par3, par4);
}
+ @Override
+ public boolean isItemValid(ItemStack par1ItemStack){
+ return false;
+ }
+
}
package chemicraft.slot;
import net.minecraft.src.IInventory;
+import net.minecraft.src.ItemStack;
import net.minecraft.src.Slot;
public class SlotToolAndWeaponCraftingTableResult extends Slot {
super(par1iInventory, par2, par3, par4);
}
+ @Override
+ public boolean isItemValid(ItemStack par1ItemStack){
+ return false;
+ }
+
}
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.TileEntity;
import net.minecraft.src.World;
+import chemicraft.container.ContainerChemicalCombinationTable;
import chemicraft.container.ContainerChemicalCraftingTable;
+import chemicraft.container.ContainerDecompositionTable;
+import chemicraft.container.ContainerToolAndWeaponCraftingTable;
+import chemicraft.tileentity.TileEntityChemicalCombinationTable;
import chemicraft.tileentity.TileEntityChemicalCraftingTable;
+import chemicraft.tileentity.TileEntityDecompositionTable;
+import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
import cpw.mods.fml.common.network.IGuiHandler;
public class CommonProxy implements IGuiHandler {
return null;
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
- /*
- * Commented by mozipi.
if (tileEntity instanceof TileEntityDecompositionTable) {
return new ContainerDecompositionTable(player, (TileEntityDecompositionTable) tileEntity);
}else if(tileEntity instanceof TileEntityChemicalCombinationTable){
}else if(tileEntity instanceof TileEntityChemicalCraftingTable){
return new ContainerChemicalCraftingTable(player, (TileEntityChemicalCraftingTable) tileEntity);
}
- */
- if (tileEntity instanceof TileEntityChemicalCraftingTable) {
- return new ContainerChemicalCraftingTable(player, (TileEntityChemicalCraftingTable) tileEntity);
- }
return null;
}
package chemicraft.tileentity;
+import chemicraft.inventory.InventoryChemicalCombinationTableMaterial;
+import chemicraft.inventory.InventoryChemicalCombinationTableResult;
+import net.minecraft.src.ItemStack;
+import net.minecraft.src.NBTTagCompound;
+import net.minecraft.src.NBTTagList;
import net.minecraft.src.TileEntity;
public class TileEntityChemicalCombinationTable extends TileEntity {
+ private InventoryChemicalCombinationTableMaterial invm = new InventoryChemicalCombinationTableMaterial();
+ private InventoryChemicalCombinationTableResult invr = new InventoryChemicalCombinationTableResult();
+
+ @Override
+ public void readFromNBT(NBTTagCompound par1){
+ super.readFromNBT(par1);
+ NBTTagList var2 = par1.getTagList("Items");
+ for (int var3 = 0; var3 < var2.tagCount(); ++var3)
+ {
+ NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3);
+ int var5 = var4.getByte("Slot") & 255;
+
+ if (var5 >= 0 && var5 < this.invm.getSizeInventory())
+ {
+ this.invm.setInventorySlotContents(var5, ItemStack.loadItemStackFromNBT(var4));
+ }
+ }
+
+ NBTTagList var6 = par1.getTagList("Items2");
+ for (int var3 = 0; var3 < var6.tagCount(); ++var3)
+ {
+ NBTTagCompound var7 = (NBTTagCompound)var6.tagAt(var3);
+ int var8 = var7.getByte("Slot2") & 255;
+
+ if (var8 >= 0 && var8 < this.invr.getSizeInventory())
+ {
+ this.invr.setInventorySlotContents(var8, ItemStack.loadItemStackFromNBT(var7));
+ }
+ }
+ }
+
+ @Override
+ public void writeToNBT(NBTTagCompound par1){
+ super.writeToNBT(par1);
+ }
+
+ public InventoryChemicalCombinationTableMaterial getInvMaterial(){
+ return this.invm;
+ }
+
+ public InventoryChemicalCombinationTableResult getInvResult(){
+ return this.invr;
+ }
+
}
import net.minecraft.src.TileEntity;
-public class TileEntityToolAndWeaponTable extends TileEntity {
+public class TileEntityToolAndWeaponCraftingTable extends TileEntity {
}
import net.minecraft.src.World;
import net.minecraftforge.client.MinecraftForgeClient;
import chemicraft.ChemiCraft;
+import chemicraft.gui.GuiChemicalCombinationTable;
import chemicraft.gui.GuiChemicalCraftingTable;
+import chemicraft.gui.GuiDecompositionTable;
+import chemicraft.gui.GuiToolAndWeaponCraftingTable;
import chemicraft.system.CommonProxy;
+import chemicraft.tileentity.TileEntityChemicalCombinationTable;
import chemicraft.tileentity.TileEntityChemicalCraftingTable;
+import chemicraft.tileentity.TileEntityDecompositionTable;
+import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
import cpw.mods.fml.client.FMLClientHandler;
public class ClientProxy extends CommonProxy {
return null;
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
- /*
- * Commented by mozipi.
if (tileEntity instanceof TileEntityDecompositionTable) {
return new GuiDecompositionTable(player, (TileEntityDecompositionTable) tileEntity);
}else if(tileEntity instanceof TileEntityChemicalCombinationTable){
}else if(tileEntity instanceof TileEntityChemicalCraftingTable){
return new GuiChemicalCraftingTable(player, (TileEntityChemicalCraftingTable) tileEntity);
}
- */
- if (tileEntity instanceof TileEntityChemicalCraftingTable) {
- return new GuiChemicalCraftingTable(player, (TileEntityChemicalCraftingTable) tileEntity);
- }
return null;
}