OSDN Git Service

要チェック!!!
authorponkotate <ponkotate@users.sourceforge.jp>
Fri, 29 Mar 2013 02:01:35 +0000 (11:01 +0900)
committerponkotate <ponkotate@users.sourceforge.jp>
Fri, 29 Mar 2013 02:01:35 +0000 (11:01 +0900)
・大幅な仕様変更
(Core・Base分け)

109 files changed:
common/pcc/chemicraft/ChemiCraft.java
common/pcc/chemicraft/ChemiCraftRegister.java
common/pcc/chemicraft/ChemiCraftRegisterChemicalRecipe.java [deleted file]
common/pcc/chemicraft/ChemiCraftRegisterItem.java [deleted file]
common/pcc/chemicraft/ChemiCraftRegisterRecipe.java [deleted file]
common/pcc/chemicraft/base/ChemiCraftBase.java [new file with mode: 0644]
common/pcc/chemicraft/base/ChemiCraftBaseAPI.java [new file with mode: 0644]
common/pcc/chemicraft/base/ChemiCraftBaseRegister.java [new file with mode: 0644]
common/pcc/chemicraft/base/ChemiCraftRegisterBaseRecipe.java [new file with mode: 0644]
common/pcc/chemicraft/base/ChemiCraftRegisterBlock.java [new file with mode: 0644]
common/pcc/chemicraft/base/ChemiCraftRegisterChemicalRecipe.java [new file with mode: 0644]
common/pcc/chemicraft/base/ChemiCraftRegisterCompounds.java [moved from common/pcc/chemicraft/ChemiCraftRegisterCompounds.java with 74% similarity]
common/pcc/chemicraft/base/ChemiCraftRegisterCompoundsHandler.java [moved from common/pcc/chemicraft/ChemiCraftRegisterCompoundsHandler.java with 54% similarity]
common/pcc/chemicraft/base/ChemiCraftRegisterEntitys.java [moved from common/pcc/chemicraft/ChemiCraftRegisterEntitys.java with 68% similarity]
common/pcc/chemicraft/base/ChemiCraftRegisterItem.java [new file with mode: 0644]
common/pcc/chemicraft/base/client/ClientProxy.java [new file with mode: 0644]
common/pcc/chemicraft/base/compounds/CompoundWater.java [moved from common/pcc/chemicraft/compounds/CompoundWater.java with 95% similarity]
common/pcc/chemicraft/base/compounds/FalseItem.java [moved from common/pcc/chemicraft/compounds/FalseItem.java with 97% similarity]
common/pcc/chemicraft/base/creativetab/CreativeTabAtomOres.java [moved from common/pcc/chemicraft/creativetab/CreativeTabAtomOres.java with 74% similarity]
common/pcc/chemicraft/base/entity/EntityAtomsGrenade.java [moved from common/pcc/chemicraft/entity/EntityAtomsGrenade.java with 98% similarity]
common/pcc/chemicraft/base/entity/EntityBlackSmoke.java [moved from common/pcc/chemicraft/entity/EntityBlackSmoke.java with 87% similarity]
common/pcc/chemicraft/base/entity/EntityDust.java [moved from common/pcc/chemicraft/entity/EntityDust.java with 95% similarity]
common/pcc/chemicraft/base/gen/EnumOreSpawnFrequency.java [moved from common/pcc/chemicraft/gen/EnumOreSpawnFrequency.java with 96% similarity]
common/pcc/chemicraft/base/gen/WorldGenAtomsOre.java [moved from common/pcc/chemicraft/gen/WorldGenAtomsOre.java with 97% similarity]
common/pcc/chemicraft/base/item/ItemAtomsGrenade.java [moved from common/pcc/chemicraft/item/ItemAtomsGrenade.java with 95% similarity]
common/pcc/chemicraft/base/item/ItemBlackSmoke.java [moved from common/pcc/chemicraft/item/ItemBlackSmoke.java with 71% similarity]
common/pcc/chemicraft/base/item/ItemDust.java [moved from common/pcc/chemicraft/item/ItemDust.java with 73% similarity]
common/pcc/chemicraft/base/item/ItemRadiationBallet.java [moved from common/pcc/chemicraft/item/ItemRadiationBallet.java with 59% similarity]
common/pcc/chemicraft/base/item/ItemRadiationGun.java [moved from common/pcc/chemicraft/item/ItemRadiationGun.java with 79% similarity]
common/pcc/chemicraft/base/ore/BlockAtomOres.java [moved from common/pcc/chemicraft/ore/BlockAtomOres.java with 74% similarity]
common/pcc/chemicraft/base/ore/ItemAtomOres.java [moved from common/pcc/chemicraft/ore/ItemAtomOres.java with 77% similarity]
common/pcc/chemicraft/base/render/RenderAtomsGrenade.java [moved from common/pcc/chemicraft/render/RenderAtomsGrenade.java with 91% similarity]
common/pcc/chemicraft/base/render/RenderDust.java [moved from common/pcc/chemicraft/render/RenderDust.java with 89% similarity]
common/pcc/chemicraft/base/system/CommonProxy.java [new file with mode: 0644]
common/pcc/chemicraft/base/system/PacketHandler.java [new file with mode: 0644]
common/pcc/chemicraft/client/ClientProxy.java [deleted file]
common/pcc/chemicraft/core/ChemiCraftAPI.java [moved from common/pcc/chemicraft/ChemiCraftAPI.java with 70% similarity]
common/pcc/chemicraft/core/ChemiCraftCore.java [new file with mode: 0644]
common/pcc/chemicraft/core/ChemiCraftCoreRegister.java [new file with mode: 0644]
common/pcc/chemicraft/core/ChemiCraftRegisterBlock.java [moved from common/pcc/chemicraft/ChemiCraftRegisterBlock.java with 75% similarity]
common/pcc/chemicraft/core/ChemiCraftRegisterCoreRecipe.java [new file with mode: 0644]
common/pcc/chemicraft/core/ChemiCraftRegisterItem.java [new file with mode: 0644]
common/pcc/chemicraft/core/ChemiCraftRegisterTileEntity.java [moved from common/pcc/chemicraft/ChemiCraftRegisterTileEntity.java with 58% similarity]
common/pcc/chemicraft/core/block/BlockChemicalCombinationTable.java [moved from common/pcc/chemicraft/block/BlockChemicalCombinationTable.java with 78% similarity]
common/pcc/chemicraft/core/block/BlockChemicalCraftingTable.java [moved from common/pcc/chemicraft/block/BlockChemicalCraftingTable.java with 70% similarity]
common/pcc/chemicraft/core/block/BlockElectrolysisTable.java [moved from common/pcc/chemicraft/block/BlockElectrolysisTable.java with 75% similarity]
common/pcc/chemicraft/core/block/BlockPyrolysisTable.java [moved from common/pcc/chemicraft/block/BlockPyrolysisTable.java with 76% similarity]
common/pcc/chemicraft/core/block/BlockToolAndWeaponCraftingTable.java [moved from common/pcc/chemicraft/block/BlockToolAndWeaponCraftingTable.java with 70% similarity]
common/pcc/chemicraft/core/client/ClientProxy.java [new file with mode: 0644]
common/pcc/chemicraft/core/compounds/CompoundDebug.java [moved from common/pcc/chemicraft/compounds/CompoundDebug.java with 97% similarity]
common/pcc/chemicraft/core/container/ContainerChemicalCombinationTable.java [moved from common/pcc/chemicraft/container/ContainerChemicalCombinationTable.java with 86% similarity]
common/pcc/chemicraft/core/container/ContainerChemicalCraftingTable.java [moved from common/pcc/chemicraft/container/ContainerChemicalCraftingTable.java with 88% similarity]
common/pcc/chemicraft/core/container/ContainerElectrolysisTable.java [moved from common/pcc/chemicraft/container/ContainerElectrolysisTable.java with 76% similarity]
common/pcc/chemicraft/core/container/ContainerPyrolysisTable.java [moved from common/pcc/chemicraft/container/ContainerPyrolysisTable.java with 78% similarity]
common/pcc/chemicraft/core/container/ContainerToolAndWeaponCraftingTable.java [moved from common/pcc/chemicraft/container/ContainerToolAndWeaponCraftingTable.java with 76% similarity]
common/pcc/chemicraft/core/creativetab/CreativeTabChemiCraft.java [moved from common/pcc/chemicraft/creativetab/CreativeTabChemiCraft.java with 73% similarity]
common/pcc/chemicraft/core/debug/CommandDeleteItem.java [moved from common/pcc/chemicraft/debug/CommandDeleteItem.java with 97% similarity]
common/pcc/chemicraft/core/debug/CommandGenDebugRoom.java [moved from common/pcc/chemicraft/debug/CommandGenDebugRoom.java with 94% similarity]
common/pcc/chemicraft/core/debug/CommandSetTile.java [moved from common/pcc/chemicraft/debug/CommandSetTile.java with 97% similarity]
common/pcc/chemicraft/core/debug/CompoundHandlerTest.java [moved from common/pcc/chemicraft/debug/CompoundHandlerTest.java with 96% similarity]
common/pcc/chemicraft/core/debug/DebugData.java [moved from common/pcc/chemicraft/debug/DebugData.java with 88% similarity]
common/pcc/chemicraft/core/debug/DebugTick.java [moved from common/pcc/chemicraft/debug/DebugTick.java with 98% similarity]
common/pcc/chemicraft/core/debug/SetBlockSupport.java [moved from common/pcc/chemicraft/debug/SetBlockSupport.java with 99% similarity]
common/pcc/chemicraft/core/gui/GuiChemicalCombinationTable.java [moved from common/pcc/chemicraft/gui/GuiChemicalCombinationTable.java with 86% similarity]
common/pcc/chemicraft/core/gui/GuiChemicalCraftingTable.java [moved from common/pcc/chemicraft/gui/GuiChemicalCraftingTable.java with 71% similarity]
common/pcc/chemicraft/core/gui/GuiElectrolysisTable.java [moved from common/pcc/chemicraft/gui/GuiElectrolysisTable.java with 72% similarity]
common/pcc/chemicraft/core/gui/GuiPyrolysisTable.java [moved from common/pcc/chemicraft/gui/GuiPyrolysisTable.java with 81% similarity]
common/pcc/chemicraft/core/gui/GuiToolAndWeaponCraftingTable.java [moved from common/pcc/chemicraft/gui/GuiToolAndWeaponCraftingTable.java with 68% similarity]
common/pcc/chemicraft/core/inventory/InventoryChemicalCombinationTableMaterial.java [moved from common/pcc/chemicraft/inventory/InventoryChemicalCombinationTableMaterial.java with 98% similarity]
common/pcc/chemicraft/core/inventory/InventoryChemicalCombinationTableResult.java [moved from common/pcc/chemicraft/inventory/InventoryChemicalCombinationTableResult.java with 98% similarity]
common/pcc/chemicraft/core/inventory/InventoryChemicalCraftingMaterial.java [moved from common/pcc/chemicraft/inventory/InventoryChemicalCraftingMaterial.java with 97% similarity]
common/pcc/chemicraft/core/inventory/InventoryChemicalCraftingNBT.java [moved from common/pcc/chemicraft/inventory/InventoryChemicalCraftingNBT.java with 97% similarity]
common/pcc/chemicraft/core/inventory/InventoryChemicalCraftingResult.java [moved from common/pcc/chemicraft/inventory/InventoryChemicalCraftingResult.java with 97% similarity]
common/pcc/chemicraft/core/inventory/InventoryElectrolysisFuel.java [moved from common/pcc/chemicraft/inventory/InventoryElectrolysisFuel.java with 97% similarity]
common/pcc/chemicraft/core/inventory/InventoryElectrolysisMaterial.java [moved from common/pcc/chemicraft/inventory/InventoryElectrolysisMaterial.java with 97% similarity]
common/pcc/chemicraft/core/inventory/InventoryElectrolysisResult.java [moved from common/pcc/chemicraft/inventory/InventoryElectrolysisResult.java with 97% similarity]
common/pcc/chemicraft/core/inventory/InventoryPyrolysisTableFuel.java [moved from common/pcc/chemicraft/inventory/InventoryPyrolysisTableFuel.java with 98% similarity]
common/pcc/chemicraft/core/inventory/InventoryPyrolysisTableMaterial.java [moved from common/pcc/chemicraft/inventory/InventoryPyrolysisTableMaterial.java with 98% similarity]
common/pcc/chemicraft/core/inventory/InventoryPyrolysisTableResult.java [moved from common/pcc/chemicraft/inventory/InventoryPyrolysisTableResult.java with 98% similarity]
common/pcc/chemicraft/core/inventory/InventoryToolAndWeaponCraftingTableMaterial.java [moved from common/pcc/chemicraft/inventory/InventoryToolAndWeaponCraftingTableMaterial.java with 98% similarity]
common/pcc/chemicraft/core/inventory/InventoryToolAndWeaponCraftingTableResult.java [moved from common/pcc/chemicraft/inventory/InventoryToolAndWeaponCraftingTableResult.java with 98% similarity]
common/pcc/chemicraft/core/item/ItemAtomInfoContainer.java [moved from common/pcc/chemicraft/item/ItemAtomInfoContainer.java with 88% similarity]
common/pcc/chemicraft/core/item/ItemAtoms.java [moved from common/pcc/chemicraft/item/ItemAtoms.java with 70% similarity]
common/pcc/chemicraft/core/item/ItemChemiCell.java [moved from common/pcc/chemicraft/item/ItemChemiCell.java with 79% similarity]
common/pcc/chemicraft/core/item/ItemCompounds.java [moved from common/pcc/chemicraft/item/ItemCompounds.java with 94% similarity]
common/pcc/chemicraft/core/item/ItemGasCollectingBottle.java [moved from common/pcc/chemicraft/item/ItemGasCollectingBottle.java with 57% similarity]
common/pcc/chemicraft/core/slot/SlotChemicalCombinationTableMaterial.java [moved from common/pcc/chemicraft/slot/SlotChemicalCombinationTableMaterial.java with 75% similarity]
common/pcc/chemicraft/core/slot/SlotChemicalCombinationTableResult.java [moved from common/pcc/chemicraft/slot/SlotChemicalCombinationTableResult.java with 92% similarity]
common/pcc/chemicraft/core/slot/SlotChemicalCraftingTableResult.java [moved from common/pcc/chemicraft/slot/SlotChemicalCraftingTableResult.java with 92% similarity]
common/pcc/chemicraft/core/slot/SlotDecompositionTableMaterial.java [moved from common/pcc/chemicraft/slot/SlotDecompositionTableMaterial.java with 89% similarity]
common/pcc/chemicraft/core/slot/SlotDecompositionTableResult.java [moved from common/pcc/chemicraft/slot/SlotDecompositionTableResult.java with 92% similarity]
common/pcc/chemicraft/core/slot/SlotElectrolysisFuel.java [moved from common/pcc/chemicraft/slot/SlotElectrolysisFuel.java with 88% similarity]
common/pcc/chemicraft/core/slot/SlotElectrolysisMaterial.java [moved from common/pcc/chemicraft/slot/SlotElectrolysisMaterial.java with 89% similarity]
common/pcc/chemicraft/core/slot/SlotElectrolysisResult.java [moved from common/pcc/chemicraft/slot/SlotElectrolysisResult.java with 92% similarity]
common/pcc/chemicraft/core/slot/SlotPyrolysisTableFuel.java [moved from common/pcc/chemicraft/slot/SlotPyrolysisTableFuel.java with 88% similarity]
common/pcc/chemicraft/core/slot/SlotPyrolysisTableMaterial.java [moved from common/pcc/chemicraft/slot/SlotPyrolysisTableMaterial.java with 89% similarity]
common/pcc/chemicraft/core/slot/SlotPyrolysisTableResult.java [moved from common/pcc/chemicraft/slot/SlotPyrolysisTableResult.java with 92% similarity]
common/pcc/chemicraft/core/slot/SlotToolAndWeaponCraftingTableResult.java [moved from common/pcc/chemicraft/slot/SlotToolAndWeaponCraftingTableResult.java with 92% similarity]
common/pcc/chemicraft/core/system/ChemiCraftCraftingManager.java [moved from common/pcc/chemicraft/system/ChemiCraftCraftingManager.java with 88% similarity]
common/pcc/chemicraft/core/system/CommonProxy.java [moved from common/pcc/chemicraft/system/CommonProxy.java with 71% similarity]
common/pcc/chemicraft/core/system/PacketHandler.java [moved from common/pcc/chemicraft/system/PacketHandler.java with 92% similarity]
common/pcc/chemicraft/core/tileentity/TileEntityChemicalCombinationTable.java [moved from common/pcc/chemicraft/tileentity/TileEntityChemicalCombinationTable.java with 94% similarity]
common/pcc/chemicraft/core/tileentity/TileEntityChemicalCraftingTable.java [moved from common/pcc/chemicraft/tileentity/TileEntityChemicalCraftingTable.java with 92% similarity]
common/pcc/chemicraft/core/tileentity/TileEntityElectrolysisTable.java [moved from common/pcc/chemicraft/tileentity/TileEntityElectrolysisTable.java with 93% similarity]
common/pcc/chemicraft/core/tileentity/TileEntityPyrolysisTable.java [moved from common/pcc/chemicraft/tileentity/TileEntityPyrolysisTable.java with 91% similarity]
common/pcc/chemicraft/core/tileentity/TileEntityToolAndWeaponCraftingTable.java [moved from common/pcc/chemicraft/tileentity/TileEntityToolAndWeaponCraftingTable.java with 76% similarity]
common/pcc/chemicraft/util/Formula.java
common/pcc/chemicraft/util/MaterialRecipe.java
common/pcc/chemicraft/util/NBTRecipeGrenade.java

index 5de0b5d..b7945ba 100644 (file)
 package pcc.chemicraft;
 
-import net.minecraft.block.Block;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.Configuration;
-import net.minecraftforge.common.Property;
-import net.minecraftforge.oredict.OreDictionary;
-import pcc.chemicraft.compounds.CompoundDebug;
-import pcc.chemicraft.creativetab.CreativeTabAtomOres;
-import pcc.chemicraft.creativetab.CreativeTabChemiCraft;
-import pcc.chemicraft.debug.CommandDeleteItem;
-import pcc.chemicraft.debug.CommandGenDebugRoom;
-import pcc.chemicraft.debug.CommandSetTile;
-import pcc.chemicraft.system.CommonProxy;
-import pcc.chemicraft.system.PacketHandler;
+import pcc.chemicraft.core.ChemiCraftAPI;
 import pcc.chemicraft.util.Auxiliary;
 import pcc.chemicraft.util.Auxiliary.ArrayAuxiliary;
 import pcc.chemicraft.util.Auxiliary.MathAuxiliary;
 import pcc.chemicraft.util.Auxiliary.NameAuxiliary;
-import cpw.mods.fml.common.Mod;
-import cpw.mods.fml.common.Mod.Instance;
-import cpw.mods.fml.common.Mod.PostInit;
-import cpw.mods.fml.common.Mod.PreInit;
-import cpw.mods.fml.common.Mod.ServerStarting;
-import cpw.mods.fml.common.SidedProxy;
 import cpw.mods.fml.common.event.FMLPostInitializationEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.event.FMLServerStartingEvent;
-import cpw.mods.fml.common.network.NetworkMod;
-import cpw.mods.fml.common.network.NetworkRegistry;
-import cpw.mods.fml.common.registry.GameRegistry;
 
-/**
- * ChemiCraft本体
- * @author P.C.C.
- */
-@Mod(modid = "ChemiCraft", name = "ChemiCraft", version = "beta")
-@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.4.6", channels = "chemicraft", packetHandler = PacketHandler.class)
-public class ChemiCraft implements Runnable {
+public abstract class ChemiCraft implements Runnable
+{
 
        /**
-        * 元素名配列
-        */
-       public static final String[] ATOMSNAME = {
-               "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", "Silicon",
-               "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium",
-               "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttorium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium",
-               "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium",
-               "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum",
-               "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium",
-               "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium",
-               "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Ununtrium", "Ununquadium", "Ununpentium", "Ununhexium", "Ununseptium", "Ununoctium" };
-
-       /**
-        * 元素名日本語版配列
-        */
-       public static final String[] ATOMSNAMEJP = {
-               "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン", "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム",
-               "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素", "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム",
-               "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル", "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム",
-               "ホルミウム", "エルビウム", "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン", "フランシウム", "ラジウム",
-               "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム", "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム",
-               "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム", "レントゲニウム", "コペルニシウム", "ウンウントリウム", "ウンウンクアジウム", "ウンウンペンチウム", "ウンウンヘキシウム", "ウンウンセプチウム", "ウンウンオクチウム" };
-
-       /**
-        * this is ChemiCraft instance.
-        */
-       @Instance("ChemiCraft")
-       public static ChemiCraft instance;
-
-       /**
-        * proxy of ChemiCraft.
-        */
-       @SidedProxy(clientSide = "pcc.chemicraft.client.ClientProxy", serverSide = "pcc.chemicraft.system.CommonProxy")
-       public static CommonProxy proxy;
-
-       /**
-        * CreativeTab of ChemiCraft.
-        */
-       public static final CreativeTabs creativeTabChemiCraft = new CreativeTabChemiCraft("ChemiCraft");
-       public static final CreativeTabs creativeTabAtomsOre = new CreativeTabAtomOres("AtomsOre");
-
-       /**
-        * the ItemID.
-        */
-       public int atomsID;
-       public int compoundsID;
-       public int gasCollectingBottleID;
-       public int atomGrenadeID;
-       public int chemicalCellsID;
-       public int dustID;
-       public int radiationGunID;
-       public int radiationBalletID;
-       public int blackSmokeID;
-       public int pearID;
-
-       /**
-        * the BlockID.
-        */
-       public int pyrolysisTableID;
-       public int electrolysisTableID;
-       public int chemicalConbinationTableID;
-       public int toolAndWeaponCraftingTableID;
-       public int chemicalCraftingTableID;
-
-       public int[] atomOresID = new int[3];
-
-       /**
-        * the GUIID.
-        */
-       public int guiPyrolysisTableID;
-       public int guiElectrolysisTableID;
-       public int guiChemicalCombinationTableID;
-       public int guiToolAndWeaponCraftingTableID;
-       public int guiChemicalCraftingTableID;
-
-       /**
-        * Variables of Block type.
+        * this is Thread on ChemiCraft.
         */
-       public Block blockPyrolysisTable;
-       public Block blockElectrolysisTable;
-       public Block blockChemicalCombinationTable;
-       public Block blockToolAndWeaponCraftingTable;
-       public Block blockChemicalCraftingTable;
-
-       public Block[] blockAtomOres = new Block[atomOresID.length];
+       protected Thread thread;
 
        /**
-        * Variables of Block type.
+        * the Event Instance.
         */
-       public Item itemAtoms;
-       public Item itemCompounds;
-       public Item itemGasCollectingBottle;
-       public Item itemAtomGrenade;
-       public Item itemChemicalCells;
-       public Item itemDust;
-       public Item itemRadiationGun;
-       public Item itemRadiationBallet;
-       public Item itemBlackSmoke;
-       public Item itemPear;
+       protected FMLPostInitializationEvent event;
 
        /**
-        * this is Textures Path on ChemiCraft.
+        * API Instance and Data Instance.
         */
-       public final String ITEM_ATOMS_TEXTURE = "/pcc/chemicraft/items/Atoms.png";
-       public final String ITEM_COMPOUNDS_TEXTURE = "/pcc/chemicraft/items/Compounds.png";
-       public final String ITEM_VEGETABLES_TEXTURE = "/pcc/chemicraft/items/Vegetables.png";
-       public final String ITEM_TEXTURE = "/pcc/chemicraft/items/items.png";
-       public final String BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE = "/pcc/chemicraft/blocks/cctable.png";
-       public final String BLOCK_ATOMS_ORE_TEXTURE = "/pcc/chemicraft/blocks/AtomsOre.png";
-       public final String BLOCK_VEGETABLES_TEXTURE = "/pcc/chemicraft/blocks/Vegetables.png";
-       public final String GUI_PYROLYSIS_TEXTURE = "/pcc/chemicraft/guis/Pyrolysis.png";
-       public final String GUI_ELECTROLYSIS_TEXTURE = "/pcc/chemicraft/guis/Electrolysis.png";
-       public final String GUI_CHEMICALCOMBINATION_TEXTURE = "/pcc/chemicraft/guis/ChemicalCombination.png";
-       public final String GUI_TOOLANDWEAPONCRAFTING_TEXTURE = "/pcc/chemicraft/guis/ToolAndWeaponCrafting.png";
-       public final String GUI_CHEMICALCRAFTING_TEXTURE = "/pcc/chemicraft/guis/MaterialCrafting.png";
-       public final String ENTITY_PARTICLE_TEXRURE = "/pcc/chemicraft/entityParticles/dust.png";
+       public ChemiCraftAPI api = ChemiCraftAPI.instance();
+       public static final ChemiCraftData chemicalData = new ChemiCraftData();
 
        /**
         *These Instances required on ChemiCraft.
@@ -167,208 +35,22 @@ public class ChemiCraft implements Runnable {
        public MathAuxiliary mathAuxiliary = new MathAuxiliary();
 
        /**
-        * API Instance and Data Instance.
-        */
-       public ChemiCraftAPI api = ChemiCraftAPI.instance();
-       public static final ChemiCraftData chemicalData = new ChemiCraftData();
-
-       /**
-        * this is Thread on ChemiCraft.
-        */
-       private Thread thread;
-
-       /**
-        * the Event Instance.
-        */
-       private FMLPostInitializationEvent event;
-
-       /**
-        * the Register Instances.
-        */
-       public ChemiCraftRegisterBlock registerBlock;
-       public ChemiCraftRegisterItem registerItem;
-       public ChemiCraftRegisterTileEntity registerTileEntity;
-       public ChemiCraftRegisterRecipe registerRecipe;
-       public ChemiCraftRegisterChemicalRecipe registerChemicalRecipe;
-       public ChemiCraftRegisterCompounds registerCompounds;
-       public ChemiCraftRegisterCompoundsHandler registerCompoundsHandler;
-       public ChemiCraftRegisterEntitys registerEntitys;
-
-       public ChemiCraft() {
-               this.registerBlock = new ChemiCraftRegisterBlock(this);
-               this.registerItem = new ChemiCraftRegisterItem(this);
-               this.registerTileEntity = new ChemiCraftRegisterTileEntity(this);
-               this.registerRecipe = new ChemiCraftRegisterRecipe(this);
-               this.registerChemicalRecipe = new ChemiCraftRegisterChemicalRecipe(this);
-               this.registerCompounds = new ChemiCraftRegisterCompounds(this);
-               this.registerCompoundsHandler = new ChemiCraftRegisterCompoundsHandler(this);
-               this.registerEntitys = new ChemiCraftRegisterEntitys(this);
-
-               //this.sinVisualizer  = new SinVisualizer();
-       }
-
-       /**
-        * PreInit:
-        * Configをロードします。
-        * @param event アノテーション呼び出しにより呼び出す必要なし
+        * this is Textures Path on ChemiCraft.
         */
-       @PreInit
-       public void chemiPreLoadMethod(final FMLPreInitializationEvent event) {
-               Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
-               cfg.load();
-
-               Property baseBlockID = cfg.get("BlockID", "Base of Block ID", 2400);
-               Property baseItemID = cfg.get("ItemID", "Base of Item ID", 25000);
-
-               ChemiCraftConfiguration ccfgBlock = new ChemiCraftConfiguration(baseBlockID.getInt());
-               ChemiCraftConfiguration ccfgItem = new ChemiCraftConfiguration(baseBlockID.getInt());
-
-               this.pyrolysisTableID = ccfgBlock.additionID();
-               this.electrolysisTableID = ccfgBlock.additionID();
-               this.chemicalConbinationTableID = ccfgBlock.additionID();
-               this.toolAndWeaponCraftingTableID = ccfgBlock.additionID();
-               this.chemicalCraftingTableID = ccfgBlock.additionID();
-               for (int i = 0; i < atomOresID.length; i++) {
-                       this.atomOresID[i] = ccfgBlock.additionID();
-               }
-
-               this.atomsID = ccfgItem.additionID();
-               this.compoundsID = ccfgItem.additionID();
-               this.gasCollectingBottleID = ccfgItem.additionID();
-               this.atomGrenadeID = ccfgItem.additionID();
-               this.chemicalCellsID = ccfgItem.additionID();
-               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);
-               Property guiChemicalCombinationTableIDProp = cfg.get("GUI", "GUIChemicalCombinationTableID", 1002);
-               Property guiToolAndWeaponCraftingTableIDProp = cfg.get("GUI", "GUIToolAndWeaponCraftingTableID", 1003);
-               Property guiChemicalCraftingTableIDProp = cfg.get("GUI", "GUIChemicalCraftingTableID", 1004);
-
-               this.guiPyrolysisTableID = guiPyrolysisTableIDProp.getInt();
-               this.guiElectrolysisTableID = guiElectrolysisTableIDProp.getInt();
-               this.guiChemicalCombinationTableID = guiChemicalCombinationTableIDProp.getInt();
-               this.guiToolAndWeaponCraftingTableID = guiToolAndWeaponCraftingTableIDProp.getInt();
-               this.guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();
-
-               cfg.save();
-       }
-
-
-
-       @ServerStarting
-       public void serverStarting(final FMLServerStartingEvent event) {
-               event.registerServerCommand(new CommandSetTile());
-               event.registerServerCommand(new CommandDeleteItem());
-               event.registerServerCommand(new CommandGenDebugRoom());
-       }
-
-
-
-       @PostInit
-       public void chemiPostLoadMethod(final FMLPostInitializationEvent event) {
-               this.thread = new Thread(this);
-               this.event = event;
-               this.thread.start();
-
-               try {
-                       this.thread.join();
-               } catch (InterruptedException e) {
-                       e.printStackTrace();
-               }
-
-               proxy.registerRenderInformation();
-               Thread.yield();
-       }
-
-
-
-       @Override
-       public void run() {
-               while (true) {
-                       if (proxy != null && instance != null) {
-                               this.settingProcessing(event);
-                               this.apiProcessing(event);
-                               this.debug(event);
-                               break;
-                       }
-               }
-       }
-
-
-
-       private void settingProcessing(final FMLPostInitializationEvent event) {
-
-               this.registerBlock.start();
-               this.registerItem.start();
-               this.registerTileEntity.start();
-               this.registerRecipe.start();
-               this.registerChemicalRecipe.start();
-               this.registerCompounds.start();
-               this.registerCompoundsHandler.start();
-               this.registerEntitys.start();
-
-               // GUIを追加します
-               NetworkRegistry.instance().registerGuiHandler(instance, proxy);
-
-               //電池を追加します
-               this.api.addChemicalCell(itemChemicalCells, "ChemicalCell", 1000);
-               this.api.addChemicalCellLanguage("ChemicalCell", "ja_JP", "化学電池");
-
-               this.api.addPyrolysisDecompositionFuel(new ItemStack(Item.coal), 2000*8);
-       }
-
-
-
-       private void apiProcessing(final FMLPostInitializationEvent event) {
-               // API用の処理
-               for (int i = 0; i < api.getAtomOresName().sizeKeysList(); i++)
-               {
-                       for (int j = 0; j < api.getAtomOresName().sizeElementsList(api.getAtomOresName().getKeyList(i)); j++)
-                       {
-                               this.nameAuxiliary.addName(new ItemStack(blockAtomOres[i / 16], 0, i - i / 16 * 16), api.getAtomOresLanguage().get(api.getAtomOresName().getKeyList(i), j), api.getAtomOresName().get(api.getAtomOresName().getKeyList(i), j));
-                               OreDictionary.registerOre("ore" + api.getAtomOresName().getKeyList(i), new ItemStack(blockAtomOres[i / 16], 1, i - i / 16 * 16));
-                       }
-               }
-
-               for (int i = 0; i < api.getAtomOres().size(); i++)
-               {
-                       GameRegistry.registerWorldGenerator(api.getAtomOres().get(i));
-               }
-
-               for (int i = 0; i < api.getChemicalCellsName().sizeKeysList(); i++)
-               {
-                       for (int j = 0; j < api.getChemicalCellsName().sizeElementsList(api.getChemicalCellsName().getKeyList(i)); j++)
-                       {
-                               this.nameAuxiliary.addName(new ItemStack(itemChemicalCells, 0, i), api.getChemicalCellsLanguage().get(api.getChemicalCellsName().getKeyList(i), j), api.getChemicalCellsName().get(api.getChemicalCellsName().getKeyList(i), j));
-                       }
-               }
-
-               for (int i = 0; i < api.getCompoundsName().sizeKeysList(); i++)
-               {
-                       for (int j = 0; j < api.getCompoundsName().sizeElementsList(api.getCompoundsName().getKeyList(i)); j++)
-                       {
-                               this.nameAuxiliary.addName(new ItemStack(itemCompounds, 0, i), api.getCompoundsLang().get(api.getCompoundsName().getKeyList(i), j), api.getCompoundsName().get(api.getCompoundsName().getKeyList(i), j));
-                       }
-               }
-
-       }
-
-
-
-       private void debug(final FMLPostInitializationEvent event) {
-               this.proxy.registerTickHandler();
-               this.api.addCompound("Debug");
-               this.api.settingCompoundHandler("Debug", new CompoundDebug());
-
-               this.api.addToolAndWeaponRecipe(new ItemStack[] {
-                               new ItemStack(Block.stone, 1, 1)
-               },
-               new ItemStack(Block.dirt, 1, 0));
-
-       }
-
-}
+       public static final String ITEM_ATOMS_TEXTURE = "/pcc/chemicraft/items/Atoms.png";
+       public static final String ITEM_COMPOUNDS_TEXTURE = "/pcc/chemicraft/items/Compounds.png";
+       public static final String ITEM_VEGETABLES_TEXTURE = "/pcc/chemicraft/items/Vegetables.png";
+       public static final String ITEM_TEXTURE = "/pcc/chemicraft/items/items.png";
+       public static final String BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE = "/pcc/chemicraft/blocks/cctable.png";
+       public static final String BLOCK_ATOMS_ORE_TEXTURE = "/pcc/chemicraft/blocks/AtomsOre.png";
+       public static final String BLOCK_VEGETABLES_TEXTURE = "/pcc/chemicraft/blocks/Vegetables.png";
+       public static final String GUI_PYROLYSIS_TEXTURE = "/pcc/chemicraft/guis/Pyrolysis.png";
+       public static final String GUI_ELECTROLYSIS_TEXTURE = "/pcc/chemicraft/guis/Electrolysis.png";
+       public static final String GUI_CHEMICALCOMBINATION_TEXTURE = "/pcc/chemicraft/guis/ChemicalCombination.png";
+       public static final String GUI_TOOLANDWEAPONCRAFTING_TEXTURE = "/pcc/chemicraft/guis/ToolAndWeaponCrafting.png";
+       public static final String GUI_CHEMICALCRAFTING_TEXTURE = "/pcc/chemicraft/guis/MaterialCrafting.png";
+       public static final String ENTITY_PARTICLE_TEXRURE = "/pcc/chemicraft/entityParticles/dust.png";
+
+       protected abstract void settingProcessing(final FMLPostInitializationEvent event);
+
+}
\ No newline at end of file
index abdb490..f923198 100644 (file)
@@ -1,12 +1,7 @@
 package pcc.chemicraft;
 
-public abstract class ChemiCraftRegister {
-
-       protected ChemiCraft mod;
 
-       public ChemiCraftRegister(ChemiCraft mod) {
-               this.mod = mod;
-       }
+public abstract class ChemiCraftRegister {
 
        public abstract void start();
 
diff --git a/common/pcc/chemicraft/ChemiCraftRegisterChemicalRecipe.java b/common/pcc/chemicraft/ChemiCraftRegisterChemicalRecipe.java
deleted file mode 100644 (file)
index dd6c9a2..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-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 ChemiCraftRegisterChemicalRecipe(ChemiCraft mod)
-       {
-               super(mod);
-       }
-
-       @Override
-       public void start()
-       {
-               // 元素入手手段
-
-               // 水素
-               // 水を分解。
-
-               // ヘリウム
-               // 未定。
-
-               // リチウム
-               this.mod.api.addAtomOres(
-                               "LithiumOre",
-                               new Formula("LiAlSi4O10"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // LiAlSi4O10
-               this.mod.api.addAtomOresLanguage("LithiumOre", "リチウム鉱石", "ja_JP");
-
-               // ベリリウム
-               this.mod.api.addAtomOres(
-                               "BerylliumOre",
-                               new Formula("Be3Al2Si6O18"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // Be3Al2Si6O18
-               this.mod.api.addAtomOresLanguage("BerylliumOre", "ベリリウム鉱石", "ja_JP");
-
-               // ホウ素
-               this.mod.api.addAtomOres(
-                               "BoronOre",
-                               new Formula("NaCaB5O6(OH)6・5H2O"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // NaCaB5O6(OH)6・5H2O
-               this.mod.api.addAtomOresLanguage("BoronOre", "ホウ素鉱石", "ja_JP");
-
-               // 炭素
-               this.mod.api.addPyrolysisDecompositionRecipe(
-                               new ItemStack(Block.oreCoal),
-                               new Integer[] { this.mod.chemicalData.CARBON },
-                               new Integer[] { 1 });
-
-               // フッ素
-               this.mod.api.addAtomOres(
-                               "FluorineOre",
-                               new Formula("CaF2"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // CaF2
-               this.mod.api.addAtomOresLanguage("FluorineOre", "フッ素鉱石", "ja_JP");
-
-               // ナトリウム
-               this.mod.api.addAtomOres(
-                               "SodiumOre",
-                               new Formula("NaCl"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // NaCl
-               this.mod.api.addAtomOresLanguage("SodiumOre", "ナトリウム鉱石", "ja_JP");
-
-               // マグネシウム
-               this.mod.api.addAtomOres(
-                               "MagnesiumOre",
-                               new Formula("CaMg(CO3)2"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // CaMg(CO3)2
-               this.mod.api.addAtomOresLanguage("MagnesiumOre", "マグネシウム鉱石", "ja_JP");
-
-               // アルミニウム
-               this.mod.api.addAtomOres(
-                               "AluminiumOre",
-                               new Formula("Al(OH)3"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // Al(OH)3
-               this.mod.api.addAtomOresLanguage("AluminiumOre", "アルミニウム鉱石", "ja_JP");
-
-               // ケイ素
-               // 1.5まで保留。
-
-               // リン
-               this.mod.api.addAtomOres(
-                               "PhosphorusOre",
-                               new Formula("Ca5(PO4)3F"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // Ca5(PO4)3F
-               this.mod.api.addAtomOresLanguage("PhosphorusOre", "リン鉱石", "ja_JP");
-
-               // 硫黄
-               this.mod.api.addAtomOres(
-                               "SulfurOre",
-                               new Formula("S"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // S
-               this.mod.api.addAtomOresLanguage("SulfurOre", "硫黄鉱石", "ja_JP");
-
-               // カリウム
-               this.mod.api.addAtomOres(
-                               "PotassiumOre",
-                               new Formula("KCl"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // KCl
-               this.mod.api.addAtomOresLanguage("PotassiumOre", "カリウム鉱石", "ja_JP");
-
-               // カルシウム
-               this.mod.api.addAtomOres(
-                               "CalciumOre",
-                               new Formula("CaCO3"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // CaCO3
-               this.mod.api.addAtomOresLanguage("CalciumOre", "カルシウム鉱石", "ja_JP");
-
-               // スカンジウム
-               this.mod.api.addAtomOres(
-                               "ScandiumOre",
-                               new Formula("Sc2Si2O7"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // (Sc,Y)2Si2O7
-               this.mod.api.addAtomOresLanguage("ScandiumOre", "スカンジウム鉱石", "ja_JP");
-
-               // チタン
-               this.mod.api.addAtomOres(
-                               "TitaniumOre",
-                               new Formula("TiO2"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // TiO2
-               this.mod.api.addAtomOresLanguage("TitaniumOre", "チタン鉱石", "ja_JP");
-
-               // バナジウム
-               this.mod.api.addAtomOres(
-                               "VanadiumOre",
-                               new Formula("K2(UO2)2V2O8・3H2O"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               // K2(UO2)2V2O8・3H2O
-               this.mod.api.addAtomOresLanguage("VanadiumOre", "バナジウム鉱石", "ja_JP");
-
-               // クロム
-               this.mod.api.addAtomOres(
-                               "Chromium",
-                               new Formula("FeCr2O4"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.api.addAtomOresLanguage("Chromium", "クロム鉱石", "ja_JP");
-               // FeCr2O4
-
-               // マンガン
-               this.mod.api.addAtomOres(
-                               "ManganeseOre",
-                               new Formula("MnO2"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.api.addAtomOresLanguage("ManganeseOre", "マンガン鉱石", "ja_JP");
-               // MnO2
-
-               // コバルト
-               this.mod.api.addAtomOres(
-                               "CobaltOre",
-                               new Formula("CoAsS"),
-                               this.mod.atomOresID[this.mod.api.getAtomOresLastIndex()],
-                               EnumOreSpawnFrequency.NORMAL);
-               this.mod.api.addAtomOresLanguage("CobaltOre", "コバルト鉱石", "ja_JP");
-               // CoAsS
-
-               // ニッケル
-               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
-
-       }
-
-}
diff --git a/common/pcc/chemicraft/ChemiCraftRegisterItem.java b/common/pcc/chemicraft/ChemiCraftRegisterItem.java
deleted file mode 100644 (file)
index 7fda75c..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-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 {
-
-       public ChemiCraftRegisterItem(ChemiCraft mod) {
-               super(mod);
-       }
-
-       @Override
-       public void start() {
-               /*
-                * 代入
-                */
-               this.mod.itemAtoms = new ItemAtoms(this.mod.atomsID).setItemName("atoms");
-               this.mod.itemCompounds = new ItemCompounds(this.mod.compoundsID).setItemName("compounds");
-               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(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に登録
-                */
-               this.mod.nameAuxiliary.addName(this.mod.itemAtoms, ChemiCraft.ATOMSNAME);
-               this.mod.nameAuxiliary.addName(this.mod.itemAtoms, "ja_JP", ChemiCraft.ATOMSNAMEJP);
-               this.mod.nameAuxiliary.addName(this.mod.itemGasCollectingBottle, "GasCollectingBottle");
-               this.mod.nameAuxiliary.addName(this.mod.itemGasCollectingBottle, "ja_JP", "集気瓶");
-               this.mod.nameAuxiliary.addName(this.mod.itemAtomGrenade, "AtomGrenade");
-               this.mod.nameAuxiliary.addName(this.mod.itemAtomGrenade, "ja_JP", "元素手榴弾");
-               this.mod.nameAuxiliary.addName(this.mod.itemDust, "dust");
-               this.mod.nameAuxiliary.addName(this.mod.itemDust, "ja_JP", "粉塵");
-               this.mod.nameAuxiliary.addName(this.mod.itemRadiationGun, "RadiationGun");
-               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",  "梨");
-       }
-
-}
diff --git a/common/pcc/chemicraft/ChemiCraftRegisterRecipe.java b/common/pcc/chemicraft/ChemiCraftRegisterRecipe.java
deleted file mode 100644 (file)
index 5f27d44..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-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;
-
-public class ChemiCraftRegisterRecipe extends ChemiCraftRegister {
-
-       public ChemiCraftRegisterRecipe(ChemiCraft mod) {
-               super(mod);
-       }
-
-       @Override
-       public void start() {
-
-               /*
-                * 科学作業台のレシピ
-                */
-               GameRegistry.addRecipe(new ItemStack(this.mod.blockPyrolysisTable),
-                               new Object[]{
-                       "XYX", "ZAZ", "ZZZ",
-                       Character.valueOf('X'), new ItemStack(Item.ingotIron),
-                       Character.valueOf('Y'), new ItemStack(Block.workbench),
-                       Character.valueOf('Z'), new ItemStack(Block.stone),
-                       Character.valueOf('A'), new ItemStack(Item.bucketLava),
-               });
-
-               GameRegistry.addRecipe(new ItemStack(this.mod.blockChemicalCombinationTable),
-                               new Object[]{
-                       "XYX", "ZAZ", "ZZZ",
-                       Character.valueOf('X'), new ItemStack(Item.ingotIron),
-                       Character.valueOf('Y'), new ItemStack(Block.workbench),
-                       Character.valueOf('Z'), new ItemStack(Block.stone),
-                       Character.valueOf('A'), new ItemStack(Block.obsidian),
-               });
-
-               GameRegistry.addRecipe(new ItemStack(this.mod.blockToolAndWeaponCraftingTable),
-                               new Object[]{
-                       "XYX", "ZAZ", "ZZZ",
-                       Character.valueOf('X'), new ItemStack(Item.ingotIron),
-                       Character.valueOf('Y'), new ItemStack(Block.workbench),
-                       Character.valueOf('Z'), new ItemStack(Block.stone),
-                       Character.valueOf('A'), new ItemStack(Item.pickaxeSteel),
-               });
-
-               GameRegistry.addRecipe(new ItemStack(this.mod.blockChemicalCraftingTable),
-                               new Object[]{
-                       "XYX", "ZAZ", "ZZZ",
-                       Character.valueOf('X'), new ItemStack(Item.ingotIron),
-                       Character.valueOf('Y'), new ItemStack(Block.workbench),
-                       Character.valueOf('Z'), new ItemStack(Block.stone),
-                       Character.valueOf('A'), new ItemStack(this.mod.itemAtoms, 1, 0),
-               });
-
-               /*
-                * 化合物のレシピ
-                */
-               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"));
-
-               /*
-                * 素材制作代のレシピ
-                */
-
-               //化学電池の追加
-               this.mod.api.addMaterialRecipe(new ItemStack[] {
-                               null,
-                               null,
-                               null,
-                               new ItemStack(this.mod.itemAtoms, 1, this.mod.chemicalData.ZINC),
-                               null,
-                               new ItemStack(this.mod.itemAtoms, 1, this.mod.chemicalData.COPPER),
-                               new ItemStack(Item.bucketWater),
-                               new ItemStack(Item.bucketWater),
-                               new ItemStack(Item.bucketWater),
-               },
-               new ItemStack(this.mod.itemChemicalCells, 1, 0),
-               null);
-
-               //手榴弾の追加
-               this.mod.api.addMaterialRecipe(new ItemStack[] {
-                               null,
-                               new ItemStack(Block.stone),
-                               null,
-                               new ItemStack(Block.stone),
-                               new ItemStack(Item.gunpowder),
-                               new ItemStack(Block.stone),
-                               null,
-                               new ItemStack(Block.stone),
-                               null
-               },
-               new ItemStack(this.mod.itemAtomGrenade, 16, 0),
-               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
-                               );
-
-               /*
-                * 熱分解台のレシピ
-                */
-               this.mod.api.addPyrolysisDecompositionRecipe(new ItemStack(Item.potion, 1, 0),
-                               new Integer[] {ChemiCraftData.HYDROGEN, this.mod.chemicalData.OXYGEN},
-                               new Integer[] {2, 1});
-
-               this.mod.api.addPyrolysisDecompositionRecipe(new ItemStack(this.mod.itemCompounds, 1, this.mod.api.getCompound("Water")),
-                               new Integer[] {ChemiCraftData.HYDROGEN, this.mod.chemicalData.OXYGEN},
-                               new Integer[] {2, 1});
-
-               for (int i = 0; i < this.mod.api.getAtomOresName().sizeKeysList(); i++){
-                       this.mod.api.addPyrolysisDecompositionRecipe(new ItemStack(this.mod.blockAtomOres[i / 16], 1, i - i / 16 * 16),
-                                       this.mod.api.getAtomOresAtoms().get(this.mod.api.getAtomOresName().getKeyList(i)),
-                                       this.mod.api.getAtomOresAmounts().get(this.mod.api.getAtomOresName().getKeyList(i)));
-               }
-
-
-       }
-
-}
diff --git a/common/pcc/chemicraft/base/ChemiCraftBase.java b/common/pcc/chemicraft/base/ChemiCraftBase.java
new file mode 100644 (file)
index 0000000..ba09c77
--- /dev/null
@@ -0,0 +1,186 @@
+package pcc.chemicraft.base;
+
+import net.minecraft.block.Block;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.Configuration;
+import net.minecraftforge.common.Property;
+import net.minecraftforge.oredict.OreDictionary;
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.ChemiCraftConfiguration;
+import pcc.chemicraft.ChemiCraftRegister;
+import pcc.chemicraft.base.creativetab.CreativeTabAtomOres;
+import pcc.chemicraft.base.system.CommonProxy;
+import pcc.chemicraft.base.system.PacketHandler;
+import pcc.chemicraft.core.ChemiCraftAPI;
+import cpw.mods.fml.common.Mod;
+import cpw.mods.fml.common.Mod.Instance;
+import cpw.mods.fml.common.Mod.PostInit;
+import cpw.mods.fml.common.Mod.PreInit;
+import cpw.mods.fml.common.SidedProxy;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import cpw.mods.fml.common.network.NetworkMod;
+
+@Mod(modid = "ChemiCraftBase", name = "ChemiCraftBase", version = "beta")
+@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.4.6", channels = "chemicraftbase", packetHandler = PacketHandler.class)
+public class ChemiCraftBase extends ChemiCraft
+{
+
+       /**
+        * this is ChemiCraft instance.
+        */
+       @Instance("ChemiCraftBase")
+       public static ChemiCraftBase instance;
+
+       /**
+        * proxy of ChemiCraft.
+        */
+       @SidedProxy(clientSide = "pcc.chemicraft.base.client.ClientProxy", serverSide = "pcc.chemicraft.base.system.CommonProxy")
+       public static CommonProxy proxy;
+
+       /**
+        * API Instance.
+        */
+       public ChemiCraftAPI api = ChemiCraftAPI.instance();
+       public ChemiCraftBaseAPI apiBase = ChemiCraftBaseAPI.instance();
+
+       /**
+        * CreativeTab of ChemiCraft.
+        */
+       public static final CreativeTabs creativeTabAtomsOre = new CreativeTabAtomOres("AtomsOre");
+
+       /**
+        * the ItemID.
+        */
+       public int atomGrenadeID;
+       public int blackSmokeID;
+       public int dustID;
+       public int radiationGunID;
+       public int radiationBalletID;
+
+       /**
+        * the BlockID.
+        */
+       public int[] atomOresID = new int[3];
+
+       /**
+        * Variables of Block type.
+        */
+       public Block[] blockAtomOres = new Block[atomOresID.length];
+
+       /**
+        * Variables of Item type.
+        */
+       public Item itemAtomGrenade;
+       public Item itemBlackSmoke;
+       public Item itemDust;
+       public Item itemRadiationGun;
+       public Item itemRadiationBallet;
+
+       /**
+        * the Register Instances.
+        */
+       public ChemiCraftRegister registerCompounds;
+       public ChemiCraftRegister registerCompoundsHandler;
+       public ChemiCraftRegister registerItem;
+       public ChemiCraftRegister registerChemicalRecipe;
+       public ChemiCraftRegister registerBlock;
+       public ChemiCraftRegister registerRecipe;
+       public ChemiCraftRegister registerEntitys;
+
+       public ChemiCraftBase()
+       {
+               this.registerCompounds = new ChemiCraftRegisterCompounds(this);
+               this.registerCompoundsHandler = new ChemiCraftRegisterCompoundsHandler(this);
+               this.registerItem = new ChemiCraftRegisterItem(this);
+               this.registerChemicalRecipe = new ChemiCraftRegisterChemicalRecipe(this);
+               this.registerBlock = new ChemiCraftRegisterBlock(this);
+               this.registerRecipe = new ChemiCraftRegisterBaseRecipe(this);
+               this.registerEntitys = new ChemiCraftRegisterEntitys(this);
+       }
+
+       @PostInit
+       public void chemiPostLoadMethod(final FMLPostInitializationEvent event) {
+               this.thread = new Thread(this);
+               this.event = event;
+               this.thread.start();
+
+               try {
+                       this.thread.join();
+               } catch (InterruptedException e) {
+                       e.printStackTrace();
+               }
+
+               proxy.registerRenderInformation();
+               Thread.yield();
+       }
+
+       @Override
+       public void run()
+       {
+               while (true) {
+                       if (proxy != null && instance != null) {
+                               this.settingProcessing(event);
+                               this.apiProcessing(event);
+                               break;
+                       }
+               }
+       }
+
+       /**
+        * PreInit:
+        * Configをロードします。
+        * @param event アノテーション呼び出しにより呼び出す必要なし
+        */
+       @PreInit
+       public void chemiPreLoadMethod(final FMLPreInitializationEvent event) {
+               Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
+               cfg.load();
+
+               Property baseBlockID = cfg.get("BlockID", "Base of Block ID", 2900);
+               Property baseItemID = cfg.get("ItemID", "Base of Item ID", 25500);
+
+               ChemiCraftConfiguration ccfgBlock = new ChemiCraftConfiguration(baseBlockID.getInt());
+               ChemiCraftConfiguration ccfgItem = new ChemiCraftConfiguration(baseBlockID.getInt());
+
+               for (int i = 0; i < atomOresID.length; i++) {
+                       this.atomOresID[i] = ccfgBlock.additionID();
+               }
+
+               this.atomGrenadeID = ccfgItem.additionID();
+               this.dustID = ccfgItem.additionID();
+               this.radiationGunID = ccfgItem.additionID();
+               this.radiationBalletID = ccfgItem.additionID();
+               this.blackSmokeID = ccfgItem.additionID();
+
+               cfg.save();
+       }
+
+       @Override
+       protected void settingProcessing(FMLPostInitializationEvent event)
+       {
+               this.registerCompounds.start();
+               this.registerCompoundsHandler.start();
+               this.registerItem.start();
+               this.registerBlock.start();
+               this.registerChemicalRecipe.start();
+               this.registerRecipe.start();
+               this.registerEntitys.start();
+       }
+
+       private void apiProcessing(final FMLPostInitializationEvent event) {
+               // API用の処理
+               for (int i = 0; i < apiBase.getAtomOresName().sizeKeysList(); i++)
+               {
+                       for (int j = 0; j < apiBase.getAtomOresName().sizeElementsList(apiBase.getAtomOresName().getKeyList(i)); j++)
+                       {
+                               this.nameAuxiliary.addName(new ItemStack(blockAtomOres[i / 16], 0, i - i / 16 * 16), apiBase.getAtomOresLanguage().get(apiBase.getAtomOresName().getKeyList(i), j), apiBase.getAtomOresName().get(apiBase.getAtomOresName().getKeyList(i), j));
+                               OreDictionary.registerOre("ore" + apiBase.getAtomOresName().getKeyList(i), new ItemStack(blockAtomOres[i / 16], 1, i - i / 16 * 16));
+                       }
+               }
+
+       }
+
+}
diff --git a/common/pcc/chemicraft/base/ChemiCraftBaseAPI.java b/common/pcc/chemicraft/base/ChemiCraftBaseAPI.java
new file mode 100644 (file)
index 0000000..06d613d
--- /dev/null
@@ -0,0 +1,131 @@
+package pcc.chemicraft.base;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import pcc.chemicraft.base.gen.EnumOreSpawnFrequency;
+import pcc.chemicraft.base.gen.WorldGenAtomsOre;
+import pcc.chemicraft.util.Formula;
+import pcc.chemicraft.util.ListHash;
+
+public class ChemiCraftBaseAPI
+{
+
+       private static ChemiCraftBaseAPI instance = new ChemiCraftBaseAPI();
+
+
+       public static ChemiCraftBaseAPI instance(){
+               return instance;
+       }
+
+       /**
+        * 鉱石別元素数リスト
+        */
+       private HashMap<String, Formula> atomOresFormulasHash = new HashMap<String, Formula>();
+
+
+       /**
+        * 鉱石の言語リスト
+        */
+       private ListHash<String, String> atomOresLangListHash = new ListHash<String, String>();
+
+
+       /**
+        * 鉱石リスト
+        */
+       private ArrayList<WorldGenAtomsOre> atomOresList = new ArrayList<WorldGenAtomsOre>();
+
+
+       /**
+        * 鉱石名リスト
+        */
+       private ListHash<String, String> atomOresNameListHash = new ListHash<String, String>();
+
+
+
+       /**
+        * 鉱石を追加します。
+        * @param par1Name
+        * @param par2Formula
+        * @param par3Id
+        * @param par4Size
+        * @param par5Frequency
+        * @param par6PosY
+        */
+       public void addAtomOres(String par1Name, Formula par2Formula, int par3Id, int par4Size, int par5Frequency, int par6PosY){
+               atomOresList.add(
+                               new WorldGenAtomsOre(
+                                               par3Id,
+                                               getAtomOresMetaOfLastIndex(),
+                                               par4Size,
+                                               par5Frequency,
+                                               par6PosY));
+               atomOresFormulasHash.put(par1Name, par2Formula);
+               addAtomOresLanguage(par1Name, par1Name, "en_US");
+       }
+
+
+
+       public void addAtomOres(String par1Name, Formula par2Formula, int par3Id, EnumOreSpawnFrequency par4Enum){
+               addAtomOres(
+                               par1Name,
+                               par2Formula,
+                               par3Id,
+                               par4Enum.getSize(),
+                               par4Enum.getFrequency(),
+                               par4Enum.getPosY()
+                               );
+       }
+
+
+
+       /**
+        * 既に登録した鉱石の新しい名前・言語を追加します
+        * @param par1Name 英語名
+        * @param par2NewName 新しい名前
+        * @param par3Language 言語
+        */
+       public void addAtomOresLanguage(String par1Name, String par2NewName, String par3Language){
+               atomOresNameListHash.add(par1Name,
+                               par2NewName);
+               atomOresLangListHash.add(par1Name,
+                               par3Language);
+       }
+
+
+
+       //以下システム関連//////////////////////////////////////////////////////
+
+       public ArrayList<WorldGenAtomsOre> getAtomOres(){
+               return atomOresList;
+       }
+
+       public HashMap<String, Formula> getAtomOresFormulas(){
+               return atomOresFormulasHash;
+       }
+
+
+
+       public ListHash<String, String> getAtomOresLanguage(){
+               return atomOresLangListHash;
+       }
+
+
+
+       public int getAtomOresLastIndex(){
+               return atomOresNameListHash.sizeKeysList() / 16;
+       }
+
+
+
+       public int getAtomOresMetaOfLastIndex(){
+               return atomOresNameListHash.sizeKeysList() - getAtomOresLastIndex() * 16;
+       }
+
+
+
+       public ListHash<String, String> getAtomOresName(){
+               return atomOresNameListHash;
+       }
+
+}
diff --git a/common/pcc/chemicraft/base/ChemiCraftBaseRegister.java b/common/pcc/chemicraft/base/ChemiCraftBaseRegister.java
new file mode 100644 (file)
index 0000000..461d91e
--- /dev/null
@@ -0,0 +1,14 @@
+package pcc.chemicraft.base;
+
+import pcc.chemicraft.ChemiCraftRegister;
+
+public abstract class ChemiCraftBaseRegister extends ChemiCraftRegister
+{
+       protected ChemiCraftBase mod;
+
+       public ChemiCraftBaseRegister(ChemiCraftBase mod)
+       {
+               this.mod = mod;
+       }
+
+}
diff --git a/common/pcc/chemicraft/base/ChemiCraftRegisterBaseRecipe.java b/common/pcc/chemicraft/base/ChemiCraftRegisterBaseRecipe.java
new file mode 100644 (file)
index 0000000..491daa6
--- /dev/null
@@ -0,0 +1,83 @@
+package pcc.chemicraft.base;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.oredict.OreDictionary;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.util.Formula;
+import pcc.chemicraft.util.NBTRecipeGrenade;
+
+public class ChemiCraftRegisterBaseRecipe extends ChemiCraftBaseRegister {
+
+       public ChemiCraftRegisterBaseRecipe(ChemiCraftBase mod) {
+               super(mod);
+       }
+
+       @Override
+       public void start() {
+
+               /*
+                * 化合物のレシピ
+                */
+               this.mod.api.addChemicalCombinationRecipe(new ItemStack(ChemiCraftCore.instance.itemCompounds, 1, this.mod.api.getCompound("SodiumChloride")), new Formula("NaOH"));
+               this.mod.api.addChemicalCombinationRecipe(new ItemStack(ChemiCraftCore.instance.itemCompounds, 1, this.mod.api.getCompound("ChlorousAcid")), new Formula("HO2Cl"));
+
+               /*
+                * 既存物のレシピ
+                */
+               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.addPyrolysisDecompositionRecipe(new ItemStack(Item.coal), new Formula("C"));
+               this.mod.api.addPyrolysisDecompositionRecipe(new ItemStack(Block.oreCoal), new Formula("C"));
+               this.mod.api.addElectrolysisDecompositionRecipe(new ItemStack(Item.bucketWater), new Formula("H2O"));
+               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"));
+
+               /*
+                * 他Mod使用時レシピ
+                */
+               this.mod.api.addPyrolysisDecompositionRecipe(
+                               OreDictionary.getOres("oreCopper"), new Formula("Cu"));
+
+               /*
+                * 素材制作代のレシピ
+                */
+
+               //手榴弾の追加
+               this.mod.api.addMaterialRecipe(new ItemStack[] {
+                               null,
+                               new ItemStack(Block.stone),
+                               null,
+                               new ItemStack(Block.stone),
+                               new ItemStack(Item.gunpowder),
+                               new ItemStack(Block.stone),
+                               null,
+                               new ItemStack(Block.stone),
+                               null
+               },
+               new ItemStack(this.mod.itemAtomGrenade, 16, 0),
+               new NBTRecipeGrenade()
+                               );
+
+               /*
+                * 熱分解台のレシピ
+                */
+               this.mod.api.addElectrolysisDecompositionRecipe(new ItemStack(Item.potion, 1, 0), new Formula("H2O"));
+
+               this.mod.api.addElectrolysisDecompositionRecipe(new ItemStack(ChemiCraftCore.instance.itemCompounds, 1, this.mod.api.getCompound("Water")),
+                               new Formula("H2O"));
+
+               for (int i = 0; i < this.mod.apiBase.getAtomOresName().sizeKeysList(); i++){
+                       this.mod.api.addPyrolysisDecompositionRecipe(new ItemStack(this.mod.blockAtomOres[i / 16], 1, i - i / 16 * 16),
+                                       this.mod.apiBase.getAtomOresFormulas().get(this.mod.apiBase.getAtomOresName().getKeyList(i)));
+               }
+
+
+       }
+
+}
diff --git a/common/pcc/chemicraft/base/ChemiCraftRegisterBlock.java b/common/pcc/chemicraft/base/ChemiCraftRegisterBlock.java
new file mode 100644 (file)
index 0000000..69315f1
--- /dev/null
@@ -0,0 +1,44 @@
+package pcc.chemicraft.base;
+
+import net.minecraft.block.Block;
+import net.minecraftforge.common.MinecraftForge;
+import pcc.chemicraft.base.ore.BlockAtomOres;
+import pcc.chemicraft.base.ore.ItemAtomOres;
+import cpw.mods.fml.common.registry.GameRegistry;
+
+public class ChemiCraftRegisterBlock extends ChemiCraftBaseRegister {
+
+       public ChemiCraftRegisterBlock(ChemiCraftBase mod) {
+               super(mod);
+       }
+
+       @Override
+       public void start() {
+
+               /*
+                * 変数に代入
+                */
+               for (int i = 0; i < this.mod.blockAtomOres.length; i++)
+               {
+                       this.mod.blockAtomOres[i] = new BlockAtomOres(this.mod.atomOresID[i]).
+                                       setHardness(3.0F).
+                                       setResistance(0.0F).
+                                       setStepSound(Block.soundStoneFootstep).
+                                       setBlockName("AtomsOre" + i);
+                       GameRegistry.registerBlock(this.mod.blockAtomOres[i], ItemAtomOres.class, "AtomsOre" + i);
+                       MinecraftForge.setBlockHarvestLevel(this.mod.blockAtomOres[i], "pickaxe", 2);
+               }
+
+               /*
+                * Minecraftに登録
+                */
+               
+
+               /*
+                * 名前登録
+                */
+               
+
+       }
+
+}
diff --git a/common/pcc/chemicraft/base/ChemiCraftRegisterChemicalRecipe.java b/common/pcc/chemicraft/base/ChemiCraftRegisterChemicalRecipe.java
new file mode 100644 (file)
index 0000000..b459e1d
--- /dev/null
@@ -0,0 +1,243 @@
+package pcc.chemicraft.base;
+
+import pcc.chemicraft.base.gen.EnumOreSpawnFrequency;
+import pcc.chemicraft.util.Formula;
+
+public class ChemiCraftRegisterChemicalRecipe extends ChemiCraftBaseRegister
+{
+
+       public ChemiCraftRegisterChemicalRecipe(ChemiCraftBase mod)
+       {
+               super(mod);
+       }
+
+       @Override
+       public void start()
+       {
+               // 元素入手手段
+
+               // 水素
+               // 水を分解。
+
+               // ヘリウム
+               // 未定。
+
+               // リチウム
+               this.mod.apiBase.addAtomOres(
+                               "LithiumOre",
+                               new Formula("LiAlSi4O10"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // LiAlSi4O10
+               this.mod.apiBase.addAtomOresLanguage("LithiumOre", "リチウム鉱石", "ja_JP");
+
+               // ベリリウム
+               this.mod.apiBase.addAtomOres(
+                               "BerylliumOre",
+                               new Formula("Be3Al2Si6O18"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // Be3Al2Si6O18
+               this.mod.apiBase.addAtomOresLanguage("BerylliumOre", "ベリリウム鉱石", "ja_JP");
+
+               // ホウ素
+               this.mod.apiBase.addAtomOres(
+                               "BoronOre",
+                               new Formula("NaCaB5O6(OH)6・5H2O"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // NaCaB5O6(OH)6・5H2O
+               this.mod.apiBase.addAtomOresLanguage("BoronOre", "ホウ素鉱石", "ja_JP");
+
+               // 炭素
+               // 石炭or石炭鉱石を熱分解。
+
+               // フッ素
+               this.mod.apiBase.addAtomOres(
+                               "FluorineOre",
+                               new Formula("CaF2"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // CaF2
+               this.mod.apiBase.addAtomOresLanguage("FluorineOre", "フッ素鉱石", "ja_JP");
+
+               // ナトリウム
+               this.mod.apiBase.addAtomOres(
+                               "SodiumOre",
+                               new Formula("NaCl"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // NaCl
+               this.mod.apiBase.addAtomOresLanguage("SodiumOre", "ナトリウム鉱石", "ja_JP");
+
+               // マグネシウム
+               this.mod.apiBase.addAtomOres(
+                               "MagnesiumOre",
+                               new Formula("CaMg(CO3)2"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // CaMg(CO3)2
+               this.mod.apiBase.addAtomOresLanguage("MagnesiumOre", "マグネシウム鉱石", "ja_JP");
+
+               // アルミニウム
+               this.mod.apiBase.addAtomOres(
+                               "AluminiumOre",
+                               new Formula("Al(OH)3"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // Al(OH)3
+               this.mod.apiBase.addAtomOresLanguage("AluminiumOre", "アルミニウム鉱石", "ja_JP");
+
+               // ケイ素
+               // 1.5まで保留。
+
+               // リン
+               this.mod.apiBase.addAtomOres(
+                               "PhosphorusOre",
+                               new Formula("Ca5(PO4)3F"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // Ca5(PO4)3F
+               this.mod.apiBase.addAtomOresLanguage("PhosphorusOre", "リン鉱石", "ja_JP");
+
+               // 硫黄
+               this.mod.apiBase.addAtomOres(
+                               "SulfurOre",
+                               new Formula("S"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // S
+               this.mod.apiBase.addAtomOresLanguage("SulfurOre", "硫黄鉱石", "ja_JP");
+
+               // カリウム
+               this.mod.apiBase.addAtomOres(
+                               "PotassiumOre",
+                               new Formula("KCl"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // KCl
+               this.mod.apiBase.addAtomOresLanguage("PotassiumOre", "カリウム鉱石", "ja_JP");
+
+               // カルシウム
+               this.mod.apiBase.addAtomOres(
+                               "CalciumOre",
+                               new Formula("CaCO3"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // CaCO3
+               this.mod.apiBase.addAtomOresLanguage("CalciumOre", "カルシウム鉱石", "ja_JP");
+
+               // スカンジウム
+               this.mod.apiBase.addAtomOres(
+                               "ScandiumOre",
+                               new Formula("Sc2Si2O7"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // (Sc,Y)2Si2O7
+               this.mod.apiBase.addAtomOresLanguage("ScandiumOre", "スカンジウム鉱石", "ja_JP");
+
+               // チタン
+               this.mod.apiBase.addAtomOres(
+                               "TitaniumOre",
+                               new Formula("TiO2"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // TiO2
+               this.mod.apiBase.addAtomOresLanguage("TitaniumOre", "チタン鉱石", "ja_JP");
+
+               // バナジウム
+               this.mod.apiBase.addAtomOres(
+                               "VanadiumOre",
+                               new Formula("K2(UO2)2V2O8・3H2O"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // K2(UO2)2V2O8・3H2O
+               this.mod.apiBase.addAtomOresLanguage("VanadiumOre", "バナジウム鉱石", "ja_JP");
+
+               // クロム
+               this.mod.apiBase.addAtomOres(
+                               "Chromium",
+                               new Formula("FeCr2O4"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.apiBase.addAtomOresLanguage("Chromium", "クロム鉱石", "ja_JP");
+               // FeCr2O4
+
+               // マンガン
+               this.mod.apiBase.addAtomOres(
+                               "ManganeseOre",
+                               new Formula("MnO2"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.apiBase.addAtomOresLanguage("ManganeseOre", "マンガン鉱石", "ja_JP");
+               // MnO2
+
+               // コバルト
+               this.mod.apiBase.addAtomOres(
+                               "CobaltOre",
+                               new Formula("CoAsS"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.apiBase.addAtomOresLanguage("CobaltOre", "コバルト鉱石", "ja_JP");
+               // CoAsS
+
+               // ニッケル
+               this.mod.apiBase.addAtomOres(
+                               "NickelOre",
+                               new Formula("Ni3Si2O5(OH)4"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               // (Ni,Mg)3Si2O5(OH)4
+               this.mod.apiBase.addAtomOresLanguage("NickelOre", "ニッケル鉱石", "ja_JP");
+
+               // 銅
+               // IC2で入手
+
+               // 亜鉛
+               this.mod.apiBase.addAtomOres(
+                               "ZincOre",
+                               new Formula("ZnS"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.apiBase.addAtomOresLanguage("ZincOre", "亜鉛鉱石", "ja_JP");
+               // (Zn,Fe)S
+
+               // ガリウム
+               this.mod.apiBase.addAtomOres(
+                               "Gallium",
+                               new Formula("Ga"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.apiBase.addAtomOresLanguage("Gallium", "ガリウム鉱石", "ja_JP");
+               // Ga
+
+               // ゲルマニウム
+               this.mod.apiBase.addAtomOres(
+                               "GermaniumOre",
+                               new Formula("Ge"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.apiBase.addAtomOresLanguage("GermaniumOre", "ゲルマニウム鉱石", "ja_JP");
+               // Ge
+
+               // ヒ素
+               this.mod.apiBase.addAtomOres(
+                               "ArsenicOre",
+                               new Formula("As2S3"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.apiBase.addAtomOresLanguage("ArsenicOre", "ヒ素鉱石", "ja_JP");
+               // As2S3
+
+               // ルビジウム
+               this.mod.apiBase.addAtomOres(
+                               "RubidiumOre",
+                               new Formula("Rb"),
+                               this.mod.atomOresID[this.mod.apiBase.getAtomOresLastIndex()],
+                               EnumOreSpawnFrequency.NORMAL);
+               this.mod.apiBase.addAtomOresLanguage("RubidiumOre", "ルビジウム鉱石", "ja_JP");
+               // Rb
+
+       }
+
+}
@@ -1,8 +1,10 @@
-package pcc.chemicraft;
+package pcc.chemicraft.base;
 
-public class ChemiCraftRegisterCompounds extends ChemiCraftRegister {
 
-       public ChemiCraftRegisterCompounds(ChemiCraft mod) {
+
+public class ChemiCraftRegisterCompounds extends ChemiCraftBaseRegister {
+
+       public ChemiCraftRegisterCompounds(ChemiCraftBase mod) {
                super(mod);
        }
 
@@ -1,10 +1,10 @@
-package pcc.chemicraft;
+package pcc.chemicraft.base;
 
-import pcc.chemicraft.compounds.CompoundWater;
+import pcc.chemicraft.base.compounds.CompoundWater;
 
-public class ChemiCraftRegisterCompoundsHandler extends ChemiCraftRegister {
+public class ChemiCraftRegisterCompoundsHandler extends ChemiCraftBaseRegister {
 
-       public ChemiCraftRegisterCompoundsHandler(ChemiCraft mod) {
+       public ChemiCraftRegisterCompoundsHandler(ChemiCraftBase mod) {
                super(mod);
        }
 
@@ -1,13 +1,13 @@
-package pcc.chemicraft;
+package pcc.chemicraft.base;
 
 import net.minecraft.src.ModLoader;
-import pcc.chemicraft.entity.EntityDust;
+import pcc.chemicraft.base.entity.EntityDust;
 import cpw.mods.fml.common.registry.EntityRegistry;
 import cpw.mods.fml.common.registry.LanguageRegistry;
 
-public class ChemiCraftRegisterEntitys extends ChemiCraftRegister {
+public class ChemiCraftRegisterEntitys extends ChemiCraftBaseRegister {
 
-       public ChemiCraftRegisterEntitys(ChemiCraft mod) {
+       public ChemiCraftRegisterEntitys(ChemiCraftBase mod) {
                super(mod);
        }
 
diff --git a/common/pcc/chemicraft/base/ChemiCraftRegisterItem.java b/common/pcc/chemicraft/base/ChemiCraftRegisterItem.java
new file mode 100644 (file)
index 0000000..2982592
--- /dev/null
@@ -0,0 +1,41 @@
+package pcc.chemicraft.base;
+
+import pcc.chemicraft.base.item.ItemAtomsGrenade;
+import pcc.chemicraft.base.item.ItemBlackSmoke;
+import pcc.chemicraft.base.item.ItemDust;
+import pcc.chemicraft.base.item.ItemRadiationBallet;
+import pcc.chemicraft.base.item.ItemRadiationGun;
+
+public class ChemiCraftRegisterItem extends ChemiCraftBaseRegister {
+
+       public ChemiCraftRegisterItem(ChemiCraftBase mod) {
+               super(mod);
+       }
+
+       @Override
+       public void start() {
+               /*
+                * 代入
+                */
+               this.mod.itemAtomGrenade = new ItemAtomsGrenade(this.mod.atomGrenadeID).setItemName("grenade").setIconIndex(1);
+               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");
+
+               /*
+                * 名前登録&Minecraftに登録
+                */
+               this.mod.nameAuxiliary.addName(this.mod.itemAtomGrenade, "AtomGrenade");
+               this.mod.nameAuxiliary.addName(this.mod.itemAtomGrenade, "ja_JP", "元素手榴弾");
+               this.mod.nameAuxiliary.addName(this.mod.itemDust, "dust");
+               this.mod.nameAuxiliary.addName(this.mod.itemDust, "ja_JP", "粉塵");
+               this.mod.nameAuxiliary.addName(this.mod.itemRadiationGun, "RadiationGun");
+               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", "黒煙");
+       }
+
+}
diff --git a/common/pcc/chemicraft/base/client/ClientProxy.java b/common/pcc/chemicraft/base/client/ClientProxy.java
new file mode 100644 (file)
index 0000000..bf14a07
--- /dev/null
@@ -0,0 +1,25 @@
+package pcc.chemicraft.base.client;
+
+import pcc.chemicraft.base.entity.EntityAtomsGrenade;
+import pcc.chemicraft.base.entity.EntityDust;
+import pcc.chemicraft.base.render.RenderAtomsGrenade;
+import pcc.chemicraft.base.render.RenderDust;
+import pcc.chemicraft.base.system.CommonProxy;
+import cpw.mods.fml.client.registry.RenderingRegistry;
+
+public class ClientProxy extends CommonProxy
+{
+
+       @Override
+       public void registerTextures()
+       {
+               
+       }
+
+       @Override
+       public void registerRenderInformation()
+       {
+               RenderingRegistry.registerEntityRenderingHandler(EntityAtomsGrenade.class, new RenderAtomsGrenade(0.5F));
+               RenderingRegistry.registerEntityRenderingHandler(EntityDust.class, new RenderDust());
+       }
+}
@@ -1,4 +1,4 @@
-package pcc.chemicraft.compounds;
+package pcc.chemicraft.base.compounds;
 
 import net.minecraft.entity.Entity;
 import net.minecraft.entity.player.EntityPlayer;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.compounds;
+package pcc.chemicraft.base.compounds;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.entity.player.EntityPlayerMP;
@@ -1,7 +1,7 @@
-package pcc.chemicraft.creativetab;
+package pcc.chemicraft.base.creativetab;
 
 import net.minecraft.creativetab.CreativeTabs;
-import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.base.ChemiCraftBase;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -18,7 +18,7 @@ public class CreativeTabAtomOres extends CreativeTabs
        @Override
        @SideOnly(Side.CLIENT)
        public int getTabIconItemIndex(){
-               return ChemiCraft.instance.blockAtomOres[0].blockID;
+               return ChemiCraftBase.instance.blockAtomOres[0].blockID;
        }
 
 
@@ -1,19 +1,13 @@
-package pcc.chemicraft.entity;
+package pcc.chemicraft.base.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
@@ -1,10 +1,8 @@
-package pcc.chemicraft.entity;
+package pcc.chemicraft.base.entity;
 
 import net.minecraft.entity.Entity;
-import net.minecraft.entity.projectile.EntityThrowable;
 import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.util.MathHelper;
-import net.minecraft.util.MovingObjectPosition;
 import net.minecraft.world.World;
 
 public class EntityDust extends Entity {
@@ -1,4 +1,4 @@
-package pcc.chemicraft.item;
+package pcc.chemicraft.base.item;
 
 import java.util.List;
 
@@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack;
 import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.nbt.NBTTagList;
 import net.minecraft.world.World;
-import pcc.chemicraft.entity.EntityAtomsGrenade;
+import pcc.chemicraft.base.entity.EntityAtomsGrenade;
 
 public class ItemAtomsGrenade extends Item {
 
@@ -1,22 +1,15 @@
-package pcc.chemicraft.item;
+package pcc.chemicraft.base.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;
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.base.entity.EntityBlackSmoke;
+import pcc.chemicraft.core.ChemiCraftCore;
 
 
 public class ItemBlackSmoke extends Item
@@ -27,7 +20,7 @@ public class ItemBlackSmoke extends Item
        public ItemBlackSmoke(int par1)
        {
                super(par1);
-               this.setCreativeTab(ChemiCraft.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.creativeTabChemiCraft);
        }
 
        @Override
@@ -62,7 +55,7 @@ public class ItemBlackSmoke extends Item
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.ITEM_TEXTURE;
+               return ChemiCraft.ITEM_TEXTURE;
        }
 
 }
similarity index 73%
rename from common/pcc/chemicraft/item/ItemDust.java
rename to common/pcc/chemicraft/base/item/ItemDust.java
index 9b17cac..5469081 100644 (file)
@@ -1,18 +1,17 @@
-package pcc.chemicraft.item;
+package pcc.chemicraft.base.item;
 
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.entity.EntityDust;
-import net.minecraft.creativetab.CreativeTabs;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
 import net.minecraft.world.World;
+import pcc.chemicraft.base.entity.EntityDust;
+import pcc.chemicraft.core.ChemiCraftCore;
 
 public class ItemDust extends Item {
 
        public ItemDust(int par1) {
                super(par1);
-               this.setCreativeTab(ChemiCraft.instance.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.instance.creativeTabChemiCraft);
        }
 
        @Override
@@ -1,19 +1,20 @@
-package pcc.chemicraft.item;
+package pcc.chemicraft.base.item;
 
-import pcc.chemicraft.ChemiCraft;
 import net.minecraft.item.Item;
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.core.ChemiCraftCore;
 
 public class ItemRadiationBallet extends Item {
 
        public ItemRadiationBallet(int par1) {
                super(par1);
-               this.setCreativeTab(ChemiCraft.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.creativeTabChemiCraft);
                this.maxStackSize = 16;
        }
 
        @Override
        public String getTextureFile() {
-               return ChemiCraft.instance.ITEM_TEXTURE;
+               return ChemiCraft.ITEM_TEXTURE;
        }
 
 }
@@ -1,22 +1,17 @@
-package pcc.chemicraft.item;
+package pcc.chemicraft.base.item;
 
 import java.util.ArrayList;
-import java.util.Iterator;
 
 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.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.AxisAlignedBB;
 import net.minecraft.util.DamageSource;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.util.Vec3;
-import net.minecraft.util.Vec3Pool;
 import net.minecraft.world.World;
 import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.base.ChemiCraftBase;
+import pcc.chemicraft.core.ChemiCraftCore;
 
 public class ItemRadiationGun extends Item {
 
@@ -24,13 +19,13 @@ public class ItemRadiationGun extends Item {
 
        public ItemRadiationGun(int par1) {
                super(par1);
-               this.setCreativeTab(ChemiCraft.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.creativeTabChemiCraft);
                this.maxStackSize = 1;
        }
 
        @Override
        public String getTextureFile() {
-               return ChemiCraft.instance.ITEM_TEXTURE;
+               return ChemiCraft.ITEM_TEXTURE;
        }
 
        @Override
@@ -42,8 +37,8 @@ public class ItemRadiationGun extends Item {
                if (this.delay <= 0) {
                        if (!isCreative) {
                                this.field_00001(par1ItemStack, par2World, par3EntityPlayer);
-                               if (par3EntityPlayer.inventory.hasItem(ChemiCraft.instance.itemRadiationBallet.shiftedIndex)) {
-                                       par3EntityPlayer.inventory.consumeInventoryItem(ChemiCraft.instance.itemRadiationBallet.shiftedIndex);
+                               if (par3EntityPlayer.inventory.hasItem(ChemiCraftBase.instance.itemRadiationBallet.shiftedIndex)) {
+                                       par3EntityPlayer.inventory.consumeInventoryItem(ChemiCraftBase.instance.itemRadiationBallet.shiftedIndex);
                                        par2World.playSound(par3EntityPlayer.posX,
                                                        par3EntityPlayer.posY,
                                                        par3EntityPlayer.posZ,
@@ -92,7 +87,7 @@ public class ItemRadiationGun extends Item {
        private void field_00001(ItemStack par1ItemStack, World par2World,
                        EntityPlayer par3EntityPlayer) {
 
-               ArrayList<Entity> collisions = ChemiCraft.instance.mathAuxiliary.getTriangleEntitysByPlayer(par2World,
+               ArrayList<Entity> collisions = ChemiCraftCore.instance.mathAuxiliary.getTriangleEntitysByPlayer(par2World,
                                par3EntityPlayer.posX,
                                par3EntityPlayer.posY,
                                par3EntityPlayer.posZ,
@@ -1,4 +1,4 @@
-package pcc.chemicraft.ore;
+package pcc.chemicraft.base.ore;
 
 import java.util.List;
 
@@ -6,7 +6,8 @@ import net.minecraft.block.Block;
 import net.minecraft.block.material.Material;
 import net.minecraft.creativetab.CreativeTabs;
 import net.minecraft.item.ItemStack;
-import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.base.ChemiCraftBase;
+import pcc.chemicraft.core.ChemiCraftCore;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -16,13 +17,13 @@ public class BlockAtomOres extends Block
        public BlockAtomOres(int id)
        {
                super(id, Material.rock);
-               this.setCreativeTab(ChemiCraft.instance.creativeTabAtomsOre);
+               this.setCreativeTab(ChemiCraftBase.instance.creativeTabAtomsOre);
        }
 
        @Override
        public int getBlockTextureFromSideAndMetadata(int par1, int par2)
        {
-               return (this.blockID - ChemiCraft.instance.atomOresID[0]) * 16 + par2;
+               return (this.blockID - ChemiCraftBase.instance.atomOresID[0]) * 16 + par2;
        }
 
        @Override
@@ -53,7 +54,7 @@ public class BlockAtomOres extends Block
        @Override
        public String getTextureFile()
        {
-               return ChemiCraft.instance.BLOCK_ATOMS_ORE_TEXTURE;
+               return ChemiCraftCore.instance.BLOCK_ATOMS_ORE_TEXTURE;
        }
 
 }
@@ -1,9 +1,9 @@
-package pcc.chemicraft.ore;
+package pcc.chemicraft.base.ore;
 
 import net.minecraft.item.ItemBlock;
 import net.minecraft.item.ItemDye;
 import net.minecraft.item.ItemStack;
-import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.base.ChemiCraftBase;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -21,7 +21,7 @@ public class ItemAtomOres extends ItemBlock
        @SideOnly(Side.CLIENT)
        public int getIconFromDamage(int par1)
        {
-               return ChemiCraft.instance.blockAtomOres[0].getBlockTextureFromSideAndMetadata(2, BlockAtomOres.getBlockFromDye(par1));
+               return ChemiCraftBase.instance.blockAtomOres[0].getBlockTextureFromSideAndMetadata(2, BlockAtomOres.getBlockFromDye(par1));
        }
 
        @Override
@@ -1,4 +1,4 @@
-package pcc.chemicraft.render;
+package pcc.chemicraft.base.render;
 
 import net.minecraft.client.renderer.Tessellator;
 import net.minecraft.client.renderer.entity.Render;
@@ -7,8 +7,8 @@ import net.minecraft.entity.Entity;
 import org.lwjgl.opengl.GL11;
 import org.lwjgl.opengl.GL12;
 
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.entity.EntityAtomsGrenade;
+import pcc.chemicraft.base.entity.EntityAtomsGrenade;
+import pcc.chemicraft.core.ChemiCraftCore;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -30,7 +30,7 @@ public class RenderAtomsGrenade extends Render {
                float var10 = this.field_77002_a;
                GL11.glScalef(var10 / 1.0F, var10 / 1.0F, var10 / 1.0F);
                byte var11 = 1;
-               this.loadTexture(ChemiCraft.instance.ITEM_TEXTURE);
+               this.loadTexture(ChemiCraftCore.instance.ITEM_TEXTURE);
                Tessellator var12 = Tessellator.instance;
                float var13 = (float)(var11 % 16 * 16 + 0) / 256.0F;
                float var14 = (float)(var11 % 16 * 16 + 16) / 256.0F;
@@ -1,14 +1,15 @@
-package pcc.chemicraft.render;
+package pcc.chemicraft.base.render;
 
-import org.lwjgl.opengl.GL11;
-import org.lwjgl.opengl.GL12;
-
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.entity.EntityDust;
 import net.minecraft.client.renderer.Tessellator;
 import net.minecraft.client.renderer.entity.RenderEntity;
 import net.minecraft.entity.Entity;
 
+import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL12;
+
+import pcc.chemicraft.base.entity.EntityDust;
+import pcc.chemicraft.core.ChemiCraftCore;
+
 public class RenderDust extends RenderEntity {
 
        @Override
@@ -21,7 +22,7 @@ public class RenderDust extends RenderEntity {
                float var10 = entity.getDelay() / 8.0F;
                GL11.glScalef(var10 / 1.0F, var10 / 1.0F, var10 / 1.0F);
                byte var11 = 0;
-               this.loadTexture(ChemiCraft.instance.ENTITY_PARTICLE_TEXRURE);
+               this.loadTexture(ChemiCraftCore.instance.ENTITY_PARTICLE_TEXRURE);
                Tessellator var12 = Tessellator.instance;
                float var13 = (float)(var11 % 256 * 256 + 0) / 256F;
                float var14 = (float)(var11 % 256 * 256 + 256) / 256F;
diff --git a/common/pcc/chemicraft/base/system/CommonProxy.java b/common/pcc/chemicraft/base/system/CommonProxy.java
new file mode 100644 (file)
index 0000000..d4e1707
--- /dev/null
@@ -0,0 +1,27 @@
+package pcc.chemicraft.base.system;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.world.World;
+import cpw.mods.fml.common.network.IGuiHandler;
+
+public class CommonProxy  implements IGuiHandler
+{
+       public void registerTextures(){
+
+       }
+
+       public void registerRenderInformation() {
+       }
+
+       @Override
+       public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
+       {
+               return null;
+       }
+
+       @Override
+       public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
+       {
+               return null;
+       }
+}
diff --git a/common/pcc/chemicraft/base/system/PacketHandler.java b/common/pcc/chemicraft/base/system/PacketHandler.java
new file mode 100644 (file)
index 0000000..4252032
--- /dev/null
@@ -0,0 +1,22 @@
+package pcc.chemicraft.base.system;
+
+import net.minecraft.network.INetworkManager;
+import net.minecraft.network.packet.Packet250CustomPayload;
+import cpw.mods.fml.common.network.IPacketHandler;
+import cpw.mods.fml.common.network.Player;
+
+/**
+ * サーバーとクライアントのデータの同期に必要なクラス
+ *
+ * @author Lilly
+ *
+ */
+public class PacketHandler implements IPacketHandler {
+
+       @Override
+       public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player)
+       {
+               
+       }
+
+}
diff --git a/common/pcc/chemicraft/client/ClientProxy.java b/common/pcc/chemicraft/client/ClientProxy.java
deleted file mode 100644 (file)
index 33f04d1..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-package pcc.chemicraft.client;
-
-import net.minecraft.client.particle.EffectRenderer;
-import net.minecraft.client.particle.EntityFX;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.world.World;
-import net.minecraftforge.client.MinecraftForgeClient;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.container.ContainerElectrolysisTable;
-import pcc.chemicraft.debug.DebugTick;
-import pcc.chemicraft.entity.EntityAtomsGrenade;
-import pcc.chemicraft.entity.EntityDust;
-import pcc.chemicraft.gui.GuiChemicalCombinationTable;
-import pcc.chemicraft.gui.GuiChemicalCraftingTable;
-import pcc.chemicraft.gui.GuiElectrolysisTable;
-import pcc.chemicraft.gui.GuiPyrolysisTable;
-import pcc.chemicraft.gui.GuiToolAndWeaponCraftingTable;
-import pcc.chemicraft.render.RenderAtomsGrenade;
-import pcc.chemicraft.render.RenderDust;
-import pcc.chemicraft.system.CommonProxy;
-import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
-import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
-import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
-import cpw.mods.fml.client.FMLClientHandler;
-import cpw.mods.fml.client.registry.RenderingRegistry;
-import cpw.mods.fml.common.registry.EntityRegistry;
-import cpw.mods.fml.common.registry.EntityRegistry.EntityRegistration;
-import cpw.mods.fml.common.registry.TickRegistry;
-import cpw.mods.fml.relauncher.Side;
-
-public class ClientProxy extends CommonProxy {
-
-       @Override
-       public void registerRenderInformation() {
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.BLOCK_ATOMS_ORE_TEXTURE);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEM_ATOMS_TEXTURE);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEM_COMPOUNDS_TEXTURE);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ITEM_TEXTURE);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUI_PYROLYSIS_TEXTURE);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUI_ELECTROLYSIS_TEXTURE);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUI_CHEMICALCOMBINATION_TEXTURE);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUI_CHEMICALCRAFTING_TEXTURE);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.GUI_TOOLANDWEAPONCRAFTING_TEXTURE);
-               MinecraftForgeClient.preloadTexture(ChemiCraft.instance.ENTITY_PARTICLE_TEXRURE);
-               RenderingRegistry.registerEntityRenderingHandler(EntityAtomsGrenade.class, new RenderAtomsGrenade(0.5F));
-               RenderingRegistry.registerEntityRenderingHandler(EntityDust.class, new RenderDust());
-       }
-
-
-       @Override
-       public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
-               if (!world.blockExists(x, y, z))
-                       return null;
-
-               TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
-               if (tileEntity instanceof TileEntityPyrolysisTable) {
-                       return new GuiPyrolysisTable(player, (TileEntityPyrolysisTable) tileEntity);
-               }else if(tileEntity instanceof TileEntityElectrolysisTable){
-                       return new GuiElectrolysisTable(player, (TileEntityElectrolysisTable) tileEntity);
-               }else if(tileEntity instanceof TileEntityChemicalCombinationTable){
-                       return new GuiChemicalCombinationTable(player, (TileEntityChemicalCombinationTable) tileEntity);
-               }else if(tileEntity instanceof TileEntityToolAndWeaponCraftingTable){
-                       return new GuiToolAndWeaponCraftingTable(player, (TileEntityToolAndWeaponCraftingTable) tileEntity);
-               }else if(tileEntity instanceof TileEntityChemicalCraftingTable){
-                       return new GuiChemicalCraftingTable(player, (TileEntityChemicalCraftingTable) tileEntity);
-               } else if (tileEntity instanceof TileEntityElectrolysisTable) {
-                       return new ContainerElectrolysisTable(player, (TileEntityElectrolysisTable) tileEntity);
-               }
-               return null;
-       }
-
-
-       @Override
-       public World getClientWorld() {
-               return FMLClientHandler.instance().getClient().theWorld;
-       }
-
-       @Override
-       public void registerTickHandler() {
-               TickRegistry.registerTickHandler(new DebugTick(), Side.CLIENT);
-       }
-
-}
similarity index 70%
rename from common/pcc/chemicraft/ChemiCraftAPI.java
rename to common/pcc/chemicraft/core/ChemiCraftAPI.java
index cdc08e7..c608bea 100644 (file)
@@ -1,19 +1,14 @@
-package pcc.chemicraft;
+package pcc.chemicraft.core;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
-import pcc.chemicraft.gen.EnumOreSpawnFrequency;
-import pcc.chemicraft.gen.WorldGenAtomsOre;
-import pcc.chemicraft.system.ChemiCraftCraftingManager;
-import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.ChemiCraftData;
+import pcc.chemicraft.core.system.ChemiCraftCraftingManager;
 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;
@@ -38,35 +33,11 @@ public class ChemiCraftAPI {
        }
 
 
-       /**
-        * 鉱石別元素数リスト
-        */
-       private HashMap<String, Integer[]> atomOresAmountsHash = new HashMap<String, Integer[]>();
-
-
-       /**
-        * 鉱石別元素リスト
-        */
-       private HashMap<String, Integer[]> atomOresAtomsHash = new HashMap<String, Integer[]>();
-
 
        /**
-        * 鉱石の言語リスト
-        */
-       private ListHash<String, String> atomOresLangListHash = new ListHash<String, String>();
-
-
-       /**
-        * 鉱石リスト
-        */
-       private ArrayList<WorldGenAtomsOre> atomOresList = new ArrayList<WorldGenAtomsOre>();
-
-
-       /**
-        * 鉱石名リスト
+        * 電池言語リスト
         */
-       private ListHash<String, String> atomOresNameListHash = new ListHash<String, String>();
-
+       private ListHash<String, String> chemicalCellsLangListHash = new ListHash<String, String>();
 
 
        /**
@@ -76,24 +47,18 @@ public class ChemiCraftAPI {
 
 
        /**
-        * 電池言語リスト
-        */
-       private ListHash<String, String> chemicalCellsLangListHash = new ListHash<String, String>();
-
-
-       /**
         * 電池名リスト
         */
        private ListHash<String, String> chemicalCellsNameListHash = new ListHash<String, String>();
 
 
-
        /**
         * 化合台の原子の数のリスト
         */
        private ArrayList<Integer[]> chemicalCombinationAmounts = new ArrayList<Integer[]>();
 
 
+
        /**
         * 化合台の原子の種類のリスト
         */
@@ -118,12 +83,14 @@ public class ChemiCraftAPI {
        private ArrayList<String> compoundHandlerItemNames = new ArrayList<String>();
 
 
+
        /**
         * List of compounds handlers.
         */
        private ArrayList<ICompoundHandler> compoundHandlers = new ArrayList<ICompoundHandler>();
 
 
+
        /**
         * 化合物の文字列をダメージ値に変換します。
         */
@@ -142,6 +109,11 @@ public class ChemiCraftAPI {
        private ListHash<String, String> compoundsNameListHash = new ListHash<String, String>();
 
 
+       /**
+        * 電気分解レシピのリスト
+        */
+       private HashMap<ItemStack, ItemStack[]> electrolysisRecipeList = new HashMap<ItemStack, ItemStack[]>();
+
 
        /**
         * 素材製作台のレシピクラス
@@ -150,75 +122,34 @@ public class ChemiCraftAPI {
 
 
        /**
-        * ツール&武器作成台の素材一覧のリスト
+        * 熱分解燃料のリスト。
         */
-       private ArrayList<ItemStack[]> toolAndWeaponMaterials = new ArrayList<ItemStack[]>();
+       private HashMap<ItemStack, Integer> pyrolysisFuelList = new HashMap<ItemStack, Integer>();
 
 
        /**
-        * ツール&武器作成台の結果のリスト
+        * 熱分解レシピのリスト
         */
-       private ArrayList<ItemStack> toolAndWeaponResult = new ArrayList<ItemStack>();
-
+       private HashMap<ItemStack, ItemStack[]> pyrolysisRecipeList = new HashMap<ItemStack, ItemStack[]>();
 
 
        /**
-        * ツール&武器作成台の不定形であるか
+        * ツール&武器作成台の素材一覧のリスト
         */
-       private ArrayList<Boolean> toolAndWeaponSharpless = new ArrayList<Boolean>();
-
+       private ArrayList<ItemStack[]> toolAndWeaponMaterials = new ArrayList<ItemStack[]>();
 
 
        /**
-        * 鉱石を追加します。
-        * @param par1Name
-        * @param par2Formula
-        * @param par3Id
-        * @param par4Size
-        * @param par5Frequency
-        * @param par6PosY
+        * ツール&武器作成台の結果のリスト
         */
-       public void addAtomOres(String par1Name, Formula par2Formula, int par3Id, int par4Size, int par5Frequency, int par6PosY){
-               atomOresList.add(
-                               new WorldGenAtomsOre(
-                                               par3Id,
-                                               getAtomOresMetaOfLastIndex(),
-                                               par4Size,
-                                               par5Frequency,
-                                               par6PosY));
-               atomOresAtomsHash.put(par1Name, ChemiCraftData.toAtoms(par2Formula.getAtoms()));
-               atomOresAmountsHash.put(par1Name, par2Formula.getAmonts());
-               addAtomOresLanguage(par1Name, par1Name, "en_US");
-       }
-
-
-
-       public void addAtomOres(String par1Name, Formula par2Formula, int par3Id, EnumOreSpawnFrequency par4Enum){
-               addAtomOres(
-                               par1Name,
-                               par2Formula,
-                               par3Id,
-                               par4Enum.getSize(),
-                               par4Enum.getFrequency(),
-                               par4Enum.getPosY()
-                               );
-       }
+       private ArrayList<ItemStack> toolAndWeaponResult = new ArrayList<ItemStack>();
 
 
 
        /**
-        * 既に登録した鉱石の新しい名前・言語を追加します
-        * @param par1Name 英語名
-        * @param par2NewName 新しい名前
-        * @param par3Language 言語
+        * ツール&武器作成台の不定形であるか
         */
-       public void addAtomOresLanguage(String par1Name, String par2NewName, String par3Language){
-               atomOresNameListHash.add(par1Name,
-                               par2NewName);
-               atomOresLangListHash.add(par1Name,
-                               par3Language);
-       }
-
+       private ArrayList<Boolean> toolAndWeaponSharpless = new ArrayList<Boolean>();
 
 
        /**
@@ -252,28 +183,6 @@ 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 素材
@@ -298,7 +207,6 @@ public class ChemiCraftAPI {
        }
 
 
-
        /**
         * add compound corresponding to the language.
         * @param lang Language to the corresponding
@@ -323,93 +231,116 @@ public class ChemiCraftAPI {
 
 
 
-       /**
-        * 分解台の燃料を追加します
-        * @param itemstack 燃料のItemStack
-        * @param burnTime 燃焼時間(tick * rate)
-        */
-       public void addPyrolysisDecompositionFuel(ItemStack itemstack, int burnTime) {
-               TileEntityPyrolysisTable.addFuel(
-                               itemstack,
-                               burnTime);
+       public void addElectrolysisDecompositionRecipe(ArrayList<ItemStack> material, Formula formula) {
+               for (ItemStack item : material)
+        {
+                       if (item != null){
+                               addElectrolysisDecompositionRecipe(item, formula);
+                       }
+        }
        }
 
 
-       /**
-        * 分解台のレシピを追加します
-        * @param material 素材
-        * @param integers 原子の元素番号の配列
-        * @param integers2 原子のできる数の配列
-        */
-       public void addPyrolysisDecompositionRecipe(ItemStack material, Integer[] integers, Integer[] integers2) {
+
+       public void addElectrolysisDecompositionRecipe(ItemStack material, Formula formula) {
                ItemStack[] itemstacks =
-                               new ItemStack[integers.length];
+                               new ItemStack[formula.getAtoms().length];
                for (int i = 0; i < itemstacks.length; i++) {
                        itemstacks[i] =
                                        new ItemStack(
-                                                       ChemiCraft.instance.itemAtoms,
-                                                       integers2[i],
-                                                       integers[i]);
+                                                       ChemiCraftCore.instance.itemAtoms,
+                                                       ChemiCraftData.toAtoms(formula.getAtoms()[i]),
+                                                       formula.getAmonts()[i]);
                }
-               TileEntityPyrolysisTable.addRecipe(
+               this.electrolysisRecipeList.put(
                                material,
                                itemstacks);
        }
 
 
 
-       public void addPyrolysisDecompositionRecipe(ArrayList<ItemStack> material, Integer[] integers, Integer[] integers2) {
+       /**
+        * 素材作成台のレシピを追加します
+        * @param materials 素材
+        * @param result 結果
+        * @param nbtRecipe NBT(Nullの場合はなし)
+        */
+       public void addMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
+               materialRecipe.add(
+                               new MaterialRecipe(
+                                               result,
+                                               materials,
+                                               nbtRecipe,
+                                               false));
+       }
+
+
+
+       /**
+        * 電気分解台の燃料を追加します
+        * @param itemstack 燃料のItemStack
+        * @param burnTime 燃焼時間(tick * rate)
+        */
+       public void addPyrolysisDecompositionFuel(ItemStack itemstack, int burnTime) {
+               this.pyrolysisFuelList.put(
+                               itemstack,
+                               burnTime);
+       }
+
+
+
+       public void addPyrolysisDecompositionRecipe(ArrayList<ItemStack> material, Formula formula) {
                for (ItemStack item : material)
         {
                        if (item != null){
-                               addPyrolysisDecompositionRecipe(item, integers, integers2);
+                               addPyrolysisDecompositionRecipe(item, formula);
+                               return;
                        }
         }
        }
 
 
 
-       public void addElectrolysisDecompositionRecipe(ItemStack material, Integer[] integers, Integer[] integers2) {
+       /**
+        * 電気分解台のレシピを追加します
+        * @param material 素材
+        * @param integers 原子の元素番号の配列
+        * @param integers2 原子のできる数の配列
+        */
+       public void addPyrolysisDecompositionRecipe(ItemStack material, Formula formula) {
                ItemStack[] itemstacks =
-                               new ItemStack[integers.length];
+                               new ItemStack[formula.getAtoms().length];
                for (int i = 0; i < itemstacks.length; i++) {
                        itemstacks[i] =
                                        new ItemStack(
-                                                       ChemiCraft.instance.itemAtoms,
-                                                       integers2[i],
-                                                       integers[i]);
+                                                       ChemiCraftCore.instance.itemAtoms,
+                                                       ChemiCraftData.toAtoms(formula.getAtoms()[i]),
+                                                       formula.getAmonts()[i]);
                }
-               TileEntityElectrolysisTable.addRecipe(
+               this.pyrolysisRecipeList.put(
                                material,
                                itemstacks);
        }
 
 
 
-       public void addElectrolysisDecompositionRecipe(ArrayList<ItemStack> material, Integer[] integers, Integer[] integers2) {
-               for (ItemStack item : material)
-        {
-                       if (item != null){
-                               addElectrolysisDecompositionRecipe(item, integers, integers2);
-                       }
-        }
+       public void addReversible(ItemStack result, Formula formula){
+               addChemicalCombinationRecipe(result, formula);
+               addPyrolysisDecompositionRecipe(result, formula);
+               addElectrolysisDecompositionRecipe(result, formula);
        }
 
 
+       public void addReversibleOfElectrolysis(ItemStack result, Formula formula){
+               addChemicalCombinationRecipe(result, formula);
+               addElectrolysisDecompositionRecipe(result, formula);
+       }
 
-       /**
-        * 素材作成台のレシピを追加します
-        * @param materials 素材
-        * @param result 結果
-        * @param nbtRecipe NBT(Nullの場合はなし)
-        */
-       public void addMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
-               materialRecipe.add(
-                               new MaterialRecipe(
-                                               result,
-                                               materials,
-                                               nbtRecipe,
-                                               false));
+
+
+       public void addReversibleOfPyrolysis(ItemStack result, Formula formula){
+               addChemicalCombinationRecipe(result, formula);
+               addPyrolysisDecompositionRecipe(result, formula);
        }
 
 
@@ -443,6 +374,7 @@ public class ChemiCraftAPI {
        }
 
 
+
        /**
         * ツール&武器作成台のレシピを追加します
         * @param materials 素材
@@ -455,45 +387,9 @@ public class ChemiCraftAPI {
        }
 
 
-       public ArrayList<WorldGenAtomsOre> getAtomOres(){
-               return atomOresList;
-       }
-
-
-       //以下システム関連//////////////////////////////////////////////////////
-
-       public HashMap<String, Integer[]> getAtomOresAmounts(){
-               return atomOresAmountsHash;
-       }
-
-
-
-       public HashMap<String, Integer[]> getAtomOresAtoms(){
-               return atomOresAtomsHash;
-       }
-
-
-
-       public ListHash<String, String> getAtomOresLanguage(){
-               return atomOresLangListHash;
-       }
-
-
-
-       public int getAtomOresLastIndex(){
-               return atomOresNameListHash.sizeKeysList() / 16;
-       }
-
-
-
-       public int getAtomOresMetaOfLastIndex(){
-               return atomOresNameListHash.sizeKeysList() - getAtomOresLastIndex() * 16;
-       }
-
-
 
-       public ListHash<String, String> getAtomOresName(){
-               return atomOresNameListHash;
+       public ListHash<String, String> getChemicalCellsLanguage(){
+               return chemicalCellsLangListHash;
        }
 
 
@@ -503,18 +399,12 @@ public class ChemiCraftAPI {
        }
 
 
-
-       public ListHash<String, String> getChemicalCellsLanguage(){
-               return chemicalCellsLangListHash;
-       }
-
-
-
        public ListHash<String, String> getChemicalCellsName(){
                return chemicalCellsNameListHash;
        }
 
 
+       //以下システム関連//////////////////////////////////////////////////////
 
        public ArrayList<Integer[]> getChemicalCombinationAmounts(){
                return chemicalCombinationAmounts;
@@ -577,12 +467,33 @@ public class ChemiCraftAPI {
 
 
 
+       public HashMap<ItemStack, ItemStack[]> getElectrolysisRecipeList()
+       {
+               return electrolysisRecipeList;
+       }
+
+
+
        public ArrayList<MaterialRecipe> getMaterialRecipe(){
                return materialRecipe;
        }
 
 
 
+       public HashMap<ItemStack, Integer> getPyrolysisFuelList()
+       {
+               return pyrolysisFuelList;
+       }
+
+
+
+       public HashMap<ItemStack, ItemStack[]> getPyrolysisRecipeList()
+       {
+               return pyrolysisRecipeList;
+       }
+
+
+
        public ArrayList<ItemStack[]> getToolAndWeaponMaterials() {
                return toolAndWeaponMaterials;
        }
diff --git a/common/pcc/chemicraft/core/ChemiCraftCore.java b/common/pcc/chemicraft/core/ChemiCraftCore.java
new file mode 100644 (file)
index 0000000..dbfc825
--- /dev/null
@@ -0,0 +1,285 @@
+package pcc.chemicraft.core;
+
+import net.minecraft.block.Block;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.Configuration;
+import net.minecraftforge.common.Property;
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.ChemiCraftConfiguration;
+import pcc.chemicraft.ChemiCraftRegister;
+import pcc.chemicraft.core.compounds.CompoundDebug;
+import pcc.chemicraft.core.creativetab.CreativeTabChemiCraft;
+import pcc.chemicraft.core.debug.CommandDeleteItem;
+import pcc.chemicraft.core.debug.CommandGenDebugRoom;
+import pcc.chemicraft.core.debug.CommandSetTile;
+import pcc.chemicraft.core.system.CommonProxy;
+import pcc.chemicraft.core.system.PacketHandler;
+import cpw.mods.fml.common.Mod;
+import cpw.mods.fml.common.Mod.Instance;
+import cpw.mods.fml.common.Mod.PostInit;
+import cpw.mods.fml.common.Mod.PreInit;
+import cpw.mods.fml.common.Mod.ServerStarting;
+import cpw.mods.fml.common.SidedProxy;
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;
+import cpw.mods.fml.common.event.FMLServerStartingEvent;
+import cpw.mods.fml.common.network.NetworkMod;
+import cpw.mods.fml.common.network.NetworkRegistry;
+
+/**
+ * ChemiCraft本体
+ * @author P.C.C.
+ */
+@Mod(modid = "ChemiCraft", name = "ChemiCraft", version = "beta")
+@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.4.6", channels = "chemicraftcore", packetHandler = PacketHandler.class)
+public class ChemiCraftCore extends ChemiCraft{
+
+       /**
+        * 元素名配列
+        */
+       public static final String[] ATOMSNAME = {
+               "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", "Silicon",
+               "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium",
+               "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttorium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium",
+               "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium",
+               "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum",
+               "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium",
+               "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium",
+               "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Ununtrium", "Ununquadium", "Ununpentium", "Ununhexium", "Ununseptium", "Ununoctium" };
+
+       /**
+        * 元素名日本語版配列
+        */
+       public static final String[] ATOMSNAMEJP = {
+               "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン", "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム",
+               "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素", "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム",
+               "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル", "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム",
+               "ホルミウム", "エルビウム", "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン", "フランシウム", "ラジウム",
+               "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム", "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム",
+               "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム", "レントゲニウム", "コペルニシウム", "ウンウントリウム", "ウンウンクアジウム", "ウンウンペンチウム", "ウンウンヘキシウム", "ウンウンセプチウム", "ウンウンオクチウム" };
+
+       /**
+        * this is ChemiCraft instance.
+        */
+       @Instance("ChemiCraft")
+       public static ChemiCraftCore instance;
+
+       /**
+        * proxy of ChemiCraft.
+        */
+       @SidedProxy(clientSide = "pcc.chemicraft.core.client.ClientProxy", serverSide = "pcc.chemicraft.core.system.CommonProxy")
+       public static CommonProxy proxy;
+
+       /**
+        * CreativeTab of ChemiCraft.
+        */
+       public static final CreativeTabs creativeTabChemiCraft = new CreativeTabChemiCraft("ChemiCraft");
+
+       /**
+        * API Instance.
+        */
+       public ChemiCraftAPI api = ChemiCraftAPI.instance();
+
+       /**
+        * the ItemID.
+        */
+       public int atomsID;
+       public int compoundsID;
+       public int gasCollectingBottleID;
+       public int chemicalCellsID;
+       public int pearID;
+
+       /**
+        * the BlockID.
+        */
+       public int pyrolysisTableID;
+       public int electrolysisTableID;
+       public int chemicalConbinationTableID;
+       public int toolAndWeaponCraftingTableID;
+       public int chemicalCraftingTableID;
+
+       /**
+        * the GUIID.
+        */
+       public int guiPyrolysisTableID;
+       public int guiElectrolysisTableID;
+       public int guiChemicalCombinationTableID;
+       public int guiToolAndWeaponCraftingTableID;
+       public int guiChemicalCraftingTableID;
+
+       /**
+        * Variables of Block type.
+        */
+       public Block blockPyrolysisTable;
+       public Block blockElectrolysisTable;
+       public Block blockChemicalCombinationTable;
+       public Block blockToolAndWeaponCraftingTable;
+       public Block blockChemicalCraftingTable;
+
+       /**
+        * Variables of Item type.
+        */
+       public Item itemAtoms;
+       public Item itemCompounds;
+       public Item itemGasCollectingBottle;
+       public Item itemChemicalCells;
+       public Item itemPear;
+
+       /**
+        * the Register Instances.
+        */
+       public ChemiCraftRegister registerItem;
+       public ChemiCraftRegister registerBlock;
+       public ChemiCraftRegister registerTileEntity;
+       public ChemiCraftRegister registerRecipe;
+
+       public ChemiCraftCore() {
+               this.registerItem = new ChemiCraftRegisterItem(this);
+               this.registerBlock = new ChemiCraftRegisterBlock(this);
+               this.registerTileEntity = new ChemiCraftRegisterTileEntity(this);
+               this.registerRecipe = new ChemiCraftRegisterCoreRecipe(this);
+
+               //this.sinVisualizer  = new SinVisualizer();
+       }
+
+       /**
+        * PreInit:
+        * Configをロードします。
+        * @param event アノテーション呼び出しにより呼び出す必要なし
+        */
+       @PreInit
+       public void chemiPreLoadMethod(final FMLPreInitializationEvent event) {
+               Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
+               cfg.load();
+
+               Property coreBlockID = cfg.get("BlockID", "Base of Block ID", 2400);
+               Property coreItemID = cfg.get("ItemID", "Base of Item ID", 25000);
+
+               ChemiCraftConfiguration ccfgBlock = new ChemiCraftConfiguration(coreBlockID.getInt());
+               ChemiCraftConfiguration ccfgItem = new ChemiCraftConfiguration(coreBlockID.getInt());
+
+               this.pyrolysisTableID = ccfgBlock.additionID();
+               this.electrolysisTableID = ccfgBlock.additionID();
+               this.chemicalConbinationTableID = ccfgBlock.additionID();
+               this.toolAndWeaponCraftingTableID = ccfgBlock.additionID();
+               this.chemicalCraftingTableID = ccfgBlock.additionID();
+
+               this.atomsID = ccfgItem.additionID();
+               this.compoundsID = ccfgItem.additionID();
+               this.gasCollectingBottleID = ccfgItem.additionID();
+               this.chemicalCellsID = ccfgItem.additionID();
+
+               Property guiPyrolysisTableIDProp = cfg.get("GUI", "GUIPyrolysisID", 1000);
+               Property guiElectrolysisTableIDProp = cfg.get("GUI", "GUIElectrolysisTableIDProp", 1001);
+               Property guiChemicalCombinationTableIDProp = cfg.get("GUI", "GUIChemicalCombinationTableID", 1002);
+               Property guiToolAndWeaponCraftingTableIDProp = cfg.get("GUI", "GUIToolAndWeaponCraftingTableID", 1003);
+               Property guiChemicalCraftingTableIDProp = cfg.get("GUI", "GUIChemicalCraftingTableID", 1004);
+
+               this.guiPyrolysisTableID = guiPyrolysisTableIDProp.getInt();
+               this.guiElectrolysisTableID = guiElectrolysisTableIDProp.getInt();
+               this.guiChemicalCombinationTableID = guiChemicalCombinationTableIDProp.getInt();
+               this.guiToolAndWeaponCraftingTableID = guiToolAndWeaponCraftingTableIDProp.getInt();
+               this.guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();
+
+               cfg.save();
+       }
+
+
+
+       @ServerStarting
+       public void serverStarting(final FMLServerStartingEvent event) {
+               event.registerServerCommand(new CommandSetTile());
+               event.registerServerCommand(new CommandDeleteItem());
+               event.registerServerCommand(new CommandGenDebugRoom());
+       }
+
+
+
+       @PostInit
+       public void chemiPostLoadMethod(final FMLPostInitializationEvent event) {
+               this.thread = new Thread(this);
+               this.event = event;
+               this.thread.start();
+
+               try {
+                       this.thread.join();
+               } catch (InterruptedException e) {
+                       e.printStackTrace();
+               }
+
+               proxy.registerRenderInformation();
+               Thread.yield();
+       }
+
+
+
+       @Override
+       public void run() {
+               while (true) {
+                       if (proxy != null && instance != null) {
+                               this.settingProcessing(event);
+                               this.apiProcessing(event);
+                               this.debug(event);
+                               break;
+                       }
+               }
+       }
+
+
+
+       protected void settingProcessing(final FMLPostInitializationEvent event) {
+
+               this.registerItem.start();
+               this.registerBlock.start();
+               this.registerRecipe.start();
+               this.registerTileEntity.start();
+
+               // GUIを追加します
+               NetworkRegistry.instance().registerGuiHandler(instance, proxy);
+
+               //電池を追加します
+               this.api.addChemicalCell(itemChemicalCells, "ChemicalCell", 1000);
+               this.api.addChemicalCellLanguage("ChemicalCell", "ja_JP", "化学電池");
+
+               this.api.addPyrolysisDecompositionFuel(new ItemStack(Item.coal), 2000*8);
+       }
+
+
+
+       private void apiProcessing(final FMLPostInitializationEvent event) {
+
+               for (int i = 0; i < api.getChemicalCellsName().sizeKeysList(); i++)
+               {
+                       for (int j = 0; j < api.getChemicalCellsName().sizeElementsList(api.getChemicalCellsName().getKeyList(i)); j++)
+                       {
+                               this.nameAuxiliary.addName(new ItemStack(itemChemicalCells, 0, i), api.getChemicalCellsLanguage().get(api.getChemicalCellsName().getKeyList(i), j), api.getChemicalCellsName().get(api.getChemicalCellsName().getKeyList(i), j));
+                       }
+               }
+
+               for (int i = 0; i < api.getCompoundsName().sizeKeysList(); i++)
+               {
+                       for (int j = 0; j < api.getCompoundsName().sizeElementsList(api.getCompoundsName().getKeyList(i)); j++)
+                       {
+                               this.nameAuxiliary.addName(new ItemStack(itemCompounds, 0, i), api.getCompoundsLang().get(api.getCompoundsName().getKeyList(i), j), api.getCompoundsName().get(api.getCompoundsName().getKeyList(i), j));
+                       }
+               }
+
+       }
+
+
+
+       private void debug(final FMLPostInitializationEvent event) {
+               this.proxy.registerTickHandler();
+               this.api.addCompound("Debug");
+               this.api.settingCompoundHandler("Debug", new CompoundDebug());
+
+               this.api.addToolAndWeaponRecipe(new ItemStack[] {
+                               new ItemStack(Block.stone, 1, 1)
+               },
+               new ItemStack(Block.dirt, 1, 0));
+
+       }
+
+}
diff --git a/common/pcc/chemicraft/core/ChemiCraftCoreRegister.java b/common/pcc/chemicraft/core/ChemiCraftCoreRegister.java
new file mode 100644 (file)
index 0000000..5a8ab4a
--- /dev/null
@@ -0,0 +1,15 @@
+package pcc.chemicraft.core;
+
+import pcc.chemicraft.ChemiCraftRegister;
+
+public abstract class ChemiCraftCoreRegister extends ChemiCraftRegister
+{
+
+       protected ChemiCraftCore mod;
+
+       public ChemiCraftCoreRegister(ChemiCraftCore mod)
+       {
+               this.mod = mod;
+       }
+
+}
@@ -1,20 +1,17 @@
-package pcc.chemicraft;
+package pcc.chemicraft.core;
 
 import net.minecraft.block.Block;
 import net.minecraft.block.material.Material;
-import net.minecraftforge.common.MinecraftForge;
-import pcc.chemicraft.block.BlockChemicalCombinationTable;
-import pcc.chemicraft.block.BlockChemicalCraftingTable;
-import pcc.chemicraft.block.BlockElectrolysisTable;
-import pcc.chemicraft.block.BlockPyrolysisTable;
-import pcc.chemicraft.block.BlockToolAndWeaponCraftingTable;
-import pcc.chemicraft.ore.BlockAtomOres;
-import pcc.chemicraft.ore.ItemAtomOres;
+import pcc.chemicraft.core.block.BlockChemicalCombinationTable;
+import pcc.chemicraft.core.block.BlockChemicalCraftingTable;
+import pcc.chemicraft.core.block.BlockElectrolysisTable;
+import pcc.chemicraft.core.block.BlockPyrolysisTable;
+import pcc.chemicraft.core.block.BlockToolAndWeaponCraftingTable;
 import cpw.mods.fml.common.registry.GameRegistry;
 
-public class ChemiCraftRegisterBlock extends ChemiCraftRegister {
+public class ChemiCraftRegisterBlock extends ChemiCraftCoreRegister {
 
-       public ChemiCraftRegisterBlock(ChemiCraft mod) {
+       public ChemiCraftRegisterBlock(ChemiCraftCore mod) {
                super(mod);
        }
 
@@ -50,17 +47,6 @@ public class ChemiCraftRegisterBlock extends ChemiCraftRegister {
                                setStepSound(Block.soundStoneFootstep).
                                setBlockName("ChemicalCraftingTable");
 
-               for (int i = 0; i < this.mod.blockAtomOres.length; i++)
-               {
-                       this.mod.blockAtomOres[i] = new BlockAtomOres(this.mod.atomOresID[i]).
-                                       setHardness(3.0F).
-                                       setResistance(0.0F).
-                                       setStepSound(Block.soundStoneFootstep).
-                                       setBlockName("AtomsOre" + i);
-                       GameRegistry.registerBlock(this.mod.blockAtomOres[i], ItemAtomOres.class, "AtomsOre" + i);
-                       MinecraftForge.setBlockHarvestLevel(this.mod.blockAtomOres[i], "pickaxe", 2);
-               }
-
                /*
                 * Minecraftに登録
                 */
diff --git a/common/pcc/chemicraft/core/ChemiCraftRegisterCoreRecipe.java b/common/pcc/chemicraft/core/ChemiCraftRegisterCoreRecipe.java
new file mode 100644 (file)
index 0000000..44a210c
--- /dev/null
@@ -0,0 +1,93 @@
+package pcc.chemicraft.core;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import pcc.chemicraft.ChemiCraftData;
+import cpw.mods.fml.common.registry.GameRegistry;
+
+public class ChemiCraftRegisterCoreRecipe extends ChemiCraftCoreRegister {
+
+       public ChemiCraftRegisterCoreRecipe(ChemiCraftCore mod) {
+               super(mod);
+       }
+
+       @Override
+       public void start() {
+
+               /*
+                * 科学作業台のレシピ
+                */
+               GameRegistry.addRecipe(new ItemStack(this.mod.blockPyrolysisTable),
+                               new Object[]{
+                       "XYX", "ZAZ", "ZZZ",
+                       Character.valueOf('X'), new ItemStack(Item.ingotIron),
+                       Character.valueOf('Y'), new ItemStack(Block.workbench),
+                       Character.valueOf('Z'), new ItemStack(Block.stone),
+                       Character.valueOf('A'), new ItemStack(Item.bucketLava),
+               });
+
+               GameRegistry.addRecipe(new ItemStack(this.mod.blockChemicalCombinationTable),
+                               new Object[]{
+                       "XYX", "ZAZ", "ZZZ",
+                       Character.valueOf('X'), new ItemStack(Item.ingotIron),
+                       Character.valueOf('Y'), new ItemStack(Block.workbench),
+                       Character.valueOf('Z'), new ItemStack(Block.stone),
+                       Character.valueOf('A'), new ItemStack(Block.obsidian),
+               });
+
+               GameRegistry.addRecipe(new ItemStack(this.mod.blockToolAndWeaponCraftingTable),
+                               new Object[]{
+                       "XYX", "ZAZ", "ZZZ",
+                       Character.valueOf('X'), new ItemStack(Item.ingotIron),
+                       Character.valueOf('Y'), new ItemStack(Block.workbench),
+                       Character.valueOf('Z'), new ItemStack(Block.stone),
+                       Character.valueOf('A'), new ItemStack(Item.pickaxeSteel),
+               });
+
+               GameRegistry.addRecipe(new ItemStack(this.mod.blockChemicalCraftingTable),
+                               new Object[]{
+                       "XYX", "ZAZ", "ZZZ",
+                       Character.valueOf('X'), new ItemStack(Item.ingotIron),
+                       Character.valueOf('Y'), new ItemStack(Block.workbench),
+                       Character.valueOf('Z'), new ItemStack(Block.stone),
+                       Character.valueOf('A'), new ItemStack(this.mod.itemAtoms, 1, 0),
+               });
+
+               /*
+                * 素材制作代のレシピ
+                */
+
+               //化学電池の追加
+               this.mod.api.addMaterialRecipe(new ItemStack[] {
+                               null,
+                               null,
+                               null,
+                               new ItemStack(this.mod.itemAtoms, 1, this.mod.chemicalData.ZINC),
+                               null,
+                               new ItemStack(this.mod.itemAtoms, 1, this.mod.chemicalData.COPPER),
+                               new ItemStack(Item.bucketWater),
+                               new ItemStack(Item.bucketWater),
+                               new ItemStack(Item.bucketWater),
+               },
+               new ItemStack(this.mod.itemChemicalCells, 1, 0),
+               null);
+
+               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/core/ChemiCraftRegisterItem.java b/common/pcc/chemicraft/core/ChemiCraftRegisterItem.java
new file mode 100644 (file)
index 0000000..9f1a722
--- /dev/null
@@ -0,0 +1,44 @@
+package pcc.chemicraft.core;
+
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.ItemStack;
+import pcc.chemicraft.core.item.ItemAtoms;
+import pcc.chemicraft.core.item.ItemChemiCell;
+import pcc.chemicraft.core.item.ItemCompounds;
+import pcc.chemicraft.core.item.ItemGasCollectingBottle;
+import pcc.chemicraft.util.OldItemFood;
+
+public class ChemiCraftRegisterItem extends ChemiCraftCoreRegister {
+
+       public ChemiCraftRegisterItem(ChemiCraftCore mod) {
+               super(mod);
+       }
+
+       @Override
+       public void start() {
+               /*
+                * 代入
+                */
+               this.mod.itemAtoms = new ItemAtoms(this.mod.atomsID).setItemName("atoms");
+               this.mod.itemCompounds = new ItemCompounds(this.mod.compoundsID).setItemName("compounds");
+               this.mod.itemGasCollectingBottle = new ItemGasCollectingBottle(this.mod.gasCollectingBottleID).setItemName("gasCollectingBottle").setIconIndex(0);
+               this.mod.itemChemicalCells = new ItemChemiCell(this.mod.chemicalCellsID).setItemName("chemiCell").setIconIndex(3);
+               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に登録
+                */
+               this.mod.nameAuxiliary.addName(this.mod.itemAtoms, ChemiCraftCore.ATOMSNAME);
+               this.mod.nameAuxiliary.addName(this.mod.itemAtoms, "ja_JP", ChemiCraftCore.ATOMSNAMEJP);
+               this.mod.nameAuxiliary.addName(this.mod.itemGasCollectingBottle, "GasCollectingBottle");
+               this.mod.nameAuxiliary.addName(this.mod.itemGasCollectingBottle, "ja_JP", "集気瓶");
+               this.mod.nameAuxiliary.addName(this.mod.itemPear, "Pear");
+               this.mod.nameAuxiliary.addName(this.mod.itemPear, "ja_JP",  "梨");
+
+       }
+
+}
@@ -1,15 +1,15 @@
-package pcc.chemicraft;
+package pcc.chemicraft.core;
 
-import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
-import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
-import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCombinationTable;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCraftingTable;
+import pcc.chemicraft.core.tileentity.TileEntityElectrolysisTable;
+import pcc.chemicraft.core.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.core.tileentity.TileEntityToolAndWeaponCraftingTable;
 import cpw.mods.fml.common.registry.GameRegistry;
 
-public class ChemiCraftRegisterTileEntity extends ChemiCraftRegister {
+public class ChemiCraftRegisterTileEntity extends ChemiCraftCoreRegister {
 
-       public ChemiCraftRegisterTileEntity(ChemiCraft mod) {
+       public ChemiCraftRegisterTileEntity(ChemiCraftCore mod) {
                super(mod);
        }
 
@@ -1,4 +1,4 @@
-package pcc.chemicraft.block;
+package pcc.chemicraft.core.block;
 
 import net.minecraft.block.BlockContainer;
 import net.minecraft.block.material.Material;
@@ -6,18 +6,19 @@ import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
 import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCombinationTable;
 
 public class BlockChemicalCombinationTable extends BlockContainer {
 
        public BlockChemicalCombinationTable(int par1, int par2, Material par3Material) {
                super(par1, par2, par3Material);
-               this.setCreativeTab(ChemiCraft.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.creativeTabChemiCraft);
        }
 
        @Override
        public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) {
-               par5EntityPlayer.openGui(ChemiCraft.instance, ChemiCraft.instance.guiChemicalCombinationTableID, par1World, par2, par3, par4);
+               par5EntityPlayer.openGui(ChemiCraftCore.instance, ChemiCraftCore.instance.guiChemicalCombinationTableID, par1World, par2, par3, par4);
                return true;
        }
 
@@ -25,7 +26,7 @@ public class BlockChemicalCombinationTable extends BlockContainer {
 
        @Override
        public String getTextureFile() {
-               return ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
+               return ChemiCraft.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
        }
 
 
@@ -1,4 +1,4 @@
-package pcc.chemicraft.block;
+package pcc.chemicraft.core.block;
 
 import net.minecraft.block.BlockContainer;
 import net.minecraft.block.material.Material;
@@ -6,19 +6,20 @@ import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
 import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCraftingTable;
 
 public class BlockChemicalCraftingTable extends BlockContainer {
 
        public BlockChemicalCraftingTable(int par1, int par2, Material par3Material) {
                super(par1, par2, par3Material);
-               this.setCreativeTab(ChemiCraft.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.creativeTabChemiCraft);
        }
 
 
        @Override
        public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9){
-               par5EntityPlayer.openGui(ChemiCraft.instance, ChemiCraft.instance.guiChemicalCraftingTableID, par1World, par2, par3, par4);
+               par5EntityPlayer.openGui(ChemiCraftCore.instance, ChemiCraftCore.instance.guiChemicalCraftingTableID, par1World, par2, par3, par4);
                return true;
        }
 
@@ -26,7 +27,7 @@ public class BlockChemicalCraftingTable extends BlockContainer {
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
+               return ChemiCraft.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
        }
 
 
@@ -1,4 +1,4 @@
-package pcc.chemicraft.block;
+package pcc.chemicraft.core.block;
 
 import net.minecraft.block.BlockContainer;
 import net.minecraft.block.material.Material;
@@ -6,8 +6,9 @@ import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
 import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.debug.DebugTick;
-import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.debug.DebugTick;
+import pcc.chemicraft.core.tileentity.TileEntityElectrolysisTable;
 
 public class BlockElectrolysisTable extends BlockContainer
 {
@@ -15,20 +16,20 @@ public class BlockElectrolysisTable extends BlockContainer
        public BlockElectrolysisTable(int par1, int par2, Material par3Material)
        {
                super(par1, par2, par3Material);
-               this.setCreativeTab(ChemiCraft.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.creativeTabChemiCraft);
        }
 
        @Override
        public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
        {
-               par5EntityPlayer.openGui(ChemiCraft.instance, ChemiCraft.instance.guiElectrolysisTableID, par1World, par2, par3, par4);
+               par5EntityPlayer.openGui(ChemiCraftCore.instance, ChemiCraftCore.instance.guiElectrolysisTableID, par1World, par2, par3, par4);
                return true;
        }
 
        @Override
        public String getTextureFile()
        {
-               return ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
+               return ChemiCraft.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
        }
 
        @Override
@@ -1,4 +1,4 @@
-package pcc.chemicraft.block;
+package pcc.chemicraft.core.block;
 
 import net.minecraft.block.BlockContainer;
 import net.minecraft.block.material.Material;
@@ -6,19 +6,20 @@ import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
 import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.debug.DebugTick;
-import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.debug.DebugTick;
+import pcc.chemicraft.core.tileentity.TileEntityPyrolysisTable;
 
 public class BlockPyrolysisTable extends BlockContainer {
 
        public BlockPyrolysisTable(int par1, int par2, Material par3Material) {
                super(par1, par2, par3Material);
-               this.setCreativeTab(ChemiCraft.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.creativeTabChemiCraft);
        }
 
        @Override
        public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9){
-               par5EntityPlayer.openGui(ChemiCraft.instance, ChemiCraft.instance.guiPyrolysisTableID, par1World, par2, par3, par4);
+               par5EntityPlayer.openGui(ChemiCraftCore.instance, ChemiCraftCore.instance.guiPyrolysisTableID, par1World, par2, par3, par4);
                return true;
        }
 
@@ -26,7 +27,7 @@ public class BlockPyrolysisTable extends BlockContainer {
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
+               return ChemiCraft.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
        }
 
 
@@ -1,4 +1,4 @@
-package pcc.chemicraft.block;
+package pcc.chemicraft.core.block;
 
 import net.minecraft.block.BlockContainer;
 import net.minecraft.block.material.Material;
@@ -6,18 +6,19 @@ import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
 import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.tileentity.TileEntityToolAndWeaponCraftingTable;
 
 public class BlockToolAndWeaponCraftingTable extends BlockContainer {
 
        public BlockToolAndWeaponCraftingTable(int par1, int par2, Material par3Material) {
                super(par1, par2, par3Material);
-               this.setCreativeTab(ChemiCraft.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.creativeTabChemiCraft);
        }
 
        @Override
        public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9){
-               par5EntityPlayer.openGui(ChemiCraft.instance, ChemiCraft.instance.guiToolAndWeaponCraftingTableID, par1World, par2, par3, par4);
+               par5EntityPlayer.openGui(ChemiCraftCore.instance, ChemiCraftCore.instance.guiToolAndWeaponCraftingTableID, par1World, par2, par3, par4);
                return true;
        }
 
@@ -25,7 +26,7 @@ public class BlockToolAndWeaponCraftingTable extends BlockContainer {
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
+               return ChemiCraft.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE;
        }
 
 
diff --git a/common/pcc/chemicraft/core/client/ClientProxy.java b/common/pcc/chemicraft/core/client/ClientProxy.java
new file mode 100644 (file)
index 0000000..a296207
--- /dev/null
@@ -0,0 +1,76 @@
+package pcc.chemicraft.core.client;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+import net.minecraftforge.client.MinecraftForgeClient;
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.core.container.ContainerElectrolysisTable;
+import pcc.chemicraft.core.debug.DebugTick;
+import pcc.chemicraft.core.gui.GuiChemicalCombinationTable;
+import pcc.chemicraft.core.gui.GuiChemicalCraftingTable;
+import pcc.chemicraft.core.gui.GuiElectrolysisTable;
+import pcc.chemicraft.core.gui.GuiPyrolysisTable;
+import pcc.chemicraft.core.gui.GuiToolAndWeaponCraftingTable;
+import pcc.chemicraft.core.system.CommonProxy;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCombinationTable;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCraftingTable;
+import pcc.chemicraft.core.tileentity.TileEntityElectrolysisTable;
+import pcc.chemicraft.core.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.core.tileentity.TileEntityToolAndWeaponCraftingTable;
+import cpw.mods.fml.client.FMLClientHandler;
+import cpw.mods.fml.common.registry.TickRegistry;
+import cpw.mods.fml.relauncher.Side;
+
+public class ClientProxy extends CommonProxy {
+
+       @Override
+       public void registerRenderInformation() {
+               MinecraftForgeClient.preloadTexture(ChemiCraft.BLOCK_CHEMICAL_CRAFTING_TABLE_TEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.BLOCK_ATOMS_ORE_TEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.ITEM_ATOMS_TEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.ITEM_COMPOUNDS_TEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.ITEM_TEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.GUI_PYROLYSIS_TEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.GUI_ELECTROLYSIS_TEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.GUI_CHEMICALCOMBINATION_TEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.GUI_CHEMICALCRAFTING_TEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.GUI_TOOLANDWEAPONCRAFTING_TEXTURE);
+               MinecraftForgeClient.preloadTexture(ChemiCraft.ENTITY_PARTICLE_TEXRURE);
+       }
+
+
+       @Override
+       public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
+               if (!world.blockExists(x, y, z))
+                       return null;
+
+               TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
+               if (tileEntity instanceof TileEntityPyrolysisTable) {
+                       return new GuiPyrolysisTable(player, (TileEntityPyrolysisTable) tileEntity);
+               }else if(tileEntity instanceof TileEntityElectrolysisTable){
+                       return new GuiElectrolysisTable(player, (TileEntityElectrolysisTable) tileEntity);
+               }else if(tileEntity instanceof TileEntityChemicalCombinationTable){
+                       return new GuiChemicalCombinationTable(player, (TileEntityChemicalCombinationTable) tileEntity);
+               }else if(tileEntity instanceof TileEntityToolAndWeaponCraftingTable){
+                       return new GuiToolAndWeaponCraftingTable(player, (TileEntityToolAndWeaponCraftingTable) tileEntity);
+               }else if(tileEntity instanceof TileEntityChemicalCraftingTable){
+                       return new GuiChemicalCraftingTable(player, (TileEntityChemicalCraftingTable) tileEntity);
+               } else if (tileEntity instanceof TileEntityElectrolysisTable) {
+                       return new ContainerElectrolysisTable(player, (TileEntityElectrolysisTable) tileEntity);
+               }
+               return null;
+       }
+
+
+       @Override
+       public World getClientWorld() {
+               return FMLClientHandler.instance().getClient().theWorld;
+       }
+
+       @Override
+       public void registerTickHandler() {
+               TickRegistry.registerTickHandler(new DebugTick(), Side.CLIENT);
+       }
+
+}
@@ -1,4 +1,4 @@
-package pcc.chemicraft.compounds;
+package pcc.chemicraft.core.compounds;
 
 import net.minecraft.entity.Entity;
 import net.minecraft.entity.player.EntityPlayer;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.container;
+package pcc.chemicraft.core.container;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
@@ -6,13 +6,13 @@ import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
 import net.minecraft.item.ItemStack;
 import net.minecraft.world.World;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.ChemiCraftAPI;
-import pcc.chemicraft.inventory.InventoryChemicalCombinationTableMaterial;
-import pcc.chemicraft.inventory.InventoryChemicalCombinationTableResult;
-import pcc.chemicraft.slot.SlotChemicalCombinationTableMaterial;
-import pcc.chemicraft.slot.SlotChemicalCombinationTableResult;
-import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
+import pcc.chemicraft.core.ChemiCraftAPI;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.inventory.InventoryChemicalCombinationTableMaterial;
+import pcc.chemicraft.core.inventory.InventoryChemicalCombinationTableResult;
+import pcc.chemicraft.core.slot.SlotChemicalCombinationTableMaterial;
+import pcc.chemicraft.core.slot.SlotChemicalCombinationTableResult;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCombinationTable;
 import cpw.mods.fml.common.network.PacketDispatcher;
 
 public class ContainerChemicalCombinationTable extends Container {
@@ -94,7 +94,7 @@ public class ContainerChemicalCombinationTable extends Container {
 
        @Override
        public boolean canInteractWith(EntityPlayer par1EntityPlayer){
-               return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.chemicalConbinationTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
+               return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraftCore.instance.chemicalConbinationTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
        }
 
        @Override
@@ -1,6 +1,4 @@
-package pcc.chemicraft.container;
-
-import java.awt.Toolkit;
+package pcc.chemicraft.core.container;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
@@ -8,13 +6,13 @@ import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
 import net.minecraft.item.ItemStack;
 import net.minecraft.world.World;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.ChemiCraftAPI;
-import pcc.chemicraft.inventory.InventoryChemicalCraftingMaterial;
-import pcc.chemicraft.inventory.InventoryChemicalCraftingNBT;
-import pcc.chemicraft.inventory.InventoryChemicalCraftingResult;
-import pcc.chemicraft.slot.SlotChemicalCraftingTableResult;
-import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
+import pcc.chemicraft.core.ChemiCraftAPI;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingMaterial;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingNBT;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingResult;
+import pcc.chemicraft.core.slot.SlotChemicalCraftingTableResult;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCraftingTable;
 import pcc.chemicraft.util.ChemicalNBTRecipe;
 
 public class ContainerChemicalCraftingTable extends Container {
@@ -129,7 +127,7 @@ public class ContainerChemicalCraftingTable extends Container {
 
        @Override
        public boolean canInteractWith(EntityPlayer par1EntityPlayer){
-               return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.chemicalCraftingTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
+               return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraftCore.instance.chemicalCraftingTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
        }
 
 
@@ -1,23 +1,18 @@
-package pcc.chemicraft.container;
-
-import java.util.ArrayList;
-import java.util.Iterator;
+package pcc.chemicraft.core.container;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
-import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
 import net.minecraft.item.ItemStack;
 import net.minecraft.world.World;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.inventory.InventoryElectrolysisFuel;
-import pcc.chemicraft.inventory.InventoryElectrolysisMaterial;
-import pcc.chemicraft.inventory.InventoryElectrolysisResult;
-import pcc.chemicraft.slot.SlotElectrolysisFuel;
-import pcc.chemicraft.slot.SlotElectrolysisMaterial;
-import pcc.chemicraft.slot.SlotElectrolysisResult;
-import pcc.chemicraft.slot.SlotPyrolysisTableResult;
-import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.inventory.InventoryElectrolysisFuel;
+import pcc.chemicraft.core.inventory.InventoryElectrolysisMaterial;
+import pcc.chemicraft.core.inventory.InventoryElectrolysisResult;
+import pcc.chemicraft.core.slot.SlotElectrolysisFuel;
+import pcc.chemicraft.core.slot.SlotElectrolysisMaterial;
+import pcc.chemicraft.core.slot.SlotElectrolysisResult;
+import pcc.chemicraft.core.tileentity.TileEntityElectrolysisTable;
 
 
 public class ContainerElectrolysisTable extends Container {
@@ -74,7 +69,7 @@ public class ContainerElectrolysisTable extends Container {
        @Override
        public boolean canInteractWith(EntityPlayer par1EntityPlayer)
        {
-               return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.electrolysisTableID ? false : par1EntityPlayer.getDistanceSq((double) this.posX + 0.5D, (double) this.posY + 0.5D, (double) this.posZ + 0.5D) <= 64.0D;
+               return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraftCore.instance.electrolysisTableID ? false : par1EntityPlayer.getDistanceSq((double) this.posX + 0.5D, (double) this.posY + 0.5D, (double) this.posZ + 0.5D) <= 64.0D;
        }
 
        @Override
@@ -1,18 +1,18 @@
-package pcc.chemicraft.container;
+package pcc.chemicraft.core.container;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
 import net.minecraft.inventory.Slot;
 import net.minecraft.item.ItemStack;
 import net.minecraft.world.World;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.inventory.InventoryPyrolysisTableFuel;
-import pcc.chemicraft.inventory.InventoryPyrolysisTableMaterial;
-import pcc.chemicraft.inventory.InventoryPyrolysisTableResult;
-import pcc.chemicraft.slot.SlotPyrolysisTableFuel;
-import pcc.chemicraft.slot.SlotPyrolysisTableMaterial;
-import pcc.chemicraft.slot.SlotPyrolysisTableResult;
-import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.inventory.InventoryPyrolysisTableFuel;
+import pcc.chemicraft.core.inventory.InventoryPyrolysisTableMaterial;
+import pcc.chemicraft.core.inventory.InventoryPyrolysisTableResult;
+import pcc.chemicraft.core.slot.SlotPyrolysisTableFuel;
+import pcc.chemicraft.core.slot.SlotPyrolysisTableMaterial;
+import pcc.chemicraft.core.slot.SlotPyrolysisTableResult;
+import pcc.chemicraft.core.tileentity.TileEntityPyrolysisTable;
 
 
 public class ContainerPyrolysisTable extends Container {
@@ -68,7 +68,7 @@ public class ContainerPyrolysisTable extends Container {
 
        @Override
        public boolean canInteractWith(EntityPlayer par1EntityPlayer) {
-               return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.pyrolysisTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
+               return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraftCore.instance.pyrolysisTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
        }
 
        @Override
@@ -1,8 +1,8 @@
-package pcc.chemicraft.container;
+package pcc.chemicraft.core.container;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
-import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
+import pcc.chemicraft.core.tileentity.TileEntityToolAndWeaponCraftingTable;
 
 public class ContainerToolAndWeaponCraftingTable extends Container {
 
@@ -1,7 +1,7 @@
-package pcc.chemicraft.creativetab;
+package pcc.chemicraft.core.creativetab;
 
 import net.minecraft.creativetab.CreativeTabs;
-import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.core.ChemiCraftCore;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -16,7 +16,7 @@ public class CreativeTabChemiCraft extends CreativeTabs {
        @Override
        @SideOnly(Side.CLIENT)
        public int getTabIconItemIndex(){
-               return ChemiCraft.instance.itemGasCollectingBottle.shiftedIndex;
+               return ChemiCraftCore.instance.itemGasCollectingBottle.shiftedIndex;
        }
 
 
@@ -1,4 +1,4 @@
-package pcc.chemicraft.debug;
+package pcc.chemicraft.core.debug;
 
 import java.util.Iterator;
 import java.util.List;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.debug;
+package pcc.chemicraft.core.debug;
 
 import net.minecraft.block.Block;
 import net.minecraft.command.CommandBase;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.debug;
+package pcc.chemicraft.core.debug;
 
 import net.minecraft.block.Block;
 import net.minecraft.command.CommandBase;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.debug;
+package pcc.chemicraft.core.debug;
 
 import net.minecraft.entity.Entity;
 import net.minecraft.entity.player.EntityPlayer;
similarity index 88%
rename from common/pcc/chemicraft/debug/DebugData.java
rename to common/pcc/chemicraft/core/debug/DebugData.java
index cec3c67..7011f6b 100644 (file)
@@ -1,4 +1,4 @@
-package pcc.chemicraft.debug;
+package pcc.chemicraft.core.debug;
 
 public class DebugData {
 
similarity index 98%
rename from common/pcc/chemicraft/debug/DebugTick.java
rename to common/pcc/chemicraft/core/debug/DebugTick.java
index 87a6605..309ab7d 100644 (file)
@@ -1,4 +1,4 @@
-package pcc.chemicraft.debug;
+package pcc.chemicraft.core.debug;
 
 import java.awt.Color;
 import java.awt.Font;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.debug;
+package pcc.chemicraft.core.debug;
 import java.util.Random;
 
 import net.minecraft.world.World;
@@ -1,12 +1,12 @@
-package pcc.chemicraft.gui;
+package pcc.chemicraft.core.gui;
 
 import net.minecraft.client.gui.GuiButton;
 import net.minecraft.client.gui.GuiTextField;
 import net.minecraft.client.gui.inventory.GuiContainer;
 import net.minecraft.entity.player.EntityPlayer;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.container.ContainerChemicalCombinationTable;
-import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.container.ContainerChemicalCombinationTable;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCombinationTable;
 import cpw.mods.fml.common.network.PacketDispatcher;
 
 public class GuiChemicalCombinationTable extends GuiContainer {
@@ -33,7 +33,7 @@ public class GuiChemicalCombinationTable extends GuiContainer {
 
        @Override
        protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
-               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUI_CHEMICALCOMBINATION_TEXTURE));
+               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraftCore.instance.GUI_CHEMICALCOMBINATION_TEXTURE));
                this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
        }
 
@@ -1,10 +1,10 @@
-package pcc.chemicraft.gui;
+package pcc.chemicraft.core.gui;
 
 import net.minecraft.client.gui.inventory.GuiContainer;
 import net.minecraft.entity.player.EntityPlayer;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.container.ContainerChemicalCraftingTable;
-import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.container.ContainerChemicalCraftingTable;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCraftingTable;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -19,7 +19,7 @@ public class GuiChemicalCraftingTable extends GuiContainer {
 
        @Override
        protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3){
-               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUI_CHEMICALCRAFTING_TEXTURE));
+               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraftCore.instance.GUI_CHEMICALCRAFTING_TEXTURE));
                this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
        }
 
@@ -1,10 +1,10 @@
-package pcc.chemicraft.gui;
+package pcc.chemicraft.core.gui;
 
 import net.minecraft.client.gui.inventory.GuiContainer;
 import net.minecraft.entity.player.EntityPlayer;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.container.ContainerElectrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.container.ContainerElectrolysisTable;
+import pcc.chemicraft.core.tileentity.TileEntityElectrolysisTable;
 
 public class GuiElectrolysisTable extends GuiContainer
 {
@@ -21,7 +21,7 @@ public class GuiElectrolysisTable extends GuiContainer
        @Override
        protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3)
        {
-               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUI_ELECTROLYSIS_TEXTURE));
+               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraftCore.instance.GUI_ELECTROLYSIS_TEXTURE));
                this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
        }
 
@@ -1,10 +1,10 @@
-package pcc.chemicraft.gui;
+package pcc.chemicraft.core.gui;
 
 import net.minecraft.client.gui.inventory.GuiContainer;
 import net.minecraft.entity.player.EntityPlayer;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.container.ContainerPyrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.container.ContainerPyrolysisTable;
+import pcc.chemicraft.core.tileentity.TileEntityPyrolysisTable;
 
 public class GuiPyrolysisTable extends GuiContainer{
 
@@ -18,7 +18,7 @@ public class GuiPyrolysisTable extends GuiContainer{
 
        @Override
        protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
-               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUI_PYROLYSIS_TEXTURE));
+               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraftCore.instance.GUI_PYROLYSIS_TEXTURE));
                this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
                System.out.println((int) (13F / this.tileentity.getFuelRestTime()));
                System.out.println(this.tileentity.getFuelRestTime());
@@ -1,10 +1,10 @@
-package pcc.chemicraft.gui;
+package pcc.chemicraft.core.gui;
 
 import net.minecraft.client.gui.inventory.GuiContainer;
 import net.minecraft.entity.player.EntityPlayer;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.container.ContainerToolAndWeaponCraftingTable;
-import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.container.ContainerToolAndWeaponCraftingTable;
+import pcc.chemicraft.core.tileentity.TileEntityToolAndWeaponCraftingTable;
 
 public class GuiToolAndWeaponCraftingTable extends GuiContainer {
 
@@ -14,7 +14,7 @@ public class GuiToolAndWeaponCraftingTable extends GuiContainer {
 
        @Override
        protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) {
-               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraft.instance.GUI_TOOLANDWEAPONCRAFTING_TEXTURE));
+               this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture(ChemiCraftCore.instance.GUI_TOOLANDWEAPONCRAFTING_TEXTURE));
                this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
        }
 
@@ -1,4 +1,4 @@
-package pcc.chemicraft.inventory;
+package pcc.chemicraft.core.inventory;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.item;
+package pcc.chemicraft.core.item;
 
 import net.minecraft.item.Item;
 import pcc.chemicraft.util.AtomInfo;
similarity index 70%
rename from common/pcc/chemicraft/item/ItemAtoms.java
rename to common/pcc/chemicraft/core/item/ItemAtoms.java
index 4c2357f..4c41247 100644 (file)
@@ -1,4 +1,4 @@
-package pcc.chemicraft.item;
+package pcc.chemicraft.core.item;
 
 import java.util.List;
 
@@ -6,6 +6,7 @@ import net.minecraft.creativetab.CreativeTabs;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
 import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.core.ChemiCraftCore;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -16,7 +17,7 @@ public class ItemAtoms extends Item {
                this.maxStackSize = 64;
                this.setHasSubtypes(true);
                this.setMaxDamage(0);
-               this.setCreativeTab(ChemiCraft.instance.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.instance.creativeTabChemiCraft);
        }
 
 
@@ -25,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.instance.ATOMSNAME.length; type++)
+               for(int type = 0; type < ChemiCraftCore.instance.ATOMSNAME.length; type++)
                {
                        par3List.add(new ItemStack(par1, 1, type));
                        this.setIconIndex(type);
@@ -36,14 +37,14 @@ public class ItemAtoms extends Item {
 
        @Override
        public String getItemNameIS(ItemStack par1ItemStack){
-               return super.getItemName() + "." + ChemiCraft.instance.ATOMSNAME[par1ItemStack.getItemDamage()];
+               return super.getItemName() + "." + ChemiCraftCore.instance.ATOMSNAME[par1ItemStack.getItemDamage()];
        }
 
 
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.ITEM_ATOMS_TEXTURE;
+               return ChemiCraft.ITEM_ATOMS_TEXTURE;
        }
 
 
@@ -1,12 +1,13 @@
-package pcc.chemicraft.item;
+package pcc.chemicraft.core.item;
 
 import java.util.List;
 
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.ChemiCraftAPI;
 import net.minecraft.creativetab.CreativeTabs;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.core.ChemiCraftAPI;
+import pcc.chemicraft.core.ChemiCraftCore;
 
 
 public class ItemChemiCell extends Item
@@ -18,7 +19,7 @@ public class ItemChemiCell extends Item
                this.maxStackSize = 64;
                this.setHasSubtypes(true);
                this.setMaxDamage(0);
-               this.setCreativeTab(ChemiCraft.instance.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.instance.creativeTabChemiCraft);
        }
 
 
@@ -43,7 +44,7 @@ public class ItemChemiCell extends Item
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.ITEM_TEXTURE;
+               return ChemiCraft.ITEM_TEXTURE;
        }
 
 }
@@ -1,4 +1,4 @@
-package pcc.chemicraft.item;
+package pcc.chemicraft.core.item;
 
 import java.util.List;
 
@@ -9,7 +9,8 @@ import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
 import net.minecraft.world.World;
 import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.ChemiCraftAPI;
+import pcc.chemicraft.core.ChemiCraftAPI;
+import pcc.chemicraft.core.ChemiCraftCore;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -19,7 +20,7 @@ public class ItemCompounds extends Item {
                super(par1);
                this.setHasSubtypes(true);
                this.setMaxDamage(0);
-               this.setCreativeTab(ChemiCraft.instance.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.instance.creativeTabChemiCraft);
        }
 
        @Override
@@ -97,7 +98,7 @@ public class ItemCompounds extends Item {
 
        @Override
        public String getTextureFile(){
-               return ChemiCraft.instance.ITEM_COMPOUNDS_TEXTURE;
+               return ChemiCraft.ITEM_COMPOUNDS_TEXTURE;
        }
 
 
@@ -1,4 +1,4 @@
-package pcc.chemicraft.item;
+package pcc.chemicraft.core.item;
 
 import net.minecraft.block.Block;
 import net.minecraft.block.BlockFire;
@@ -6,8 +6,9 @@ import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.item.ItemStack;
 import net.minecraft.world.World;
 import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.ChemiCraftAPI;
 import pcc.chemicraft.ChemiCraftData;
+import pcc.chemicraft.core.ChemiCraftAPI;
+import pcc.chemicraft.core.ChemiCraftCore;
 import pcc.chemicraft.util.Auxiliary.Probability;
 
 public class ItemGasCollectingBottle extends ItemAtomInfoContainer
@@ -20,7 +21,7 @@ public class ItemGasCollectingBottle extends ItemAtomInfoContainer
                super(id);
                this.setMaxStackSize(1);
                this.setMaxDamage(2);
-               this.setCreativeTab(ChemiCraft.instance.creativeTabChemiCraft);
+               this.setCreativeTab(ChemiCraftCore.instance.creativeTabChemiCraft);
        }
 
        @Override
@@ -35,23 +36,23 @@ public class ItemGasCollectingBottle extends ItemAtomInfoContainer
                int result = probability.getProbability(78.0D, 21.0D, 1.0D, 0.032D, 0.0018D, 0.000012D, 0.00052D, 0.000114D, 0.000087D);
                if (this.atomInfo.isOverY(heightValue)) {
                        if (result == 0) {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemAtoms, 1, ChemiCraftData.NITROGEN), par3EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemAtoms, 1, ChemiCraftData.NITROGEN), par3EntityPlayer);
                        } else if (result == 1) {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemAtoms, 1, ChemiCraftData.OXYGEN), par3EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemAtoms, 1, ChemiCraftData.OXYGEN), par3EntityPlayer);
                        } else if (result == 2) {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemAtoms, 1, ChemiCraftData.ARGON), par3EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemAtoms, 1, ChemiCraftData.ARGON), par3EntityPlayer);
                        } else if (result == 3) {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonDioxide")), par3EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonDioxide")), par3EntityPlayer);
                        } else if (result == 4) {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemAtoms, 1, ChemiCraftData.NEON), par3EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemAtoms, 1, ChemiCraftData.NEON), par3EntityPlayer);
                        } else if (result == 5) {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonMonoxide")), par3EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonMonoxide")), par3EntityPlayer);
                        } else if (result == 6) {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemAtoms, 1, ChemiCraftData.LITHIUM), par3EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemAtoms, 1, ChemiCraftData.LITHIUM), par3EntityPlayer);
                        } else if (result == 7) {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemAtoms, 1, ChemiCraftData.KRYPTON), par3EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemAtoms, 1, ChemiCraftData.KRYPTON), par3EntityPlayer);
                        } else {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemAtoms, 1, ChemiCraftData.XENON), par3EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemAtoms, 1, ChemiCraftData.XENON), par3EntityPlayer);
                        }
                }
 
@@ -80,9 +81,9 @@ public class ItemGasCollectingBottle extends ItemAtomInfoContainer
                        int result1 = probability.getProbability(99, 1);
 
                        if (result1 == 0) {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonDioxide")), par2EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonDioxide")), par2EntityPlayer);
                        } else {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonMonoxide")), par2EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraftCore.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonMonoxide")), par2EntityPlayer);
                        }
 
                        return true;
@@ -93,7 +94,7 @@ public class ItemGasCollectingBottle extends ItemAtomInfoContainer
        @Override
        public String getTextureFile()
        {
-               return ChemiCraft.instance.ITEM_TEXTURE;
+               return ChemiCraft.ITEM_TEXTURE;
        }
 
 }
@@ -1,9 +1,9 @@
-package pcc.chemicraft.slot;
+package pcc.chemicraft.core.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
 import net.minecraft.item.ItemStack;
-import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.core.ChemiCraftCore;
 
 
 public class SlotChemicalCombinationTableMaterial extends Slot {
@@ -14,7 +14,7 @@ public class SlotChemicalCombinationTableMaterial extends Slot {
 
        @Override
        public boolean isItemValid(ItemStack par1ItemStack){
-               if(par1ItemStack.itemID == ChemiCraft.instance.atomsID + 256){
+               if(par1ItemStack.itemID == ChemiCraftCore.instance.atomsID + 256){
                        return true;
                }
                return false;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.slot;
+package pcc.chemicraft.core.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.slot;
+package pcc.chemicraft.core.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.slot;
+package pcc.chemicraft.core.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.slot;
+package pcc.chemicraft.core.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.slot;
+package pcc.chemicraft.core.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.slot;
+package pcc.chemicraft.core.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.system;
+package pcc.chemicraft.core.system;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -6,12 +6,12 @@ import java.util.Collections;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.item.ItemStack;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.ChemiCraftAPI;
-import pcc.chemicraft.inventory.InventoryChemicalCraftingMaterial;
-import pcc.chemicraft.inventory.InventoryChemicalCraftingNBT;
-import pcc.chemicraft.inventory.InventoryChemicalCraftingResult;
-import pcc.chemicraft.inventory.InventoryToolAndWeaponCraftingTableMaterial;
+import pcc.chemicraft.core.ChemiCraftAPI;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingMaterial;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingNBT;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingResult;
+import pcc.chemicraft.core.inventory.InventoryToolAndWeaponCraftingTableMaterial;
 import pcc.chemicraft.util.ChemicalNBTRecipe;
 import pcc.chemicraft.util.ComparatorFormulaPart;
 import pcc.chemicraft.util.ComparatorItemStack;
@@ -34,7 +34,7 @@ public class ChemiCraftCraftingManager {
                label1 :
                        for (int i = 0; i < materials.size(); i++) {
                                if (sharpless.get(i)) {
-                                       slotItems = ChemiCraft.instance.arrayAuxiliary.deleteNull(slotItems);
+                                       slotItems = ChemiCraftCore.instance.arrayAuxiliary.deleteNull(slotItems);
                                        Collections.sort(materials, new ComparatorItemStack());
                                        Arrays.sort(slotItems, new ComparatorItemStack());
                                        if (materials.size() != slotItems.length) continue label1;
@@ -48,7 +48,7 @@ public class ChemiCraftCraftingManager {
                                        }
                                        return result.get(i);
                                } else {
-                                       slotItems = ChemiCraft.instance.arrayAuxiliary.deleteNull(slotItems);
+                                       slotItems = ChemiCraftCore.instance.arrayAuxiliary.deleteNull(slotItems);
                                        if (materials.get(i).length != slotItems.length) continue label1;
 
                                        for (int j = 0; j < materials.size(); j++) {
@@ -1,19 +1,19 @@
-package pcc.chemicraft.system;
+package pcc.chemicraft.core.system;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
-import pcc.chemicraft.container.ContainerChemicalCombinationTable;
-import pcc.chemicraft.container.ContainerChemicalCraftingTable;
-import pcc.chemicraft.container.ContainerElectrolysisTable;
-import pcc.chemicraft.container.ContainerPyrolysisTable;
-import pcc.chemicraft.container.ContainerToolAndWeaponCraftingTable;
-import pcc.chemicraft.debug.DebugTick;
-import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
-import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
-import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
+import pcc.chemicraft.core.container.ContainerChemicalCombinationTable;
+import pcc.chemicraft.core.container.ContainerChemicalCraftingTable;
+import pcc.chemicraft.core.container.ContainerElectrolysisTable;
+import pcc.chemicraft.core.container.ContainerPyrolysisTable;
+import pcc.chemicraft.core.container.ContainerToolAndWeaponCraftingTable;
+import pcc.chemicraft.core.debug.DebugTick;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCombinationTable;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCraftingTable;
+import pcc.chemicraft.core.tileentity.TileEntityElectrolysisTable;
+import pcc.chemicraft.core.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.core.tileentity.TileEntityToolAndWeaponCraftingTable;
 import cpw.mods.fml.common.network.IGuiHandler;
 import cpw.mods.fml.common.registry.TickRegistry;
 import cpw.mods.fml.relauncher.Side;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.system;
+package pcc.chemicraft.core.system;
 
 import java.io.ByteArrayOutputStream;
 import java.io.DataOutputStream;
@@ -10,12 +10,12 @@ import net.minecraft.network.packet.Packet;
 import net.minecraft.network.packet.Packet250CustomPayload;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
-import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
-import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
-import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCombinationTable;
+import pcc.chemicraft.core.tileentity.TileEntityChemicalCraftingTable;
+import pcc.chemicraft.core.tileentity.TileEntityElectrolysisTable;
+import pcc.chemicraft.core.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.core.tileentity.TileEntityToolAndWeaponCraftingTable;
 
 import com.google.common.io.ByteArrayDataInput;
 import com.google.common.io.ByteStreams;
@@ -48,7 +48,7 @@ public class PacketHandler implements IPacketHandler {
                        y = badi.readInt();
                        z = badi.readInt();
 
-                       worldClient = ChemiCraft.proxy.getClientWorld();
+                       worldClient = ChemiCraftCore.proxy.getClientWorld();
                        worldServer = ((EntityPlayer)player).worldObj;
                        if(worldClient != null && worldServer == null){
                                var1 = worldClient.getBlockTileEntity(x, y, z);
@@ -1,4 +1,4 @@
-package pcc.chemicraft.tileentity;
+package pcc.chemicraft.core.tileentity;
 
 import java.io.DataOutputStream;
 import java.util.ArrayList;
@@ -11,11 +11,11 @@ import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.nbt.NBTTagList;
 import net.minecraft.network.packet.Packet;
 import net.minecraft.tileentity.TileEntity;
-import pcc.chemicraft.ChemiCraft;
 import pcc.chemicraft.ChemiCraftData;
-import pcc.chemicraft.inventory.InventoryChemicalCombinationTableMaterial;
-import pcc.chemicraft.inventory.InventoryChemicalCombinationTableResult;
-import pcc.chemicraft.system.PacketHandler;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.inventory.InventoryChemicalCombinationTableMaterial;
+import pcc.chemicraft.core.inventory.InventoryChemicalCombinationTableResult;
+import pcc.chemicraft.core.system.PacketHandler;
 import pcc.chemicraft.util.ComparatorItemStack;
 
 import com.google.common.io.ByteArrayDataInput;
@@ -303,7 +303,7 @@ public class TileEntityChemicalCombinationTable extends TileEntity {
                        }
                }
                Arrays.sort(stacks, new ComparatorItemStack());
-               stacks = ChemiCraft.instance.arrayAuxiliary.deleteNull(stacks);
+               stacks = ChemiCraftCore.instance.arrayAuxiliary.deleteNull(stacks);
 
                for(int i = 0;i < stacks.length;i++){
                        if(stacks[i].stackSize > 1){
@@ -328,12 +328,12 @@ public class TileEntityChemicalCombinationTable extends TileEntity {
                                        int var3 = var2.get(i);
                                        while(var3 > 0){
                                                if(var3 > 64){
-                                                       ItemStack itemstack = new ItemStack(ChemiCraft.instance.itemAtoms, 64, j);
+                                                       ItemStack itemstack = new ItemStack(ChemiCraftCore.instance.itemAtoms, 64, j);
                                                        this.setDropItems(itemstack);
                                                        PacketDispatcher.sendPacketToServer(this.getDescriptionPacket());
                                                        var3 -= 64;
                                                }else{
-                                                       ItemStack itemstack = new ItemStack(ChemiCraft.instance.itemAtoms, var3, j);
+                                                       ItemStack itemstack = new ItemStack(ChemiCraftCore.instance.itemAtoms, var3, j);
                                                        this.setDropItems(itemstack);
                                                        PacketDispatcher.sendPacketToServer(this.getDescriptionPacket());
                                                        var3 = 0;
@@ -1,4 +1,4 @@
-package pcc.chemicraft.tileentity;
+package pcc.chemicraft.core.tileentity;
 
 import java.io.DataOutputStream;
 
@@ -8,10 +8,10 @@ import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.nbt.NBTTagList;
 import net.minecraft.network.packet.Packet;
 import net.minecraft.tileentity.TileEntity;
-import pcc.chemicraft.inventory.InventoryChemicalCraftingMaterial;
-import pcc.chemicraft.inventory.InventoryChemicalCraftingNBT;
-import pcc.chemicraft.inventory.InventoryChemicalCraftingResult;
-import pcc.chemicraft.system.PacketHandler;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingMaterial;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingNBT;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingResult;
+import pcc.chemicraft.core.system.PacketHandler;
 
 import com.google.common.io.ByteArrayDataInput;
 
@@ -1,24 +1,22 @@
-package pcc.chemicraft.tileentity;
+package pcc.chemicraft.core.tileentity;
 
 import ic2.api.Direction;
 import ic2.api.energy.tile.IEnergySink;
 
 import java.io.DataOutputStream;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Random;
 
-import net.minecraft.block.Block;
 import net.minecraft.item.ItemStack;
 import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.nbt.NBTTagList;
 import net.minecraft.network.packet.Packet;
 import net.minecraft.tileentity.TileEntity;
-import pcc.chemicraft.ChemiCraftAPI;
-import pcc.chemicraft.inventory.InventoryElectrolysisFuel;
-import pcc.chemicraft.inventory.InventoryElectrolysisMaterial;
-import pcc.chemicraft.inventory.InventoryElectrolysisResult;
-import pcc.chemicraft.system.PacketHandler;
+import pcc.chemicraft.core.ChemiCraftAPI;
+import pcc.chemicraft.core.inventory.InventoryElectrolysisFuel;
+import pcc.chemicraft.core.inventory.InventoryElectrolysisMaterial;
+import pcc.chemicraft.core.inventory.InventoryElectrolysisResult;
+import pcc.chemicraft.core.system.PacketHandler;
 
 import com.google.common.io.ByteArrayDataInput;
 
@@ -69,11 +67,6 @@ public class TileEntityElectrolysisTable extends TileEntity implements IEnergySi
         */
        public static final Random rand = new Random();
 
-       /**
-        * レシピのリスト
-        */
-       private static HashMap<ItemStack, ItemStack[]> recipeList = new HashMap<ItemStack, ItemStack[]>();
-
        @Override
        public void updateEntity()
        {
@@ -83,7 +76,7 @@ public class TileEntityElectrolysisTable extends TileEntity implements IEnergySi
                }
 
                if (this.burnTime >= MAX_BURN_TIME) {
-                       Iterator<ItemStack> itMaterial = recipeList.keySet().iterator();
+                       Iterator<ItemStack> itMaterial = ChemiCraftAPI.instance().getElectrolysisRecipeList().keySet().iterator();
                        while (itMaterial.hasNext()) {
                                ItemStack itemstackMaterial = itMaterial.next();
                                ItemStack materialItem = this.invm.getStackInSlot(0);
@@ -106,7 +99,7 @@ public class TileEntityElectrolysisTable extends TileEntity implements IEnergySi
 
                boolean var1 = false;
                if (this.heat > MIN_HEAT) {
-                       Iterator<ItemStack> itMaterial = recipeList.keySet().iterator();
+                       Iterator<ItemStack> itMaterial = ChemiCraftAPI.instance().getElectrolysisRecipeList().keySet().iterator();
                        while (itMaterial.hasNext()) {
                                ItemStack itemstackMaterial = itMaterial.next();
                                ItemStack materialItem = this.invm.getStackInSlot(0);
@@ -371,7 +364,7 @@ public class TileEntityElectrolysisTable extends TileEntity implements IEnergySi
        }
 
        public boolean isInItemCheck(ItemStack key) {
-               ItemStack[] results = recipeList.get(key).clone();
+               ItemStack[] results = ChemiCraftAPI.instance().getElectrolysisRecipeList().get(key).clone();
                ItemStack[] containerResults = new ItemStack[this.invr.getSizeInventory()];
                for (int j = 0; j < this.invr.getSizeInventory(); j++) {
                        containerResults[j] = this.invr.getStackInSlot(j);
@@ -412,7 +405,7 @@ public class TileEntityElectrolysisTable extends TileEntity implements IEnergySi
        }
 
        public void inItem(ItemStack key) {
-               ItemStack[] results = recipeList.get(key);
+               ItemStack[] results = ChemiCraftAPI.instance().getElectrolysisRecipeList().get(key);
 
                for (int i = 0; i < results.length; i++) {
                        ItemStack[] containerResults = new ItemStack[this.invr.getSizeInventory()];
@@ -445,10 +438,6 @@ public class TileEntityElectrolysisTable extends TileEntity implements IEnergySi
                }
        }
 
-       public static void addRecipe(ItemStack material, ItemStack[] result) {
-               recipeList.put(material, result);
-       }
-
        @Override
        public boolean acceptsEnergyFrom(TileEntity emitter, Direction direction)
        {
@@ -1,7 +1,6 @@
-package pcc.chemicraft.tileentity;
+package pcc.chemicraft.core.tileentity;
 
 import java.io.DataOutputStream;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Random;
 
@@ -11,12 +10,11 @@ import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.nbt.NBTTagList;
 import net.minecraft.network.packet.Packet;
 import net.minecraft.tileentity.TileEntity;
-import pcc.chemicraft.debug.DebugData;
-import pcc.chemicraft.debug.DebugTick;
-import pcc.chemicraft.inventory.InventoryPyrolysisTableFuel;
-import pcc.chemicraft.inventory.InventoryPyrolysisTableMaterial;
-import pcc.chemicraft.inventory.InventoryPyrolysisTableResult;
-import pcc.chemicraft.system.PacketHandler;
+import pcc.chemicraft.core.ChemiCraftAPI;
+import pcc.chemicraft.core.inventory.InventoryPyrolysisTableFuel;
+import pcc.chemicraft.core.inventory.InventoryPyrolysisTableMaterial;
+import pcc.chemicraft.core.inventory.InventoryPyrolysisTableResult;
+import pcc.chemicraft.core.system.PacketHandler;
 
 import com.google.common.io.ByteArrayDataInput;
 
@@ -66,16 +64,6 @@ public class TileEntityPyrolysisTable extends TileEntity {
         */
        public static final Random rand = new Random();
 
-       /**
-        * 燃料のリスト。
-        */
-       private static HashMap<ItemStack, Integer> fuelList = new HashMap<ItemStack, Integer>();
-
-       /**
-        * レシピのリスト
-        */
-       private static HashMap<ItemStack, ItemStack[]> recipeList = new HashMap<ItemStack, ItemStack[]>();
-
        @Override
        public void updateEntity() {
 
@@ -114,7 +102,7 @@ public class TileEntityPyrolysisTable extends TileEntity {
                }
 
                if (this.burnTime >= MAX_BURN_TIME) {
-                       Iterator<ItemStack> itMaterial = recipeList.keySet().iterator();
+                       Iterator<ItemStack> itMaterial = ChemiCraftAPI.instance().getPyrolysisRecipeList().keySet().iterator();
                        while (itMaterial.hasNext()) {
                                ItemStack itemstackMaterial = itMaterial.next();
                                ItemStack materialItem = this.invm.getStackInSlot(0);
@@ -138,7 +126,7 @@ public class TileEntityPyrolysisTable extends TileEntity {
 
                boolean var3 = false;
                if (this.heat > MIN_HEAT) {
-                       Iterator<ItemStack> itMaterial = recipeList.keySet().iterator();
+                       Iterator<ItemStack> itMaterial = ChemiCraftAPI.instance().getPyrolysisRecipeList().keySet().iterator();
                        while (itMaterial.hasNext()) {
                                ItemStack itemstackMaterial = itMaterial.next();
                                ItemStack materialItem = this.invm.getStackInSlot(0);
@@ -148,13 +136,13 @@ public class TileEntityPyrolysisTable extends TileEntity {
                                                if (itemstackMaterial.itemID == materialItem.itemID && itemstackMaterial.getItemDamage() == materialItem.getItemDamage()) {
                                                        var3 = true;
                                                        if (this.fuelRestTime <= 0) {
-                                                               Iterator<ItemStack> itFuel = fuelList.keySet().iterator();
+                                                               Iterator<ItemStack> itFuel = ChemiCraftAPI.instance().getPyrolysisFuelList().keySet().iterator();
                                                                while (itFuel.hasNext()) {
                                                                        ItemStack itemstackFuel = itFuel.next();
                                                                        ItemStack fuelItem = this.invf.getStackInSlot(0);
                                                                        if (fuelItem != null) {
                                                                                if (itemstackFuel.itemID == fuelItem.itemID && itemstackFuel.getItemDamage() == fuelItem.getItemDamage()) {
-                                                                                       this.fuelRestTime = fuelList.get(itemstackFuel);
+                                                                                       this.fuelRestTime = ChemiCraftAPI.instance().getPyrolysisFuelList().get(itemstackFuel);
                                                                                        if (fuelItem.stackSize > 1) {
                                                                                                this.invf.setInventorySlotContents(0, new ItemStack(fuelItem.itemID, --fuelItem.stackSize, fuelItem.getItemDamage()));
                                                                                                break;
@@ -417,7 +405,7 @@ public class TileEntityPyrolysisTable extends TileEntity {
        }
 
        public boolean isInItemCheck(ItemStack key) {
-               ItemStack[] results = recipeList.get(key).clone();
+               ItemStack[] results = ChemiCraftAPI.instance().getPyrolysisRecipeList().get(key).clone();
                ItemStack[] containerResults = new ItemStack[this.invr.getSizeInventory()];
                for (int j = 0; j < this.invr.getSizeInventory(); j++) {
                        containerResults[j] = this.invr.getStackInSlot(j);
@@ -458,7 +446,7 @@ public class TileEntityPyrolysisTable extends TileEntity {
        }
 
        public void inItem(ItemStack key) {
-               ItemStack[] results = recipeList.get(key);
+               ItemStack[] results = ChemiCraftAPI.instance().getPyrolysisRecipeList().get(key);
 
                for (int i = 0; i < results.length; i++) {
                        ItemStack[] containerResults = new ItemStack[this.invr.getSizeInventory()];
@@ -491,14 +479,6 @@ public class TileEntityPyrolysisTable extends TileEntity {
                }
        }
 
-       public static void addFuel(ItemStack itemstack, int burnTime) {
-               fuelList.put(itemstack, burnTime);
-       }
-
-       public static void addRecipe(ItemStack material, ItemStack[] result) {
-               recipeList.put(material, result);
-       }
-
        public float getFuelRestTime() {
                return fuelRestTime;
        }
@@ -1,10 +1,10 @@
-package pcc.chemicraft.tileentity;
+package pcc.chemicraft.core.tileentity;
 
 import java.io.DataOutputStream;
 
 import net.minecraft.tileentity.TileEntity;
-import pcc.chemicraft.inventory.InventoryToolAndWeaponCraftingTableMaterial;
-import pcc.chemicraft.inventory.InventoryToolAndWeaponCraftingTableResult;
+import pcc.chemicraft.core.inventory.InventoryToolAndWeaponCraftingTableMaterial;
+import pcc.chemicraft.core.inventory.InventoryToolAndWeaponCraftingTableResult;
 
 import com.google.common.io.ByteArrayDataInput;
 
index f9e75b5..c5a75cb 100644 (file)
@@ -1,7 +1,6 @@
 package pcc.chemicraft.util;
 
 import java.util.ArrayList;
-import java.util.List;
 
 import pcc.chemicraft.ChemiCraftData;
 
index eebf6da..7fe7123 100644 (file)
@@ -4,8 +4,8 @@ import java.util.ArrayList;
 import java.util.Arrays;
 
 import net.minecraft.item.ItemStack;
-import pcc.chemicraft.ChemiCraft;
-import pcc.chemicraft.inventory.InventoryChemicalCraftingMaterial;
+import pcc.chemicraft.core.ChemiCraftCore;
+import pcc.chemicraft.core.inventory.InventoryChemicalCraftingMaterial;
 
 public class MaterialRecipe {
 
@@ -33,7 +33,7 @@ public class MaterialRecipe {
                if(isSharpless){
                        Arrays.sort(invItems, new ComparatorItemStack());
                        Arrays.sort(this.material, new ComparatorItemStack());
-                       invItems = (ItemStack[]) ChemiCraft.instance.arrayAuxiliary.deleteNull(invItems);
+                       invItems = (ItemStack[]) ChemiCraftCore.instance.arrayAuxiliary.deleteNull(invItems);
                        if(invItems.length != this.material.length) return null;
                        for(int i = 0;i < this.material.length;i++){
                                if(this.material[i].itemID != invItems[i].itemID) return null;
@@ -66,7 +66,7 @@ public class MaterialRecipe {
                if(isSharpless){
                        Arrays.sort(invItems, new ComparatorItemStack());
                        Arrays.sort(this.material, new ComparatorItemStack());
-                       invItems = (ItemStack[]) ChemiCraft.instance.arrayAuxiliary.deleteNull(invItems);
+                       invItems = (ItemStack[]) ChemiCraftCore.instance.arrayAuxiliary.deleteNull(invItems);
                        if(invItems.length != this.material.length) return null;
                        for(int i = 0;i < this.material.length;i++){
                                if(this.material[i].itemID != invItems[i].itemID) return null;
index faa6c5c..aa373ec 100644 (file)
@@ -3,8 +3,8 @@ package pcc.chemicraft.util;
 import net.minecraft.item.ItemStack;
 import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.nbt.NBTTagList;
-import pcc.chemicraft.ChemiCraft;
 import pcc.chemicraft.ChemiCraftData;
+import pcc.chemicraft.core.ChemiCraftCore;
 
 public class NBTRecipeGrenade extends ChemicalNBTRecipe {
 
@@ -24,13 +24,13 @@ public class NBTRecipeGrenade extends ChemicalNBTRecipe {
 
                for(int i = 0;i < materials.length;i++){
                        if(materials[i] != null){
-                               if(materials[i].itemID-256 == ChemiCraft.instance.atomsID && materials[i].getItemDamage() == ChemiCraftData.HYDROGEN){
+                               if(materials[i].itemID-256 == ChemiCraftCore.instance.atomsID && materials[i].getItemDamage() == ChemiCraftData.HYDROGEN){
                                        tag.setString("GrenadeEffect" + i, "Hydrogen");
                                }
-                               if(materials[i].itemID-256 == ChemiCraft.instance.atomsID && materials[i].getItemDamage() == ChemiCraftData.CARBON){
+                               if(materials[i].itemID-256 == ChemiCraftCore.instance.atomsID && materials[i].getItemDamage() == ChemiCraftData.CARBON){
                                        tag.setString("GrenadeEffect" + i, "Carbon");
                                }
-                               if(materials[i].itemID-256 == ChemiCraft.instance.atomsID && materials[i].getItemDamage() == ChemiCraftData.URANIUM){
+                               if(materials[i].itemID-256 == ChemiCraftCore.instance.atomsID && materials[i].getItemDamage() == ChemiCraftData.URANIUM){
                                        tag.setString("GrenadeEffect" + i, "Uranium");
                                }
                        }