--- /dev/null
+package net.minecraft.src.ChemiCraft;\r
+\r
+import net.minecraft.src.EntityPlayer;\r
+import net.minecraft.src.ItemStack;\r
+import net.minecraft.src.World;\r
+\r
+public class AtomInfo {\r
+\r
+ protected static int posX;\r
+ protected static int posY;\r
+ protected static int posZ;\r
+ protected static String biomeName;\r
+ protected static String weather;\r
+\r
+ public AtomInfo(World par1World, EntityPlayer par2EntityPlayer){\r
+\r
+ this.biomeName = par1World.getBiomeGenForCoords(posX, posZ).biomeName;\r
+\r
+ this.posX = (int) par2EntityPlayer.posX; // X\8dÀ\95W\r
+ this.posY = (int) par2EntityPlayer.posY; // Y\8dÀ\95W\r
+ this.posZ = (int) par2EntityPlayer.posZ; // Z\8dÀ\95W\r
+\r
+ boolean rainy = par1World.isRaining();\r
+ boolean thunder = par1World.isThundering();\r
+ if (rainy && thunder){ // \89J\8a\8e\82Â\97\8b\r
+ this.weather = "THUNDER";\r
+ }else if(rainy){ // \89J\82Ü\82½\82Í\90á\r
+ this.weather = "RAINY";\r
+ }else{ //\90°\82ê\r
+ this.weather = "SUNNY";\r
+ }\r
+ }\r
+\r
+ /**\r
+ * Y\8dÀ\95W\82Æ\82Ì\94ä\8ar\r
+ * @param EntityPlayer EntityPlayer\r
+ * @param y Y\8dÀ\95W\r
+ * @param biomeName \83o\83C\83I\81[\83\80\82Ì\96¼\91O(null\82Å\82à\89Â)\r
+ * @param weather \93V\8bC(null\82Å\82à\89Â)\r
+ * @param par1 \93ü\8eè\90\94\r
+ * @param par2 \8eí\97Þ(\83_\83\81\81[\83W\92l)\r
+ */\r
+ private boolean equivalentBiome(String biomeName){\r
+ boolean ver1 = biomeName != null ? ((this.biomeName == biomeName) ? true : false) : true;\r
+ return ver1;\r
+ }\r
+ private boolean equivalentWeather(String weather){\r
+ boolean ver1 = weather != null ? ((this.weather == weather) ? true : false) : true;\r
+ return ver1;\r
+ }\r
+\r
+ protected void overY(EntityPlayer EntityPlayer, int y, String biomeName, String weather, int par1, int par2){\r
+ if(this.posY >= y && this.equivalentBiome(biomeName) && this.equivalentWeather(weather)){\r
+ if (!EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.itemAtoms, par1, par2)))\r
+ {\r
+ EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.itemAtoms.shiftedIndex, par1, par2));\r
+ }\r
+ }\r
+ }\r
+ protected void aboveY(EntityPlayer EntityPlayer, int y, String biomeName, String weather, int par1, int par2){\r
+ if(this.posY > y && this.equivalentBiome(biomeName) && this.equivalentWeather(weather)){\r
+ if (!EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.itemAtoms, par1, par2)))\r
+ {\r
+ EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.itemAtoms.shiftedIndex, par1, par2));\r
+ }\r
+ }\r
+ }\r
+ protected void equivalentY(EntityPlayer EntityPlayer, int y, String biomeName, String weather, int par1, int par2){\r
+ if(this.posY == y && this.equivalentBiome(biomeName) && this.equivalentWeather(weather)){\r
+ if (!EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.itemAtoms, par1, par2)))\r
+ {\r
+ EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.itemAtoms.shiftedIndex, par1, par2));\r
+ }\r
+ }\r
+ }\r
+ protected void lessY(EntityPlayer EntityPlayer, int y, String biomeName, String weather, int par1, int par2){\r
+ if(this.posY < y && this.equivalentBiome(biomeName) && this.equivalentWeather(weather)){\r
+ if (!EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.itemAtoms, par1, par2)))\r
+ {\r
+ EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.itemAtoms.shiftedIndex, par1, par2));\r
+ }\r
+ }\r
+ }\r
+ protected void belowY(EntityPlayer EntityPlayer, int y, String biomeName, String weather, int par1, int par2){\r
+ if(this.posY <= y && this.equivalentBiome(biomeName) && this.equivalentWeather(weather)){\r
+ if (!EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.itemAtoms, par1, par2)))\r
+ {\r
+ EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.itemAtoms.shiftedIndex, par1, par2));\r
+ }\r
+ }\r
+ }\r
+\r
+}\r
--- /dev/null
+package net.minecraft.src.ChemiCraft;\r
+\r
+import net.minecraft.src.Block;\r
+import net.minecraft.src.Item;\r
+import net.minecraft.src.ItemStack;\r
+import cpw.mods.fml.common.registry.LanguageRegistry;\r
+\r
+public class Auxiliary {\r
+\r
+ public Auxiliary(){\r
+ }\r
+\r
+ class NameAuxiliary{\r
+\r
+ /**\r
+ * \96¼\91O\82ð\92Ç\89Á\82·\82é\81B\r
+ * @param object\r
+ * @param Name\r
+ */\r
+ public void addName(Object object,Object name){\r
+ LanguageRegistry.addName(object, (String) name);\r
+ }\r
+\r
+ /**\r
+ * \96¼\91O\82ð\92Ç\89Á\82·\82é(ItemStack\94Å)\r
+ * @param object\r
+ * @param name\r
+ * @param meta\r
+ */\r
+ public void addName(ItemStack itemstack,Object name){\r
+ LanguageRegistry.addName(itemstack, (String) name);\r
+ }\r
+ \r
+\r
+ /**\r
+ * \8ew\92è\82µ\82½\8c¾\8cê\82Å\96¼\91O\82ð\92Ç\89Á\82·\82é\81B\r
+ * @param object\r
+ * @param name\r
+ */\r
+ public void addName(Object object,String lang,Object name){\r
+ LanguageRegistry.instance().addNameForObject(object, lang, (String) name);\r
+ }\r
+\r
+ /**\r
+ * \8ew\92è\82µ\82½\8c¾\8cê\82Å\96¼\91O\82ð\92Ç\89Á\82·\82é(ItemStack\94Å)\r
+ * @param object\r
+ * @param name\r
+ */\r
+\r
+ public void addName(ItemStack object,String lang,Object name){\r
+ LanguageRegistry.instance().addNameForObject(object, lang, (String) name);\r
+ }\r
+\r
+ /**\r
+ * \83\81\83^\83f\81[\83^+\94z\97ñ\82Å\96¼\91O\82ð\92Ç\89Á\82·\82é(Block\94Å)\r
+ * @param object\r
+ * @param name\r
+ */\r
+ public void addName(Block object,Object[] name){\r
+ for(int i=0;i<name.length;i++){\r
+ LanguageRegistry.addName(new ItemStack(object,0,i), (String) name[i]);\r
+ }\r
+ }\r
+\r
+ /**\r
+ * \83\81\83^\83f\81[\83^+\94z\97ñ\82Å\96¼\91O\82ð\92Ç\89Á\82·\82é(Item\94Å)\r
+ * @param object\r
+ * @param name\r
+ */\r
+ public void addName(Item object,Object[] name){\r
+ for(int i=0;i<name.length;i++){\r
+ LanguageRegistry.addName(new ItemStack(object,0,i), (String) name[i]);\r
+ }\r
+ }\r
+\r
+ /**\r
+ * \83\81\83^\83f\81[\83^+\94z\97ñ\82Å\8ew\92è\82µ\82½\8c¾\8cê\82Å\96¼\91O\82ð\92Ç\89Á\82·\82é(Block\94Å)\r
+ * @param object\r
+ * @param name\r
+ */\r
+ public void addName(Block object,String lang,Object[] name){\r
+ for(int i=0;i<name.length;i++){\r
+ LanguageRegistry.instance().addNameForObject(new ItemStack(object,0,i), lang, (String) name[i]);\r
+ }\r
+ }\r
+\r
+ /**\r
+ * \83\81\83^\83f\81[\83^+\94z\97ñ\82Å\8ew\92è\82µ\82½\8c¾\8cê\82Å\96¼\91O\82ð\92Ç\89Á\82·\82é(Item\94Å)\r
+ * @param object\r
+ * @param name\r
+ */\r
+ public void addName(Item object,String lang, Object[] name){\r
+ for(int i=0;i<name.length;i++){\r
+ LanguageRegistry.instance().addNameForObject(new ItemStack(object,0,i), lang, (String) name[i]);\r
+ }\r
+ }\r
+\r
+ }\r
+\r
+}\r
--- /dev/null
+package net.minecraft.src.ChemiCraft;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Properties;\r
+\r
+import net.minecraft.src.Block;\r
+import net.minecraft.src.CreativeTabs;\r
+import net.minecraft.src.Item;\r
+import net.minecraft.src.ItemStack;\r
+import net.minecraftforge.common.Configuration;\r
+import net.minecraftforge.common.Property;\r
+import cpw.mods.fml.common.Mod;\r
+import cpw.mods.fml.common.event.FMLInitializationEvent;\r
+import cpw.mods.fml.common.event.FMLPostInitializationEvent;\r
+import cpw.mods.fml.common.event.FMLPreInitializationEvent;\r
+import cpw.mods.fml.common.network.NetworkMod;\r
+import cpw.mods.fml.common.registry.GameRegistry;\r
+import cpw.mods.fml.common.registry.LanguageRegistry;\r
+\r
+@Mod( modid = "chemiCraft", name="ChemiCraft", version="\83e\83X\83g\94Å") //ID,\96¼\91O,\83o\81[\83W\83\87\83\93\r
+@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "[1.3.2]") //\83N\83\89\83C\83A\83\93\83g\81A\83T\81[\83o\81[\8b¤\82É\95K\97v 1.3.2\97p\r
+\r
+public class ChemiCraft\r
+{\r
+\r
+ public static final CreativeTabs tabAtoms = new CreativeTabAtoms("tabAtoms");\r
+\r
+ public static final String[] atomsName = {\r
+ "Hydrogen", "Helium","Lithium","Beryllium","Boron","Carbon","Nitrogen","Oxygen","Fluorine","Neon",\r
+ "Sodium","Magnesium","Aluminium","Silicon","Phosphorus","Sulfur","Chlorine","Argon","Potassium","Calcium",\r
+ "Scandium","Titanium","Vanadium","Chromium","Manganese","Iron","Cobalt","Nickel","Copper","Zinc",\r
+ "Gallium","Germanium","Arsenic","Selenium","Bromine","Krypton","Rubidium","Strontium","Yttorium","Zirconium",\r
+ "Niobium","Molybdenum","Technetium","Ruthenium","Rhodium","Palladium","Silver","Cadmium","Indium","Tin",\r
+ "Antimony","Tellurium","Iodine","Xenon","Caesium","Barium","Lanthanum","Cerium","Praseodymium","Neodymium",\r
+ "Promethium","Samarium","Europium","Gadolinium","Terbium","Dysprosium","Holmium","Erbium","Thulium","Ytterbium",\r
+ "Lutetium","Hafnium","Tantalum","Tungsten","Rhenium","Osmium","Iridium","Platinum","Gold","Mercury",\r
+ "Thallium","Lead","Bismuth","Polonium","Astatine","Radon","Francium","Radium","Actinium","Thorium",\r
+ "Protactinium","Uranium","Neptunium","Plutonium","Americium","Curium","Berkelium","Californium","Einsteinium","Fermium",\r
+ "Mendelevium","Nobelium","Lawrencium","Rutherfordium","Dubnium","Seaborgium","Bohrium","Hassium","Meitnerium","Darmstadtium",\r
+ "Roentgenium","Copernicium","Ununtrium","Ununquadium","Ununpentium","Ununhexium","","Ununoctium"\r
+ };\r
+\r
+ public static final String[] atomsNameJP = {\r
+ "\90\85\91f", "\83w\83\8a\83E\83\80", "\83\8a\83`\83E\83\80", "\83x\83\8a\83E\83\80", "\83z\83E\91f", "\92Y\91f", "\92\82\91f", "\8e_\91f", "\83t\83b\91f", "\83l\83I\83\93",\r
+ "\83i\83g\83\8a\83E\83\80", "\83}\83O\83l\83V\83E\83\80", "\83A\83\8b\83~\83j\83E\83\80", "\83P\83C\91f", "\83\8a\83\93", "\97°\89©", "\89\96\91f", "\83A\83\8b\83S\83\93", "\83J\83\8a\83E\83\80", "\83J\83\8b\83V\83E\83\80",\r
+ "\83X\83J\83\93\83W\83E\83\80", "\83`\83^\83\93", "\83o\83i\83W\83E\83\80", "\83N\83\8d\83\80", "\83}\83\93\83K\83\93", "\93S", "\83R\83o\83\8b\83g", "\83j\83b\83P\83\8b", "\93º", "\88\9f\89\94",\r
+ "\83K\83\8a\83E\83\80", "\83Q\83\8b\83}\83j\83E\83\80", "\83q\91f", "\83Z\83\8c\83\93", "\8fL\91f", "\83N\83\8a\83v\83g\83\93", "\83\8b\83r\83W\83E\83\80", "\83X\83g\83\8d\83\93\83`\83E\83\80", "\83C\83b\83g\83\8a\83E\83\80", "\83W\83\8b\83R\83j\83E\83\80",\r
+ "\83j\83I\83u", "\83\82\83\8a\83u\83f\83\93", "\83e\83N\83l\83`\83E\83\80", "\83\8b\83e\83j\83E\83\80", "\83\8d\83W\83E\83\80", "\83p\83\89\83W\83E\83\80", "\8bâ", "\83J\83h\83~\83E\83\80", "\83C\83\93\83W\83E\83\80", "\83X\83Y",\r
+ "\83A\83\93\83`\83\82\83\93", "\83e\83\8b\83\8b", "\83\88\83E\91f", "\83L\83Z\83m\83\93", "\83Z\83V\83E\83\80", "\83o\83\8a\83E\83\80", "\83\89\83\93\83^\83\93", "\83Z\83\8a\83E\83\80", "\83v\83\89\83Z\83I\83W\83\80", "\83l\83I\83W\83\80",\r
+ "\83v\83\8d\83\81\83`\83E\83\80", "\83T\83}\83\8a\83E\83\80", "\83\86\83E\83\8d\83r\83E\83\80", "\83K\83h\83\8a\83j\83E\83\80", "\83e\83\8b\83r\83E\83\80", "\83W\83X\83v\83\8d\83j\83E\83\80", "\83z\83\8b\83~\83E\83\80", "\83G\83\8b\83r\83E\83\80", "\83c\83\8a\83E\83\80", "\83C\83b\83e\83\8b\83r\83E\83\80",\r
+ "\83\8b\83e\83`\83E\83\80", "\83n\83t\83j\83E\83\80", "\83^\83\93\83^\83\8b", "\83^\83\93\83O\83X\83e\83\93", "\83\8c\83j\83E\83\80", "\83I\83X\83~\83E\83\80", "\83C\83\8a\83W\83E\83\80", "\94\92\8bà", "\8bà", "\90\85\8bâ",\r
+ "\83^\83\8a\83E\83\80", "\89\94", "\83r\83X\83}\83X", "\83|\83\8d\83j\83E\83\80", "\83A\83X\83^\83`\83\93", "\83\89\83h\83\93", "\83t\83\89\83\93\83V\83E\83\80", "\83\89\83W\83E\83\80", "\83A\83N\83`\83j\83E\83\80", "\83g\83\8a\83E\83\80",\r
+ "\83v\83\8d\83g\83A\83N\83`\83E\83\80", "\83E\83\89\83\93", "\83l\83v\83c\83j\83E\83\80", "\83v\83\8b\83g\83j\83E\83\80", "\83A\83\81\83\8a\83V\83E\83\80", "\83L\83\85\83\8a\83E\83\80", "\83o\81[\83N\83\8a\83E\83\80", "\83J\83\8b\83z\83\8b\83j\83E\83\80", "\83A\83C\83\93\83X\83^\83C\83j\83E\83\80", "\83t\83F\83\8b\83~\83E\83\80",\r
+ "\83\81\83\93\83f\83\8c\83r\83E\83\80", "\83m\81[\83x\83\8a\83E\83\80", "\83\8d\81[\83\8c\83\93\83V\83E\83\80", "\83\89\83T\83z\81[\83W\83E\83\80", "\83h\83u\83j\83E\83\80", "\83V\81[\83{\81[\83M\83E\83\80", "\83{\81[\83\8a\83E\83\80", "\83n\83b\83V\83E\83\80", "\83}\83C\83g\83l\83\8a\83E\83\80", "\83_\81[\83\80\83X\83^\83`\83E\83\80",\r
+ "\83\8c\83\93\83g\83Q\83j\83E\83\80", "\83R\83y\83\8b\83j\83V\83E\83\80", "\83E\83\93\83E\83\93\83g\83\8a\83E\83\80", "\83t\83\8c\83\8d\83r\83E\83\80", "\83E\83\93\83E\83\93\83y\83\93\83`\83E\83\80", "\83\8a\83o\83\82\83\8a\83E\83\80", "\83E\83\93\83E\83\93\83Z\83v\83`\83E\83\80", "\83E\83\93\83E\83\93\83I\83N\83`\83E\83\80"\r
+ };\r
+\r
+ private ChemiCraftAPI chemiCraftAPI = ChemiCraftAPI.instance;\r
+\r
+ public static int gasCollectingBottleID;\r
+ public static int atomsID;\r
+ public static int compoundsID;\r
+\r
+ public static Item itemGasCollectingBottle;\r
+ public static Item itemAtoms;\r
+ public static Item itemCompounds;\r
+\r
+ private Auxiliary Auxiliary = new Auxiliary();\r
+ private Auxiliary.NameAuxiliary NameAuxiliary = Auxiliary.new NameAuxiliary();\r
+\r
+ // \83R\83\93\83X\83g\83\89\83N\83^\r
+ @Mod.Init\r
+ public void chemiLoadMethod(FMLInitializationEvent event)\r
+ {\r
+\r
+ //\89»\8d\87\95¨\82Ì\92Ç\89Á\r
+ ChemiCraftAPI.addLangCompound("ja_JP", "Salt", "\89\96");\r
+ }\r
+\r
+ @Mod.PreInit // \91O\8f\88\97\9d\r
+ public void chemiPreLoadMethod(FMLPreInitializationEvent event)\r
+ {\r
+ Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());\r
+ cfg.load();\r
+ Property gasCollectingBottleIDProp = cfg.getItem("gasCollectingBottleID", 25000);\r
+ Property atomsIDProp = cfg.getItem("atomsID", 25001);\r
+ Property compoundsIDProp = cfg.getItem("compoundsID", 25002);\r
+ gasCollectingBottleID = gasCollectingBottleIDProp.getInt();\r
+ atomsID = atomsIDProp.getInt();\r
+ compoundsID = compoundsIDProp.getInt();\r
+ cfg.save();\r
+ }\r
+\r
+ @Mod.PostInit // ModLoader.load\83\81\83\\83b\83h\82Æ\93¯\93\99\r
+ public void chemiPostLoadMethod(FMLPostInitializationEvent event)\r
+ {\r
+ itemGasCollectingBottle = new ItemGasCollectingBottle(gasCollectingBottleID).setItemName("gasCollectingBottle");\r
+ itemAtoms = new ItemAtoms(atomsID).setItemName("atoms");\r
+ itemCompounds = new ItemCompounds(compoundsID).setItemName("compounds");\r
+\r
+ NameAuxiliary.addName(itemAtoms, atomsName);\r
+ NameAuxiliary.addName(itemAtoms, "ja_JP", atomsNameJP);\r
+ NameAuxiliary.addName(itemCompounds, ChemiCraftAPI.getCompoundsName().toArray());\r
+ NameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.getCompoundsLangName().toArray());\r
+ NameAuxiliary.addName(itemGasCollectingBottle, "GasCollectingBottle");\r
+ NameAuxiliary.addName(itemGasCollectingBottle, "ja_JP", "\8fW\8bC\95r");\r
+\r
+ ChemiCraftAPI.addCompoundHandler("Salt", new CompoundHandlerTest());\r
+\r
+ }\r
+\r
+}
\ No newline at end of file
--- /dev/null
+package net.minecraft.src.ChemiCraft;
+
+import java.util.ArrayList;
+
+public class ChemiCraftAPI {
+
+ public static ChemiCraftAPI instance = new ChemiCraftAPI();
+
+ private boolean addLanguage = false;
+ private static ArrayList<String> compoundsNameList = new ArrayList();
+ private static ArrayList<String> compoundsLangNameList = new ArrayList();
+ private static ArrayList<String> compoundsLangList = new ArrayList();
+ private static ArrayList<ICompoundHandler> compoundHandlers = new ArrayList<ICompoundHandler>();
+ private static ArrayList<String> compoundHandlerItemNames = new ArrayList<String>();
+
+ public static void addCompound(String name){
+ compoundsNameList.add(name);
+ compoundsLangNameList.add("");
+ compoundsLangList.add("");
+ }
+
+ public static void addLangCompound(String lang, String englishName, String langName){
+ compoundsNameList.add(englishName);
+ compoundsLangNameList.add(langName);
+ compoundsLangList.add(lang);
+ }
+
+ public static ArrayList<String> getCompoundsName(){
+ compoundsNameList.trimToSize();
+ return compoundsNameList;
+ }
+
+ public static ArrayList<String> getCompoundsLangName(){
+ compoundsLangNameList.trimToSize();
+ return compoundsLangNameList;
+ }
+
+ public static ArrayList<String> getCompoundsLang(){
+ compoundsLangList.trimToSize();
+ return compoundsLangList;
+ }
+
+ public static void addCompoundHandler(String handlerItemName, ICompoundHandler compoundHandler){
+ ChemiCraftAPI.compoundHandlers.add(compoundHandler);
+ compoundHandlerItemNames.add(handlerItemName);
+ }
+
+ public static ArrayList<ICompoundHandler> getCompoundHandler(){
+ compoundHandlers.trimToSize();
+ return compoundHandlers;
+
+ }
+
+ public static ArrayList<String> getCompoundHandlerItemName(){
+ compoundHandlerItemNames.trimToSize();
+ return compoundHandlerItemNames;
+ }
+
+}
--- /dev/null
+package net.minecraft.src.ChemiCraft;
+
+import net.minecraft.src.Entity;
+import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.ItemStack;
+import net.minecraft.src.World;
+
+public class CompoundHandlerTest implements ICompoundHandler {
+
+ @Override
+ public void onRightClickHandler(ItemStack par1ItemStack, World par2World,
+ EntityPlayer par3EntityPlayer) {
+
+ }
+
+ @Override
+ public ItemStack onItemUseHandler(ItemStack par1ItemStack,
+ EntityPlayer par2EntityPlayer, World par3World, int par4, int par5,
+ int par6, int par7, float par8, float par9, float par10) {
+ return null;
+ }
+
+ @Override
+ public void onUpdateHandler(ItemStack par1ItemStack, World par2World,
+ Entity par3Entity, int par4, boolean par5) {
+ }
+
+}
--- /dev/null
+package net.minecraft.src.ChemiCraft;
+
+import net.minecraft.src.*;
+import cpw.mods.fml.common.Side;
+import cpw.mods.fml.common.asm.SideOnly;
+
+public class CreativeTabAtoms extends CreativeTabs{
+
+
+ public CreativeTabAtoms(String type) {
+ super(type);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public int getTabIconItemIndex()
+ {
+ return ChemiCraft.itemGasCollectingBottle.shiftedIndex;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public String getTranslatedTabLabel()
+ {
+ return "Atoms";
+ }
+
+}
--- /dev/null
+package net.minecraft.src.ChemiCraft;
+
+import net.minecraft.src.Entity;
+import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.ItemStack;
+import net.minecraft.src.World;
+
+public interface ICompoundHandler {
+
+ void onRightClickHandler(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer);
+
+ ItemStack onItemUseHandler(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10);
+
+ void onUpdateHandler(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5);
+
+}
--- /dev/null
+package net.minecraft.src.ChemiCraft;
+
+import java.util.List;
+
+import net.minecraft.src.CreativeTabs;
+import net.minecraft.src.EntityPlayer;
+import net.minecraft.src.Item;
+import net.minecraft.src.ItemStack;
+import net.minecraft.src.World;
+import cpw.mods.fml.common.Side;
+import cpw.mods.fml.common.asm.SideOnly;
+
+public class ItemAtoms extends Item {
+
+ public ItemAtoms(int par1) {
+ super(par1);
+ this.maxStackSize = 1;
+ this.setHasSubtypes(true);
+ this.setMaxDamage(0);
+ this.setCreativeTab(ChemiCraft.tabAtoms);
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List)
+ {
+ for(int type = 0; type < ChemiCraft.atomsName.length; type++)
+ {
+ par3List.add(new ItemStack(par1, 1, type));
+ this.setIconIndex(type);
+ }
+ }
+
+ @Override
+ public String getItemNameIS(ItemStack par1ItemStack)
+ {
+ return super.getItemName() + "." + ChemiCraft.atomsName[par1ItemStack.getItemDamage()];
+ }
+
+ @Override
+ public String getTextureFile()
+ {
+ this.isDefaultTexture = false;
+ return "/ChemiCraft/Atoms.png";
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public int getIconFromDamage(int par1)
+ {
+ return par1;
+ }
+
+}
\ No newline at end of file
--- /dev/null
+package net.minecraft.src.ChemiCraft;
+
+import java.util.List;
+
+import cpw.mods.fml.common.Side;
+import cpw.mods.fml.common.asm.SideOnly;
+import net.minecraft.src.CreativeTabs;
+import net.minecraft.src.Entity;
+import net.minecraft.src.Item;
+import net.minecraft.src.ItemStack;
+import net.minecraft.src.World;
+
+public class ItemCompounds extends Item {
+
+ public ItemCompounds(int par1) {
+ super(par1);
+ this.maxStackSize = 1;
+ this.setHasSubtypes(true);
+ this.setMaxDamage(0);
+ this.setCreativeTab(ChemiCraft.tabAtoms);
+ }
+
+ @Override
+ public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5){
+ for(int i=0;i < ChemiCraftAPI.getCompoundsName().size();i++){
+ for(int j=0;j < ChemiCraftAPI.getCompoundHandlerItemName().size();j++){
+ if(ChemiCraftAPI.getCompoundsName().get(i).equals(ChemiCraftAPI.getCompoundHandlerItemName().get(i))){
+ ChemiCraftAPI.getCompoundHandler().get(j).onUpdateHandler(par1ItemStack, par2World, par3Entity, par4, par5);
+ }
+ }
+ }
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List)
+ {
+ for(int type = 0; type < ChemiCraftAPI.getCompoundsName().toArray().length; type++)
+ {
+ par3List.add(new ItemStack(par1, 1, type));
+ this.setIconIndex(type);
+ }
+ }
+
+ @Override
+ public String getItemNameIS(ItemStack par1ItemStack)
+ {
+ return super.getItemName() + "." + ChemiCraftAPI.getCompoundsName().toArray()[par1ItemStack.getItemDamage()];
+ }
+
+ @Override
+ public String getTextureFile()
+ {
+ this.isDefaultTexture = false;
+ return "/ChemiCraft/Compounds.png";
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public int getIconFromDamage(int par1)
+ {
+ return par1;
+ }
+
+}
--- /dev/null
+package net.minecraft.src.ChemiCraft;
+
+import java.util.Random;
+
+import net.minecraft.src.*;
+
+public class ItemGasCollectingBottle extends Item {
+
+ protected ItemGasCollectingBottle(int id) {
+ super(id);
+ this.setMaxStackSize(1);
+ this.setMaxDamage(2);
+ this.setCreativeTab(ChemiCraft.tabAtoms);
+ }
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer){
+
+ par1ItemStack.damageItem(1, par3EntityPlayer);
+ AtomInfo AtomInfo = new AtomInfo(par2World, par3EntityPlayer);
+ AtomInfo.aboveY(par3EntityPlayer, 128, null, null, 0, 7);
+ return par1ItemStack;
+ }
+
+ @Override
+ public String getTextureFile()
+ {
+ this.isDefaultTexture = false;
+ return "/ChemiCraft/items.png";
+ }
+
+}