OSDN Git Service

文字コードをSJISからUTF8へ
authorlilly <lillyo_o@users.sourceforge.jp>
Wed, 5 Dec 2012 14:07:31 +0000 (23:07 +0900)
committerlilly <lillyo_o@users.sourceforge.jp>
Wed, 5 Dec 2012 14:07:31 +0000 (23:07 +0900)
パッケージ名の変更 chemicraft chemicraft.client
PacketHandlerクラスの追加

Signed-off-by: lilly <lillyo_o@users.sourceforge.jp>
12 files changed:
chemicraft [deleted submodule]
chemicraft/AtomInfo.java [new file with mode: 0644]
chemicraft/Auxiliary.java [new file with mode: 0644]
chemicraft/ChemiCraft.java [new file with mode: 0644]
chemicraft/ChemiCraftAPI.java [new file with mode: 0644]
chemicraft/CompoundHandlerTest.java [new file with mode: 0644]
chemicraft/CreativeTabAtoms.java [new file with mode: 0644]
chemicraft/ICompoundHandler.java [new file with mode: 0644]
chemicraft/ItemAtoms.java [new file with mode: 0644]
chemicraft/ItemCompounds.java [new file with mode: 0644]
chemicraft/ItemGasCollectingBottle.java [new file with mode: 0644]
chemicraft/PacketHandler.java [new file with mode: 0644]

diff --git a/chemicraft b/chemicraft
deleted file mode 160000 (submodule)
index b7ec46f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b7ec46f8eecacf1633d4290e9e0883d7c68c9320
diff --git a/chemicraft/AtomInfo.java b/chemicraft/AtomInfo.java
new file mode 100644 (file)
index 0000000..f11ef33
--- /dev/null
@@ -0,0 +1,93 @@
+package 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座標\r
+               this.posY = (int) par2EntityPlayer.posY; // Y座標\r
+               this.posZ = (int) par2EntityPlayer.posZ; // Z座標\r
+\r
+               boolean rainy = par1World.isRaining();\r
+               boolean thunder = par1World.isThundering();\r
+               if (rainy && thunder){ // 雨且つ雷\r
+                       this.weather = "THUNDER";\r
+               }else if(rainy){ // 雨または雪\r
+                       this.weather = "RAINY";\r
+               }else{ //晴れ\r
+                       this.weather = "SUNNY";\r
+               }\r
+       }\r
+\r
+       /**\r
+        * Y座標との比較\r
+        * @param EntityPlayer EntityPlayer\r
+        * @param y Y座標\r
+        * @param biomeName バイオームの名前(nullでも可)\r
+        * @param weather 天気(nullでも可)\r
+        * @param par1 入手数\r
+        * @param par2 種類(ダメージ値)\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
diff --git a/chemicraft/Auxiliary.java b/chemicraft/Auxiliary.java
new file mode 100644 (file)
index 0000000..6a88b97
--- /dev/null
@@ -0,0 +1,100 @@
+package 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
+                * 名前を追加する。\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
+                * 名前を追加する(ItemStack版)\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
+                * 指定した言語で名前を追加する。\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
+                * 指定した言語で名前を追加する(ItemStack版)\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
+                * メタデータ+配列で名前を追加する(Block版)\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
+                * メタデータ+配列で名前を追加する(Item版)\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
+                * メタデータ+配列で指定した言語で名前を追加する(Block版)\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
+                * メタデータ+配列で指定した言語で名前を追加する(Item版)\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
diff --git a/chemicraft/ChemiCraft.java b/chemicraft/ChemiCraft.java
new file mode 100644 (file)
index 0000000..591f4da
--- /dev/null
@@ -0,0 +1,112 @@
+package 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="テスト版") //ID,名前,バージョン\r
+@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "[1.3.2]", packetHandler = PacketHandler.class) //クライアント、サーバー共に必要 1.3.2用\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
+               "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン",\r
+               "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン", "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム",\r
+               "スカンジウム", "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛",\r
+               "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素", "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム",\r
+               "ニオブ", "モリブデン", "テクネチウム", "ルテニウム", "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ",\r
+               "アンチモン", "テルル", "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム",\r
+               "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム", "ホルミウム", "エルビウム", "ツリウム", "イッテルビウム",\r
+               "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀",\r
+               "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン", "フランシウム", "ラジウム", "アクチニウム", "トリウム",\r
+               "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム",\r
+               "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム", "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム",\r
+               "レントゲニウム", "コペルニシウム", "ウンウントリウム", "フレロビウム", "ウンウンペンチウム", "リバモリウム", "ウンウンセプチウム", "ウンウンオクチウム"\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
+       // コンストラクタ\r
+       @Mod.Init\r
+       public void chemiLoadMethod(FMLInitializationEvent event)\r
+       {\r
+\r
+               //化合物の追加\r
+               ChemiCraftAPI.addLangCompound("ja_JP", "Salt", "塩");\r
+       }\r
+\r
+       @Mod.PreInit  // 前処理\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メソッドと同等\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", "集気瓶");\r
+\r
+               ChemiCraftAPI.addCompoundHandler("Salt", new CompoundHandlerTest());\r
+\r
+       }\r
+\r
+}
\ No newline at end of file
diff --git a/chemicraft/ChemiCraftAPI.java b/chemicraft/ChemiCraftAPI.java
new file mode 100644 (file)
index 0000000..5630753
--- /dev/null
@@ -0,0 +1,59 @@
+package 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;
+       }
+
+}
diff --git a/chemicraft/CompoundHandlerTest.java b/chemicraft/CompoundHandlerTest.java
new file mode 100644 (file)
index 0000000..5f10799
--- /dev/null
@@ -0,0 +1,28 @@
+package 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) {
+       }
+
+}
diff --git a/chemicraft/CreativeTabAtoms.java b/chemicraft/CreativeTabAtoms.java
new file mode 100644 (file)
index 0000000..fac365d
--- /dev/null
@@ -0,0 +1,28 @@
+package 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";
+       }
+
+}
diff --git a/chemicraft/ICompoundHandler.java b/chemicraft/ICompoundHandler.java
new file mode 100644 (file)
index 0000000..c542618
--- /dev/null
@@ -0,0 +1,16 @@
+package 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);
+
+}
diff --git a/chemicraft/ItemAtoms.java b/chemicraft/ItemAtoms.java
new file mode 100644 (file)
index 0000000..94cc019
--- /dev/null
@@ -0,0 +1,54 @@
+package 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
diff --git a/chemicraft/ItemCompounds.java b/chemicraft/ItemCompounds.java
new file mode 100644 (file)
index 0000000..dc381ba
--- /dev/null
@@ -0,0 +1,65 @@
+package 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;
+       }
+
+}
diff --git a/chemicraft/ItemGasCollectingBottle.java b/chemicraft/ItemGasCollectingBottle.java
new file mode 100644 (file)
index 0000000..60547a0
--- /dev/null
@@ -0,0 +1,32 @@
+package 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";
+    }
+
+}
diff --git a/chemicraft/PacketHandler.java b/chemicraft/PacketHandler.java
new file mode 100644 (file)
index 0000000..f591727
--- /dev/null
@@ -0,0 +1,17 @@
+package chemicraft;
+
+import net.minecraft.src.NetworkManager;
+import net.minecraft.src.Packet250CustomPayload;
+import cpw.mods.fml.common.network.IPacketHandler;
+import cpw.mods.fml.common.network.Player;
+
+public class PacketHandler implements IPacketHandler
+{
+
+       @Override
+       public void onPacketData(NetworkManager manager, Packet250CustomPayload packet, Player player)
+       {
+
+       }
+
+}