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
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
}\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
-package chemicraft.util;
+package chemicraft.debug;
import java.util.Iterator;
import java.util.List;
-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
--- /dev/null
+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;
+ }
+
+}
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;
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);
}
}
}
@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;
}
}
* @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
* @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
*/\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