OSDN Git Service

適当にコミット
authormozipi <mozipi@users.sourceforge.jp>
Fri, 28 Dec 2012 08:26:13 +0000 (17:26 +0900)
committermozipi <mozipi@users.sourceforge.jp>
Fri, 28 Dec 2012 08:26:13 +0000 (17:26 +0900)
common/chemicraft/ChemiCraft.java
common/chemicraft/debug/CommandDeleteItem.java [moved from common/chemicraft/util/CommandDeleteItem.java with 98% similarity]
common/chemicraft/debug/CommandSetTile.java [moved from common/chemicraft/util/CommandSetTile.java with 66% similarity]
common/chemicraft/debug/CompoundHandlerTest.java [new file with mode: 0644]
common/chemicraft/item/ItemCompounds.java
common/chemicraft/util/ICompoundHandler.java
resources/chemicraft/items/Compounds.png [new file with mode: 0644]

index 1cc9003..72b39b2 100644 (file)
@@ -11,6 +11,9 @@ import chemicraft.block.BlockChemicalCombinationTable;
 import chemicraft.block.BlockDecompositionTable;\r
 import chemicraft.block.BlockMaterialCraftingTable;\r
 import chemicraft.block.BlockToolAndMaterialCraftingTable;\r
+import chemicraft.debug.CommandDeleteItem;\r
+import chemicraft.debug.CommandSetTile;\r
+import chemicraft.debug.CompoundHandlerTest;\r
 import chemicraft.item.ItemAtomGrenade;\r
 import chemicraft.item.ItemAtoms;\r
 import chemicraft.item.ItemCompounds;\r
@@ -23,8 +26,6 @@ import chemicraft.tileentity.TileEntityMaterialCraftingTable;
 import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;\r
 import chemicraft.util.Auxiliary;\r
 import chemicraft.util.Auxiliary.NameAuxiliary;\r
-import chemicraft.util.CommandDeleteItem;\r
-import chemicraft.util.CommandSetTile;\r
 import chemicraft.util.CreativeTabAtoms;\r
 import chemicraft.util.NBTRecipeGrenade;\r
 import cpw.mods.fml.common.Mod;\r
@@ -192,6 +193,11 @@ public class ChemiCraft {
        }\r
 \r
        private void settingProcessing(FMLPostInitializationEvent event){\r
+\r
+               ChemiCraftAPI.instance.addCompound("Test");\r
+               ChemiCraftAPI.instance.addCompound("Test2");\r
+               ChemiCraftAPI.instance.settingCompoundHandler("Test", new CompoundHandlerTest());\r
+\r
                // Blockを追加します\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
@@ -1,4 +1,4 @@
-package chemicraft.util;
+package chemicraft.debug;
 
 import java.util.Iterator;
 import java.util.List;
similarity index 66%
rename from common/chemicraft/util/CommandSetTile.java
rename to common/chemicraft/debug/CommandSetTile.java
index ed2709c..3ac0513 100644 (file)
@@ -1,44 +1,44 @@
-package chemicraft.util;
-
-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;
-import setBlockSupport.SetBlockSupport;
-
-public class CommandSetTile extends CommandBase {
-
-       @Override
-       public String getCommandName() {
-               return "setTile";
-       }
-
-       @Override
-       public void processCommand(ICommandSender var1, String[] var2) {
-               try{
-                       EntityPlayer player = (EntityPlayer)var1;
-                       World wolrd = player.worldObj;
-                       if(var2.length > 0){
-                               try{
-                                       if(Integer.parseInt(var2[0]) < 256){
-                                               if(var2.length > 1){
-                                                       SetBlockSupport.square(wolrd, (int)player.posX, (int)player.posY, (int)player.posZ, Integer.parseInt(var2[0]), Integer.parseInt(var2[1]), 12, 12);
-                                               }else{
-                                                       SetBlockSupport.square(wolrd, (int)player.posX, (int)player.posY, (int)player.posZ, Integer.parseInt(var2[0]), 0, 12, 12);
-                                               }
-                                       }else{
-                                               var1.sendChatToPlayer("Over 256 than the Block ID.");
-                                       }
-                               }catch(NumberFormatException e){
-                                       var1.sendChatToPlayer("A given Character is not a number.");
-                               }
-                       }else{
-                               var1.sendChatToPlayer("Please specify the BlockID.(Optional have Metadata)");
-                       }
-               }catch(ClassCastException e){
-
-               }
-       }
-
-}
+package chemicraft.debug;\r
+\r
+import net.minecraft.src.Block;\r
+import net.minecraft.src.CommandBase;\r
+import net.minecraft.src.EntityPlayer;\r
+import net.minecraft.src.ICommandSender;\r
+import net.minecraft.src.World;\r
+import setBlockSupport.SetBlockSupport;\r
+\r
+public class CommandSetTile extends CommandBase {\r
+\r
+       @Override\r
+       public String getCommandName() {\r
+               return "setTile";\r
+       }\r
+\r
+       @Override\r
+       public void processCommand(ICommandSender var1, String[] var2) {\r
+               try{\r
+                       EntityPlayer player = (EntityPlayer)var1;\r
+                       World wolrd = player.worldObj;\r
+                       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
+                                                       SetBlockSupport.square(wolrd, (int)player.posX, (int)player.posY, (int)player.posZ, Integer.parseInt(var2[0]), Integer.parseInt(var2[1]), 12, 12);\r
+                                               }else{\r
+                                                       SetBlockSupport.square(wolrd, (int)player.posX, (int)player.posY, (int)player.posZ, Integer.parseInt(var2[0]), 0, 12, 12);\r
+                                               }\r
+                                       }else{\r
+                                               var1.sendChatToPlayer("\u00a7cBlockが存在しないか指定された数が4096を超えています。");\r
+                                       }\r
+                               }catch(NumberFormatException e){\r
+                                       var1.sendChatToPlayer("\u00a7c指定された文字は数値ではありません。");\r
+                               }\r
+                       }else{\r
+                               var1.sendChatToPlayer("\u00a7cBlockIDを指定してください。(Metadataも可能)");\r
+                       }\r
+               }catch(ClassCastException e){\r
+\r
+               }\r
+       }\r
+\r
+}\r
diff --git a/common/chemicraft/debug/CompoundHandlerTest.java b/common/chemicraft/debug/CompoundHandlerTest.java
new file mode 100644 (file)
index 0000000..e49e646
--- /dev/null
@@ -0,0 +1,37 @@
+package chemicraft.debug;
+
+import net.minecraft.src.Entity;
+import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.ItemStack;
+import net.minecraft.src.World;
+import chemicraft.util.ICompoundHandler;
+
+public class CompoundHandlerTest implements ICompoundHandler {
+
+       @Override
+       public ItemStack onItemRightClickHandler(ItemStack par1ItemStack, World par2World,
+                       EntityPlayer par3EntityPlayer) {
+               System.out.println("onRightClick");
+               return par1ItemStack;
+       }
+
+       @Override
+       public boolean onItemUseHandler(ItemStack par1ItemStack,
+                       EntityPlayer par2EntityPlayer, World par3World, int par4, int par5,
+                       int par6, int par7, float par8, float par9, float par10) {
+               System.out.println("onItemUse");
+               return true;
+       }
+
+       @Override
+       public void onUpdateHandler(ItemStack par1ItemStack, World par2World,
+                       Entity par3Entity, int par4, boolean par5) {
+               System.out.println("onUpdate");
+       }
+
+       @Override
+       public int getIconIndexHandler() {
+               return 0;
+       }
+
+}
index 3dc1d64..e9112e7 100644 (file)
@@ -4,6 +4,7 @@ import java.util.List;
 
 import net.minecraft.src.CreativeTabs;
 import net.minecraft.src.Entity;
+import net.minecraft.src.EntityPlayer;
 import net.minecraft.src.Item;
 import net.minecraft.src.ItemStack;
 import net.minecraft.src.World;
@@ -22,15 +23,35 @@ public class ItemCompounds extends Item {
                this.setCreativeTab(ChemiCraft.instance.creativeTab);
        }
 
+       @Override
+       public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) {
+               for(int i=0;i < ChemiCraftAPI.instance.getCompoundHandlerItemName().size();i++){
+                       if(ChemiCraftAPI.instance.getCompoundsName().get(par1ItemStack.getItemDamage()).equals(ChemiCraftAPI.instance.getCompoundHandlerItemName().get(i))){
+                               return ChemiCraftAPI.instance.getCompoundHandler().get(i).onItemUseHandler(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10);
+                       }
+               }
+               return false;
+       }
+
+
+       @Override
+       public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
+       {
+               for(int i=0;i < ChemiCraftAPI.instance.getCompoundHandlerItemName().size();i++){
+                       if(ChemiCraftAPI.instance.getCompoundsName().get(par1ItemStack.getItemDamage()).equals(ChemiCraftAPI.instance.getCompoundHandlerItemName().get(i))){
+                               ChemiCraftAPI.instance.getCompoundHandler().get(i).onItemRightClickHandler(par1ItemStack, par2World, par3EntityPlayer);
+                       }
+               }
+               return par1ItemStack;
+       }
+
 
 
        @Override
        public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5){
-               for(int i=0;i < ChemiCraftAPI.instance.getCompoundsName().size();i++){
-                       for(int j=0;j < ChemiCraftAPI.instance.getCompoundHandlerItemName().size();j++){
-                               if(ChemiCraftAPI.instance.getCompoundsName().get(i).equals(ChemiCraftAPI.instance.getCompoundHandlerItemName().get(i))){
-                                       ChemiCraftAPI.instance.getCompoundHandler().get(j).onUpdateHandler(par1ItemStack, par2World, par3Entity, par4, par5);
-                               }
+               for(int i=0;i < ChemiCraftAPI.instance.getCompoundHandlerItemName().size();i++){
+                       if(ChemiCraftAPI.instance.getCompoundsName().get(par1ItemStack.getItemDamage()).equals(ChemiCraftAPI.instance.getCompoundHandlerItemName().get(i))){
+                               ChemiCraftAPI.instance.getCompoundHandler().get(i).onUpdateHandler(par1ItemStack, par2World, par3Entity, par4, par5);
                        }
                }
        }
@@ -66,7 +87,12 @@ public class ItemCompounds extends Item {
        @SideOnly(Side.CLIENT)
        @Override
        public int getIconFromDamage(int par1){
-               return par1;
+               for(int i=0;i < ChemiCraftAPI.instance.getCompoundHandlerItemName().size();i++){
+                       if(ChemiCraftAPI.instance.getCompoundsName().get(par1).equals(ChemiCraftAPI.instance.getCompoundHandlerItemName().get(i))){
+                               return ChemiCraftAPI.instance.getCompoundHandler().get(i).getIconIndexHandler();
+                       }
+               }
+               return 0;
        }
 
 }
index 2cdbc27..20a0a98 100644 (file)
@@ -12,8 +12,9 @@ public interface ICompoundHandler {
         * @param par1ItemStack\r
         * @param par2World\r
         * @param par3EntityPlayer\r
+        * @return\r
         */\r
-       public void onRightClickHandler(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer);\r
+       public ItemStack onItemRightClickHandler(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer);\r
 \r
 \r
        /**\r
@@ -30,7 +31,7 @@ public interface ICompoundHandler {
         * @param par10\r
         * @return\r
         */\r
-       public ItemStack onItemUseHandler(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10);\r
+       public boolean onItemUseHandler(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10);\r
 \r
 \r
        /**\r
@@ -43,4 +44,10 @@ public interface ICompoundHandler {
         */\r
        public void onUpdateHandler(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5);\r
 \r
+       /**\r
+        * iconIndexの指定\r
+        * @return iconIndex\r
+        */\r
+       public int getIconIndexHandler();\r
+\r
 }\r
diff --git a/resources/chemicraft/items/Compounds.png b/resources/chemicraft/items/Compounds.png
new file mode 100644 (file)
index 0000000..39484a5
Binary files /dev/null and b/resources/chemicraft/items/Compounds.png differ