/**\r
* BlockID\r
*/\r
- public static int scienceCraftingTableID;\r
+ public static int chemicalCraftingTableID;\r
\r
\r
/**\r
* GUIID\r
*/\r
- public static int guiScienceCraftingTableID;\r
+ public static int guiChemicalCraftingTableID;\r
\r
\r
/**\r
* Block型変数\r
*/\r
- public static Block blockScienceCraftingTable;\r
+ public static Block blockChemicalCraftingTable;\r
\r
\r
/**\r
Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());\r
cfg.load();\r
\r
- Property scienceCraftingTableIDProp = cfg.getBlock("scienceCraftingTable", 200);\r
+ Property chemicalCraftingTableIDProp = cfg.getBlock("chemicalCraftingTable", 200);\r
Property atomsIDProp = cfg.getItem("atomsID", 25000);\r
Property compoundsIDProp = cfg.getItem("compoundsID", 25001);\r
Property gasCollectingBottleIDProp = cfg.getItem("gasCollectingBottleID", 25002);\r
- Property guiScienceCraftingTableIDProp = cfg.get("GUI", "GUIScienceCraftingTableID", 1000);\r
+ Property guiChemicalCraftingTableIDProp = cfg.get("GUI", "GUIChemicalCraftingTableID", 1000);\r
\r
- scienceCraftingTableID = scienceCraftingTableIDProp.getInt();\r
+ chemicalCraftingTableID = chemicalCraftingTableIDProp.getInt();\r
atomsID = atomsIDProp.getInt();\r
compoundsID = compoundsIDProp.getInt();\r
gasCollectingBottleID = gasCollectingBottleIDProp.getInt();\r
- guiScienceCraftingTableID = guiScienceCraftingTableIDProp.getInt();\r
+ guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();\r
\r
cfg.save();\r
}\r
NameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.getCompoundsLangName().toArray());\r
\r
// Blockを追加します\r
- blockScienceCraftingTable = new BlockScienceCraftingTable(scienceCraftingTableID, Block.workbench.blockIndexInTexture, Material.ground)\r
- .setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("ScienceCraftingTable");\r
+ blockChemicalCraftingTable = new BlockChemicalCraftingTable(chemicalCraftingTableID, Block.workbench.blockIndexInTexture, Material.ground)\r
+ .setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("ChemicalCraftingTable");\r
\r
// Itemを追加します\r
itemAtoms = new ItemAtoms(atomsID).setItemName("atoms");\r
itemGasCollectingBottle = new ItemGasCollectingBottle(gasCollectingBottleID).setItemName("gasCollectingBottle");\r
\r
// BlockをMinecraftに登録します\r
- GameRegistry.registerBlock(blockScienceCraftingTable);\r
+ GameRegistry.registerBlock(blockChemicalCraftingTable);\r
\r
// Blockの名前を設定します\r
- NameAuxiliary.addName(blockScienceCraftingTable, "ScienceCraftingTable");\r
- NameAuxiliary.addName(blockScienceCraftingTable, "ja_JP", "科学作業台");\r
+ NameAuxiliary.addName(blockChemicalCraftingTable, "ChemicalCraftingTable");\r
+ NameAuxiliary.addName(blockChemicalCraftingTable, "ja_JP", "科学作業台");\r
\r
// Itemの名前を設定します\r
NameAuxiliary.addName(itemAtoms, atomsName);\r
ChemiCraftAPI.addLangCompound("ja_JP", "Salt", "塩");\r
\r
// TileEntityを追加します\r
- GameRegistry.registerTileEntity(TileEntityScienceCraftingTable.class, "TileEntityScienceCraftingTable");\r
+ GameRegistry.registerTileEntity(TileEntityChemicalCraftingTable.class, "TileEntityChemicalCraftingTable");\r
\r
// GUIを追加します\r
NetworkRegistry.instance().registerGuiHandler(instance, proxy);\r
-package chemicraft;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import net.minecraft.src.Block;
-import net.minecraft.src.EntityPlayer;
-import net.minecraft.src.GuiContainer;
-import net.minecraft.src.InventoryBasic;
-import net.minecraft.src.InventoryPlayer;
-import net.minecraft.src.ItemStack;
-import cpw.mods.fml.common.Side;
-import cpw.mods.fml.common.asm.SideOnly;
-import cpw.mods.fml.common.network.PacketDispatcher;
-import cpw.mods.fml.common.network.Player;
-
-@SideOnly(Side.CLIENT)
-public class GuiScienceCraftingTable extends GuiContainer {
-
- /**
- * 分解機GUIのInventoryBasicクラス
- */
- private static InventoryBasic decompositionSlots = new InventoryBasic("Decomposition", 17);
-
-
- /**
- * TabListのArrayList
- */
- private ArrayList<ChemiCraftTab> tabList = new ArrayList<ChemiCraftTab>();
-
-
- /**
- * Gui画像のHashMap
- * キーの名前は拡張子を除くファイル名にする
- */
- private HashMap<String, Integer> guiImageMap = new HashMap<String, Integer>();
-
-
- /**
- * 画像のHashMap
- * キーの名前は拡張子を除くファイル名にする
- */
- private HashMap<String, Integer> otherImageMap = new HashMap<String, Integer>();
-
-
- /**
- * the TileEntity.
- */
- private TileEntityScienceCraftingTable tileEntity;
-
-
- /**
- * the InventoryPlayer.
- */
- private InventoryPlayer inventoryPlayer;
-
-
- /**
- * the Container
- */
- private ContainerScienceCraftingTable container;
-
-
-
- public GuiScienceCraftingTable(EntityPlayer par1EntityPlayer, TileEntityScienceCraftingTable par2){
- super(new ContainerScienceCraftingTable(par1EntityPlayer, par2));
- //TileEntityを設定
- this.inventoryPlayer = par1EntityPlayer.inventory;
- this.tileEntity = par2;
- this.container = (ContainerScienceCraftingTable) this.inventorySlots;
- //TabListにTabを追加する
- this.addTabs(0, "Decomposition", new ItemStack(Block.tnt.blockID, 1, 1));
- this.addTabs(1, "Test", new ItemStack(Block.bedrock.blockID, 1, 1));
- //ActiveTabの初期化
- for(int i = 0;i < tabList.size();i++){
- String field_00001 = this.tabList.get(i).getTabName();
- String field_00002 = this.tileEntity.getActiveTab();
- if(field_00001.equals(field_00002)){
- this.tileEntity.setActiveTab(this.tabList.get(i).getTabName());
- }
- }
- }
-
-
-
- @Override
- protected void mouseClicked(int par1, int par2, int par3){
- super.mouseClicked(par1, par2, par3);
-
- int var1 = par1 - this.guiLeft;
- int var2 = par2 - this.guiTop;
- if(var1 < this.tabList.size() * 28 && var1 >= 0 && var2 < 0){
- String var3 = this.tabList.get(var1 / 28).getTabName();
- if(!var3.equals(this.tileEntity.getActiveTab())){
- this.tileEntity.setActiveTab(var3);
- this.inventoryPlayer.player.openGui(ChemiCraft.instance, ChemiCraft.instance.guiScienceCraftingTableID, this.tileEntity.worldObj, this.tileEntity.xCoord, this.tileEntity.yCoord, this.tileEntity.zCoord);
- this.onGuiClosed();
- }
- }
- }
-
-
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3){
- //ActiveTab Reset.
- this.func_00003();
- //Texture Load.
- this.func_00002();
- //Draw Tabs.
- this.func_00001(par1, par2, par3);
- //Draw GUI
- if(this.tileEntity.getActiveTab().equals("Decomposition")){
- this.mc.renderEngine.bindTexture(this.guiImageMap.get("Decomposition"));
- this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
- }
- }
-
-
-
- private void func_00001(float par1, int par2, int par3){
- int var1 = this.guiLeft;
- int var2 = this.guiTop - 32;
- for(int i = 0;i < this.tabList.size();i++){
- if(!this.tabList.get(i).isActive()){
- this.mc.renderEngine.bindTexture(this.otherImageMap.get("tabs"));
- this.drawTexturedModalRect(var1 + (28 * i), var2, 0, 0, 28, 32);
- this.itemRenderer.renderItemIntoGUI(this.fontRenderer, this.mc.renderEngine, this.tabList.get(i).getRenderItemStack(), var1 + (28 * i) + 6, var2 + 9);
- this.itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.renderEngine, this.tabList.get(i).getRenderItemStack(), var1 + (28 * i) + 6, var2 + 9);
- }else{
- this.mc.renderEngine.bindTexture(this.otherImageMap.get("tabs"));
- this.drawTexturedModalRect(var1 + (28 * i), var2, 0, 32, 28, 32);
- this.itemRenderer.renderItemIntoGUI(this.fontRenderer, this.mc.renderEngine, this.tabList.get(i).getRenderItemStack(), var1 + (28 * i) + 6, var2 + 9);
- this.itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.renderEngine, this.tabList.get(i).getRenderItemStack(), var1 + (28 * i) + 6, var2 + 9);
- }
- }
- }
-
-
-
- private void func_00002(){
- //guiImageMapに画像を格納する
- guiImageMap.put("Decomposition", this.mc.renderEngine.getTexture("/resources/chemicraft/guis/Decomposition.png"));
- //otherImageMapに画像を格納する
- otherImageMap.put("tabs", this.mc.renderEngine.getTexture("/resources/chemicraft/guis/tabs.png"));
- }
-
-
-
- private void func_00003(){
- for(int i = 0;i < this.tabList.size();i++){
- if(!this.tabList.get(i).getTabName().equals(this.tileEntity.getActiveTab())){
- this.tabList.get(i).setActive(false);
- }else{
- this.tabList.get(i).setActive(true);
- }
- }
- }
-
-
-
- /**
- * ChemiCraftTabを追加します。
- * @param id TabのID
- * @param texture OverlayするTextureID
- * @param name Tabの名前
- * @throws Exception IDが重複している場合にスローされます
- */
- private void addTabs(int id, String name, ItemStack renderItemStack){
- for(int i = 0;i < this.tabList.size();i++){
- if(id == this.tabList.get(i).getID()){
- try {
- throw new Exception("ChemiCraft内でエラー:ChemiCraftTabのIDが重複しています");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- this.tabList.add(new ChemiCraftTab(id, name, renderItemStack));
- }
-
-}
+package chemicraft;\r
+\r
+import java.util.ArrayList;\r
+import java.util.HashMap;\r
+\r
+import net.minecraft.src.Block;\r
+import net.minecraft.src.EntityPlayer;\r
+import net.minecraft.src.GuiContainer;\r
+import net.minecraft.src.InventoryBasic;\r
+import net.minecraft.src.InventoryPlayer;\r
+import net.minecraft.src.ItemStack;\r
+import cpw.mods.fml.common.Side;\r
+import cpw.mods.fml.common.asm.SideOnly;\r
+import cpw.mods.fml.common.network.PacketDispatcher;\r
+import cpw.mods.fml.common.network.Player;\r
+\r
+@SideOnly(Side.CLIENT)\r
+public class GuiChemicalCraftingTable extends GuiContainer {\r
+\r
+ /**\r
+ * 分解機GUIのInventoryBasicクラス\r
+ */\r
+ private static InventoryBasic decompositionSlots = new InventoryBasic("Decomposition", 17);\r
+\r
+\r
+ /**\r
+ * TabListのArrayList\r
+ */\r
+ private ArrayList<ChemiCraftTab> tabList = new ArrayList<ChemiCraftTab>();\r
+\r
+\r
+ /**\r
+ * Gui画像のHashMap\r
+ * キーの名前は拡張子を除くファイル名にする\r
+ */\r
+ private HashMap<String, Integer> guiImageMap = new HashMap<String, Integer>();\r
+\r
+\r
+ /**\r
+ * 画像のHashMap\r
+ * キーの名前は拡張子を除くファイル名にする\r
+ */\r
+ private HashMap<String, Integer> otherImageMap = new HashMap<String, Integer>();\r
+\r
+\r
+ /**\r
+ * the TileEntity.\r
+ */\r
+ private TileEntityChemicalCraftingTable tileEntity;\r
+\r
+\r
+ /**\r
+ * the InventoryPlayer.\r
+ */\r
+ private InventoryPlayer inventoryPlayer;\r
+\r
+\r
+ /**\r
+ * the Container\r
+ */\r
+ private ContainerChemicalCraftingTable container;\r
+\r
+\r
+\r
+ public GuiChemicalCraftingTable(EntityPlayer par1EntityPlayer, TileEntityChemicalCraftingTable par2){\r
+ super(new ContainerChemicalCraftingTable(par1EntityPlayer, par2));\r
+ //TileEntityを設定\r
+ this.inventoryPlayer = par1EntityPlayer.inventory;\r
+ this.tileEntity = par2;\r
+ this.container = (ContainerChemicalCraftingTable) this.inventorySlots;\r
+ //TabListにTabを追加する\r
+ this.addTabs(0, "Decomposition", new ItemStack(Block.tnt.blockID, 1, 1));\r
+ this.addTabs(1, "Test", new ItemStack(Block.bedrock.blockID, 1, 1));\r
+ //ActiveTabの初期化\r
+ for(int i = 0;i < tabList.size();i++){\r
+ String field_00001 = this.tabList.get(i).getTabName();\r
+ String field_00002 = this.tileEntity.getActiveTab();\r
+ if(field_00001.equals(field_00002)){\r
+ this.tileEntity.setActiveTab(this.tabList.get(i).getTabName());\r
+ }\r
+ }\r
+ }\r
+\r
+\r
+\r
+ @Override\r
+ protected void mouseClicked(int par1, int par2, int par3){\r
+ super.mouseClicked(par1, par2, par3);\r
+\r
+ int var1 = par1 - this.guiLeft;\r
+ int var2 = par2 - this.guiTop;\r
+ if(var1 < this.tabList.size() * 28 && var1 >= 0 && var2 < 0){\r
+ String var3 = this.tabList.get(var1 / 28).getTabName();\r
+ if(!var3.equals(this.tileEntity.getActiveTab())){\r
+ this.tileEntity.setActiveTab(var3);\r
+ this.inventoryPlayer.player.openGui(ChemiCraft.instance, ChemiCraft.instance.guiChemicalCraftingTableID, this.tileEntity.worldObj, this.tileEntity.xCoord, this.tileEntity.yCoord, this.tileEntity.zCoord);\r
+ this.onGuiClosed();\r
+ }\r
+ }\r
+ }\r
+\r
+\r
+\r
+ @Override\r
+ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3){\r
+ //ActiveTab Reset.\r
+ this.func_00003();\r
+ //Texture Load.\r
+ this.func_00002();\r
+ //Draw Tabs.\r
+ this.func_00001(par1, par2, par3);\r
+ //Draw GUI\r
+ if(this.tileEntity.getActiveTab().equals("Decomposition")){\r
+ this.mc.renderEngine.bindTexture(this.guiImageMap.get("Decomposition"));\r
+ this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);\r
+ }\r
+ }\r
+\r
+\r
+\r
+ private void func_00001(float par1, int par2, int par3){\r
+ int var1 = this.guiLeft;\r
+ int var2 = this.guiTop - 32;\r
+ for(int i = 0;i < this.tabList.size();i++){\r
+ if(!this.tabList.get(i).isActive()){\r
+ this.mc.renderEngine.bindTexture(this.otherImageMap.get("tabs"));\r
+ this.drawTexturedModalRect(var1 + (28 * i), var2, 0, 0, 28, 32);\r
+ this.itemRenderer.renderItemIntoGUI(this.fontRenderer, this.mc.renderEngine, this.tabList.get(i).getRenderItemStack(), var1 + (28 * i) + 6, var2 + 9);\r
+ this.itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.renderEngine, this.tabList.get(i).getRenderItemStack(), var1 + (28 * i) + 6, var2 + 9);\r
+ }else{\r
+ this.mc.renderEngine.bindTexture(this.otherImageMap.get("tabs"));\r
+ this.drawTexturedModalRect(var1 + (28 * i), var2, 0, 32, 28, 32);\r
+ this.itemRenderer.renderItemIntoGUI(this.fontRenderer, this.mc.renderEngine, this.tabList.get(i).getRenderItemStack(), var1 + (28 * i) + 6, var2 + 9);\r
+ this.itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.renderEngine, this.tabList.get(i).getRenderItemStack(), var1 + (28 * i) + 6, var2 + 9);\r
+ }\r
+ }\r
+ }\r
+\r
+\r
+\r
+ private void func_00002(){\r
+ //guiImageMapに画像を格納する\r
+ guiImageMap.put("Decomposition", this.mc.renderEngine.getTexture("/resources/chemicraft/guis/Decomposition.png"));\r
+ //otherImageMapに画像を格納する\r
+ otherImageMap.put("tabs", this.mc.renderEngine.getTexture("/resources/chemicraft/guis/tabs.png"));\r
+ }\r
+\r
+\r
+\r
+ private void func_00003(){\r
+ for(int i = 0;i < this.tabList.size();i++){\r
+ if(!this.tabList.get(i).getTabName().equals(this.tileEntity.getActiveTab())){\r
+ this.tabList.get(i).setActive(false);\r
+ }else{\r
+ this.tabList.get(i).setActive(true);\r
+ }\r
+ }\r
+ }\r
+\r
+\r
+\r
+ /**\r
+ * ChemiCraftTabを追加します。\r
+ * @param id TabのID\r
+ * @param texture OverlayするTextureID\r
+ * @param name Tabの名前\r
+ * @throws Exception IDが重複している場合にスローされます\r
+ */\r
+ private void addTabs(int id, String name, ItemStack renderItemStack){\r
+ for(int i = 0;i < this.tabList.size();i++){\r
+ if(id == this.tabList.get(i).getID()){\r
+ try {\r
+ throw new Exception("ChemiCraft内でエラー:ChemiCraftTabのIDが重複しています");\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
+ this.tabList.add(new ChemiCraftTab(id, name, renderItemStack));\r
+ }\r
+\r
+}\r