OSDN Git Service

修正・変更
authorponkotate <ponkotate@users.sourceforge.jp>
Tue, 26 Mar 2013 04:43:05 +0000 (13:43 +0900)
committerponkotate <ponkotate@users.sourceforge.jp>
Tue, 26 Mar 2013 04:43:05 +0000 (13:43 +0900)
・鉱石の仕様変更
・Formulaクラスを作成
・1.5移行用クラスOldItem,OldItemFoodを作成

15 files changed:
common/pcc/chemicraft/ChemiCraft.java
common/pcc/chemicraft/ChemiCraftAPI.java
common/pcc/chemicraft/ChemiCraftRegisterChemicalRecipe.java
common/pcc/chemicraft/ChemiCraftRegisterItem.java
common/pcc/chemicraft/ChemiCraftRegisterRecipe.java
common/pcc/chemicraft/entity/EntityBlackSmoke.java [new file with mode: 0644]
common/pcc/chemicraft/entity/EntityDust.java
common/pcc/chemicraft/gen/EnumOreSpawnFrequency.java
common/pcc/chemicraft/item/ItemBlackSmoke.java [new file with mode: 0644]
common/pcc/chemicraft/item/ItemRadiationGun.java
common/pcc/chemicraft/util/Auxiliary.java
common/pcc/chemicraft/util/Formula.java [new file with mode: 0644]
common/pcc/chemicraft/util/OldItem.java [new file with mode: 0644]
common/pcc/chemicraft/util/OldItemFood.java [new file with mode: 0644]
resources/pcc/chemicraft/items/items.png

index c682bc3..520bf80 100644 (file)
@@ -19,8 +19,6 @@ import pcc.chemicraft.util.Auxiliary;
 import pcc.chemicraft.util.Auxiliary.ArrayAuxiliary;
 import pcc.chemicraft.util.Auxiliary.MathAuxiliary;
 import pcc.chemicraft.util.Auxiliary.NameAuxiliary;
-import sinVisualizer.SinVisualizer;
-import sinVisualizer.SinVisualizerPanel;
 import cpw.mods.fml.common.Mod;
 import cpw.mods.fml.common.Mod.Instance;
 import cpw.mods.fml.common.Mod.PostInit;
@@ -95,6 +93,8 @@ public class ChemiCraft implements Runnable {
        public int dustID;
        public int radiationGunID;
        public int radiationBalletID;
+       public int blackSmokeID;
+       public int pearID;
 
        /**
         * the BlockID.
@@ -138,6 +138,8 @@ public class ChemiCraft implements Runnable {
        public Item itemDust;
        public Item itemRadiationGun;
        public Item itemRadiationBallet;
+       public Item itemBlackSmoke;
+       public Item itemPear;
 
        /**
         * this is Textures Path on ChemiCraft.
@@ -192,11 +194,6 @@ public class ChemiCraft implements Runnable {
        public ChemiCraftRegisterCompoundsHandler registerCompoundsHandler;
        public ChemiCraftRegisterEntitys registerEntitys;
 
-       /**
-        * Sin Visualizer Instance.
-        */
-       public SinVisualizer sinVisualizer;
-
        public ChemiCraft() {
                this.registerBlock = new ChemiCraftRegisterBlock(this);
                this.registerItem = new ChemiCraftRegisterItem(this);
@@ -243,6 +240,7 @@ public class ChemiCraft implements Runnable {
                this.dustID = ccfgItem.additionID();
                this.radiationGunID = ccfgItem.additionID();
                this.radiationBalletID = ccfgItem.additionID();
+               this.blackSmokeID = ccfgItem.additionID();
 
                Property guiPyrolysisTableIDProp = cfg.get("GUI", "GUIPyrolysisID", 1000);
                Property guiElectrolysisTableIDProp = cfg.get("GUI", "GUIElectrolysisTableIDProp", 1001);
@@ -426,10 +424,4 @@ public class ChemiCraft implements Runnable {
 
        }
 
-
-
-       public SinVisualizer getSinVisualizer() {
-               return this.sinVisualizer;
-       }
-
 }
index 53ece56..cdc08e7 100644 (file)
@@ -2,6 +2,7 @@ package pcc.chemicraft;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
@@ -11,6 +12,8 @@ import pcc.chemicraft.system.ChemiCraftCraftingManager;
 import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
 import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
 import pcc.chemicraft.util.ChemicalNBTRecipe;
+import pcc.chemicraft.util.Formula;
+import pcc.chemicraft.util.FormulaPart;
 import pcc.chemicraft.util.ICompoundHandler;
 import pcc.chemicraft.util.ListHash;
 import pcc.chemicraft.util.MaterialRecipe;
@@ -167,95 +170,38 @@ public class ChemiCraftAPI {
 
 
        /**
-        * 鉱石を追加します
-        * @param par1Name 鉱石名
-        * @param par2Atoms 元素
-        * @param par3Amounts 元素数
-        * @param par4Id ID
-        * @param par5Size 量
-        * @param par6Frequency 頻度
-        * @param par7PosY Y座標
+        * 鉱石を追加します。
+        * @param par1Name
+        * @param par2Formula
+        * @param par3Id
+        * @param par4Size
+        * @param par5Frequency
+        * @param par6PosY
         */
-       public void addAtomOres(String par1Name, Integer[] par2Atoms, Integer[] par3Amounts, int par4Id, int par5Size, int par6Frequency, int par7PosY){
+       public void addAtomOres(String par1Name, Formula par2Formula, int par3Id, int par4Size, int par5Frequency, int par6PosY){
                atomOresList.add(
                                new WorldGenAtomsOre(
-                                               par4Id,
+                                               par3Id,
                                                getAtomOresMetaOfLastIndex(),
-                                               par5Size,
-                                               par6Frequency,
-                                               par7PosY));
-               atomOresAtomsHash.put(par1Name, par2Atoms);
-               atomOresAmountsHash.put(par1Name, par3Amounts);
+                                               par4Size,
+                                               par5Frequency,
+                                               par6PosY));
+               atomOresAtomsHash.put(par1Name, ChemiCraftData.toAtoms(par2Formula.getAtoms()));
+               atomOresAmountsHash.put(par1Name, par2Formula.getAmonts());
                addAtomOresLanguage(par1Name, par1Name, "en_US");
        }
 
 
 
-       /**
-        * 鉱石を追加します
-        * @param par1Name 鉱石名
-        * @param par2Atoms 元素
-        * @param par3Amounts 元素数
-        * @param par4Id ID
-        * @param par5Size 量
-        * @param par6Frequency 頻度
-        * @param par7PosY Y座標
-        */
-       public void addAtomOres(String par1Name, String[] par2Atoms, Integer[] par3Amounts, int par4Id, int par5Size, int par6Frequency, int par7PosY){
-               addAtomOres(
-                               par1Name,
-                               ChemiCraftData.toAtoms(par2Atoms),
-                               par3Amounts,
-                               par4Id,
-                               par5Size,
-                               par6Frequency,
-                               par7PosY);
-       }
-
-
-
-       /**
-        * 鉱石を追加します
-        * @param par1Name 鉱石名
-        * @param par2Atoms 元素
-        * @param par3Amounts 元素数
-        * @param par4Id ID
-        * @param par5Size 量
-        * @param par6Frequency 頻度
-        * @param par7PosY Y座標
-        */
-       public void addAtomOres(String par1Name, String[] par2Atoms, Integer[] par3Amounts, int par4Id, int par5Size, EnumOreSpawnFrequency par6Enum){
-               addAtomOres(
-                               par1Name,
-                               ChemiCraftData.toAtoms(par2Atoms),
-                               par3Amounts,
-                               par4Id,
-                               par5Size,
-                               par6Enum.getFrequency(),
-                               par6Enum.getPosY());
-       }
-
-
-
-       /**
-        * 鉱石を追加します
-        * @param par1Name 鉱石名
-        * @param par2Atoms 元素
-        * @param par3Amounts 元素数
-        * @param par4Id ID
-        * @param par5Size 量
-        * @param par6Frequency 頻度
-        * @param par7PosY Y座標
-        */
-       public void addAtomOres(String par1Name, Integer[] par2Atoms, Integer[] par3Amounts, int par4Id, int par5Size, EnumOreSpawnFrequency par6Enum){
+       public void addAtomOres(String par1Name, Formula par2Formula, int par3Id, EnumOreSpawnFrequency par4Enum){
                addAtomOres(
                                par1Name,
-                               par2Atoms,
-                               par3Amounts,
-                               par4Id,
-                               par5Size,
-                               par6Enum.getFrequency(),
-                               par6Enum.getPosY());
+                               par2Formula,
+                               par3Id,
+                               par4Enum.getSize(),
+                               par4Enum.getFrequency(),
+                               par4Enum.getPosY()
+                               );
        }
 
 
@@ -306,14 +252,36 @@ public class ChemiCraftAPI {
 
 
 
+       public void addReversibleOfPyrolysis(ItemStack result, Formula formula){
+               addChemicalCombinationRecipe(result, formula);
+               addPyrolysisDecompositionRecipe(result, ChemiCraftData.toAtoms(formula.getAtoms()), formula.getAmonts());
+       }
+
+
+
+       public void addReversibleOfElectrolysis(ItemStack result, Formula formula){
+               addChemicalCombinationRecipe(result, formula);
+               addElectrolysisDecompositionRecipe(result, ChemiCraftData.toAtoms(formula.getAtoms()), formula.getAmonts());
+       }
+
+
+
+       public void addReversible(ItemStack result, Formula formula){
+               addChemicalCombinationRecipe(result, formula);
+               addPyrolysisDecompositionRecipe(result, ChemiCraftData.toAtoms(formula.getAtoms()), formula.getAmonts());
+               addElectrolysisDecompositionRecipe(result, ChemiCraftData.toAtoms(formula.getAtoms()), formula.getAmonts());
+       }
+
+
+
        /**
         * 化合レシピを追加します。materialの要素数は0<= n <= 16にしてください。
         * @param material 素材
         * @param result 結果
         */
-       public void addChemicalCombinationRecipe(String[] atoms, Integer[] amounts, ItemStack result){
-               chemicalCombinationAtoms.add(atoms);
-               chemicalCombinationAmounts.add(amounts);
+       public void addChemicalCombinationRecipe(ItemStack result, Formula formula){
+               chemicalCombinationAtoms.add(formula.getAtoms());
+               chemicalCombinationAmounts.add(formula.getAmonts());
                chemicalCombinationResult.add(result);
        }
 
@@ -390,6 +358,17 @@ public class ChemiCraftAPI {
 
 
 
+       public void addPyrolysisDecompositionRecipe(ArrayList<ItemStack> material, Integer[] integers, Integer[] integers2) {
+               for (ItemStack item : material)
+        {
+                       if (item != null){
+                               addPyrolysisDecompositionRecipe(item, integers, integers2);
+                       }
+        }
+       }
+
+
+
        public void addElectrolysisDecompositionRecipe(ItemStack material, Integer[] integers, Integer[] integers2) {
                ItemStack[] itemstacks =
                                new ItemStack[integers.length];
@@ -407,6 +386,17 @@ public class ChemiCraftAPI {
 
 
 
+       public void addElectrolysisDecompositionRecipe(ArrayList<ItemStack> material, Integer[] integers, Integer[] integers2) {
+               for (ItemStack item : material)
+        {
+                       if (item != null){
+                               addElectrolysisDecompositionRecipe(item, integers, integers2);
+                       }
+        }
+       }
+
+
+
        /**
         * 素材作成台のレシピを追加します
         * @param materials 素材
index 9ccaab2..dd6c9a2 100644 (file)
@@ -2,16 +2,21 @@ package pcc.chemicraft;
 
 import net.minecraft.block.Block;
 import net.minecraft.item.ItemStack;
+import net.minecraftforge.oredict.OreDictionary;
 import pcc.chemicraft.gen.EnumOreSpawnFrequency;
+import pcc.chemicraft.util.Formula;
 
-public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
+public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister
+{
 
-       public ChemiCraftRegisterChemicalRecipe(ChemiCraft mod) {
+       public ChemiCraftRegisterChemicalRecipe(ChemiCraft mod)
+       {
                super(mod);
        }
 
        @Override
-       public void start() {
+       public void start()
+       {
                // 元素入手手段
 
                // 水素
@@ -23,10 +28,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // リチウム
                this.mod.api.addAtomOres(
                                "LithiumOre",
-                               new String[] { "Li", "Al", "Si", "O" },
-                               new Integer[] { 1, 1, 4, 10 },
+                               new Formula("LiAlSi4O10"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // LiAlSi4O10
                this.mod.api.addAtomOresLanguage("LithiumOre", "リチウム鉱石", "ja_JP");
@@ -34,10 +37,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // ベリリウム
                this.mod.api.addAtomOres(
                                "BerylliumOre",
-                               new String[] { "Be", "Al", "Si", "O" },
-                               new Integer[] { 3, 2, 6, 18 },
+                               new Formula("Be3Al2Si6O18"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // Be3Al2Si6O18
                this.mod.api.addAtomOresLanguage("BerylliumOre", "ベリリウム鉱石", "ja_JP");
@@ -45,10 +46,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // ホウ素
                this.mod.api.addAtomOres(
                                "BoronOre",
-                               new String[] { "Na", "Ca", "B", "O", "H" },
-                               new Integer[] { 1, 1, 5, 17, 16 },
+                               new Formula("NaCaB5O6(OH)6・5H2O"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // NaCaB5O6(OH)6・5H2O
                this.mod.api.addAtomOresLanguage("BoronOre", "ホウ素鉱石", "ja_JP");
@@ -62,10 +61,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // フッ素
                this.mod.api.addAtomOres(
                                "FluorineOre",
-                               new String[] { "Ca", "F" },
-                               new Integer[] { 1, 2 },
+                               new Formula("CaF2"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // CaF2
                this.mod.api.addAtomOresLanguage("FluorineOre", "フッ素鉱石", "ja_JP");
@@ -73,10 +70,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // ナトリウム
                this.mod.api.addAtomOres(
                                "SodiumOre",
-                               new String[] { "Na", "Cl" },
-                               new Integer[] { 1, 1 },
+                               new Formula("NaCl"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // NaCl
                this.mod.api.addAtomOresLanguage("SodiumOre", "ナトリウム鉱石", "ja_JP");
@@ -84,10 +79,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // マグネシウム
                this.mod.api.addAtomOres(
                                "MagnesiumOre",
-                               new String[] { "Ca", "Mg", "C", "O" },
-                               new Integer[] { 1, 1, 2, 6 },
+                               new Formula("CaMg(CO3)2"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // CaMg(CO3)2
                this.mod.api.addAtomOresLanguage("MagnesiumOre", "マグネシウム鉱石", "ja_JP");
@@ -95,10 +88,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // アルミニウム
                this.mod.api.addAtomOres(
                                "AluminiumOre",
-                               new String[] { "Al", "O", "H" },
-                               new Integer[] { 3, 3, 3 },
+                               new Formula("Al(OH)3"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // Al(OH)3
                this.mod.api.addAtomOresLanguage("AluminiumOre", "アルミニウム鉱石", "ja_JP");
@@ -109,10 +100,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // リン
                this.mod.api.addAtomOres(
                                "PhosphorusOre",
-                               new String[] { "Ca", "P", "O", "F" },
-                               new Integer[] { 5, 3, 12, 1 },
+                               new Formula("Ca5(PO4)3F"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // Ca5(PO4)3F
                this.mod.api.addAtomOresLanguage("PhosphorusOre", "リン鉱石", "ja_JP");
@@ -120,10 +109,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // 硫黄
                this.mod.api.addAtomOres(
                                "SulfurOre",
-                               new String[] { "S" },
-                               new Integer[] { 1 },
+                               new Formula("S"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // S
                this.mod.api.addAtomOresLanguage("SulfurOre", "硫黄鉱石", "ja_JP");
@@ -131,10 +118,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // カリウム
                this.mod.api.addAtomOres(
                                "PotassiumOre",
-                               new String[] { "K", "Cl" },
-                               new Integer[] { 1, 1 },
+                               new Formula("KCl"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // KCl
                this.mod.api.addAtomOresLanguage("PotassiumOre", "カリウム鉱石", "ja_JP");
@@ -142,10 +127,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // カルシウム
                this.mod.api.addAtomOres(
                                "CalciumOre",
-                               new String[] { "Ca", "C", "O" },
-                               new Integer[] { 1, 1, 3 },
+                               new Formula("CaCO3"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // CaCO3
                this.mod.api.addAtomOresLanguage("CalciumOre", "カルシウム鉱石", "ja_JP");
@@ -153,10 +136,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // スカンジウム
                this.mod.api.addAtomOres(
                                "ScandiumOre",
-                               new String[] { "Sc", "Y", "Si", "O" },
-                               new Integer[] { 2, 2, 2, 7 },
+                               new Formula("Sc2Si2O7"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // (Sc,Y)2Si2O7
                this.mod.api.addAtomOresLanguage("ScandiumOre", "スカンジウム鉱石", "ja_JP");
@@ -164,10 +145,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // チタン
                this.mod.api.addAtomOres(
                                "TitaniumOre",
-                               new String[] { "Ti", "O" },
-                               new Integer[] { 1, 2 },
+                               new Formula("TiO2"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // TiO2
                this.mod.api.addAtomOresLanguage("TitaniumOre", "チタン鉱石", "ja_JP");
@@ -175,10 +154,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // バナジウム
                this.mod.api.addAtomOres(
                                "VanadiumOre",
-                               new String[] { "K", "U", "O", "V", "H" },
-                               new Integer[] { 2, 2, 15, 2, 6 },
+                               new Formula("K2(UO2)2V2O8・3H2O"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                // K2(UO2)2V2O8・3H2O
                this.mod.api.addAtomOresLanguage("VanadiumOre", "バナジウム鉱石", "ja_JP");
@@ -186,10 +163,8 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // クロム
                this.mod.api.addAtomOres(
                                "Chromium",
-                               new String[] { "Fe", "Cr", "O" },
-                               new Integer[] { 1, 2, 4 },
+                               new Formula("FeCr2O4"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
                this.mod.api.addAtomOresLanguage("Chromium", "クロム鉱石", "ja_JP");
                // FeCr2O4
@@ -197,27 +172,82 @@ public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftRegister {
                // マンガン
                this.mod.api.addAtomOres(
                                "ManganeseOre",
-                               new String[] { "Mn", "O" },
-                               new Integer[] { 1, 2 },
+                               new Formula("MnO2"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
-               this.mod.api.addAtomOresLanguage("ManganeseOre", "ja_JP", "マンガン鉱石");
+               this.mod.api.addAtomOresLanguage("ManganeseOre", "マンガン鉱石", "ja_JP");
                // MnO2
 
                // コバルト
                this.mod.api.addAtomOres(
                                "CobaltOre",
-                               new String[] { "Co", "As", "S" },
-                               new Integer[] { 1, 1, 1 },
+                               new Formula("CoAsS"),
                                this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               8,
                                EnumOreSpawnFrequency.NORMAL);
-               this.mod.api.addAtomOresLanguage("CobaltOre", "ja_JP", "コバルト鉱石");
+               this.mod.api.addAtomOresLanguage("CobaltOre", "コバルト鉱石", "ja_JP");
                // CoAsS
 
-               // this.mod.api.addAtomOres("元素名(英)", new String[]{"元素"}, new Integer[]{<数>}, this.atomOresID[this.mod.api.getAtomOresLastIndex()], 8, EnumOreSpawnFrequency.NORMAL); // 化学式
-               // this.mod.api.addAtomOresLanguage("元素名(英)", "元素名(他国語)", "言語");
+               // ニッケル
+               this.mod.api.addAtomOres(
+                               "NickelOre",
+                               new Formula("Ni3Si2O5(OH)4"),
+                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // (Ni,Mg)3Si2O5(OH)4
+               this.mod.api.addAtomOresLanguage("NickelOre", "ニッケル鉱石", "ja_JP");
+
+               // 銅
+               // IC2で入手
+               this.mod.api.addPyrolysisDecompositionRecipe(
+                               OreDictionary.getOres("oreCopper"),
+                               new Integer[] { this.mod.chemicalData.COPPER },
+                               new Integer[] { 1 });
+
+               // 亜鉛
+               this.mod.api.addAtomOres(
+                               "ZincOre",
+                               new Formula("ZnS"),
+                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.api.addAtomOresLanguage("ZincOre", "亜鉛鉱石", "ja_JP");
+               // (Zn,Fe)S
+
+               // ガリウム
+               this.mod.api.addAtomOres(
+                               "Gallium",
+                               new Formula("Ga"),
+                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.api.addAtomOresLanguage("Gallium", "ガリウム鉱石", "ja_JP");
+               // Ga
+
+               // ゲルマニウム
+               this.mod.api.addAtomOres(
+                               "GermaniumOre",
+                               new Formula("Ge"),
+                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.api.addAtomOresLanguage("GermaniumOre", "ゲルマニウム鉱石", "ja_JP");
+               // Ge
+
+               // ヒ素
+               this.mod.api.addAtomOres(
+                               "ArsenicOre",
+                               new Formula("As2S3"),
+                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.api.addAtomOresLanguage("ArsenicOre", "ヒ素鉱石", "ja_JP");
+               // As2S3
+
+               // ルビジウム
+               this.mod.api.addAtomOres(
+                               "RubidiumOre",
+                               new Formula("Rb"),
+                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.api.addAtomOresLanguage("RubidiumOre", "ルビジウム鉱石", "ja_JP");
+               // Rb
+
        }
 
 }
index 427b7ea..7fda75c 100644 (file)
@@ -1,13 +1,17 @@
 package pcc.chemicraft;
 
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.ItemStack;
 import pcc.chemicraft.item.ItemAtoms;
 import pcc.chemicraft.item.ItemAtomsGrenade;
+import pcc.chemicraft.item.ItemBlackSmoke;
 import pcc.chemicraft.item.ItemChemiCell;
 import pcc.chemicraft.item.ItemCompounds;
 import pcc.chemicraft.item.ItemDust;
 import pcc.chemicraft.item.ItemGasCollectingBottle;
 import pcc.chemicraft.item.ItemRadiationBallet;
 import pcc.chemicraft.item.ItemRadiationGun;
+import pcc.chemicraft.util.OldItemFood;
 
 public class ChemiCraftRegisterItem extends ChemiCraftRegister {
 
@@ -25,9 +29,15 @@ public class ChemiCraftRegisterItem extends ChemiCraftRegister {
                this.mod.itemGasCollectingBottle = new ItemGasCollectingBottle(this.mod.gasCollectingBottleID).setItemName("gasCollectingBottle").setIconIndex(0);
                this.mod.itemAtomGrenade = new ItemAtomsGrenade(this.mod.atomGrenadeID).setItemName("grenade").setIconIndex(1);
                this.mod.itemChemicalCells = new ItemChemiCell(this.mod.chemicalCellsID).setItemName("chemiCell").setIconIndex(3);
-               this.mod.itemDust = new ItemDust(15000).setItemName("dust").setIconIndex(12);
+               this.mod.itemDust = new ItemDust(this.mod.dustID).setItemName("dust").setIconIndex(12);
                this.mod.itemRadiationGun = new ItemRadiationGun(this.mod.radiationGunID).setIconIndex(4).setItemName("RadiationGun");
                this.mod.itemRadiationBallet = new ItemRadiationBallet(this.mod.radiationBalletID).setIconIndex(5).setItemName("RadiationBallet");
+               this.mod.itemBlackSmoke = new ItemBlackSmoke(this.mod.blackSmokeID).setIconIndex(7).setItemName("BlackSmoke");
+               this.mod.itemPear = new OldItemFood(this.mod.pearID, 4, 0.4F, false){
+                       public int getColorFromItemStack(ItemStack par1ItemStack,int par2){
+                               return 0x66FF66;
+                               }
+                       }.setIconIndex(11).setCreativeTab(CreativeTabs.tabFood).setItemName("Pear");
 
                /*
                 * 名前登録&Minecraftに登録
@@ -44,6 +54,10 @@ public class ChemiCraftRegisterItem extends ChemiCraftRegister {
                this.mod.nameAuxiliary.addName(this.mod.itemRadiationGun, "ja_JP", "放射線銃");
                this.mod.nameAuxiliary.addName(this.mod.itemRadiationBallet, "RadiationBallet");
                this.mod.nameAuxiliary.addName(this.mod.itemRadiationGun, "ja_JP", "放射線弾");
+               this.mod.nameAuxiliary.addName(this.mod.itemBlackSmoke, "BlackSmoke");
+               this.mod.nameAuxiliary.addName(this.mod.itemBlackSmoke, "ja_JP", "黒煙");
+               this.mod.nameAuxiliary.addName(this.mod.itemPear, "Pear");
+               this.mod.nameAuxiliary.addName(this.mod.itemPear, "ja_JP",  "梨");
        }
 
 }
index fbe4d65..5f27d44 100644 (file)
@@ -3,6 +3,7 @@ package pcc.chemicraft;
 import net.minecraft.block.Block;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
+import pcc.chemicraft.util.Formula;
 import pcc.chemicraft.util.NBTRecipeGrenade;
 import cpw.mods.fml.common.registry.GameRegistry;
 
@@ -57,9 +58,21 @@ public class ChemiCraftRegisterRecipe extends ChemiCraftRegister {
                /*
                 * 化合物のレシピ
                 */
-               this.mod.api.addChemicalCombinationRecipe(new String[]{"Na", "O", "H"}, new Integer[]{1, 1, 1}, new ItemStack(this.mod.itemCompounds, 1, this.mod.api.getCompound("SodiumChloride")));
-               this.mod.api.addChemicalCombinationRecipe(new String[]{"H", "O", "Cl"}, new Integer[]{1, 2, 1}, new ItemStack(this.mod.itemCompounds, 1, this.mod.api.getCompound("ChlorousAcid")));
-               this.mod.api.addChemicalCombinationRecipe(new String[]{"H", "O"}, new Integer[]{2, 1}, new ItemStack(this.mod.itemCompounds, 1, this.mod.api.getCompound("Water")));
+               this.mod.api.addChemicalCombinationRecipe(new ItemStack(this.mod.itemCompounds, 1, this.mod.api.getCompound("SodiumChloride")), new Formula(new String[]{"Na", "O", "H"}, new Integer[]{1, 1, 1}));
+               this.mod.api.addChemicalCombinationRecipe(new ItemStack(this.mod.itemCompounds, 1, this.mod.api.getCompound("ChlorousAcid")), new Formula(new String[]{"H", "O", "Cl"}, new Integer[]{1, 2, 1}));
+               this.mod.api.addReversibleOfElectrolysis(new ItemStack(this.mod.itemCompounds, 1, this.mod.api.getCompound("Water")), new Formula(new String[]{"H", "O"}, new Integer[]{2, 1}));
+
+               /*
+                * 既存物のレシピ
+                */
+               this.mod.api.addReversibleOfPyrolysis(new ItemStack(Block.dirt), new Formula("SiI2O2"));
+               this.mod.api.addReversibleOfPyrolysis(new ItemStack(Block.sand), new Formula("SiIO"));
+               this.mod.api.addReversibleOfPyrolysis(new ItemStack(Block.stone), new Formula("SiO2"));
+               this.mod.api.addReversibleOfPyrolysis(new ItemStack(Block.glass), new Formula("SiCO2"));
+               this.mod.api.addReversibleOfElectrolysis(new ItemStack(Block.wood), new Formula("C6H10O5"));
+               this.mod.api.addReversibleOfPyrolysis(new ItemStack(Block.tnt), new Formula("C7H5N3O6"));
+               this.mod.api.addReversibleOfPyrolysis(new ItemStack(Item.emerald), new Formula("Be3Al2Si6O18"));
+               this.mod.api.addChemicalCombinationRecipe(new ItemStack(Item.diamond), new Formula("C64Si16"));
 
                /*
                 * 素材制作代のレシピ
@@ -96,6 +109,21 @@ public class ChemiCraftRegisterRecipe extends ChemiCraftRegister {
                new NBTRecipeGrenade()
                                );
 
+               this.mod.api.addMaterialRecipe(new ItemStack[] {
+                               new ItemStack(this.mod.itemAtoms, 1, ChemiCraftData.toAtoms("Na")),
+                               new ItemStack(this.mod.itemAtoms, 1, ChemiCraftData.toAtoms("C")),
+                               new ItemStack(this.mod.itemAtoms, 1, ChemiCraftData.toAtoms("I")),
+                               null,
+                               new ItemStack(Item.appleRed),
+                               null,
+                               null,
+                               null,
+                               null,
+               }, 
+               new ItemStack(this.mod.itemPear),
+               null
+                               );
+
                /*
                 * 熱分解台のレシピ
                 */
diff --git a/common/pcc/chemicraft/entity/EntityBlackSmoke.java b/common/pcc/chemicraft/entity/EntityBlackSmoke.java
new file mode 100644 (file)
index 0000000..131bec8
--- /dev/null
@@ -0,0 +1,79 @@
+package pcc.chemicraft.entity;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import pcc.chemicraft.util.Auxiliary.MathAuxiliary;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.monster.EntityMob;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.World;
+
+public class EntityBlackSmoke extends Entity
+{
+
+       private final int TIME = 5 * 20;
+
+       public HashMap<EntityMob, Integer> invisibilityMobsMap = new HashMap<EntityMob, Integer>();
+
+       private int restTime;
+
+       public EntityBlackSmoke(EntityPlayer par1EntityPlayer, World par2World, double par3, double par4, double par5)
+       {
+               super(par2World);
+               this.posX = par3;
+               this.posY = par4;
+               this.posZ = par5;
+
+               this.restTime = TIME;
+               //for (Entity var5:MathAuxiliary.getTriangleEntitys(par2World, par3, par4, par5, Math.atan2(par1EntityPlayer.posZ - this.posZ, par1EntityPlayer.posX - this.posX), 0.0D, 120.0D, 10.0D)){
+               for (Entity var5:(ArrayList<Entity>)par2World.loadedEntityList){
+                       if (var5 instanceof EntityMob){
+                               this.invisibilityMobsMap.put((EntityMob)var5, TIME);
+                       }
+               }
+       }
+
+       @Override
+       protected void entityInit()
+       {
+               
+       }
+
+       @Override
+       public void onUpdate()
+       {
+               if (this.restTime < 0){
+                       this.setDead();
+               }
+               Iterator<EntityMob> var1 = this.invisibilityMobsMap.keySet().iterator();
+               while (var1.hasNext()) {
+                       EntityMob var2 = var1.next();
+                       var2.setTarget(this);
+               }
+               for (int i = 0; i < 5; i++){
+                       this.worldObj.spawnParticle("smoke", this.posX, this.posY, this.posZ, Math.random() * 0.1D - 0.05D, 0.05D, Math.random() * 0.1D - 0.05D);
+               }
+               this.restTime--;
+       }
+
+       @Override
+       protected void readEntityFromNBT(NBTTagCompound var1)
+       {
+               
+       }
+
+       @Override
+       protected void writeEntityToNBT(NBTTagCompound var1)
+       {
+               
+       }
+
+}
index b92c7c5..2a05e0c 100644 (file)
@@ -35,7 +35,9 @@ public class EntityDust extends Entity {
                                this.deadDelay--;
                                this.rad += 0.5;
                                if (this.deadDelay % 4 == 0) {
-                                       this.explode(this.rad);
+                                       this.explode(this.rad, false);
+                               } else if (this.deadDelay % 6 == 0){
+                                       this.explode(this.rad, true);
                                }
                        } else {
                                this.setDead();
@@ -85,7 +87,7 @@ public class EntityDust extends Entity {
 
        }
 
-       private void explode(double r) {
+       private void explode(double r, boolean b) {
                double angle = 0;
                double angleY = 0;
                for (int i = 0; i < r; i++) {
@@ -96,7 +98,9 @@ public class EntityDust extends Entity {
                                angle += 360/j;
                                double x = this.posX - Math.sin(Math.toRadians(angle)) * ry;
                                double z = this.posZ + Math.cos(Math.toRadians(angle)) * ry;
-                               this.worldObj.createExplosion(this, x - 6 + Math.random() * 12, y + 3, z - 6 + Math.random() * 12, this.explodeSize, false);
+                               if (!this.worldObj.isRemote){
+                                       this.worldObj.createExplosion(this, x - 6 + Math.random() * 12, y + 3, z - 6 + Math.random() * 12, this.explodeSize, b);
+                               }
                        }
                }
        }
index ae99dbd..12a4ae7 100644 (file)
@@ -6,10 +6,15 @@ package pcc.chemicraft.gen;
  */
 public enum EnumOreSpawnFrequency {
 
-       HIGH(10, 256),
-       NORMAL(5, 64),
-       LOW(3, 30),
-       RARE(1, 15);
+       HIGH(8, 10, 256),
+       NORMAL(8, 5, 64),
+       LOW(8, 3, 30),
+       RARE(8, 1, 15);
+
+       /**
+        * 鉱石の塊の大きさ
+        */
+       private short size;
 
        /**
         * 鉱石の生成頻度
@@ -24,9 +29,18 @@ public enum EnumOreSpawnFrequency {
        /**
         * @param par1 鉱石の生成頻度
         */
-       private EnumOreSpawnFrequency(int par1, int par2) {
-               this.frequency = (short) par1;
-               this.posY = (short) par2;
+       private EnumOreSpawnFrequency(int par1, int par2, int par3) {
+               this.size = (short) par1;
+               this.frequency = (short) par2;
+               this.posY = (short) par3;
+       }
+
+       /**
+        * 鉱石の塊の大きさを返します
+        * @return 鉱石の塊の大きさ
+        */
+       public short getSize() {
+               return this.size;
        }
 
        /**
diff --git a/common/pcc/chemicraft/item/ItemBlackSmoke.java b/common/pcc/chemicraft/item/ItemBlackSmoke.java
new file mode 100644 (file)
index 0000000..941b746
--- /dev/null
@@ -0,0 +1,68 @@
+package pcc.chemicraft.item;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.entity.EntityBlackSmoke;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockHalfSlab;
+import net.minecraft.block.BlockStairs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.monster.EntityMob;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.InventoryEnderChest;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+
+public class ItemBlackSmoke extends Item
+{
+
+       public HashMap<EntityMob, Integer> invisibilityMobsMap = new HashMap<EntityMob, Integer>();
+
+       public ItemBlackSmoke(int par1)
+       {
+               super(par1);
+               this.setCreativeTab(ChemiCraft.creativeTabChemiCraft);
+       }
+
+       @Override
+       public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
+       {
+               double var11 = par4 + 0.5D;
+               double var12 = par5;
+               double var13 = par6 + 0.5D;
+               switch(par7){
+                       case 0:
+                               var12--;
+                               break;
+                       case 1:
+                               var12++;
+                               break;
+                       case 2:
+                               var13--;
+                               break;
+                       case 3:
+                               var13++;
+                               break;
+                       case 4:
+                               var11--;
+                               break;
+                       case 5:
+                               var11++;
+                               break;
+               }
+               par3World.spawnEntityInWorld(new EntityBlackSmoke(par2EntityPlayer, par3World, var11, var12, var13));
+               return true;
+       }
+
+       @Override
+       public String getTextureFile(){
+               return ChemiCraft.instance.ITEM_TEXTURE;
+       }
+
+}
index 887fd5a..f328093 100644 (file)
@@ -92,7 +92,7 @@ public class ItemRadiationGun extends Item {
        private void field_00001(ItemStack par1ItemStack, World par2World,
                        EntityPlayer par3EntityPlayer) {
 
-               ArrayList<Entity> collisions = ChemiCraft.instance.mathAuxiliary.getTriangleEntitys(par2World,
+               ArrayList<Entity> collisions = ChemiCraft.instance.mathAuxiliary.getTriangleEntitysByPlayer(par2World,
                                par3EntityPlayer.posX,
                                par3EntityPlayer.posY,
                                par3EntityPlayer.posZ,
index 8e42b4f..d064185 100644 (file)
@@ -1,24 +1,11 @@
 package pcc.chemicraft.util;
 
-import java.awt.Toolkit;
 import java.util.ArrayList;
 
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.debug.DebugData;
-import pcc.chemicraft.debug.DebugTick;
-
-import sinVisualizer.SinVisualizerPanel;
-import sinVisualizer.Values;
-
 import net.minecraft.block.Block;
 import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLiving;
-import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
-import net.minecraft.pathfinding.PathEntity;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.MathHelper;
 import net.minecraft.world.World;
 import cpw.mods.fml.common.registry.LanguageRegistry;
 
@@ -245,6 +232,43 @@ public class Auxiliary {
        public static class MathAuxiliary {
 
                public static ArrayList<Entity> getTriangleEntitys(World par1World,
+                           double par2, double par3, double par4,
+                           double yaw,
+                           double pitch,
+                           double angle,
+                           double rad) {
+
+                          ArrayList<Entity> entitys = (ArrayList<Entity>) par1World.loadedEntityList;
+                          ArrayList<Entity> result = new ArrayList<Entity>();
+                          for (int i = 0; i < entitys.size(); i++) {
+                           String a = "";
+                           Entity entity = entitys.get(i);
+                           double x = entity.posX;
+                           double y = entity.posY;
+                           double z = entity.posZ;
+                           double bx = par2;
+                           double by = par3;
+                           double bz = par4;
+                           double playerToEntityAngleXZ = Math.sin(Math.atan2(bx - x, bz - z)) * 180;
+                           double playerToEntityAngleY = Math.toDegrees(Math.atan(y - by));
+                           double length =
+                             Math.sqrt(
+                               Math.pow(Math.abs(bx - x), 2) +
+                               Math.pow(Math.abs(by - y), 2) +
+                               Math.pow(Math.abs(bz - z), 2));
+
+                           if (playerToEntityAngleXZ + angle/2 > playerToEntityAngleXZ && playerToEntityAngleXZ - angle/2 < playerToEntityAngleXZ) {
+                            if (length < rad) {
+                             result.add(entity);
+                            }
+                           }
+
+                          }
+
+                          return result;
+                         }
+
+               public static ArrayList<Entity> getTriangleEntitysByPlayer(World par1World,
                                double par2, double par3, double par4,
                                double yaw,
                                double pitch,
diff --git a/common/pcc/chemicraft/util/Formula.java b/common/pcc/chemicraft/util/Formula.java
new file mode 100644 (file)
index 0000000..f9e75b5
--- /dev/null
@@ -0,0 +1,149 @@
+package pcc.chemicraft.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import pcc.chemicraft.ChemiCraftData;
+
+public class Formula
+{
+
+       private ArrayList<String> atoms = new ArrayList<String>();
+       private ArrayList<Integer> amonts = new ArrayList<Integer>();
+
+       public Formula(String par1)
+       {
+               this.run(par1);
+       }
+
+       public Formula(String[] par1, Integer[] par2)
+       {
+               this.setAtoms(par1, par2);
+       }
+
+       public Formula(ArrayList<String> par1, ArrayList<Integer> par2)
+       {
+               this.atoms = par1;
+               this.amonts = par2;
+       }
+
+       public void run(String par1)
+       {
+               char[] var2 = par1.toCharArray();
+               String var3 = null;
+               int var4 = 1;
+               Formula var5 = null;
+
+               for (int i = 0; i < var2.length; i++)
+               {
+                       if (Character.isLetter(var2[i])){
+                               if (Character.isUpperCase(var2[i])){
+                                       if (var3 != null)
+                                       {
+                                               this.setAtom(var3,  var4);
+                                       } else if (var5 != null) {
+                                               this.setAtoms(var5.getAtoms(), var5.getAmonts(), var4);
+                                               var5 = null;
+                                       }
+                                       var3 = Character.toString(var2[i]);
+                               } else {
+                                       var3 = var3.concat(Character.toString(var2[i]));
+                               }
+                       } else if (Character.isDigit(var2[i])) {
+                               if (var3 != null)
+                               {
+                                       this.setAtom(var3, var4 * Integer.valueOf(Character.toString(var2[i])));
+                               } else if (var5 != null) {
+                                       this.setAtoms(var5.getAtoms(), var5.getAmonts(), Integer.valueOf(Character.toString(var2[i])));
+                                       var5 = null;
+                               } else {
+                                       var4 = Integer.valueOf(Character.toString(var2[i]));
+                               }
+                               var3 = null;
+                       } else if (var2[i] == '・') {
+                               if (var3 != null)
+                               {
+                                       this.setAtom(var3,  var4);
+                               } else if (var5 != null) {
+                                       this.setAtoms(var5.getAtoms(), var5.getAmonts(), var4);
+                               }
+                               var3 = null;
+                               var4 = 1;
+                               var5 = null;
+                       } else if (var2[i] == '(') {
+                               if (var3 != null)
+                               {
+                                       this.setAtom(var3,  var4);
+                                       var3 = null;
+                               }
+                               int var6 = par1.indexOf(')');
+                               String var7 = par1.substring(i + 1, var6);
+                               var5 = new Formula(var7);
+                               i = var6;
+                       } else {
+                               throw new IllegalArgumentException();
+                       }
+               }
+               if (var3 != null)
+               {
+                       this.setAtom(var3,  var4);
+               }
+       }
+
+       public boolean isAtom(String par1)
+       {
+               for (String var2:ChemiCraftData.ATOMSLIST){
+                       if (par1.equalsIgnoreCase(var2)){
+                               return true;
+                       }
+               }
+               return false;
+       }
+
+       public void setAtom(String par1,  int par2)
+       {
+               if (isAtom(par1)){
+                       int var3 = this.atoms.indexOf(par1);
+                       if (var3 == -1){
+                               this.atoms.add(par1);
+                               this.amonts.add(par2);
+                       } else {
+                               this.amonts.set(var3, this.amonts.get(var3) + par2);
+                       }
+               } else {
+                       throw new IllegalArgumentException();
+               }
+       }
+
+       public void setAtom(String par1,  char par2)
+       {
+               setAtom(par1, Integer.valueOf(Character.toString(par2)));
+       }
+
+       public void setAtoms(String[] par1, Integer[] par2)
+       {
+               setAtoms(par1, par2, 1);
+       }
+       public void setAtoms(String[] par1, Integer[] par2, int par3)
+       {
+               if (par1.length != par2.length)
+               {
+                       throw new IndexOutOfBoundsException();
+               }
+               for (int i = 0; i < par1.length; i++)
+               {
+                       this.setAtom(par1[i], par2[i] * par3);
+               }
+       }
+
+       public String[] getAtoms()
+       {
+               return atoms.toArray(new String[atoms.size()]);
+       }
+
+       public Integer[] getAmonts()
+       {
+               return amonts.toArray(new Integer[amonts.size()]);
+       }
+
+}
diff --git a/common/pcc/chemicraft/util/OldItem.java b/common/pcc/chemicraft/util/OldItem.java
new file mode 100644 (file)
index 0000000..3090a22
--- /dev/null
@@ -0,0 +1,13 @@
+package pcc.chemicraft.util;
+
+import net.minecraft.item.Item;
+
+public class OldItem extends Item
+{
+
+       public OldItem(int par1)
+       {
+               super(par1);
+       }
+
+}
diff --git a/common/pcc/chemicraft/util/OldItemFood.java b/common/pcc/chemicraft/util/OldItemFood.java
new file mode 100644 (file)
index 0000000..bc6e221
--- /dev/null
@@ -0,0 +1,18 @@
+package pcc.chemicraft.util;
+
+import net.minecraft.item.ItemFood;
+
+public class OldItemFood extends ItemFood
+{
+
+       public OldItemFood(int par1, int par2, float par3, boolean par4)
+       {
+               super(par1, par2, par3, par4);
+       }
+
+       public OldItemFood(int par1, int par2, boolean par3)
+       {
+               super(par1, par2, par3);
+       }
+
+}
index 5be4625..4e49d67 100644 (file)
Binary files a/resources/pcc/chemicraft/items/items.png and b/resources/pcc/chemicraft/items/items.png differ