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