OSDN Git Service

Merge branch 'master' of https://scm.sourceforge.jp/gitroot/chemicraft/chemicraft
[chemicraft/chemicraft.git] / common / chemicraft / util / NBTRecipeGrenade.java
index 31a7153..c964506 100644 (file)
@@ -4,14 +4,12 @@ import net.minecraft.src.ItemStack;
 import net.minecraft.src.NBTTagCompound;
 import net.minecraft.src.NBTTagList;
 import chemicraft.ChemiCraft;
+import chemicraft.ChemiCraftData;
 
-public class NBTRecipeGrenade extends NBTRecipe {
+public class NBTRecipeGrenade extends ChemicalNBTRecipe {
 
        @Override
-       public ItemStack[] setNBT(ItemStack[] materials, ItemStack result) {
-
-               ItemStack[] useItems = new ItemStack[3];
-
+       public void setNBT(ItemStack[] materials, ItemStack result) {
                if(result.stackTagCompound == null){
                        result.stackTagCompound = new NBTTagCompound();
                }
@@ -23,36 +21,43 @@ public class NBTRecipeGrenade extends NBTRecipe {
 
                NBTTagList tagList = (NBTTagList) result.getTagCompound().getTag("Effect");
                NBTTagCompound tag = new NBTTagCompound();
-               boolean isAssignment = false;
-               boolean var1 = false;
 
                for(int i = 0;i < materials.length;i++){
                        if(materials[i] != null){
-                               if(materials[i].itemID-256 == ChemiCraft.instance.atomsID && materials[i].getItemDamage() == ChemiCraft.HYDROGEN){
+                               if(materials[i].itemID-256 == ChemiCraft.instance.atomsID && materials[i].getItemDamage() == ChemiCraftData.HYDROGEN){
                                        tag.setString("GrenadeEffect" + i, "Hydrogen");
-                                       useItems[i] = materials[i];
-                                       isAssignment = true;
-                                       var1 = true;
                                }
-                               if(materials[i].itemID-256 == ChemiCraft.instance.atomsID && materials[i].getItemDamage() == ChemiCraft.CARBON){
+                               if(materials[i].itemID-256 == ChemiCraft.instance.atomsID && materials[i].getItemDamage() == ChemiCraftData.CARBON){
                                        tag.setString("GrenadeEffect" + i, "Carbon");
-                                       useItems[i] = materials[i];
-                                       isAssignment = true;
-                                       var1 = true;
                                }
-                               if(materials[i].itemID-256 == ChemiCraft.instance.atomsID && materials[i].getItemDamage() == ChemiCraft.URANIUM){
+                               if(materials[i].itemID-256 == ChemiCraft.instance.atomsID && materials[i].getItemDamage() == ChemiCraftData.URANIUM){
                                        tag.setString("GrenadeEffect" + i, "Uranium");
-                                       useItems[i] = materials[i];
-                                       isAssignment = true;
-                                       var1 = true;
                                }
                        }
-                       if(!var1) materials[i] = null;
-                       var1 = false;
                }
                tagList.appendTag(tag);
-               if(!isAssignment) result.stackTagCompound = null;
-               return useItems;
+
+       }
+
+       @Override
+       public ItemStack[] getMatchItems(ItemStack[] materials) {
+               ItemStack[] var1 = new ItemStack[materials.length];
+               for(int i = 0;i < var1.length;i++){
+                       if(materials[i] != null){
+                               if(materials[i].getItemDamage() == ChemiCraftData.HYDROGEN){
+                                       var1[i] = materials[i];
+                               }else if(materials[i].getItemDamage() == ChemiCraftData.CARBON){
+                                       var1[i] = materials[i];
+                               }else if(materials[i].getItemDamage() == ChemiCraftData.URANIUM){
+                                       var1[i] = materials[i];
+                               }else{
+                                       var1[i] = null;
+                               }
+                       }else{
+                               var1[i] = null;
+                       }
+               }
+               return var1;
        }
 
 }