OSDN Git Service

GUIのSlot追加
authormozipi <mozipi@users.sourceforge.jp>
Sat, 15 Dec 2012 23:06:45 +0000 (08:06 +0900)
committermozipi <mozipi@users.sourceforge.jp>
Sat, 15 Dec 2012 23:06:45 +0000 (08:06 +0900)
画像パスを変数化
フィールド変数をstaticになるべくしないようにした
ClientProxy.javaにpreloadTextureを追加

13 files changed:
common/chemicraft/Auxiliary.java
common/chemicraft/BlockChemicalCraftingTable.java
common/chemicraft/ChemiCraft.java
common/chemicraft/CommonProxy.java
common/chemicraft/ContainerChemicalCraftingTable.java
common/chemicraft/CreativeTabAtoms.java
common/chemicraft/GuiChemicalCraftingTable.java
common/chemicraft/ItemAtoms.java
common/chemicraft/ItemCompounds.java
common/chemicraft/PacketHandler.java
common/chemicraft/SlotDecompositionResult.java [new file with mode: 0644]
common/chemicraft/TileEntityChemicalCraftingTable.java
src/chemicraft/client/ClientProxy.java

index 5444115..f62fbef 100644 (file)
@@ -1,4 +1,4 @@
-package landminecraft;\r
+package chemicraft;\r
 \r
 import net.minecraft.src.Block;\r
 import net.minecraft.src.Item;\r
index 6fb31d7..f2b9793 100644 (file)
@@ -25,6 +25,25 @@ public class BlockChemicalCraftingTable extends BlockContainer {
 
 
        @Override
+       public String getTextureFile(){
+               return ChemiCraft.instance.blockChemicalCraftingTableTexture;
+       }
+
+
+
+       @Override
+       public int getBlockTextureFromSide(int par1)
+       {
+               if(par1 == 0){
+                       return 0;
+               }else{
+                       return 1;
+               }
+       }
+
+
+
+       @Override
        public TileEntity createNewTileEntity(World var1){
                return new TileEntityChemicalCraftingTable();
        }
index 67993ad..ff5f577 100644 (file)
@@ -26,7 +26,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
 // クライアント、サーバー共に必要 1.3.2用\r
 public class ChemiCraft {\r
 \r
-       public static final String[] atomsName = {\r
+       public final String[] atomsName = {\r
                "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon",\r
                "Sodium", "Magnesium", "Aluminium", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium",\r
                "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine",\r
@@ -40,7 +40,7 @@ public class ChemiCraft {
        };\r
 \r
 \r
-       public static final String[] atomsNameJP = {\r
+       public final String[] atomsNameJP = {\r
                "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン",\r
                "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム", "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素",\r
                "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム", "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル",\r
@@ -69,48 +69,61 @@ public class ChemiCraft {
        /**\r
         * ChemiCraftのCreativeTab\r
         */\r
-       public static CreativeTabs creativeTab = new CreativeTabAtoms("ChemiCraft");\r
+       public CreativeTabs creativeTab = new CreativeTabAtoms("ChemiCraft");\r
 \r
 \r
        /**\r
         * ItemID\r
         */\r
-       public static int atomsID;\r
-       public static int compoundsID;\r
-       public static int gasCollectingBottleID;\r
+       public int atomsID;\r
+       public int compoundsID;\r
+       public int gasCollectingBottleID;\r
 \r
 \r
        /**\r
         * BlockID\r
         */\r
-       public static int chemicalCraftingTableID;\r
+       public int chemicalCraftingTableID;\r
 \r
 \r
        /**\r
         * GUIID\r
         */\r
-       public static int guiChemicalCraftingTableID;\r
+       public int guiChemicalCraftingTableID;\r
 \r
 \r
        /**\r
         * Block型変数\r
         */\r
-       public static Block blockChemicalCraftingTable;\r
+       public Block blockChemicalCraftingTable;\r
 \r
 \r
        /**\r
         * Item型変数\r
         */\r
-       public static Item itemAtoms;\r
-       public static Item itemCompounds;\r
-       public static Item itemGasCollectingBottle;\r
+       public Item itemAtoms;\r
+       public Item itemCompounds;\r
+       public Item itemGasCollectingBottle;\r
+\r
+\r
+       /**\r
+        * このmodで使用するTextureのパス\r
+        */\r
+       private String resourcePath = "/resource/chemiCraft";\r
+       public String itemAtomsTexture = resourcePath + "/items/Atoms.png";\r
+       public String itemCompoundsTexture = resourcePath + "/items/Compounds.png";\r
+       public String blockChemicalCraftingTableTexture = resourcePath + "/blocks/CCTable.png";\r
+       public String guiDecompositionTexture = resourcePath + "/guis/Decomposition.png";\r
+       public String guiChemicalCombinationTexture = resourcePath + "/guis/ChemicalCombination.png";\r
+       public String guiToolAndWeaponCraftingTexture = resourcePath + "/guis/ToolAndWeaponCrafting.png";\r
+       public String guiMaterialCraftingTexture = resourcePath + "/guis/MaterialCrafting.png";\r
 \r
 \r
        /**\r
         * このmodに必要な補助クラスのインスタンス\r
         */\r
-       private static Auxiliary Auxiliary = new Auxiliary();\r
-       private static NameAuxiliary NameAuxiliary = Auxiliary.new NameAuxiliary();\r
+       private Auxiliary Auxiliary = new Auxiliary();\r
+       private NameAuxiliary NameAuxiliary = Auxiliary.new NameAuxiliary();\r
 \r
 \r
 \r
@@ -125,11 +138,11 @@ public class ChemiCraft {
                Property gasCollectingBottleIDProp = cfg.getItem("gasCollectingBottleID", 25002);\r
                Property guiChemicalCraftingTableIDProp = cfg.get("GUI", "GUIChemicalCraftingTableID", 1000);\r
 \r
-               chemicalCraftingTableID = chemicalCraftingTableIDProp.getInt();\r
-               atomsID = atomsIDProp.getInt();\r
-               compoundsID = compoundsIDProp.getInt();\r
-               gasCollectingBottleID = gasCollectingBottleIDProp.getInt();\r
-               guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();\r
+               this.chemicalCraftingTableID = chemicalCraftingTableIDProp.getInt();\r
+               this.atomsID = atomsIDProp.getInt();\r
+               this.compoundsID = compoundsIDProp.getInt();\r
+               this.gasCollectingBottleID = gasCollectingBottleIDProp.getInt();\r
+               this.guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();\r
 \r
                cfg.save();\r
        }\r
@@ -139,30 +152,30 @@ public class ChemiCraft {
        @Mod.PostInit\r
        public void chemiPostLoadMethod(FMLPostInitializationEvent event){\r
                // API用の処理\r
-               NameAuxiliary.addName(itemCompounds, ChemiCraftAPI.getCompoundsName().toArray());\r
-               NameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.getCompoundsLangName().toArray());\r
+               this.NameAuxiliary.addName(itemCompounds, ChemiCraftAPI.getCompoundsName().toArray());\r
+               this.NameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.getCompoundsLangName().toArray());\r
 \r
                // Blockを追加します\r
-               blockChemicalCraftingTable = new BlockChemicalCraftingTable(chemicalCraftingTableID, Block.workbench.blockIndexInTexture, Material.ground)\r
+               this.blockChemicalCraftingTable = new BlockChemicalCraftingTable(chemicalCraftingTableID, 0, 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
-               itemCompounds = new ItemCompounds(compoundsID).setItemName("compounds");\r
-               itemGasCollectingBottle = new ItemGasCollectingBottle(gasCollectingBottleID).setItemName("gasCollectingBottle");\r
+               this.itemAtoms = new ItemAtoms(atomsID).setItemName("atoms");\r
+               this.itemCompounds = new ItemCompounds(compoundsID).setItemName("compounds");\r
+               this.itemGasCollectingBottle = new ItemGasCollectingBottle(gasCollectingBottleID).setItemName("gasCollectingBottle");\r
 \r
                // BlockをMinecraftに登録します\r
                GameRegistry.registerBlock(blockChemicalCraftingTable);\r
 \r
                // Blockの名前を設定します\r
-               NameAuxiliary.addName(blockChemicalCraftingTable, "ChemicalCraftingTable");\r
-               NameAuxiliary.addName(blockChemicalCraftingTable, "ja_JP", "科学作業台");\r
+               this.NameAuxiliary.addName(blockChemicalCraftingTable, "ChemicalCraftingTable");\r
+               this.NameAuxiliary.addName(blockChemicalCraftingTable, "ja_JP", "科学作業台");\r
 \r
                // Itemの名前を設定します\r
-               NameAuxiliary.addName(itemAtoms, atomsName);\r
-               NameAuxiliary.addName(itemAtoms, "ja_JP", atomsNameJP);\r
-               NameAuxiliary.addName(itemGasCollectingBottle, "GasCollectingBottle");\r
-               NameAuxiliary.addName(itemGasCollectingBottle, "ja_JP", "集気瓶");\r
+               this.NameAuxiliary.addName(itemAtoms, atomsName);\r
+               this.NameAuxiliary.addName(itemAtoms, "ja_JP", atomsNameJP);\r
+               this.NameAuxiliary.addName(itemGasCollectingBottle, "GasCollectingBottle");\r
+               this.NameAuxiliary.addName(itemGasCollectingBottle, "ja_JP", "集気瓶");\r
 \r
                // 化合物の名前を設定し追加します\r
                ChemiCraftAPI.addLangCompound("ja_JP", "Salt", "塩");\r
@@ -173,6 +186,9 @@ public class ChemiCraft {
                // GUIを追加します\r
                NetworkRegistry.instance().registerGuiHandler(instance, proxy);\r
 \r
+               //画像をpreloadします\r
+               this.proxy.registerTextures();\r
+\r
        }\r
 \r
 }
\ No newline at end of file
index fd85bef..3abbf2c 100644 (file)
@@ -8,6 +8,10 @@ import cpw.mods.fml.common.network.IGuiHandler;
 
 public class CommonProxy implements IGuiHandler {
 
+       public void registerTextures(){
+
+       }
+
        public void registerRenderInformation() {
        }
 
index f034a64..b7f689c 100644 (file)
@@ -88,16 +88,18 @@ public class ContainerChemicalCraftingTable extends Container {
 
 
 
-       private void generateSlots(String activeTabs, IInventory inventory){
+       private void generateSlots(String activeTabs, IInventory[] inventorys){
                if(activeTabs.equals("Decomposition")){
                        int count = 0;
                        for(int i = 0;i < 4;i++){
                                for(int j = 0;j < 4;j++){
-                                       this.addSlotToContainer(new Slot(inventory, count, 90 + 18 * j, 8 + 18 * i));
+                                       this.addSlotToContainer(new SlotDecompositionResult(inventorys[0], count, 90 + 18 * j, 8 + 18 * i));
                                        count++;
                                }
                        }
-                       this.addSlotToContainer(new Slot(inventory, count, 25 + 4, 26 + 4));
+                       this.addSlotToContainer(new Slot(inventorys[0], count, 25 + 4, 26 + 4));
+               }else if(activeTabs.equals("ChemicalCombination")){
+
                }else{
                        return;
                }
index dbc28e4..0d7f224 100644 (file)
@@ -14,7 +14,7 @@ public class CreativeTabAtoms extends CreativeTabs {
        @Override
        @SideOnly(Side.CLIENT)
        public int getTabIconItemIndex(){
-               return ChemiCraft.itemGasCollectingBottle.shiftedIndex;
+               return ChemiCraft.instance.itemGasCollectingBottle.shiftedIndex;
        }
 
 
index 2a5524c..8f79816 100644 (file)
@@ -8,6 +8,7 @@ import net.minecraft.src.EntityPlayer;
 import net.minecraft.src.GuiContainer;\r
 import net.minecraft.src.InventoryBasic;\r
 import net.minecraft.src.InventoryPlayer;\r
+import net.minecraft.src.Item;\r
 import net.minecraft.src.ItemStack;\r
 import cpw.mods.fml.common.Side;\r
 import cpw.mods.fml.common.asm.SideOnly;\r
@@ -18,12 +19,6 @@ import cpw.mods.fml.common.network.Player;
 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
@@ -70,7 +65,9 @@ public class GuiChemicalCraftingTable extends GuiContainer {
                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
+               this.addTabs(1, "ChemicalCombination", new ItemStack(ChemiCraft.instance.itemAtoms, 1, 0));\r
+               this.addTabs(2, "ToolAndWeaponCrafting", new ItemStack(Item.pickaxeSteel, 1, 0));\r
+               this.addTabs(3, "MaterialCrafting", new ItemStack(Item.fireballCharge, 1, 0));\r
                //ActiveTabの初期化\r
                for(int i = 0;i < tabList.size();i++){\r
                        String field_00001 = this.tabList.get(i).getTabName();\r
index c5d5293..b0f6ffa 100644 (file)
@@ -26,7 +26,7 @@ public class ItemAtoms extends Item {
        @SideOnly(Side.CLIENT)
        @Override
        public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List){
-               for(int type = 0; type < ChemiCraft.atomsName.length; type++)
+               for(int type = 0; type < ChemiCraft.instance.atomsName.length; type++)
                {
                        par3List.add(new ItemStack(par1, 1, type));
                        this.setIconIndex(type);
@@ -37,14 +37,14 @@ public class ItemAtoms extends Item {
 
        @Override
        public String getItemNameIS(ItemStack par1ItemStack){
-               return super.getItemName() + "." + ChemiCraft.atomsName[par1ItemStack.getItemDamage()];
+               return super.getItemName() + "." + ChemiCraft.instance.atomsName[par1ItemStack.getItemDamage()];
        }
 
 
 
        @Override
        public String getTextureFile(){
-               return "/resource/chemicraft/items/Atoms.png";
+               return ChemiCraft.instance.itemAtomsTexture;
        }
 
 
index aac036a..a969f55 100644 (file)
@@ -56,7 +56,7 @@ public class ItemCompounds extends Item {
 
        @Override
        public String getTextureFile(){
-               return "/resource/chemicraft/items/Compounds.png";
+               return ChemiCraft.instance.itemCompoundsTexture;
        }
 
 
index d5d530a..cb1efed 100644 (file)
@@ -43,7 +43,7 @@ public class PacketHandler implements IPacketHandler {
                        y = var1.readInt();\r
                        z = var1.readInt();\r
 \r
-                       worldClient = ChemiCraft.proxy.getClientWorld();\r
+                       worldClient = ChemiCraft.instance.proxy.getClientWorld();\r
                        worldServer = ((EntityPlayer)player).worldObj;\r
                        if(worldClient != null){\r
                                tileEntity = worldClient.getBlockTileEntity(x, y, z);\r
diff --git a/common/chemicraft/SlotDecompositionResult.java b/common/chemicraft/SlotDecompositionResult.java
new file mode 100644 (file)
index 0000000..071bc56
--- /dev/null
@@ -0,0 +1,19 @@
+package chemicraft;
+
+import net.minecraft.src.IInventory;
+import net.minecraft.src.ItemStack;
+import net.minecraft.src.Slot;
+
+public class SlotDecompositionResult extends Slot {
+
+       public SlotDecompositionResult(IInventory par1iInventory, int par2, int par3, int par4) {
+               super(par1iInventory, par2, par3, par4);
+       }
+
+       @Override
+       public boolean isItemValid(ItemStack par1ItemStack)
+       {
+               return false;
+       }
+
+}
index a2a1c30..cf8fa02 100644 (file)
@@ -1,6 +1,7 @@
 package chemicraft;
 
 import java.io.DataOutputStream;
+import java.util.ArrayList;
 
 import net.minecraft.src.IInventory;
 import net.minecraft.src.ItemStack;
@@ -8,8 +9,6 @@ import net.minecraft.src.NBTTagCompound;
 import net.minecraft.src.NBTTagList;
 import net.minecraft.src.Packet;
 import net.minecraft.src.TileEntity;
-import net.minecraft.src.WorldClient;
-import net.minecraft.src.WorldServer;
 
 import com.google.common.io.ByteArrayDataInput;
 
@@ -93,9 +92,11 @@ public class TileEntityChemicalCraftingTable extends TileEntity {
        }
 
 
-       public IInventory getActiveInventory(){
+       public IInventory[] getActiveInventory(){
+               ArrayList<IInventory> inventorys = new ArrayList<IInventory>();
                if(this.activeTab.equals("Decomposition")){
-                       return this.decompositionInv;
+                       inventorys.add(this.decompositionInv);
+                       return inventorys.toArray(new IInventory[1]);
                }else{
                        return null;
                }
index 2266d51..cd48026 100644 (file)
@@ -3,6 +3,8 @@ package chemicraft.client;
 import net.minecraft.src.EntityPlayer;
 import net.minecraft.src.TileEntity;
 import net.minecraft.src.World;
+import net.minecraftforge.client.MinecraftForgeClient;
+import chemicraft.ChemiCraft;
 import chemicraft.CommonProxy;
 import chemicraft.GuiChemicalCraftingTable;
 import chemicraft.TileEntityChemicalCraftingTable;
@@ -11,6 +13,13 @@ import cpw.mods.fml.client.FMLClientHandler;
 public class ClientProxy extends CommonProxy {
 
        @Override
+       public void registerTextures(){
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.blockChemicalCraftingTableTexture);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.itemAtomsTexture);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.itemCompoundsTexture);
+       }
+
+       @Override
        public void registerRenderInformation() {
        }