OSDN Git Service

修正・変更
authorponkotate <ponkotate@users.sourceforge.jp>
Mon, 11 Feb 2013 04:32:06 +0000 (13:32 +0900)
committerponkotate <ponkotate@users.sourceforge.jp>
Mon, 11 Feb 2013 04:32:06 +0000 (13:32 +0900)
・パッケージ名の変更
・WorldGenAtomsOreクラス追加

94 files changed:
common/chemicraft/compounds/CompoundWater.java [deleted file]
common/chemicraft/item/ItemCompounds.java [deleted file]
common/chemicraft/util/MathHelperPlus.java [deleted file]
common/pcc/chemicraft/ChemiCraft.java [moved from common/chemicraft/ChemiCraft.java with 83% similarity]
common/pcc/chemicraft/ChemiCraftAPI.java [moved from common/chemicraft/ChemiCraftAPI.java with 81% similarity]
common/pcc/chemicraft/ChemiCraftData.java [moved from common/chemicraft/ChemiCraftData.java with 99% similarity]
common/pcc/chemicraft/block/BlockChemicalCombinationTable.java [moved from common/chemicraft/block/BlockChemicalCombinationTable.java with 92% similarity]
common/pcc/chemicraft/block/BlockChemicalCraftingTable.java [moved from common/chemicraft/block/BlockChemicalCraftingTable.java with 90% similarity]
common/pcc/chemicraft/block/BlockElectrolysisTable.java [moved from common/chemicraft/block/BlockElectrolysisTable.java with 90% similarity]
common/pcc/chemicraft/block/BlockPyrolysisTable.java [moved from common/chemicraft/block/BlockPyrolysisTable.java with 90% similarity]
common/pcc/chemicraft/block/BlockToolAndWeaponCraftingTable.java [moved from common/chemicraft/block/BlockToolAndWeaponCraftingTable.java with 89% similarity]
common/pcc/chemicraft/client/ClientProxy.java [moved from common/chemicraft/client/ClientProxy.java with 75% similarity]
common/pcc/chemicraft/compounds/CompoundWater.java [new file with mode: 0644]
common/pcc/chemicraft/compounds/FalseItem.java [new file with mode: 0644]
common/pcc/chemicraft/container/ContainerChemicalCombinationTable.java [moved from common/chemicraft/container/ContainerChemicalCombinationTable.java with 85% similarity]
common/pcc/chemicraft/container/ContainerChemicalCraftingTable.java [moved from common/chemicraft/container/ContainerChemicalCraftingTable.java with 87% similarity]
common/pcc/chemicraft/container/ContainerElectrolysisTable.java [moved from common/chemicraft/container/ContainerElectrolysisTable.java with 87% similarity]
common/pcc/chemicraft/container/ContainerPyrolysisTable.java [moved from common/chemicraft/container/ContainerPyrolysisTable.java with 85% similarity]
common/pcc/chemicraft/container/ContainerToolAndWeaponCraftingTable.java [moved from common/chemicraft/container/ContainerToolAndWeaponCraftingTable.java with 78% similarity]
common/pcc/chemicraft/debug/CommandDeleteItem.java [moved from common/chemicraft/debug/CommandDeleteItem.java with 98% similarity]
common/pcc/chemicraft/debug/CommandGenDebugRoom.java [moved from common/chemicraft/debug/CommandGenDebugRoom.java with 95% similarity]
common/pcc/chemicraft/debug/CommandSetTile.java [moved from common/chemicraft/debug/CommandSetTile.java with 98% similarity]
common/pcc/chemicraft/debug/CompoundHandlerTest.java [moved from common/chemicraft/debug/CompoundHandlerTest.java with 92% similarity]
common/pcc/chemicraft/debug/DebugData.java [moved from common/chemicraft/debug/DebugData.java with 89% similarity]
common/pcc/chemicraft/debug/DebugTick.java [moved from common/chemicraft/debug/DebugTick.java with 98% similarity]
common/pcc/chemicraft/debug/SetBlockSupport.java [moved from common/chemicraft/debug/SetBlockSupport.java with 99% similarity]
common/pcc/chemicraft/entity/EntityAtomsGrenade.java [moved from common/chemicraft/entity/EntityAtomsGrenade.java with 98% similarity]
common/pcc/chemicraft/gen/WorldGenAtomsOre.java [new file with mode: 0644]
common/pcc/chemicraft/gui/GuiChemicalCombinationTable.java [moved from common/chemicraft/gui/GuiChemicalCombinationTable.java with 90% similarity]
common/pcc/chemicraft/gui/GuiChemicalCraftingTable.java [moved from common/chemicraft/gui/GuiChemicalCraftingTable.java with 79% similarity]
common/pcc/chemicraft/gui/GuiElectrolysisTable.java [moved from common/chemicraft/gui/GuiElectrolysisTable.java with 79% similarity]
common/pcc/chemicraft/gui/GuiPyrolysisTable.java [moved from common/chemicraft/gui/GuiPyrolysisTable.java with 83% similarity]
common/pcc/chemicraft/gui/GuiToolAndWeaponCraftingTable.java [moved from common/chemicraft/gui/GuiToolAndWeaponCraftingTable.java with 76% similarity]
common/pcc/chemicraft/inventory/InventoryChemicalCombinationTableMaterial.java [moved from common/chemicraft/inventory/InventoryChemicalCombinationTableMaterial.java with 98% similarity]
common/pcc/chemicraft/inventory/InventoryChemicalCombinationTableResult.java [moved from common/chemicraft/inventory/InventoryChemicalCombinationTableResult.java with 98% similarity]
common/pcc/chemicraft/inventory/InventoryChemicalCraftingMaterial.java [moved from common/chemicraft/inventory/InventoryChemicalCraftingMaterial.java with 97% similarity]
common/pcc/chemicraft/inventory/InventoryChemicalCraftingNBT.java [moved from common/chemicraft/inventory/InventoryChemicalCraftingNBT.java with 97% similarity]
common/pcc/chemicraft/inventory/InventoryChemicalCraftingResult.java [moved from common/chemicraft/inventory/InventoryChemicalCraftingResult.java with 97% similarity]
common/pcc/chemicraft/inventory/InventoryElectrolysisTableFuel.java [moved from common/chemicraft/inventory/InventoryElectrolysisTableFuel.java with 97% similarity]
common/pcc/chemicraft/inventory/InventoryElectrolysisTableMaterial.java [moved from common/chemicraft/inventory/InventoryElectrolysisTableMaterial.java with 97% similarity]
common/pcc/chemicraft/inventory/InventoryElectrolysisTableResult.java [moved from common/chemicraft/inventory/InventoryElectrolysisTableResult.java with 97% similarity]
common/pcc/chemicraft/inventory/InventoryPyrolysisTableFuel.java [moved from common/chemicraft/inventory/InventoryPyrolysisTableFuel.java with 98% similarity]
common/pcc/chemicraft/inventory/InventoryPyrolysisTableMaterial.java [moved from common/chemicraft/inventory/InventoryPyrolysisTableMaterial.java with 98% similarity]
common/pcc/chemicraft/inventory/InventoryPyrolysisTableResult.java [moved from common/chemicraft/inventory/InventoryPyrolysisTableResult.java with 98% similarity]
common/pcc/chemicraft/inventory/InventoryToolAndWeaponCraftingTableMaterial.java [moved from common/chemicraft/inventory/InventoryToolAndWeaponCraftingTableMaterial.java with 98% similarity]
common/pcc/chemicraft/inventory/InventoryToolAndWeaponCraftingTableResult.java [moved from common/chemicraft/inventory/InventoryToolAndWeaponCraftingTableResult.java with 98% similarity]
common/pcc/chemicraft/item/ItemAtomInfoContainer.java [moved from common/chemicraft/item/ItemAtomInfoContainer.java with 78% similarity]
common/pcc/chemicraft/item/ItemAtoms.java [moved from common/chemicraft/item/ItemAtoms.java with 94% similarity]
common/pcc/chemicraft/item/ItemAtomsGrenade.java [moved from common/chemicraft/item/ItemAtomsGrenade.java with 96% similarity]
common/pcc/chemicraft/item/ItemCompounds.java [new file with mode: 0644]
common/pcc/chemicraft/item/ItemGasCollectingBottle.java [moved from common/chemicraft/item/ItemGasCollectingBottle.java with 80% similarity]
common/pcc/chemicraft/render/RenderAtomsGrenade.java [moved from common/chemicraft/render/RenderAtomsGrenade.java with 94% similarity]
common/pcc/chemicraft/slot/SlotChemicalCombinationTableMaterial.java [moved from common/chemicraft/slot/SlotChemicalCombinationTableMaterial.java with 88% similarity]
common/pcc/chemicraft/slot/SlotChemicalCombinationTableResult.java [moved from common/chemicraft/slot/SlotChemicalCombinationTableResult.java with 93% similarity]
common/pcc/chemicraft/slot/SlotChemicalCraftingTableResult.java [moved from common/chemicraft/slot/SlotChemicalCraftingTableResult.java with 93% similarity]
common/pcc/chemicraft/slot/SlotDecompositionTableMaterial.java [moved from common/chemicraft/slot/SlotDecompositionTableMaterial.java with 90% similarity]
common/pcc/chemicraft/slot/SlotDecompositionTableResult.java [moved from common/chemicraft/slot/SlotDecompositionTableResult.java with 93% similarity]
common/pcc/chemicraft/slot/SlotElectrolysisFuel.java [moved from common/chemicraft/slot/SlotElectrolysisFuel.java with 90% similarity]
common/pcc/chemicraft/slot/SlotElectrolysisMaterial.java [moved from common/chemicraft/slot/SlotElectrolysisMaterial.java with 90% similarity]
common/pcc/chemicraft/slot/SlotElectrolysisResult.java [moved from common/chemicraft/slot/SlotElectrolysisResult.java with 90% similarity]
common/pcc/chemicraft/slot/SlotPyrolysisTableFuel.java [moved from common/chemicraft/slot/SlotPyrolysisTableFuel.java with 90% similarity]
common/pcc/chemicraft/slot/SlotPyrolysisTableMaterial.java [moved from common/chemicraft/slot/SlotPyrolysisTableMaterial.java with 90% similarity]
common/pcc/chemicraft/slot/SlotPyrolysisTableResult.java [moved from common/chemicraft/slot/SlotPyrolysisTableResult.java with 93% similarity]
common/pcc/chemicraft/slot/SlotToolAndWeaponCraftingTableResult.java [moved from common/chemicraft/slot/SlotToolAndWeaponCraftingTableResult.java with 93% similarity]
common/pcc/chemicraft/system/ChemiCraftCraftingManager.java [moved from common/chemicraft/system/ChemiCraftCraftingManager.java with 84% similarity]
common/pcc/chemicraft/system/CommonProxy.java [moved from common/chemicraft/system/CommonProxy.java with 73% similarity]
common/pcc/chemicraft/system/PacketHandler.java [moved from common/chemicraft/system/PacketHandler.java with 94% similarity]
common/pcc/chemicraft/tileentity/TileEntityChemicalCombinationTable.java [moved from common/chemicraft/tileentity/TileEntityChemicalCombinationTable.java with 96% similarity]
common/pcc/chemicraft/tileentity/TileEntityChemicalCraftingTable.java [moved from common/chemicraft/tileentity/TileEntityChemicalCraftingTable.java with 93% similarity]
common/pcc/chemicraft/tileentity/TileEntityElectrolysisTable.java [moved from common/chemicraft/tileentity/TileEntityElectrolysisTable.java with 82% similarity]
common/pcc/chemicraft/tileentity/TileEntityPyrolysisTable.java [moved from common/chemicraft/tileentity/TileEntityPyrolysisTable.java with 97% similarity]
common/pcc/chemicraft/tileentity/TileEntityToolAndWeaponCraftingTable.java [moved from common/chemicraft/tileentity/TileEntityToolAndWeaponCraftingTable.java with 92% similarity]
common/pcc/chemicraft/util/AtomInfo.java [moved from common/chemicraft/util/AtomInfo.java with 99% similarity]
common/pcc/chemicraft/util/Auxiliary.java [moved from common/chemicraft/util/Auxiliary.java with 88% similarity]
common/pcc/chemicraft/util/ChemicalNBTRecipe.java [moved from common/chemicraft/util/ChemicalNBTRecipe.java with 88% similarity]
common/pcc/chemicraft/util/ChunkProviderChemical.java [moved from common/chemicraft/util/ChunkProviderChemical.java with 99% similarity]
common/pcc/chemicraft/util/ComparatorFormulaPart.java [moved from common/chemicraft/util/ComparatorFormulaPart.java with 94% similarity]
common/pcc/chemicraft/util/ComparatorItemStack.java [moved from common/chemicraft/util/ComparatorItemStack.java with 95% similarity]
common/pcc/chemicraft/util/CreativeTabAtoms.java [moved from common/chemicraft/util/CreativeTabAtoms.java with 88% similarity]
common/pcc/chemicraft/util/FormulaPart.java [moved from common/chemicraft/util/FormulaPart.java with 94% similarity]
common/pcc/chemicraft/util/ICompoundHandler.java [moved from common/chemicraft/util/ICompoundHandler.java with 97% similarity]
common/pcc/chemicraft/util/MaterialRecipe.java [moved from common/chemicraft/util/MaterialRecipe.java with 96% similarity]
common/pcc/chemicraft/util/NBTRecipeGrenade.java [moved from common/chemicraft/util/NBTRecipeGrenade.java with 94% similarity]
common/pcc/chemicraft/util/WorldProviderChemical.java [moved from common/chemicraft/util/WorldProviderChemical.java with 87% similarity]
common/pcc/chemicraft/util/WorldTypeChemical.java [moved from common/chemicraft/util/WorldTypeChemical.java with 96% similarity]
resources/pcc/chemicraft/blocks/cctable.png [moved from resources/chemicraft/blocks/cctable.png with 100% similarity]
resources/pcc/chemicraft/guis/ChemicalCombination.png [moved from resources/chemicraft/guis/ChemicalCombination.png with 100% similarity]
resources/pcc/chemicraft/guis/ElectrolysisTable.png [moved from resources/chemicraft/guis/ElectrolysisTable.png with 100% similarity]
resources/pcc/chemicraft/guis/MaterialCrafting.png [moved from resources/chemicraft/guis/MaterialCrafting.png with 100% similarity]
resources/pcc/chemicraft/guis/Pyrolysis.png [moved from resources/chemicraft/guis/Pyrolysis.png with 100% similarity]
resources/pcc/chemicraft/guis/ToolAndWeaponCrafting.png [moved from resources/chemicraft/guis/ToolAndWeaponCrafting.png with 100% similarity]
resources/pcc/chemicraft/items/Atoms.png [moved from resources/chemicraft/items/Atoms.png with 100% similarity]
resources/pcc/chemicraft/items/Compounds.png [moved from resources/chemicraft/items/Compounds.png with 100% similarity]
resources/pcc/chemicraft/items/items.png [moved from resources/chemicraft/items/items.png with 100% similarity]

diff --git a/common/chemicraft/compounds/CompoundWater.java b/common/chemicraft/compounds/CompoundWater.java
deleted file mode 100644 (file)
index a009a6c..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-package chemicraft.compounds;
-
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import chemicraft.util.ICompoundHandler;
-
-public class CompoundWater implements ICompoundHandler {
-
-       @Override
-       public ItemStack onItemRightClickHandler(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
-               return null;
-       }
-
-       @Override
-       public boolean onItemUseHandler(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) {
-               return false;
-       }
-
-       @Override
-       public void onUpdateHandler(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) {
-
-       }
-
-       @Override
-       public int getIconIndexHandler() {
-               return 1;
-       }
-
-}
diff --git a/common/chemicraft/item/ItemCompounds.java b/common/chemicraft/item/ItemCompounds.java
deleted file mode 100644 (file)
index 8628675..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-package chemicraft.item;
-
-import java.util.List;
-
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.ChemiCraftAPI;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-public class ItemCompounds extends Item {
-
-       public ItemCompounds(int par1){
-               super(par1);
-               this.setHasSubtypes(true);
-               this.setMaxDamage(0);
-               this.setCreativeTab(ChemiCraft.instance.creativeTab);
-       }
-
-       @Override
-       public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) {
-               for(int i=0;i < ChemiCraftAPI.getInstance().getCompoundHandlerItemName().size();i++){
-                       if(ChemiCraftAPI.getInstance().getCompoundsName().get(par1ItemStack.getItemDamage()).equals(ChemiCraftAPI.getInstance().getCompoundHandlerItemName().get(i))){
-                               return ChemiCraftAPI.getInstance().getCompoundHandler().get(i).onItemUseHandler(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10);
-                       }
-               }
-               return false;
-       }
-
-
-       @Override
-       public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
-       {
-               for(int i=0;i < ChemiCraftAPI.getInstance().getCompoundHandlerItemName().size();i++){
-                       if(ChemiCraftAPI.getInstance().getCompoundsName().get(par1ItemStack.getItemDamage()).equals(ChemiCraftAPI.getInstance().getCompoundHandlerItemName().get(i))){
-                               ChemiCraftAPI.getInstance().getCompoundHandler().get(i).onItemRightClickHandler(par1ItemStack, par2World, par3EntityPlayer);
-                       }
-               }
-               return par1ItemStack;
-       }
-
-
-
-       @Override
-       public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5){
-               for(int i=0;i < ChemiCraftAPI.getInstance().getCompoundHandlerItemName().size();i++){
-                       if(ChemiCraftAPI.getInstance().getCompoundsName().get(par1ItemStack.getItemDamage()).equals(ChemiCraftAPI.getInstance().getCompoundHandlerItemName().get(i))){
-                               ChemiCraftAPI.getInstance().getCompoundHandler().get(i).onUpdateHandler(par1ItemStack, par2World, par3Entity, par4, par5);
-                       }
-               }
-       }
-
-
-
-       @SuppressWarnings({ "unchecked", "rawtypes" })
-       @SideOnly(Side.CLIENT)
-       @Override
-       public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List){
-               for(int type = 0; type < ChemiCraftAPI.getInstance().getCompoundsName().toArray().length; type++)
-               {
-                       par3List.add(new ItemStack(par1, 1, type));
-                       this.setIconIndex(type);
-               }
-       }
-
-
-
-       @Override
-       public String getItemNameIS(ItemStack par1ItemStack){
-               return super.getItemName() + "." + ChemiCraftAPI.getInstance().getCompoundsName().toArray()[par1ItemStack.getItemDamage()];
-       }
-
-
-
-       @Override
-       public String getTextureFile(){
-               return ChemiCraft.instance.ITEMCOMPOUNDSTEXTURE;
-       }
-
-
-
-       @SideOnly(Side.CLIENT)
-       @Override
-       public int getIconFromDamage(int par1){
-               for(int i=0;i < ChemiCraftAPI.getInstance().getCompoundHandlerItemName().size();i++){
-                       if(ChemiCraftAPI.getInstance().getCompoundsName().get(par1).equals(ChemiCraftAPI.getInstance().getCompoundHandlerItemName().get(i))){
-                               return ChemiCraftAPI.getInstance().getCompoundHandler().get(i).getIconIndexHandler();
-                       }
-               }
-               return 0;
-       }
-
-}
diff --git a/common/chemicraft/util/MathHelperPlus.java b/common/chemicraft/util/MathHelperPlus.java
deleted file mode 100644 (file)
index 775a77e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-package chemicraft.util;
-
-import java.util.ArrayList;
-import java.util.Random;
-
-public class MathHelperPlus {
-
-       public static Random rand = new Random();
-
-       /**
-        * Return probability(0~).
-        */
-       public static int probability(double... par1) {
-               ArrayList<Double> var1 = new ArrayList<Double>();
-               for (int var2 = 0; var2 < par1.length; var2++) {
-                       var1.add(par1[var2]);
-               }
-               return probability(var1);
-       }
-
-       public static int probability(ArrayList<Double> par1) {
-               for (int i = 0; i < par1.size(); i++) {
-                       double var1 = par1.get(i) / 100;
-                       double var2 = Math.random();
-                       if (var1 <= var2) {
-                               return i;
-                       } else {
-                               continue;
-                       }
-               }
-               return -1;
-       }
-
-}
similarity index 83%
rename from common/chemicraft/ChemiCraft.java
rename to common/pcc/chemicraft/ChemiCraft.java
index 87c0293..74be124 100644 (file)
-package chemicraft;\r
-\r
-import net.minecraft.block.Block;\r
-import net.minecraft.block.material.Material;\r
-import net.minecraft.creativetab.CreativeTabs;\r
-import net.minecraft.item.Item;\r
-import net.minecraft.item.ItemStack;\r
-import net.minecraftforge.common.BiomeManager;\r
-import net.minecraftforge.common.Configuration;\r
-import net.minecraftforge.common.DimensionManager;\r
-import net.minecraftforge.common.Property;\r
-import chemicraft.block.BlockChemicalCombinationTable;\r
-import chemicraft.block.BlockChemicalCraftingTable;\r
-import chemicraft.block.BlockElectrolysisTable;\r
-import chemicraft.block.BlockPyrolysisTable;\r
-import chemicraft.block.BlockToolAndWeaponCraftingTable;\r
-import chemicraft.compounds.CompoundWater;\r
-import chemicraft.debug.CommandDeleteItem;\r
-import chemicraft.debug.CommandGenDebugRoom;\r
-import chemicraft.debug.CommandSetTile;\r
-import chemicraft.item.ItemAtoms;\r
-import chemicraft.item.ItemAtomsGrenade;\r
-import chemicraft.item.ItemCompounds;\r
-import chemicraft.item.ItemGasCollectingBottle;\r
-import chemicraft.system.CommonProxy;\r
-import chemicraft.system.PacketHandler;\r
-import chemicraft.tileentity.TileEntityChemicalCombinationTable;\r
-import chemicraft.tileentity.TileEntityChemicalCraftingTable;\r
-import chemicraft.tileentity.TileEntityElectrolysisTable;\r
-import chemicraft.tileentity.TileEntityPyrolysisTable;\r
-import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;\r
-import chemicraft.util.Auxiliary;\r
-import chemicraft.util.Auxiliary.ArrayAuxiliary;\r
-import chemicraft.util.Auxiliary.NameAuxiliary;\r
-import chemicraft.util.CreativeTabAtoms;\r
-import chemicraft.util.NBTRecipeGrenade;\r
-import chemicraft.util.WorldProviderChemical;\r
-import cpw.mods.fml.common.Mod;\r
-import cpw.mods.fml.common.SidedProxy;\r
-import cpw.mods.fml.common.event.FMLPostInitializationEvent;\r
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;\r
-import cpw.mods.fml.common.event.FMLServerStartingEvent;\r
-import cpw.mods.fml.common.network.NetworkMod;\r
-import cpw.mods.fml.common.network.NetworkRegistry;\r
-import cpw.mods.fml.common.registry.GameRegistry;\r
-\r
-/**\r
- * ChemiCraft本体\r
- * @author P.C.C.\r
- *\r
- */\r
-@Mod(modid = "chemiCraft", name = "ChemiCraft", version = "beta")\r
-@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "1.4.6", channels = "chemicraft", packetHandler = PacketHandler.class)\r
-public class ChemiCraft {\r
-\r
-       public static final String[] ATOMSNAME = {\r
-               "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", "Silicon",\r
-               "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium",\r
-               "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttorium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium",\r
-               "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium",\r
-               "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum",\r
-               "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium",\r
-               "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium",\r
-               "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Ununtrium", "Ununquadium", "Ununpentium", "Ununhexium", "Ununseptium", "Ununoctium" };\r
-\r
-       public static final String[] ATOMSNAMEJP = {\r
-               "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン", "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム",\r
-               "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素", "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム",\r
-               "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル", "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム",\r
-               "ホルミウム", "エルビウム", "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン", "フランシウム", "ラジウム",\r
-               "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム", "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム",\r
-               "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム", "レントゲニウム", "コペルニシウム", "ウンウントリウム", "ウンウンクアジウム", "ウンウンペンチウム", "ウンウンヘキシウム", "ウンウンセプチウム", "ウンウンオクチウム" };\r
-\r
-       /**\r
-        * このmodのインスタンス\r
-        */\r
-       @Mod.Instance("chemiCraft")\r
-       public static ChemiCraft instance;\r
-\r
-       /**\r
-        * ChemiCraftのProxy.\r
-        */\r
-       @SidedProxy(clientSide = "chemicraft.client.ClientProxy", serverSide = "chemicraft.system.CommonProxy")\r
-       public static CommonProxy proxy;\r
-\r
-       /**\r
-        * ChemiCraftのCreativeTab.\r
-        */\r
-       public static final CreativeTabs creativeTab = new CreativeTabAtoms("ChemiCraft");\r
-\r
-       /**\r
-        * ItemID.\r
-        */\r
-       public int atomsID;\r
-       public int compoundsID;\r
-       public int gasCollectingBottleID;\r
-       public int atomGrenadeID;\r
-\r
-       /**\r
-        * BlockID.\r
-        */\r
-       public int pyrolysisTableID;\r
-       public int electrolysisTableID;\r
-       public int chemicalConbinationTableID;\r
-       public int toolAndWeaponCraftingTableID;\r
-       public int chemicalCraftingTableID;\r
-\r
-       /**\r
-        * GUIID.\r
-        */\r
-       public int guiPyrolysisTableID;\r
-       public int guiElectrolysisTableID;\r
-       public int guiChemicalCombinationTableID;\r
-       public int guiToolAndWeaponCraftingTableID;\r
-       public int guiChemicalCraftingTableID;\r
-\r
-       /**\r
-        * Block型変数.\r
-        */\r
-       public Block blockPyrolysisTable;\r
-       public Block blockElectrolysisTable;\r
-       public Block blockChemicalCombinationTable;\r
-       public Block blockToolAndWeaponCraftingTable;\r
-       public Block blockChemicalCraftingTable;\r
-\r
-       /**\r
-        * Item型変数.\r
-        */\r
-       public Item itemAtoms;\r
-       public Item itemCompounds;\r
-       public Item itemGasCollectingBottle;\r
-       public Item itemAtomGrenade;\r
-\r
-       /**\r
-        * このmodで使用するTextureのパス.\r
-        */\r
-       public final String ITEMATOMSTEXTURE = "/chemicraft/items/Atoms.png";\r
-       public final String ITEMCOMPOUNDSTEXTURE = "/chemicraft/items/Compounds.png";\r
-       public final String ITEMTEXTURE = "/chemicraft/items/items.png";\r
-       public final String BLOCKCHEMICALCRAFTINGTABLETEXTURE = "/chemicraft/blocks/cctable.png";\r
-       public final String GUIPYROLYSISTEXTURE = "/chemicraft/guis/Pyrolysis.png";\r
-       public final String GUIELECTROLYSISTEXTURE = "/chemicraft/guis/Electrolysis.png";\r
-       public final String GUICHEMICALCOMBINATIONTEXTURE = "/chemicraft/guis/ChemicalCombination.png";\r
-       public final String GUITOOLANDWEAPONCRAFTINGTEXTURE = "/chemicraft/guis/ToolAndWeaponCrafting.png";\r
-       public final String GUICHEMICALCRAFTINGTEXTURE = "/chemicraft/guis/MaterialCrafting.png";\r
-\r
-       /**\r
-        * このmodに必要な補助クラスのインスタンス.\r
-        */\r
-       public Auxiliary auxiliary = new Auxiliary();\r
-       public NameAuxiliary nameAuxiliary = new NameAuxiliary();\r
-       public ArrayAuxiliary arrayAuxiliary = new ArrayAuxiliary();\r
-\r
-       private ChemiCraftAPI api = ChemiCraftAPI.getInstance();\r
-       private ChemiCraftData chemicalData = new ChemiCraftData();\r
-\r
-       @Mod.PreInit\r
-       public void chemiPreLoadMethod(final FMLPreInitializationEvent event) {\r
-               Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());\r
-               cfg.load();\r
-\r
-               Property pyrolysisTableIDProp = cfg.getBlock("PyrolysisTable", 2400);\r
-               Property electrolysisTableIDProp = cfg.getBlock("ElectrolysisTable", 2401);\r
-               Property chemicalCombinationTableIDProp = cfg.getBlock("ChemicalCombinationID", 2402);\r
-               Property toolAndWeaponCraftingTableIDProp = cfg.getBlock("ToolAndWeaponCraftingTableID", 2403);\r
-               Property chemicalCraftingTableIDProp = cfg.getBlock("ChemicalCraftingTableID", 2404);\r
-\r
-               Property atomsIDProp = cfg.getItem("AtomsID", 25000);\r
-               Property compoundsIDProp = cfg.getItem("CompoundsID", 25001);\r
-               Property gasCollectingBottleIDProp = cfg.getItem("gasCollectingBottleID", 25002);\r
-               Property atomGrenadeIDProp = cfg.getItem("AtomGrenadeID", 25003);\r
-\r
-               Property guiPyrolysisTableIDProp = cfg.get("GUI", "GUIPyrolysisID", 1000);\r
-               Property guiElectrolysisTableIDProp = cfg.get("GUI", "GUIElectrolysisTableIDProp", 1001);\r
-               Property guiChemicalCombinationTableIDProp = cfg.get("GUI", "GUIChemicalCombinationTableID", 1002);\r
-               Property guiToolAndWeaponCraftingTableIDProp = cfg.get("GUI", "GUIToolAndWeaponCraftingTableID", 1003);\r
-               Property guiChemicalCraftingTableIDProp = cfg.get("GUI", "GUIChemicalCraftingTableID", 1004);\r
-\r
-\r
-               this.pyrolysisTableID = pyrolysisTableIDProp.getInt();\r
-               this.electrolysisTableID = electrolysisTableIDProp.getInt();\r
-               this.chemicalConbinationTableID = chemicalCombinationTableIDProp.getInt();\r
-               this.toolAndWeaponCraftingTableID = toolAndWeaponCraftingTableIDProp.getInt();\r
-               this.chemicalCraftingTableID = chemicalCraftingTableIDProp.getInt();\r
-               this.atomsID = atomsIDProp.getInt();\r
-               this.compoundsID = compoundsIDProp.getInt();\r
-               this.gasCollectingBottleID = gasCollectingBottleIDProp.getInt();\r
-               this.atomGrenadeID = atomGrenadeIDProp.getInt();\r
-               this.guiPyrolysisTableID = guiPyrolysisTableIDProp.getInt();\r
-               this.guiElectrolysisTableID = guiElectrolysisTableIDProp.getInt();\r
-               this.guiChemicalCombinationTableID = guiChemicalCombinationTableIDProp.getInt();\r
-               this.guiToolAndWeaponCraftingTableID = guiToolAndWeaponCraftingTableIDProp.getInt();\r
-               this.guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();\r
-\r
-               cfg.save();\r
-       }\r
-\r
-       @Mod.ServerStarting\r
-       public void serverStarting(final FMLServerStartingEvent event) {\r
-               event.registerServerCommand(new CommandSetTile());\r
-               event.registerServerCommand(new CommandDeleteItem());\r
-               event.registerServerCommand(new CommandGenDebugRoom());\r
-       }\r
-\r
-       @Mod.PostInit\r
-       public void chemiPostLoadMethod(final FMLPostInitializationEvent event) {\r
-               this.settingProcessing(event);\r
-               this.apiProcessing(event);\r
-               this.debug(event);\r
-       }\r
-\r
-       private void settingProcessing(final FMLPostInitializationEvent event) {\r
-\r
-               // Blockを追加します\r
-               this.blockPyrolysisTable = new BlockPyrolysisTable(this.pyrolysisTableID, 0, Material.ground).\r
-                               setHardness(2.0F).\r
-                               setResistance(0.0F).\r
-                               setStepSound(Block.soundStoneFootstep).\r
-                               setBlockName("PyrolysisTable");\r
-               this.blockElectrolysisTable = new BlockElectrolysisTable(this.electrolysisTableID, 1, Material.ground).\r
-                               setHardness(2.0F).\r
-                               setResistance(0.0F).\r
-                               setStepSound(Block.soundStoneFootstep).\r
-                               setBlockName("ElectrolysisTable");\r
-               this.blockChemicalCombinationTable = new BlockChemicalCombinationTable(this.chemicalConbinationTableID, 2, Material.ground).\r
-                               setHardness(2.0F).\r
-                               setResistance(0.0F).\r
-                               setStepSound(Block.soundStoneFootstep).\r
-                               setBlockName("ChemicalCombinationTable");\r
-               this.blockToolAndWeaponCraftingTable = new BlockToolAndWeaponCraftingTable(this.toolAndWeaponCraftingTableID, 3, Material.ground).\r
-                               setHardness(2.0F).\r
-                               setResistance(0.0F).\r
-                               setStepSound(Block.soundStoneFootstep).\r
-                               setBlockName("ToolAndWeaponCraftingTable");\r
-               this.blockChemicalCraftingTable = new BlockChemicalCraftingTable(chemicalCraftingTableID, 4, Material.ground).\r
-                               setHardness(2.0F).\r
-                               setResistance(0.0F).\r
-                               setStepSound(Block.soundStoneFootstep).\r
-                               setBlockName("ChemicalCraftingTable");\r
-\r
-               // Itemを追加します\r
-               this.itemAtoms = new ItemAtoms(this.atomsID).setItemName("atoms");\r
-               this.itemCompounds = new ItemCompounds(this.compoundsID).setItemName("compounds");\r
-               this.itemGasCollectingBottle = new ItemGasCollectingBottle(this.gasCollectingBottleID).setItemName("gasCollectingBottle").setIconIndex(0);\r
-               this.itemAtomGrenade = new ItemAtomsGrenade(this.atomGrenadeID).setItemName("grenade").setIconIndex(1);\r
-\r
-               // BlockをMinecraftに登録します\r
-               GameRegistry.registerBlock(this.blockPyrolysisTable, "BlockPyrolysisTable");\r
-               GameRegistry.registerBlock(this.blockElectrolysisTable, "ElectrolysisTable");\r
-               GameRegistry.registerBlock(this.blockChemicalCombinationTable, "BlockChemicalCombinationTable");\r
-               GameRegistry.registerBlock(this.blockToolAndWeaponCraftingTable, "BlockToolAndWeaponCraftingTable");\r
-               GameRegistry.registerBlock(this.blockChemicalCraftingTable, "BlockMaterialCraftingTable");\r
-\r
-               // Blockの名前を設定します\r
-               this.nameAuxiliary.addName(this.blockPyrolysisTable, "PyrolysisTable");\r
-               this.nameAuxiliary.addName(this.blockPyrolysisTable, "ja_JP", "熱分解台");\r
-               this.nameAuxiliary.addName(this.blockElectrolysisTable, "ElectrolysisTable");\r
-               this.nameAuxiliary.addName(this.blockElectrolysisTable, "ja_JP", "電気分解台");\r
-               this.nameAuxiliary.addName(this.blockChemicalCombinationTable, "ChemicalCombinationTable");\r
-               this.nameAuxiliary.addName(this.blockChemicalCombinationTable, "ja_JP", "化合台");\r
-               this.nameAuxiliary.addName(blockToolAndWeaponCraftingTable, "ToolAndWeaponCraftingTable");\r
-               this.nameAuxiliary.addName(blockToolAndWeaponCraftingTable, "ja_JP", "ツール&武器製作台");\r
-               this.nameAuxiliary.addName(blockChemicalCraftingTable, "ChemicalCraftingTable");\r
-               this.nameAuxiliary.addName(blockChemicalCraftingTable, "ja_JP", "素材製作台");\r
-\r
-               // Itemの名前を設定します\r
-               this.nameAuxiliary.addName(this.itemAtoms, ATOMSNAME);\r
-               this.nameAuxiliary.addName(this.itemAtoms, "ja_JP", ATOMSNAMEJP);\r
-               this.nameAuxiliary.addName(this.itemGasCollectingBottle, "GasCollectingBottle");\r
-               this.nameAuxiliary.addName(this.itemGasCollectingBottle, "ja_JP", "集気瓶");\r
-               this.nameAuxiliary.addName(this.itemAtomGrenade, "AtomGrenade");\r
-               this.nameAuxiliary.addName(this.itemAtomGrenade, "元素手榴弾");\r
-\r
-               // TileEntityを追加します\r
-               GameRegistry.registerTileEntity(TileEntityPyrolysisTable.class, "TileEntityPyrolysisTable");\r
-               GameRegistry.registerTileEntity(TileEntityElectrolysisTable.class, "TileEntityElectrolysisTable");\r
-               GameRegistry.registerTileEntity(TileEntityChemicalCombinationTable.class, "TileEntityChemicalCombinationTable");\r
-               GameRegistry.registerTileEntity(TileEntityToolAndWeaponCraftingTable.class, "TileEntityToolAndWeaponCraftingTable");\r
-               GameRegistry.registerTileEntity(TileEntityChemicalCraftingTable.class, "TileEntityChemicalCraftingTable");\r
-\r
-               // GUIを追加します\r
-               NetworkRegistry.instance().registerGuiHandler(instance, proxy);\r
-\r
-               // 描画関係の読み込み\r
-               proxy.registerRenderInformation();\r
-\r
-               //化学作業台類のレシピを追加します\r
-               GameRegistry.addRecipe(new ItemStack(this.blockElectrolysisTable),\r
-                               new Object[]{\r
-                       "XYX", "ZAZ", "ZZZ",\r
-                       Character.valueOf('X'), new ItemStack(Item.ingotIron),\r
-                       Character.valueOf('Y'), new ItemStack(Block.workbench),\r
-                       Character.valueOf('Z'), new ItemStack(Block.stone),\r
-                       Character.valueOf('A'), new ItemStack(Block.tnt),\r
-               });\r
-               GameRegistry.addRecipe(new ItemStack(this.blockPyrolysisTable),\r
-                               new Object[]{\r
-                       "XYX", "ZAZ", "ZZZ",\r
-                       Character.valueOf('X'), new ItemStack(Item.ingotIron),\r
-                       Character.valueOf('Y'), new ItemStack(Block.workbench),\r
-                       Character.valueOf('Z'), new ItemStack(Block.stone),\r
-                       Character.valueOf('A'), new ItemStack(Item.bucketLava),\r
-               });\r
-               GameRegistry.addRecipe(new ItemStack(this.blockChemicalCombinationTable),\r
-                               new Object[]{\r
-                       "XYX", "ZAZ", "ZZZ",\r
-                       Character.valueOf('X'), new ItemStack(Item.ingotIron),\r
-                       Character.valueOf('Y'), new ItemStack(Block.workbench),\r
-                       Character.valueOf('Z'), new ItemStack(Block.stone),\r
-                       Character.valueOf('A'), new ItemStack(Block.obsidian),\r
-               });\r
-               GameRegistry.addRecipe(new ItemStack(this.blockToolAndWeaponCraftingTable),\r
-                               new Object[]{\r
-                       "XYX", "ZAZ", "ZZZ",\r
-                       Character.valueOf('X'), new ItemStack(Item.ingotIron),\r
-                       Character.valueOf('Y'), new ItemStack(Block.workbench),\r
-                       Character.valueOf('Z'), new ItemStack(Block.stone),\r
-                       Character.valueOf('A'), new ItemStack(Item.pickaxeSteel),\r
-               });\r
-               GameRegistry.addRecipe(new ItemStack(this.blockChemicalCraftingTable),\r
-                               new Object[]{\r
-                       "XYX", "ZAZ", "ZZZ",\r
-                       Character.valueOf('X'), new ItemStack(Item.ingotIron),\r
-                       Character.valueOf('Y'), new ItemStack(Block.workbench),\r
-                       Character.valueOf('Z'), new ItemStack(Block.stone),\r
-                       Character.valueOf('A'), new ItemStack(this.itemAtoms, 1, 0),\r
-               });\r
-\r
-               // 化合物を追加します\r
-               api.addLangCompound("ja_JP", "CarbonMonoxide", "一酸化炭素");\r
-               api.addLangCompound("ja_JP", "CarbonDioxide", "二酸化炭素");\r
-               api.addLangCompound("ja_JP", "Water", "水");\r
-\r
-\r
-               //化合物のHandlerを設定します\r
-               api.settingCompoundHandler("Water", new CompoundWater());\r
-\r
-               //化合物のレシピを追加します\r
-               api.addChemicalCombinationRecipe(new String[]{"H", "O"}, new Integer[]{2, 1}, new ItemStack(this.itemCompounds, 1, api.getCompound("Water")));\r
-\r
-               //手榴弾の追加\r
-               api.addMaterialRecipe(\r
-                               new ItemStack[]{\r
-                                               null,\r
-                                               new ItemStack(Block.stone),\r
-                                               null,\r
-                                               new ItemStack(Block.stone),\r
-                                               new ItemStack(Item.gunpowder),\r
-                                               new ItemStack(Block.stone),\r
-                                               null,\r
-                                               new ItemStack(Block.stone),\r
-                                               null\r
-                               },\r
-                               new ItemStack(this.itemAtomGrenade, 16, 0),\r
-                               new NBTRecipeGrenade()\r
-                               );\r
-               //Tickingの追加\r
-               this.proxy.registerTickHandler();\r
-       }\r
-\r
-       private void apiProcessing(final FMLPostInitializationEvent event) {\r
-               // API用の処理\r
-               this.nameAuxiliary.addName(itemCompounds, api.getInstance().getCompoundsName().toArray());\r
-               for (int i = 0; i < api.getCompoundsLang().size(); i++) {\r
-                       this.nameAuxiliary.addName(itemCompounds, api.getCompoundsLang().get(i), api.getInstance().getCompoundsLangName().toArray());\r
-               }\r
-       }\r
-\r
-       private void debug(final FMLPostInitializationEvent event) {\r
-       }\r
-\r
-}\r
+package pcc.chemicraft;
+
+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.compounds.CompoundWater;
+import pcc.chemicraft.debug.CommandDeleteItem;
+import pcc.chemicraft.debug.CommandGenDebugRoom;
+import pcc.chemicraft.debug.CommandSetTile;
+import pcc.chemicraft.gen.WorldGenAtomsOre;
+import pcc.chemicraft.item.ItemAtoms;
+import pcc.chemicraft.item.ItemAtomsGrenade;
+import pcc.chemicraft.item.ItemCompounds;
+import pcc.chemicraft.item.ItemGasCollectingBottle;
+import pcc.chemicraft.system.CommonProxy;
+import pcc.chemicraft.system.PacketHandler;
+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.util.Auxiliary;
+import pcc.chemicraft.util.CreativeTabAtoms;
+import pcc.chemicraft.util.NBTRecipeGrenade;
+import pcc.chemicraft.util.WorldProviderChemical;
+import pcc.chemicraft.util.Auxiliary.ArrayAuxiliary;
+import pcc.chemicraft.util.Auxiliary.NameAuxiliary;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.BiomeManager;
+import net.minecraftforge.common.Configuration;
+import net.minecraftforge.common.DimensionManager;
+import net.minecraftforge.common.Property;
+import cpw.mods.fml.common.Mod;
+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 {
+
+       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 = {
+               "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン", "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム",
+               "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素", "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム",
+               "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル", "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム",
+               "ホルミウム", "エルビウム", "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン", "フランシウム", "ラジウム",
+               "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム", "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム",
+               "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム", "レントゲニウム", "コペルニシウム", "ウンウントリウム", "ウンウンクアジウム", "ウンウンペンチウム", "ウンウンヘキシウム", "ウンウンセプチウム", "ウンウンオクチウム" };
+
+       /**
+        * このmodのインスタンス
+        */
+       @Mod.Instance("chemiCraft")
+       public static ChemiCraft instance;
+
+       /**
+        * ChemiCraftのProxy.
+        */
+       @SidedProxy(clientSide = "pcc.chemicraft.client.ClientProxy", serverSide = "pcc.chemicraft.system.CommonProxy")
+       public static CommonProxy proxy;
+
+       /**
+        * ChemiCraftのCreativeTab.
+        */
+       public static final CreativeTabs creativeTab = new CreativeTabAtoms("ChemiCraft");
+
+       /**
+        * ItemID.
+        */
+       public int atomsID;
+       public int compoundsID;
+       public int gasCollectingBottleID;
+       public int atomGrenadeID;
+
+       /**
+        * BlockID.
+        */
+       public int pyrolysisTableID;
+       public int electrolysisTableID;
+       public int chemicalConbinationTableID;
+       public int toolAndWeaponCraftingTableID;
+       public int chemicalCraftingTableID;
+
+       /**
+        * GUIID.
+        */
+       public int guiPyrolysisTableID;
+       public int guiElectrolysisTableID;
+       public int guiChemicalCombinationTableID;
+       public int guiToolAndWeaponCraftingTableID;
+       public int guiChemicalCraftingTableID;
+
+       /**
+        * Block型変数.
+        */
+       public Block blockPyrolysisTable;
+       public Block blockElectrolysisTable;
+       public Block blockChemicalCombinationTable;
+       public Block blockToolAndWeaponCraftingTable;
+       public Block blockChemicalCraftingTable;
+
+       /**
+        * Item型変数.
+        */
+       public Item itemAtoms;
+       public Item itemCompounds;
+       public Item itemGasCollectingBottle;
+       public Item itemAtomGrenade;
+
+       /**
+        * このmodで使用するTextureのパス.
+        */
+       public final String ITEMATOMSTEXTURE = "/pcc/chemicraft/items/Atoms.png";
+       public final String ITEMCOMPOUNDSTEXTURE = "/pcc/chemicraft/items/Compounds.png";
+       public final String ITEMTEXTURE = "/pcc/chemicraft/items/items.png";
+       public final String BLOCKCHEMICALCRAFTINGTABLETEXTURE = "/pcc/chemicraft/blocks/cctable.png";
+       public final String GUIPYROLYSISTEXTURE = "/pcc/chemicraft/guis/Pyrolysis.png";
+       public final String GUIELECTROLYSISTEXTURE = "/pcc/chemicraft/guis/Electrolysis.png";
+       public final String GUICHEMICALCOMBINATIONTEXTURE = "/pcc/chemicraft/guis/ChemicalCombination.png";
+       public final String GUITOOLANDWEAPONCRAFTINGTEXTURE = "/pcc/chemicraft/guis/ToolAndWeaponCrafting.png";
+       public final String GUICHEMICALCRAFTINGTEXTURE = "/pcc/chemicraft/guis/MaterialCrafting.png";
+
+       /**
+        * このmodに必要な補助クラスのインスタンス.
+        */
+       public Auxiliary auxiliary = new Auxiliary();
+       public NameAuxiliary nameAuxiliary = new NameAuxiliary();
+       public ArrayAuxiliary arrayAuxiliary = new ArrayAuxiliary();
+
+       private ChemiCraftAPI api = ChemiCraftAPI.instance();
+       private ChemiCraftData chemicalData = new ChemiCraftData();
+
+       @Mod.PreInit
+       public void chemiPreLoadMethod(final FMLPreInitializationEvent event) {
+               Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
+               cfg.load();
+
+               Property pyrolysisTableIDProp = cfg.getBlock("PyrolysisTable", 2400);
+               Property electrolysisTableIDProp = cfg.getBlock("ElectrolysisTable", 2401);
+               Property chemicalCombinationTableIDProp = cfg.getBlock("ChemicalCombinationID", 2402);
+               Property toolAndWeaponCraftingTableIDProp = cfg.getBlock("ToolAndWeaponCraftingTableID", 2403);
+               Property chemicalCraftingTableIDProp = cfg.getBlock("ChemicalCraftingTableID", 2404);
+
+               Property atomsIDProp = cfg.getItem("AtomsID", 25000);
+               Property compoundsIDProp = cfg.getItem("CompoundsID", 25001);
+               Property gasCollectingBottleIDProp = cfg.getItem("gasCollectingBottleID", 25002);
+               Property atomGrenadeIDProp = cfg.getItem("AtomGrenadeID", 25003);
+
+               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.pyrolysisTableID = pyrolysisTableIDProp.getInt();
+               this.electrolysisTableID = electrolysisTableIDProp.getInt();
+               this.chemicalConbinationTableID = chemicalCombinationTableIDProp.getInt();
+               this.toolAndWeaponCraftingTableID = toolAndWeaponCraftingTableIDProp.getInt();
+               this.chemicalCraftingTableID = chemicalCraftingTableIDProp.getInt();
+               this.atomsID = atomsIDProp.getInt();
+               this.compoundsID = compoundsIDProp.getInt();
+               this.gasCollectingBottleID = gasCollectingBottleIDProp.getInt();
+               this.atomGrenadeID = atomGrenadeIDProp.getInt();
+               this.guiPyrolysisTableID = guiPyrolysisTableIDProp.getInt();
+               this.guiElectrolysisTableID = guiElectrolysisTableIDProp.getInt();
+               this.guiChemicalCombinationTableID = guiChemicalCombinationTableIDProp.getInt();
+               this.guiToolAndWeaponCraftingTableID = guiToolAndWeaponCraftingTableIDProp.getInt();
+               this.guiChemicalCraftingTableID = guiChemicalCraftingTableIDProp.getInt();
+
+               cfg.save();
+       }
+
+       @Mod.ServerStarting
+       public void serverStarting(final FMLServerStartingEvent event) {
+               event.registerServerCommand(new CommandSetTile());
+               event.registerServerCommand(new CommandDeleteItem());
+               event.registerServerCommand(new CommandGenDebugRoom());
+       }
+
+       @Mod.PostInit
+       public void chemiPostLoadMethod(final FMLPostInitializationEvent event) {
+               this.settingProcessing(event);
+               this.apiProcessing(event);
+               this.debug(event);
+       }
+
+       private void settingProcessing(final FMLPostInitializationEvent event) {
+
+               // Blockを追加します
+               this.blockPyrolysisTable = new BlockPyrolysisTable(this.pyrolysisTableID, 0, Material.ground).
+                               setHardness(2.0F).
+                               setResistance(0.0F).
+                               setStepSound(Block.soundStoneFootstep).
+                               setBlockName("PyrolysisTable");
+               this.blockElectrolysisTable = new BlockElectrolysisTable(this.electrolysisTableID, 1, Material.ground).
+                               setHardness(2.0F).
+                               setResistance(0.0F).
+                               setStepSound(Block.soundStoneFootstep).
+                               setBlockName("ElectrolysisTable");
+               this.blockChemicalCombinationTable = new BlockChemicalCombinationTable(this.chemicalConbinationTableID, 2, Material.ground).
+                               setHardness(2.0F).
+                               setResistance(0.0F).
+                               setStepSound(Block.soundStoneFootstep).
+                               setBlockName("ChemicalCombinationTable");
+               this.blockToolAndWeaponCraftingTable = new BlockToolAndWeaponCraftingTable(this.toolAndWeaponCraftingTableID, 3, Material.ground).
+                               setHardness(2.0F).
+                               setResistance(0.0F).
+                               setStepSound(Block.soundStoneFootstep).
+                               setBlockName("ToolAndWeaponCraftingTable");
+               this.blockChemicalCraftingTable = new BlockChemicalCraftingTable(chemicalCraftingTableID, 4, Material.ground).
+                               setHardness(2.0F).
+                               setResistance(0.0F).
+                               setStepSound(Block.soundStoneFootstep).
+                               setBlockName("ChemicalCraftingTable");
+
+               // Itemを追加します
+               this.itemAtoms = new ItemAtoms(this.atomsID).setItemName("atoms");
+               this.itemCompounds = new ItemCompounds(this.compoundsID).setItemName("compounds");
+               this.itemGasCollectingBottle = new ItemGasCollectingBottle(this.gasCollectingBottleID).setItemName("gasCollectingBottle").setIconIndex(0);
+               this.itemAtomGrenade = new ItemAtomsGrenade(this.atomGrenadeID).setItemName("grenade").setIconIndex(1);
+
+               // BlockをMinecraftに登録します
+               GameRegistry.registerBlock(this.blockPyrolysisTable, "BlockPyrolysisTable");
+               GameRegistry.registerBlock(this.blockElectrolysisTable, "ElectrolysisTable");
+               GameRegistry.registerBlock(this.blockChemicalCombinationTable, "BlockChemicalCombinationTable");
+               GameRegistry.registerBlock(this.blockToolAndWeaponCraftingTable, "BlockToolAndWeaponCraftingTable");
+               GameRegistry.registerBlock(this.blockChemicalCraftingTable, "BlockMaterialCraftingTable");
+
+               // Blockの名前を設定します
+               this.nameAuxiliary.addName(this.blockPyrolysisTable, "PyrolysisTable");
+               this.nameAuxiliary.addName(this.blockPyrolysisTable, "ja_JP", "熱分解台");
+               this.nameAuxiliary.addName(this.blockElectrolysisTable, "ElectrolysisTable");
+               this.nameAuxiliary.addName(this.blockElectrolysisTable, "ja_JP", "電気分解台");
+               this.nameAuxiliary.addName(this.blockChemicalCombinationTable, "ChemicalCombinationTable");
+               this.nameAuxiliary.addName(this.blockChemicalCombinationTable, "ja_JP", "化合台");
+               this.nameAuxiliary.addName(blockToolAndWeaponCraftingTable, "ToolAndWeaponCraftingTable");
+               this.nameAuxiliary.addName(blockToolAndWeaponCraftingTable, "ja_JP", "ツール&武器製作台");
+               this.nameAuxiliary.addName(blockChemicalCraftingTable, "ChemicalCraftingTable");
+               this.nameAuxiliary.addName(blockChemicalCraftingTable, "ja_JP", "素材製作台");
+
+               // Itemの名前を設定します
+               this.nameAuxiliary.addName(this.itemAtoms, ATOMSNAME);
+               this.nameAuxiliary.addName(this.itemAtoms, "ja_JP", ATOMSNAMEJP);
+               this.nameAuxiliary.addName(this.itemGasCollectingBottle, "GasCollectingBottle");
+               this.nameAuxiliary.addName(this.itemGasCollectingBottle, "ja_JP", "集気瓶");
+               this.nameAuxiliary.addName(this.itemAtomGrenade, "AtomGrenade");
+               this.nameAuxiliary.addName(this.itemAtomGrenade, "元素手榴弾");
+
+               // TileEntityを追加します
+               GameRegistry.registerTileEntity(TileEntityPyrolysisTable.class, "TileEntityPyrolysisTable");
+               GameRegistry.registerTileEntity(TileEntityElectrolysisTable.class, "TileEntityElectrolysisTable");
+               GameRegistry.registerTileEntity(TileEntityChemicalCombinationTable.class, "TileEntityChemicalCombinationTable");
+               GameRegistry.registerTileEntity(TileEntityToolAndWeaponCraftingTable.class, "TileEntityToolAndWeaponCraftingTable");
+               GameRegistry.registerTileEntity(TileEntityChemicalCraftingTable.class, "TileEntityChemicalCraftingTable");
+
+               // GUIを追加します
+               NetworkRegistry.instance().registerGuiHandler(instance, proxy);
+
+               // 描画関係の読み込み
+               proxy.registerRenderInformation();
+
+               //化学作業台類のレシピを追加します
+               GameRegistry.addRecipe(new ItemStack(this.blockElectrolysisTable),
+                               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.tnt),
+               });
+               GameRegistry.addRecipe(new ItemStack(this.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.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.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.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.itemAtoms, 1, 0),
+               });
+
+               //鉱石を追加します
+               api.addAtomsOre(Block.blockDiamond.blockID, 0, 5, 20, 20); //テスト用。ダイヤモンドブロックを生成します
+
+               //鉱石の生成
+               for (int i = 0; i < api.getAtomsOreIDList().size(); i++) {
+                       GameRegistry.registerWorldGenerator(new WorldGenAtomsOre(api.getAtomsOreIDList().get(i), api.getAtomsOreMetaList().get(i), api.getAtomsOreSizeList().get(i), api.getAtomsOreFrequencyList().get(i), api.getAtomsOrePosYList().get(i)));
+               }
+
+               //化合物を追加します
+               api.addLangCompound("ja_JP", "ChlorousAcid", "亜塩素酸");
+
+               api.addLangCompound("ja_JP", "CarbonMonoxide", "一酸化炭素");
+               api.addLangCompound("ja_JP", "CarbonDioxide", "二酸化炭素");
+               api.addLangCompound("ja_JP", "Water", "水");
+
+
+               //化合物のHandlerを設定します
+               api.settingCompoundHandler("Water", new CompoundWater());
+
+               //化合物のレシピを追加します
+               api.addChemicalCombinationRecipe(new String[]{"H", "O", "Cl"}, new Integer[]{1, 2, 1}, new ItemStack(this.itemCompounds, 1, api.getCompound("ChlorousAcid")));
+
+               api.addChemicalCombinationRecipe(new String[]{"H", "O"}, new Integer[]{2, 1}, new ItemStack(this.itemCompounds, 1, api.getCompound("Water")));
+
+               //手榴弾の追加
+               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.itemAtomGrenade, 16, 0),
+                               new NBTRecipeGrenade()
+                               );
+               //Tickingの追加
+               this.proxy.registerTickHandler();
+       }
+
+       private void apiProcessing(final FMLPostInitializationEvent event) {
+               // API用の処理
+               this.nameAuxiliary.addName(itemCompounds, api.getCompoundsName().toArray());
+               for (int i = 0; i < api.getCompoundsLang().size(); i++) {
+                       this.nameAuxiliary.addName(itemCompounds, api.getCompoundsLang().get(i), api.getCompoundsLangName().toArray());
+               }
+       }
+
+       private void debug(final FMLPostInitializationEvent event) {
+       }
+
+}
similarity index 81%
rename from common/chemicraft/ChemiCraftAPI.java
rename to common/pcc/chemicraft/ChemiCraftAPI.java
index b7b64e6..f267f01 100644 (file)
@@ -1,14 +1,15 @@
-package chemicraft;
+package pcc.chemicraft;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 
+import pcc.chemicraft.system.ChemiCraftCraftingManager;
+import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.util.ChemicalNBTRecipe;
+import pcc.chemicraft.util.ICompoundHandler;
+import pcc.chemicraft.util.MaterialRecipe;
+
 import net.minecraft.item.ItemStack;
-import chemicraft.system.ChemiCraftCraftingManager;
-import chemicraft.tileentity.TileEntityPyrolysisTable;
-import chemicraft.util.ChemicalNBTRecipe;
-import chemicraft.util.ICompoundHandler;
-import chemicraft.util.MaterialRecipe;
 
 /**
  * ChemiCraftのAPI
@@ -102,6 +103,21 @@ public class ChemiCraftAPI {
        private ChemiCraftCraftingManager chemiCraftCraftingManager = new ChemiCraftCraftingManager();
 
 
+       private ArrayList<Integer> atomsOreIDList = new ArrayList<Integer>();
+
+
+       private ArrayList<Integer> atomsOreMetaList = new ArrayList<Integer>();
+
+
+       private ArrayList<Integer> atomsOreSizeList = new ArrayList<Integer>();
+
+
+       private ArrayList<Integer> atomsOreFrequencyList = new ArrayList<Integer>();
+
+
+       private ArrayList<Integer> atomsOrePosYList = new ArrayList<Integer>();
+
+
 
        /**
         * add compound.
@@ -204,6 +220,21 @@ public class ChemiCraftAPI {
        public void addMaterialRecipe(ItemStack[] materials, ItemStack result, ChemicalNBTRecipe nbtRecipe){
                materialRecipe.add(new MaterialRecipe(result, materials, nbtRecipe, false));
        }
+
+
+
+       public void addAtomsOre(int id, int size, int frequency, int posY){
+               addAtomsOre(id, 0, size, frequency, posY);
+       }
+
+
+       public void addAtomsOre(int id, int meta, int size, int frequency, int posY){
+               atomsOreIDList.add(id);
+               atomsOreMetaList.add(meta);
+               atomsOreSizeList.add(size);
+               atomsOreFrequencyList.add(frequency);
+               atomsOrePosYList.add(posY);
+       }
        //以下システム関連//////////////////////////////////////////////////////
 
        public ArrayList<ICompoundHandler> getCompoundHandler(){
@@ -284,7 +315,37 @@ public class ChemiCraftAPI {
 
 
 
-       public static ChemiCraftAPI getInstance(){
+       public ArrayList<Integer> getAtomsOreIDList(){
+               return atomsOreIDList;
+       }
+
+
+
+       public ArrayList<Integer> getAtomsOreMetaList(){
+               return atomsOreMetaList;
+       }
+
+
+
+       public ArrayList<Integer> getAtomsOreSizeList(){
+               return atomsOreSizeList;
+       }
+
+
+
+       public ArrayList<Integer> getAtomsOreFrequencyList(){
+               return atomsOreFrequencyList;
+       }
+
+
+
+       public ArrayList<Integer> getAtomsOrePosYList(){
+               return atomsOrePosYList;
+       }
+
+
+
+       public static ChemiCraftAPI instance(){
                return instance;
        }
 
similarity index 99%
rename from common/chemicraft/ChemiCraftData.java
rename to common/pcc/chemicraft/ChemiCraftData.java
index 8dab814..2601196 100644 (file)
@@ -1,4 +1,4 @@
-package chemicraft;
+package pcc.chemicraft;
 
 public final class ChemiCraftData {
 
@@ -1,12 +1,12 @@
-package chemicraft.block;
+package pcc.chemicraft.block;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
 import net.minecraft.block.BlockContainer;
 import net.minecraft.block.material.Material;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.tileentity.TileEntityChemicalCombinationTable;
 
 public class BlockChemicalCombinationTable extends BlockContainer {
 
@@ -1,12 +1,12 @@
-package chemicraft.block;
+package pcc.chemicraft.block;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
 import net.minecraft.block.BlockContainer;
 import net.minecraft.block.material.Material;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.tileentity.TileEntityChemicalCraftingTable;
 
 public class BlockChemicalCraftingTable extends BlockContainer {
 
@@ -1,13 +1,13 @@
-package chemicraft.block;
+package pcc.chemicraft.block;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.debug.DebugTick;
+import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
 import net.minecraft.block.BlockContainer;
 import net.minecraft.block.material.Material;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.debug.DebugTick;
-import chemicraft.tileentity.TileEntityElectrolysisTable;
 
 public class BlockElectrolysisTable extends BlockContainer
 {
@@ -1,13 +1,13 @@
-package chemicraft.block;
+package pcc.chemicraft.block;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.debug.DebugTick;
+import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
 import net.minecraft.block.BlockContainer;
 import net.minecraft.block.material.Material;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.debug.DebugTick;
-import chemicraft.tileentity.TileEntityPyrolysisTable;
 
 public class BlockPyrolysisTable extends BlockContainer {
 
@@ -1,12 +1,12 @@
-package chemicraft.block;
+package pcc.chemicraft.block;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 import net.minecraft.block.BlockContainer;
 import net.minecraft.block.material.Material;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 
 public class BlockToolAndWeaponCraftingTable extends BlockContainer {
 
similarity index 75%
rename from common/chemicraft/client/ClientProxy.java
rename to common/pcc/chemicraft/client/ClientProxy.java
index eff6f47..8742dd1 100644 (file)
@@ -1,24 +1,24 @@
-package chemicraft.client;
+package pcc.chemicraft.client;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.debug.DebugTick;
+import pcc.chemicraft.entity.EntityAtomsGrenade;
+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.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 net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
 import net.minecraftforge.client.MinecraftForgeClient;
-import chemicraft.ChemiCraft;
-import chemicraft.debug.DebugTick;
-import chemicraft.entity.EntityAtomsGrenade;
-import chemicraft.gui.GuiChemicalCombinationTable;
-import chemicraft.gui.GuiChemicalCraftingTable;
-import chemicraft.gui.GuiElectrolysisTable;
-import chemicraft.gui.GuiPyrolysisTable;
-import chemicraft.gui.GuiToolAndWeaponCraftingTable;
-import chemicraft.render.RenderAtomsGrenade;
-import chemicraft.system.CommonProxy;
-import chemicraft.tileentity.TileEntityChemicalCombinationTable;
-import chemicraft.tileentity.TileEntityChemicalCraftingTable;
-import chemicraft.tileentity.TileEntityElectrolysisTable;
-import chemicraft.tileentity.TileEntityPyrolysisTable;
-import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 import cpw.mods.fml.client.FMLClientHandler;
 import cpw.mods.fml.client.registry.RenderingRegistry;
 import cpw.mods.fml.common.registry.TickRegistry;
diff --git a/common/pcc/chemicraft/compounds/CompoundWater.java b/common/pcc/chemicraft/compounds/CompoundWater.java
new file mode 100644 (file)
index 0000000..ca234ea
--- /dev/null
@@ -0,0 +1,63 @@
+package pcc.chemicraft.compounds;
+
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.util.ICompoundHandler;
+import net.minecraft.block.Block;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumMovingObjectType;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.world.World;
+
+public class CompoundWater extends FalseItem implements ICompoundHandler
+{
+
+       private int isFull;
+
+       public CompoundWater()
+       {
+               this.isFull = Block.waterMoving.blockID;
+       }
+
+       @Override
+       public ItemStack onItemRightClickHandler(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
+       {
+               boolean var11 = this.isFull == 0;
+               MovingObjectPosition var12 = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, var11);
+               if (var12 == null)
+        {
+            return par1ItemStack;
+        }
+        else
+        {
+               if (var12.typeOfHit == EnumMovingObjectType.TILE)
+            {
+                int var13 = var12.blockX;
+                int var14 = var12.blockY;
+                int var15 = var12.blockZ;
+            }
+        }
+               return par1ItemStack;
+       }
+
+       @Override
+       public boolean onItemUseHandler(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10)
+       {
+               return false;
+       }
+
+       @Override
+       public void onUpdateHandler(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5)
+       {
+
+       }
+
+       @Override
+       public int getIconIndexHandler()
+       {
+               return 1;
+       }
+
+}
diff --git a/common/pcc/chemicraft/compounds/FalseItem.java b/common/pcc/chemicraft/compounds/FalseItem.java
new file mode 100644 (file)
index 0000000..f791ed3
--- /dev/null
@@ -0,0 +1,36 @@
+package pcc.chemicraft.compounds;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.Vec3;
+import net.minecraft.world.World;
+
+public class FalseItem
+{
+
+       protected MovingObjectPosition getMovingObjectPositionFromPlayer(World par1World, EntityPlayer par2EntityPlayer, boolean par3)
+       {
+               float var4 = 1.0F;
+               float var5 = par2EntityPlayer.prevRotationPitch + (par2EntityPlayer.rotationPitch - par2EntityPlayer.prevRotationPitch) * var4;
+               float var6 = par2EntityPlayer.prevRotationYaw + (par2EntityPlayer.rotationYaw - par2EntityPlayer.prevRotationYaw) * var4;
+               double var7 = par2EntityPlayer.prevPosX + (par2EntityPlayer.posX - par2EntityPlayer.prevPosX) * (double)var4;
+               double var9 = par2EntityPlayer.prevPosY + (par2EntityPlayer.posY - par2EntityPlayer.prevPosY) * (double)var4 + 1.62D - (double)par2EntityPlayer.yOffset;
+               double var11 = par2EntityPlayer.prevPosZ + (par2EntityPlayer.posZ - par2EntityPlayer.prevPosZ) * (double)var4;
+               Vec3 var13 = par1World.getWorldVec3Pool().getVecFromPool(var7, var9, var11);
+               float var14 = MathHelper.cos(-var6 * 0.017453292F - (float)Math.PI);
+               float var15 = MathHelper.sin(-var6 * 0.017453292F - (float)Math.PI);
+               float var16 = -MathHelper.cos(-var5 * 0.017453292F);
+               float var17 = MathHelper.sin(-var5 * 0.017453292F);
+               float var18 = var15 * var16;
+               float var20 = var14 * var16;
+               double var21 = 5.0D;
+               if (par2EntityPlayer instanceof EntityPlayerMP) {
+                       var21 = ((EntityPlayerMP)par2EntityPlayer).theItemInWorldManager.getBlockReachDistance();
+               }
+               Vec3 var23 = var13.addVector((double)var18 * var21, (double)var17 * var21, (double)var20 * var21);
+               return par1World.rayTraceBlocks_do_do(var13, var23, par3, !par3);
+       }
+
+}
@@ -1,5 +1,12 @@
-package chemicraft.container;
-
+package pcc.chemicraft.container;
+
+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 net.minecraft.block.Block;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
@@ -7,13 +14,6 @@ import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
 import net.minecraft.item.ItemStack;
 import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.ChemiCraftAPI;
-import chemicraft.inventory.InventoryChemicalCombinationTableMaterial;
-import chemicraft.inventory.InventoryChemicalCombinationTableResult;
-import chemicraft.slot.SlotChemicalCombinationTableMaterial;
-import chemicraft.slot.SlotChemicalCombinationTableResult;
-import chemicraft.tileentity.TileEntityChemicalCombinationTable;
 import cpw.mods.fml.common.network.PacketDispatcher;
 
 public class ContainerChemicalCombinationTable extends Container {
@@ -87,7 +87,7 @@ public class ContainerChemicalCombinationTable extends Container {
 
        @Override
        public void onCraftMatrixChanged(IInventory par1IInventory){
-               this.invr.setInventorySlotContents(0, ChemiCraftAPI.getInstance().getCraftingManager().getChemicalCombinationResult(this.tileentity.getAtomsList(), this.tileentity.getAtomsAmountList()));
+               this.invr.setInventorySlotContents(0, ChemiCraftAPI.instance().getCraftingManager().getChemicalCombinationResult(this.tileentity.getAtomsList(), this.tileentity.getAtomsAmountList()));
                if (par1IInventory instanceof InventoryChemicalCombinationTableResult) {
                        PacketDispatcher.sendPacketToServer(this.tileentity.getDescriptionPacket());
                }
@@ -1,19 +1,19 @@
-package chemicraft.container;
-
+package pcc.chemicraft.container;
+
+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.util.ChemicalNBTRecipe;
 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 chemicraft.ChemiCraft;
-import chemicraft.ChemiCraftAPI;
-import chemicraft.inventory.InventoryChemicalCraftingMaterial;
-import chemicraft.inventory.InventoryChemicalCraftingNBT;
-import chemicraft.inventory.InventoryChemicalCraftingResult;
-import chemicraft.slot.SlotChemicalCraftingTableResult;
-import chemicraft.tileentity.TileEntityChemicalCraftingTable;
-import chemicraft.util.ChemicalNBTRecipe;
 
 public class ContainerChemicalCraftingTable extends Container {
 
@@ -84,7 +84,7 @@ public class ContainerChemicalCraftingTable extends Container {
 
        @Override
        public void onCraftMatrixChanged(IInventory par1IInventory){
-               this.useNBT = ChemiCraftAPI.getInstance().getCraftingManager().chemicalCrafting(this.invm, this.invr, this.invn);
+               this.useNBT = ChemiCraftAPI.instance().getCraftingManager().chemicalCrafting(this.invm, this.invr, this.invn);
        }
 
        @Override
@@ -1,13 +1,13 @@
-package chemicraft.container;
+package pcc.chemicraft.container;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.slot.SlotElectrolysisMaterial;
+import pcc.chemicraft.slot.SlotElectrolysisResult;
+import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
 import net.minecraft.inventory.Slot;
 import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.slot.SlotElectrolysisMaterial;
-import chemicraft.slot.SlotElectrolysisResult;
-import chemicraft.tileentity.TileEntityElectrolysisTable;
 
 public class ContainerElectrolysisTable extends Container
 {
@@ -1,14 +1,14 @@
-package chemicraft.container;
+package pcc.chemicraft.container;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.slot.SlotPyrolysisTableFuel;
+import pcc.chemicraft.slot.SlotPyrolysisTableMaterial;
+import pcc.chemicraft.slot.SlotPyrolysisTableResult;
+import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
 import net.minecraft.inventory.Slot;
 import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.slot.SlotPyrolysisTableFuel;
-import chemicraft.slot.SlotPyrolysisTableMaterial;
-import chemicraft.slot.SlotPyrolysisTableResult;
-import chemicraft.tileentity.TileEntityPyrolysisTable;
 
 public class ContainerPyrolysisTable extends Container {
 
@@ -1,8 +1,8 @@
-package chemicraft.container;
+package pcc.chemicraft.container;
 
+import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
-import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 
 public class ContainerToolAndWeaponCraftingTable extends Container {
 
@@ -1,4 +1,4 @@
-package chemicraft.debug;
+package pcc.chemicraft.debug;
 
 import java.util.Iterator;
 import java.util.List;
@@ -1,4 +1,4 @@
-package chemicraft.debug;
+package pcc.chemicraft.debug;
 
 import net.minecraft.block.Block;
 import net.minecraft.command.CommandBase;
@@ -1,4 +1,4 @@
-package chemicraft.debug;
+package pcc.chemicraft.debug;
 
 import net.minecraft.block.Block;
 import net.minecraft.command.CommandBase;
@@ -1,10 +1,10 @@
-package chemicraft.debug;
+package pcc.chemicraft.debug;
 
+import pcc.chemicraft.util.ICompoundHandler;
 import net.minecraft.entity.Entity;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.item.ItemStack;
 import net.minecraft.world.World;
-import chemicraft.util.ICompoundHandler;
 
 public class CompoundHandlerTest implements ICompoundHandler {
 
similarity index 89%
rename from common/chemicraft/debug/DebugData.java
rename to common/pcc/chemicraft/debug/DebugData.java
index 7af7876..cec3c67 100644 (file)
@@ -1,4 +1,4 @@
-package chemicraft.debug;
+package pcc.chemicraft.debug;
 
 public class DebugData {
 
similarity index 98%
rename from common/chemicraft/debug/DebugTick.java
rename to common/pcc/chemicraft/debug/DebugTick.java
index e168e75..aae6f70 100644 (file)
@@ -1,4 +1,4 @@
-package chemicraft.debug;
+package pcc.chemicraft.debug;
 
 import java.awt.BasicStroke;
 import java.awt.Color;
@@ -1,4 +1,4 @@
-package chemicraft.debug;
+package pcc.chemicraft.debug;
 import java.util.Random;
 
 import net.minecraft.world.World;
diff --git a/common/pcc/chemicraft/gen/WorldGenAtomsOre.java b/common/pcc/chemicraft/gen/WorldGenAtomsOre.java
new file mode 100644 (file)
index 0000000..4191193
--- /dev/null
@@ -0,0 +1,42 @@
+package pcc.chemicraft.gen;
+
+import java.util.Random;
+
+import net.minecraft.block.Block;
+import net.minecraft.util.MathHelper;
+import net.minecraft.world.World;
+import net.minecraft.world.chunk.IChunkProvider;
+import net.minecraft.world.gen.feature.WorldGenMinable;
+import cpw.mods.fml.common.IWorldGenerator;
+
+public class WorldGenAtomsOre extends WorldGenMinable implements IWorldGenerator
+{
+
+       private int id;
+       private int meta;
+       private int size;
+       private int frequency;
+       private int posY;
+
+       public WorldGenAtomsOre(int id, int size, int frequency, int posY)
+       {
+               super(id, size);
+               this.frequency = frequency;
+               this.posY = posY;
+       }
+
+       public WorldGenAtomsOre(int id, int meta, int size, int frequency, int posY)
+       {
+               this(id, size, frequency, posY);
+               this.meta = meta;
+       }
+
+       @Override
+       public void generate(Random par1Random, int par2ChunkX, int par3ChunkZ, World par4World, IChunkProvider par5ChunkGenerator, IChunkProvider par6ChunkProvider)
+       {
+               for (int i = 0; i < this.frequency; i++) {
+                       this.generate(par4World, par1Random, par2ChunkX << 4, par1Random.nextInt(this.posY), par3ChunkZ << 4);
+               }
+       }
+
+}
@@ -1,12 +1,12 @@
-package chemicraft.gui;
+package pcc.chemicraft.gui;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.container.ContainerChemicalCombinationTable;
+import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
 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 chemicraft.ChemiCraft;
-import chemicraft.container.ContainerChemicalCombinationTable;
-import chemicraft.tileentity.TileEntityChemicalCombinationTable;
 import cpw.mods.fml.common.network.PacketDispatcher;
 
 public class GuiChemicalCombinationTable extends GuiContainer {
@@ -1,10 +1,10 @@
-package chemicraft.gui;
+package pcc.chemicraft.gui;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.container.ContainerChemicalCraftingTable;
+import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
 import net.minecraft.client.gui.inventory.GuiContainer;
 import net.minecraft.entity.player.EntityPlayer;
-import chemicraft.ChemiCraft;
-import chemicraft.container.ContainerChemicalCraftingTable;
-import chemicraft.tileentity.TileEntityChemicalCraftingTable;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -1,10 +1,10 @@
-package chemicraft.gui;
+package pcc.chemicraft.gui;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.container.ContainerElectrolysisTable;
+import pcc.chemicraft.tileentity.TileEntityElectrolysisTable;
 import net.minecraft.client.gui.inventory.GuiContainer;
 import net.minecraft.entity.player.EntityPlayer;
-import chemicraft.ChemiCraft;
-import chemicraft.container.ContainerElectrolysisTable;
-import chemicraft.tileentity.TileEntityElectrolysisTable;
 
 public class GuiElectrolysisTable extends GuiContainer
 {
@@ -1,10 +1,10 @@
-package chemicraft.gui;
+package pcc.chemicraft.gui;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.container.ContainerPyrolysisTable;
+import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
 import net.minecraft.client.gui.inventory.GuiContainer;
 import net.minecraft.entity.player.EntityPlayer;
-import chemicraft.ChemiCraft;
-import chemicraft.container.ContainerPyrolysisTable;
-import chemicraft.tileentity.TileEntityPyrolysisTable;
 
 public class GuiPyrolysisTable extends GuiContainer{
 
@@ -1,10 +1,10 @@
-package chemicraft.gui;
+package pcc.chemicraft.gui;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.container.ContainerToolAndWeaponCraftingTable;
+import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 import net.minecraft.client.gui.inventory.GuiContainer;
 import net.minecraft.entity.player.EntityPlayer;
-import chemicraft.ChemiCraft;
-import chemicraft.container.ContainerToolAndWeaponCraftingTable;
-import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 
 public class GuiToolAndWeaponCraftingTable extends GuiContainer {
 
@@ -1,4 +1,4 @@
-package chemicraft.inventory;
+package pcc.chemicraft.inventory;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
@@ -1,4 +1,4 @@
-package chemicraft.inventory;
+package pcc.chemicraft.inventory;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.inventory.Container;
@@ -1,7 +1,7 @@
-package chemicraft.item;
+package pcc.chemicraft.item;
 
+import pcc.chemicraft.util.AtomInfo;
 import net.minecraft.item.Item;
-import chemicraft.util.AtomInfo;
 
 public class ItemAtomInfoContainer extends Item {
 
similarity index 94%
rename from common/chemicraft/item/ItemAtoms.java
rename to common/pcc/chemicraft/item/ItemAtoms.java
index 3ec489c..9cf1516 100644 (file)
@@ -1,11 +1,12 @@
-package chemicraft.item;
+package pcc.chemicraft.item;
 
 import java.util.List;
 
+import pcc.chemicraft.ChemiCraft;
+
 import net.minecraft.creativetab.CreativeTabs;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
-import chemicraft.ChemiCraft;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -1,14 +1,15 @@
-package chemicraft.item;
+package pcc.chemicraft.item;
 
 import java.util.List;
 
+import pcc.chemicraft.entity.EntityAtomsGrenade;
+
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
 import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.nbt.NBTTagList;
 import net.minecraft.world.World;
-import chemicraft.entity.EntityAtomsGrenade;
 
 public class ItemAtomsGrenade extends Item {
 
diff --git a/common/pcc/chemicraft/item/ItemCompounds.java b/common/pcc/chemicraft/item/ItemCompounds.java
new file mode 100644 (file)
index 0000000..ccc1b92
--- /dev/null
@@ -0,0 +1,99 @@
+package pcc.chemicraft.item;
+
+import java.util.List;
+
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.ChemiCraftAPI;
+
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+public class ItemCompounds extends Item {
+
+       public ItemCompounds(int par1){
+               super(par1);
+               this.setHasSubtypes(true);
+               this.setMaxDamage(0);
+               this.setCreativeTab(ChemiCraft.instance.creativeTab);
+       }
+
+       @Override
+       public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) {
+               for(int i=0;i < ChemiCraftAPI.instance().getCompoundHandlerItemName().size();i++){
+                       if(ChemiCraftAPI.instance().getCompoundsName().get(par1ItemStack.getItemDamage()).equals(ChemiCraftAPI.instance().getCompoundHandlerItemName().get(i))){
+                               return ChemiCraftAPI.instance().getCompoundHandler().get(i).onItemUseHandler(par1ItemStack, par2EntityPlayer, par3World, par4, par5, par6, par7, par8, par9, par10);
+                       }
+               }
+               return false;
+       }
+
+
+       @Override
+       public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
+       {
+               for(int i=0;i < ChemiCraftAPI.instance().getCompoundHandlerItemName().size();i++){
+                       if(ChemiCraftAPI.instance().getCompoundsName().get(par1ItemStack.getItemDamage()).equals(ChemiCraftAPI.instance().getCompoundHandlerItemName().get(i))){
+                               ChemiCraftAPI.instance().getCompoundHandler().get(i).onItemRightClickHandler(par1ItemStack, par2World, par3EntityPlayer);
+                       }
+               }
+               return par1ItemStack;
+       }
+
+
+
+       @Override
+       public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5){
+               for(int i=0;i < ChemiCraftAPI.instance().getCompoundHandlerItemName().size();i++){
+                       if(ChemiCraftAPI.instance().getCompoundsName().get(par1ItemStack.getItemDamage()).equals(ChemiCraftAPI.instance().getCompoundHandlerItemName().get(i))){
+                               ChemiCraftAPI.instance().getCompoundHandler().get(i).onUpdateHandler(par1ItemStack, par2World, par3Entity, par4, par5);
+                       }
+               }
+       }
+
+
+
+       @SuppressWarnings({ "unchecked", "rawtypes" })
+       @SideOnly(Side.CLIENT)
+       @Override
+       public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List){
+               for(int type = 0; type < ChemiCraftAPI.instance().getCompoundsName().toArray().length; type++)
+               {
+                       par3List.add(new ItemStack(par1, 1, type));
+                       this.setIconIndex(type);
+               }
+       }
+
+
+
+       @Override
+       public String getItemNameIS(ItemStack par1ItemStack){
+               return super.getItemName() + "." + ChemiCraftAPI.instance().getCompoundsName().toArray()[par1ItemStack.getItemDamage()];
+       }
+
+
+
+       @Override
+       public String getTextureFile(){
+               return ChemiCraft.instance.ITEMCOMPOUNDSTEXTURE;
+       }
+
+
+
+       @SideOnly(Side.CLIENT)
+       @Override
+       public int getIconFromDamage(int par1){
+               for(int i=0;i < ChemiCraftAPI.instance().getCompoundHandlerItemName().size();i++){
+                       if(ChemiCraftAPI.instance().getCompoundsName().get(par1).equals(ChemiCraftAPI.instance().getCompoundHandlerItemName().get(i))){
+                               return ChemiCraftAPI.instance().getCompoundHandler().get(i).getIconIndexHandler();
+                       }
+               }
+               return 0;
+       }
+
+}
@@ -1,17 +1,19 @@
-package chemicraft.item;
+package pcc.chemicraft.item;
 
 import net.minecraft.block.Block;
 import net.minecraft.block.BlockFire;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.item.ItemStack;
 import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.ChemiCraftAPI;
-import chemicraft.util.MathHelperPlus;
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.ChemiCraftAPI;
+import pcc.chemicraft.util.Auxiliary.Probability;
 
 public class ItemGasCollectingBottle extends ItemAtomInfoContainer
 {
 
+       public Probability probability = new Probability();
+
        public ItemGasCollectingBottle(int id) {
                super(id);
                this.setMaxStackSize(1);
@@ -28,9 +30,9 @@ public class ItemGasCollectingBottle extends ItemAtomInfoContainer
 
                int heightValue = par2World.getHeightValue((int) par3EntityPlayer.posX, (int) par3EntityPlayer.posZ);
 
-               int result1 = MathHelperPlus.probability(99, 1);
-               int result2 = MathHelperPlus.probability(78, 21, 1);
-               int result3 = MathHelperPlus.probability(0.032, 0.0018, 0.000012, 0.00052);
+               int result1 = probability.getProbability(99.0D, 1.0D);
+               int result2 = probability.getProbability(78.0D, 21.0D, 1.0D);
+               int result3 = probability.getProbability(0.032D, 0.0018D, 0.000012D, 0.00052D);
                if (this.atomInfo.isOverY(heightValue)) {
                        if (result1 == 0) {
                                if (result2 == 0) {
@@ -42,7 +44,7 @@ public class ItemGasCollectingBottle extends ItemAtomInfoContainer
                                }
                        } else {
                                if (result3 == 0) {
-                                       this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemCompounds, 1, ChemiCraftAPI.getInstance().getCompound("CarbonDioxide")), par3EntityPlayer);
+                                       this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonDioxide")), par3EntityPlayer);
                                } else if (result3 == 1) {
                                        this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemAtoms, 1, 9), par3EntityPlayer);
                                } else if (result3 == 2) {
@@ -80,12 +82,12 @@ public class ItemGasCollectingBottle extends ItemAtomInfoContainer
                if (uniqueBlock instanceof BlockFire){
                        par1ItemStack.damageItem(1, par2EntityPlayer);
 
-                       int result1 = MathHelperPlus.probability(99, 1);
+                       int result1 = probability.getProbability(99, 1);
 
                        if (result1 == 0) {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemCompounds, 1, ChemiCraftAPI.getInstance().getCompound("CarbonDioxide")), par2EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonDioxide")), par2EntityPlayer);
                        } else {
-                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemCompounds, 1, ChemiCraftAPI.getInstance().getCompound("CarbonMonoxide")), par2EntityPlayer);
+                               this.isStackOrDrop(new ItemStack(ChemiCraft.instance.itemCompounds, 1, ChemiCraftAPI.instance().getCompound("CarbonMonoxide")), par2EntityPlayer);
                        }
 
                        return true;
@@ -1,4 +1,4 @@
-package chemicraft.render;
+package pcc.chemicraft.render;
 
 import net.minecraft.client.renderer.Tessellator;
 import net.minecraft.client.renderer.entity.Render;
@@ -7,8 +7,9 @@ import net.minecraft.entity.Entity;
 import org.lwjgl.opengl.GL11;
 import org.lwjgl.opengl.GL12;
 
-import chemicraft.ChemiCraft;
-import chemicraft.entity.EntityAtomsGrenade;
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.entity.EntityAtomsGrenade;
+
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
@@ -1,9 +1,9 @@
-package chemicraft.slot;
+package pcc.chemicraft.slot;
 
+import pcc.chemicraft.ChemiCraft;
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
 import net.minecraft.item.ItemStack;
-import chemicraft.ChemiCraft;
 
 public class SlotChemicalCombinationTableMaterial extends Slot {
 
@@ -1,4 +1,4 @@
-package chemicraft.slot;
+package pcc.chemicraft.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package chemicraft.slot;
+package pcc.chemicraft.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package chemicraft.slot;
+package pcc.chemicraft.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package chemicraft.slot;
+package pcc.chemicraft.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package chemicraft.slot;
+package pcc.chemicraft.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package chemicraft.slot;
+package pcc.chemicraft.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,4 +1,4 @@
-package chemicraft.slot;
+package pcc.chemicraft.slot;
 
 import net.minecraft.inventory.IInventory;
 import net.minecraft.inventory.Slot;
@@ -1,17 +1,18 @@
-package chemicraft.system;
+package pcc.chemicraft.system;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 
+import pcc.chemicraft.ChemiCraftAPI;
+import pcc.chemicraft.inventory.InventoryChemicalCraftingMaterial;
+import pcc.chemicraft.inventory.InventoryChemicalCraftingNBT;
+import pcc.chemicraft.inventory.InventoryChemicalCraftingResult;
+import pcc.chemicraft.util.ChemicalNBTRecipe;
+import pcc.chemicraft.util.ComparatorFormulaPart;
+import pcc.chemicraft.util.FormulaPart;
+
 import net.minecraft.inventory.IInventory;
 import net.minecraft.item.ItemStack;
-import chemicraft.ChemiCraftAPI;
-import chemicraft.inventory.InventoryChemicalCraftingMaterial;
-import chemicraft.inventory.InventoryChemicalCraftingNBT;
-import chemicraft.inventory.InventoryChemicalCraftingResult;
-import chemicraft.util.ChemicalNBTRecipe;
-import chemicraft.util.ComparatorFormulaPart;
-import chemicraft.util.FormulaPart;
 
 public class ChemiCraftCraftingManager {
 
@@ -22,7 +23,7 @@ public class ChemiCraftCraftingManager {
 
 
        public ItemStack getChemicalCombinationResult(ArrayList<String> atomsList, ArrayList<Integer> atomsAmountList){
-               ChemiCraftAPI api = ChemiCraftAPI.getInstance();
+               ChemiCraftAPI api = ChemiCraftAPI.instance();
                recipeSize :
                        for (int i = 0; i < api.getChemicalCombinationAtoms().size(); i++) {
                                FormulaPart[] var1 = new FormulaPart[atomsList.size()];
@@ -51,7 +52,7 @@ public class ChemiCraftCraftingManager {
 
 
        public ChemicalNBTRecipe chemicalCrafting(InventoryChemicalCraftingMaterial par1IInventory, InventoryChemicalCraftingResult par2IInventory, InventoryChemicalCraftingNBT par3IInventory){
-               ChemiCraftAPI api = ChemiCraftAPI.getInstance();
+               ChemiCraftAPI api = ChemiCraftAPI.instance();
                ChemicalNBTRecipe returnObj = null;
                for(int i = 0;i < api.getMaterialRecipe().size();i++){
                        ItemStack result = api.getMaterialRecipe().get(i).match(par1IInventory);
similarity index 73%
rename from common/chemicraft/system/CommonProxy.java
rename to common/pcc/chemicraft/system/CommonProxy.java
index 58f4c0a..32b0702 100644 (file)
@@ -1,17 +1,17 @@
-package chemicraft.system;
-
+package pcc.chemicraft.system;
+
+import pcc.chemicraft.container.ContainerChemicalCombinationTable;
+import pcc.chemicraft.container.ContainerChemicalCraftingTable;
+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.TileEntityPyrolysisTable;
+import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
-import chemicraft.container.ContainerChemicalCombinationTable;
-import chemicraft.container.ContainerChemicalCraftingTable;
-import chemicraft.container.ContainerPyrolysisTable;
-import chemicraft.container.ContainerToolAndWeaponCraftingTable;
-import chemicraft.debug.DebugTick;
-import chemicraft.tileentity.TileEntityChemicalCombinationTable;
-import chemicraft.tileentity.TileEntityChemicalCraftingTable;
-import chemicraft.tileentity.TileEntityPyrolysisTable;
-import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 import cpw.mods.fml.common.network.IGuiHandler;
 import cpw.mods.fml.common.registry.TickRegistry;
 import cpw.mods.fml.relauncher.Side;
@@ -1,20 +1,21 @@
-package chemicraft.system;
+package pcc.chemicraft.system;
 
 import java.io.ByteArrayOutputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.tileentity.TileEntityChemicalCombinationTable;
+import pcc.chemicraft.tileentity.TileEntityChemicalCraftingTable;
+import pcc.chemicraft.tileentity.TileEntityPyrolysisTable;
+import pcc.chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
+
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.network.INetworkManager;
 import net.minecraft.network.packet.Packet;
 import net.minecraft.network.packet.Packet250CustomPayload;
 import net.minecraft.tileentity.TileEntity;
 import net.minecraft.world.World;
-import chemicraft.ChemiCraft;
-import chemicraft.tileentity.TileEntityChemicalCombinationTable;
-import chemicraft.tileentity.TileEntityChemicalCraftingTable;
-import chemicraft.tileentity.TileEntityPyrolysisTable;
-import chemicraft.tileentity.TileEntityToolAndWeaponCraftingTable;
 
 import com.google.common.io.ByteArrayDataInput;
 import com.google.common.io.ByteStreams;
@@ -1,9 +1,16 @@
-package chemicraft.tileentity;
+package pcc.chemicraft.tileentity;
 
 import java.io.DataOutputStream;
 import java.util.ArrayList;
 import java.util.Arrays;
 
+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.util.ComparatorItemStack;
+
 import net.minecraft.entity.item.EntityItem;
 import net.minecraft.inventory.IInventory;
 import net.minecraft.item.ItemStack;
@@ -11,12 +18,6 @@ import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.nbt.NBTTagList;
 import net.minecraft.network.packet.Packet;
 import net.minecraft.tileentity.TileEntity;
-import chemicraft.ChemiCraft;
-import chemicraft.ChemiCraftData;
-import chemicraft.inventory.InventoryChemicalCombinationTableMaterial;
-import chemicraft.inventory.InventoryChemicalCombinationTableResult;
-import chemicraft.system.PacketHandler;
-import chemicraft.util.ComparatorItemStack;
 
 import com.google.common.io.ByteArrayDataInput;
 
@@ -1,17 +1,18 @@
-package chemicraft.tileentity;
+package pcc.chemicraft.tileentity;
 
 import java.io.DataOutputStream;
 
+import pcc.chemicraft.inventory.InventoryChemicalCraftingMaterial;
+import pcc.chemicraft.inventory.InventoryChemicalCraftingNBT;
+import pcc.chemicraft.inventory.InventoryChemicalCraftingResult;
+import pcc.chemicraft.system.PacketHandler;
+
 import net.minecraft.inventory.IInventory;
 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 chemicraft.inventory.InventoryChemicalCraftingMaterial;
-import chemicraft.inventory.InventoryChemicalCraftingNBT;
-import chemicraft.inventory.InventoryChemicalCraftingResult;
-import chemicraft.system.PacketHandler;
 
 import com.google.common.io.ByteArrayDataInput;
 
@@ -1,11 +1,11 @@
-package chemicraft.tileentity;
+package pcc.chemicraft.tileentity;
 
+import pcc.chemicraft.inventory.InventoryElectrolysisTableFuel;
+import pcc.chemicraft.inventory.InventoryElectrolysisTableMaterial;
+import pcc.chemicraft.inventory.InventoryElectrolysisTableResult;
 import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.network.packet.Packet;
 import net.minecraft.tileentity.TileEntity;
-import chemicraft.inventory.InventoryElectrolysisTableFuel;
-import chemicraft.inventory.InventoryElectrolysisTableMaterial;
-import chemicraft.inventory.InventoryElectrolysisTableResult;
 
 public class TileEntityElectrolysisTable extends TileEntity
 {
@@ -1,22 +1,23 @@
-package chemicraft.tileentity;
+package pcc.chemicraft.tileentity;
 
 import java.io.DataOutputStream;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Random;
 
+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 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 chemicraft.debug.DebugData;
-import chemicraft.debug.DebugTick;
-import chemicraft.inventory.InventoryPyrolysisTableFuel;
-import chemicraft.inventory.InventoryPyrolysisTableMaterial;
-import chemicraft.inventory.InventoryPyrolysisTableResult;
-import chemicraft.system.PacketHandler;
 
 import com.google.common.io.ByteArrayDataInput;
 
similarity index 99%
rename from common/chemicraft/util/AtomInfo.java
rename to common/pcc/chemicraft/util/AtomInfo.java
index ccc5f01..822dea3 100644 (file)
@@ -1,4 +1,4 @@
-package chemicraft.util;
+package pcc.chemicraft.util;
 
 import net.minecraft.entity.player.EntityPlayer;
 import net.minecraft.world.World;
similarity index 88%
rename from common/chemicraft/util/Auxiliary.java
rename to common/pcc/chemicraft/util/Auxiliary.java
index fbd32a4..e8c64d8 100644 (file)
@@ -1,4 +1,7 @@
-package chemicraft.util;
+package pcc.chemicraft.util;
+
+import java.util.ArrayList;
+import java.util.Random;
 
 import net.minecraft.block.Block;
 import net.minecraft.item.Item;
@@ -187,4 +190,32 @@ public class Auxiliary {
 
        }
 
+       public static class Probability {
+
+               /**
+                * Return probability(0,1,2,etc...).
+                */
+               public int getProbability(double... par1){
+                       ArrayList<Double> var1 = new ArrayList<Double>();
+                       for (int var2 = 0; var2 < par1.length; var2++) {
+                               var1.add(par1[var2]);
+                       }
+                       return getProbability(var1);
+               }
+
+               public int getProbability(ArrayList<Double> par1){
+                       for (int i = 0; i < par1.size(); i++){
+                               double var1 = par1.get(i) / 100;
+                               double var2 = Math.random();
+                               if (var1 <= var2){
+                                       return i;
+                               }else{
+                                       continue;
+                               }
+                       }
+                       return -1;
+               }
+
+       }
+
 }
@@ -1,4 +1,4 @@
-package chemicraft.util;
+package pcc.chemicraft.util;
 
 import net.minecraft.item.ItemStack;
 
@@ -1,4 +1,4 @@
-package chemicraft.util;
+package pcc.chemicraft.util;
 
 import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.CAVE;
 import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.MINESHAFT;
@@ -1,7 +1,7 @@
-package chemicraft.util;
+package pcc.chemicraft.util;
 
+import pcc.chemicraft.ChemiCraft;
 import net.minecraft.creativetab.CreativeTabs;
-import chemicraft.ChemiCraft;
 import cpw.mods.fml.relauncher.Side;
 import cpw.mods.fml.relauncher.SideOnly;
 
similarity index 94%
rename from common/chemicraft/util/FormulaPart.java
rename to common/pcc/chemicraft/util/FormulaPart.java
index 1786cd4..9067c91 100644 (file)
@@ -1,4 +1,4 @@
-package chemicraft.util;
+package pcc.chemicraft.util;
 
 public class FormulaPart {
 
@@ -1,4 +1,4 @@
-package chemicraft.util;
+package pcc.chemicraft.util;
 
 import net.minecraft.entity.Entity;
 import net.minecraft.entity.player.EntityPlayer;
similarity index 96%
rename from common/chemicraft/util/MaterialRecipe.java
rename to common/pcc/chemicraft/util/MaterialRecipe.java
index 872d7bb..367b29c 100644 (file)
@@ -1,11 +1,12 @@
-package chemicraft.util;
+package pcc.chemicraft.util;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.inventory.InventoryChemicalCraftingMaterial;
+
 import net.minecraft.item.ItemStack;
-import chemicraft.ChemiCraft;
-import chemicraft.inventory.InventoryChemicalCraftingMaterial;
 
 public class MaterialRecipe {
 
@@ -1,10 +1,10 @@
-package chemicraft.util;
+package pcc.chemicraft.util;
 
+import pcc.chemicraft.ChemiCraft;
+import pcc.chemicraft.ChemiCraftData;
 import net.minecraft.item.ItemStack;
 import net.minecraft.nbt.NBTTagCompound;
 import net.minecraft.nbt.NBTTagList;
-import chemicraft.ChemiCraft;
-import chemicraft.ChemiCraftData;
 
 public class NBTRecipeGrenade extends ChemicalNBTRecipe {
 
@@ -1,4 +1,4 @@
-package chemicraft.util;
+package pcc.chemicraft.util;
 
 import net.minecraft.world.World;
 import net.minecraft.world.WorldType;