\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
+ * X, Y, Z座標\r
+ */\r
+ private int posX;\r
+ private int posY;\r
+ private int posZ;\r
+\r
+\r
+ /**\r
+ * biomeの名前\r
+ */\r
+ private String biomeName;\r
+\r
\r
- public AtomInfo(World par1World, EntityPlayer par2EntityPlayer){\r
+ /**\r
+ * 天候\r
+ */\r
+ private String weather;\r
+\r
+\r
+ /**\r
+ * EntityPlayerのインスタンス\r
+ */\r
+ private EntityPlayer entityPlayer;\r
+\r
+\r
+ /**\r
+ * Worldのインスタンス\r
+ */\r
+ private World world;\r
+\r
+ /**\r
+ * AtomInfoのデータをupdateします\r
+ * @param par1World Worldのインスタンス\r
+ * @param par2EntityPlayer EntityPlayerのインスタンス\r
+ */\r
+ public void update(World par1World, EntityPlayer par2EntityPlayer){\r
+ this.world = par1World;\r
+ this.entityPlayer = par2EntityPlayer;\r
+\r
+ this.posX = (int) par2EntityPlayer.posX;\r
+ this.posY = (int) par2EntityPlayer.posY;\r
+ this.posZ = (int) par2EntityPlayer.posZ;\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
+ if (par1World.isThundering()){\r
+ this.weather = "Thunder";\r
+ }else if(par1World.isRaining()){\r
+ this.weather = "Rain";\r
+ }else{\r
+ this.weather = "Sun";\r
}\r
}\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
+ * 引数に指定されたBiomeと同等か比較します\r
+ * @param biomeName 比較するBiomeの名前\r
+ * @return Biomeが一致しているか\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
+ public boolean isEquivalentBiome(String biomeName){\r
+ if(this.biomeName != null){\r
+ if(this.biomeName == biomeName){\r
+ return true;\r
+ }else{\r
+ return false;\r
}\r
+ }else{\r
+ System.err.println("AtonInfo:データが入っていません。updateメソッドでデータを入れてください");\r
+ return false;\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
+ /**\r
+ * 引数に指定された天候と同等か比較します\r
+ * 晴れ:Sun, 雨:Rain, 雷雨:Thunder\r
+ * @param weather 比較する天候\r
+ * @return 天候が一致しているか\r
+ */\r
+ public boolean isEquivalentWeather(String weather){\r
+ if(this.weather != null){\r
+ if(this.weather == weather){\r
+ return true;\r
+ }else{\r
+ return false;\r
}\r
+ }else{\r
+ System.err.println("AtonInfo:データが入っていません。updateメソッドでデータを入れてください");\r
+ return false;\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
+\r
+ /**\r
+ * 引数に指定されたY軸より高いか判定します\r
+ * @param par1\r
+ * @return 指定されたY軸より高いか\r
+ */\r
+ public boolean isOverY(int par1){\r
+ if(this.posY >= par1){\r
+ return true;\r
+ }else{\r
+ return false;\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
+\r
+ /**\r
+ * 引数に指定されたY軸と同等か判定します\r
+ * @param par1\r
+ * @return 指定されたY軸と同等かどうか\r
+ */\r
+ public boolean isEquivalentY(int par1){\r
+ if(this.posY >= par1){\r
+ return true;\r
+ }else{\r
+ return false;\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
+ * 引数に指定されたY軸より低いか判定します\r
+ * @param par1\r
+ * @return 指定されたY軸より低いか\r
+ */\r
+ public boolean isBelowY(int par1){\r
+ if(this.posY >= par1){\r
+ return true;\r
+ }else{\r
+ return false;\r
}\r
}\r
\r
\r
public class Auxiliary {\r
\r
- public Auxiliary(){\r
- }\r
-\r
- class NameAuxiliary{\r
+ class NameAuxiliary {\r
\r
/**\r
- * \96¼\91O\82ð\92Ç\89Á\82·\82é\81B\r
+ * 名前を設定します\r
* @param object\r
* @param Name\r
*/\r
LanguageRegistry.addName(object, (String) name);\r
}\r
\r
+\r
+\r
/**\r
- * \96¼\91O\82ð\92Ç\89Á\82·\82é(ItemStack\94Å)\r
+ * 名前を設定します(ItemStack版)\r
* @param object\r
* @param name\r
* @param meta\r
}\r
\r
\r
+\r
/**\r
- * \8ew\92è\82µ\82½\8c¾\8cê\82Å\96¼\91O\82ð\92Ç\89Á\82·\82é\81B\r
+ * 指定言語にそって名前を追加します\r
* @param object\r
+ * @param lang\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
+\r
/**\r
- * \8ew\92è\82µ\82½\8c¾\8cê\82Å\96¼\91O\82ð\92Ç\89Á\82·\82é(ItemStack\94Å)\r
+ * 指定言語にそって名前を追加します(ItemStack版)\r
* @param object\r
+ * @param lang\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
+\r
/**\r
- * \83\81\83^\83f\81[\83^+\94z\97ñ\82Å\96¼\91O\82ð\92Ç\89Á\82·\82é(Block\94Å)\r
+ * メタデータごとに名前を追加します(Block版)\r
* @param object\r
* @param name\r
*/\r
}\r
}\r
\r
+\r
+\r
/**\r
- * \83\81\83^\83f\81[\83^+\94z\97ñ\82Å\96¼\91O\82ð\92Ç\89Á\82·\82é(Item\94Å)\r
+ * メタデータごとに名前を追加します(Item版)\r
* @param object\r
* @param name\r
*/\r
}\r
}\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
+ * 指定された言語にそってメタデータごとに名前を設定します(Block版)\r
* @param object\r
* @param name\r
*/\r
}\r
}\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
+ * 指定された言語にそってメタデータごとに名前を設定します(Item版)\r
* @param object\r
* @param name\r
*/\r
public class BlockScienceCraftingTable extends BlockContainer {
- public BlockScienceCraftingTable(int par1, int par2, Material par3Material) {
+ public BlockScienceCraftingTable(int par1, int par2, Material par3Material){
super(par1, par2, par3Material);
this.setCreativeTab(CreativeTabs.tabBlock);
}
+
+
@Override
- public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
- {
+ 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.guiScienceCraftingTableID, par1World, par2, par3, par4);
- return true;
- }
+ return true;
+ }
+
+
@Override
- public TileEntity createNewTileEntity(World var1) {
+ public TileEntity createNewTileEntity(World var1){
return new TileEntityScienceCraftingTable();
}
-package chemicraft;\r
+package chemicraft;\r
\r
import net.minecraft.src.Block;\r
import net.minecraft.src.CreativeTabs;\r
// ID,名前,バージョン\r
@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "[1.3.2]", channels = "chemicraft", packetHandler = PacketHandler.class)\r
// クライアント、サーバー共に必要 1.3.2用\r
-public class ChemiCraft\r
-{\r
-\r
- public static final String[] atomsName = { "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon",\r
- "Sodium", "Magnesium", "Aluminium", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium",\r
- "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine",\r
- "Krypton", "Rubidium", "Strontium", "Yttorium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver",\r
- "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium",\r
- "Promethium", "Samarium", "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium",\r
- "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine",\r
- "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium", "Americium", "Curium", "Berkelium",\r
- "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium",\r
- "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Ununtrium", "Ununquadium", "Ununpentium", "Ununhexium", "", "Ununoctium" };\r
-\r
- public static final String[] atomsNameJP = { "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン",\r
- "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム", "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素",\r
- "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム", "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル",\r
- "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム", "ホルミウム", "エルビウム",\r
- "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン",\r
- "フランシウム", "ラジウム", "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム",\r
- "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム", "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム", "レントゲニウム", "コペルニシウム", "ウンウントリウム",\r
- "ウンウンクアジウム", "ウンウンペンチウム", "ウンウンヘキシウム", "ウンウンセプチウム", "ウンウンオクチウム" };\r
+public class ChemiCraft {\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", "Scandium", "Titanium",\r
+ "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine",\r
+ "Krypton", "Rubidium", "Strontium", "Yttorium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver",\r
+ "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium",\r
+ "Promethium", "Samarium", "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium",\r
+ "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine",\r
+ "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium", "Americium", "Curium", "Berkelium",\r
+ "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium",\r
+ "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Ununtrium", "Ununquadium", "Ununpentium", "Ununhexium", "Ununseptium", "Ununoctium"\r
+ };\r
+\r
+\r
+ public static final String[] atomsNameJP = {\r
+ "水素", "ヘリウム", "リチウム", "ベリウム", "ホウ素", "炭素", "窒素", "酸素", "フッ素", "ネオン", "ナトリウム", "マグネシウム", "アルミニウム", "ケイ素", "リン",\r
+ "硫黄", "塩素", "アルゴン", "カリウム", "カルシウム", "スカンジウム", "チタン", "バナジウム", "クロム", "マンガン", "鉄", "コバルト", "ニッケル", "銅", "亜鉛", "ガリウム", "ゲルマニウム", "ヒ素", "セレン", "臭素",\r
+ "クリプトン", "ルビジウム", "ストロンチウム", "イットリウム", "ジルコニウム", "ニオブ", "モリブデン", "テクネチウム", "ルテニウム", "ロジウム", "パラジウム", "銀", "カドミウム", "インジウム", "スズ", "アンチモン", "テルル",\r
+ "ヨウ素", "キセノン", "セシウム", "バリウム", "ランタン", "セリウム", "プラセオジム", "ネオジム", "プロメチウム", "サマリウム", "ユウロビウム", "ガドリニウム", "テルビウム", "ジスプロニウム", "ホルミウム", "エルビウム",\r
+ "ツリウム", "イッテルビウム", "ルテチウム", "ハフニウム", "タンタル", "タングステン", "レニウム", "オスミウム", "イリジウム", "白金", "金", "水銀", "タリウム", "鉛", "ビスマス", "ポロニウム", "アスタチン", "ラドン",\r
+ "フランシウム", "ラジウム", "アクチニウム", "トリウム", "プロトアクチウム", "ウラン", "ネプツニウム", "プルトニウム", "アメリシウム", "キュリウム", "バークリウム", "カルホルニウム", "アインスタイニウム", "フェルミウム",\r
+ "メンデレビウム", "ノーベリウム", "ローレンシウム", "ラサホージウム", "ドブニウム", "シーボーギウム", "ボーリウム", "ハッシウム", "マイトネリウム", "ダームスタチウム", "レントゲニウム", "コペルニシウム", "ウンウントリウム",\r
+ "ウンウンクアジウム", "ウンウンペンチウム", "ウンウンヘキシウム", "ウンウンセプチウム", "ウンウンオクチウム"\r
+ };\r
+\r
\r
/**\r
* このmodのインスタンス\r
@Mod.Instance("chemiCraft")\r
public static ChemiCraft instance;\r
\r
+\r
/**\r
* ChemiCraftのProxy\r
*/\r
@SidedProxy(clientSide = "chemicraft.client.ClientProxy", serverSide = "chemicraft.CommonProxy")\r
public static CommonProxy proxy;\r
\r
+\r
/**\r
* ChemiCraftのCreativeTab\r
*/\r
public static CreativeTabs creativeTab = new CreativeTabAtoms("ChemiCraft");\r
\r
+\r
/**\r
* ItemID\r
*/\r
public static int compoundsID;\r
public static int gasCollectingBottleID;\r
\r
+\r
/**\r
* BlockID\r
*/\r
public static int scienceCraftingTableID;\r
\r
+\r
/**\r
* GUIID\r
*/\r
public static int guiScienceCraftingTableID;\r
\r
+\r
/**\r
* Block型変数\r
*/\r
public static Block blockScienceCraftingTable;\r
\r
+\r
/**\r
* Item型変数\r
*/\r
public static Item itemCompounds;\r
public static Item itemGasCollectingBottle;\r
\r
+\r
/**\r
* このmodに必要な補助クラスのインスタンス\r
*/\r
private static Auxiliary Auxiliary = new Auxiliary();\r
private static NameAuxiliary NameAuxiliary = Auxiliary.new NameAuxiliary();\r
\r
+\r
+\r
@Mod.PreInit\r
- public void chemiPreLoadMethod(FMLPreInitializationEvent event)\r
- {\r
+ public void chemiPreLoadMethod(FMLPreInitializationEvent event){\r
Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());\r
cfg.load();\r
\r
cfg.save();\r
}\r
\r
+\r
+\r
@Mod.PostInit\r
- public void chemiPostLoadMethod(FMLPostInitializationEvent event)\r
- {\r
+ public void chemiPostLoadMethod(FMLPostInitializationEvent event){\r
// API用の処理\r
NameAuxiliary.addName(itemCompounds, ChemiCraftAPI.getCompoundsName().toArray());\r
NameAuxiliary.addName(itemCompounds, "ja_JP", ChemiCraftAPI.getCompoundsLangName().toArray());\r
\r
// Blockを追加します\r
blockScienceCraftingTable = new BlockScienceCraftingTable(scienceCraftingTableID, Block.workbench.blockIndexInTexture, Material.ground)\r
- .setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("ScienceCraftingTable");\r
+ .setHardness(2.0F).setResistance(0.0F).setStepSound(Block.soundStoneFootstep).setBlockName("ScienceCraftingTable");\r
\r
// Itemを追加します\r
itemAtoms = new ItemAtoms(atomsID).setItemName("atoms");\r
*/
public static ChemiCraftAPI instance = new ChemiCraftAPI();
+
/**
* List of compounds names.
*/
private static ArrayList<String> compoundsNameList = new ArrayList();
+
/**
* List of compounds names(Some kind of language).
*/
private static ArrayList<String> compoundsLangNameList = new ArrayList();
+
/**
* List of compounds the language names.
*/
private static ArrayList<String> compoundsLangList = new ArrayList();
+
/**
* List of compounds handlers.
*/
private static ArrayList<ICompoundHandler> compoundHandlers = new ArrayList<ICompoundHandler>();
+
/**
* List of item name of handler to compounds.
*/
private static ArrayList<String> compoundHandlerItemNames = new ArrayList<String>();
+
/**
* add compound.
* @param name compound name.
compoundsLangList.add("");
}
+
+
/**
* add compound corresponding to the language.
* @param lang Language to the corresponding
compoundsLangList.add(lang);
}
+
+
/**
* setting compound handler.
* @param handlerItemName
compoundHandlerItemNames.add(handlerItemName);
}
- //\88È\8d~\83V\83X\83e\83\80\8aÖ\8cW\82Ì\83\81\83\\83b\83h//////////////////////////////////////////////////////
+
+
+ //以下システム関連//////////////////////////////////////////////////////
public static ArrayList<ICompoundHandler> getCompoundHandler(){
compoundHandlers.trimToSize();
}
+
+
public static ArrayList<String> getCompoundHandlerItemName(){
compoundHandlerItemNames.trimToSize();
return compoundHandlerItemNames;
}
+
+
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;
--- /dev/null
+package chemicraft;\r
+\r
+public class ChemiCraftTab {\r
+\r
+ /**\r
+ * TabのID\r
+ */\r
+ private int id;\r
+\r
+\r
+ /**\r
+ * TabにOverlayするTextureID\r
+ */\r
+ private int texture;\r
+\r
+\r
+ /**\r
+ * Tabの名前\r
+ */\r
+ private String tabName;\r
+\r
+\r
+ /**\r
+ * TabがActiveであるかどうか\r
+ */\r
+ private boolean theActive;\r
+\r
+\r
+\r
+ /**\r
+ * ChemiCraftTabを作成します\r
+ * @param id TabのID\r
+ * @param texture TabにOverlayする画像のTextureID\r
+ * @param tabName Tabの名前(最初は大文字にすること)\r
+ */\r
+ public ChemiCraftTab(int id, int texture, String tabName){\r
+ this.id = id;\r
+ this.texture = texture;\r
+ this.tabName = tabName;\r
+ }\r
+\r
+\r
+\r
+ /**\r
+ * TabのIDを返します\r
+ * @return TabのID\r
+ */\r
+ public int getID(){\r
+ return this.id;\r
+ }\r
+\r
+\r
+\r
+ /**\r
+ * TabにOverlayするTextureIDを返します\r
+ * @return TabにOverlayするTextureID\r
+ */\r
+ public int getTexture(){\r
+ return this.texture;\r
+ }\r
+\r
+\r
+\r
+ /**\r
+ * Tabの名前を返します\r
+ * @return Tabの名前\r
+ */\r
+ public String getTabName(){\r
+ return this.tabName;\r
+ }\r
+\r
+\r
+\r
+ /**\r
+ * Tabがアクティブであるかを返します\r
+ * @return Tabがアクティブであるか\r
+ */\r
+ public boolean isActive(){\r
+ return theActive;\r
+ }\r
+\r
+\r
+\r
+ /**\r
+ * Activeであるかを設定します\r
+ * @param active\r
+ */\r
+ public void setActive(boolean active){\r
+ this.theActive = active;\r
+ }\r
+\r
+}\r
+++ /dev/null
-package chemicraft;
-
-public class ChemiCraftTabs {
-
- /**
- * tabのID
- */
- private int id;
-
- /**
- * tabにOverlayするTextureID
- */
- private int texture;
-
-
-
- /**
- * tabの名前
- */
- private String tabName;
-
- public ChemiCraftTabs(int id, int texture, String tabName){
- this.id = id;
- this.texture = texture;
- this.tabName = tabName;
- }
-
-
-
- /**
- * tabのIDを返します
- * @return tabのID
- */
- public int getID(){
- return this.id;
- }
-
-
-
- /**
- * tabにOverlayするTextureIDを返します
- * @return tabにOverlayするTextureID
- */
- public int getTexture(){
- return this.texture;
- }
-
-
-
- /**
- * tabの名前を返します
- * @return tabの名前
- */
- public String getTabName(){
- return this.tabName;
- }
-
-}
import net.minecraft.src.World;
import cpw.mods.fml.common.network.IGuiHandler;
-public class CommonProxy implements IGuiHandler
-{
+public class CommonProxy implements IGuiHandler {
+
+ public void registerRenderInformation(){}
- public void registerRenderInformation()
- {
- }
@Override
- public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
- {
+ public Object getServerGuiElement(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);
return new ContainerScienceCraftingTable(player.inventory, (TileEntityScienceCraftingTable)tileEntity);
}
return null;
-
}
+
+
@Override
- public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
- {
+ public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z){
return null;
}
- public World getClientWorld()
- {
+
+
+ public World getClientWorld(){
return null;
}
+
}
\ No newline at end of file
@Override
public void onRightClickHandler(ItemStack par1ItemStack, World par2World,
- EntityPlayer par3EntityPlayer) {
+ EntityPlayer par3EntityPlayer) {}
+
- }
@Override
public ItemStack onItemUseHandler(ItemStack par1ItemStack,
return null;
}
+
+
@Override
public void onUpdateHandler(ItemStack par1ItemStack, World par2World,
- Entity par3Entity, int par4, boolean par5) {
- }
+ Entity par3Entity, int par4, boolean par5) {}
}
import net.minecraft.src.Slot;
import net.minecraft.src.World;
-public class ContainerScienceCraftingTable extends Container
-{
- private World worldObj;
- private int posX;
- private int posY;
- private int posZ;
-
- public ContainerScienceCraftingTable(InventoryPlayer par1InventoryPlayer, TileEntityScienceCraftingTable par2)
- {
- this.worldObj = par2.worldObj;
- this.posX = par2.xCoord;
- this.posY = par2.yCoord;
- this.posZ = par2.zCoord;
- this.addSlotToContainer(new Slot(par2, 0, 10, 10));
- }
-
- /**
- * Callback for when the crafting matrix is changed.
- */
- public void onCraftMatrixChanged(IInventory par1IInventory)
- {
- }
-
- /**
- * Callback for when the crafting gui is closed.
- */
- public void onCraftGuiClosed(EntityPlayer par1EntityPlayer)
- {
- super.onCraftGuiClosed(par1EntityPlayer);
- }
-
- public boolean canInteractWith(EntityPlayer par1EntityPlayer)
- {
- return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.scienceCraftingTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
- }
-
- /**
- * Called to transfer a stack from one inventory to the other eg. when shift clicking.
- */
- public ItemStack transferStackInSlot(int par1)
- {
- return null;
- }
+public class ContainerScienceCraftingTable extends Container {
+
+ /**
+ * Worldのインスタンス
+ */
+ private World worldObj;
+
+
+ /**
+ * BlockのX, Y, Z座標
+ */
+ private int posX;
+ private int posY;
+ private int posZ;
+
+
+
+ public ContainerScienceCraftingTable(InventoryPlayer par1InventoryPlayer, TileEntityScienceCraftingTable par2)
+ {
+ this.worldObj = par2.worldObj;
+ this.posX = par2.xCoord;
+ this.posY = par2.yCoord;
+ this.posZ = par2.zCoord;
+ }
+
+
+
+ @Override
+ public void onCraftMatrixChanged(IInventory par1IInventory){}
+
+
+
+ @Override
+ public void onCraftGuiClosed(EntityPlayer par1EntityPlayer){
+ super.onCraftGuiClosed(par1EntityPlayer);
+ }
+
+
+
+ @Override
+ public boolean canInteractWith(EntityPlayer par1EntityPlayer){
+ return this.worldObj.getBlockId(this.posX, this.posY, this.posZ) != ChemiCraft.instance.scienceCraftingTableID ? false : par1EntityPlayer.getDistanceSq((double)this.posX + 0.5D, (double)this.posY + 0.5D, (double)this.posZ + 0.5D) <= 64.0D;
+ }
+
+
+
+ @Override
+ public ItemStack transferStackInSlot(int par1){
+ return null;
+ }
+
}
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
-public class CreativeTabAtoms extends CreativeTabs{
+public class CreativeTabAtoms extends CreativeTabs {
-
- public CreativeTabAtoms(String type) {
+ public CreativeTabAtoms(String type){
super(type);
}
+
@Override
@SideOnly(Side.CLIENT)
- public int getTabIconItemIndex()
- {
+ public int getTabIconItemIndex(){
return ChemiCraft.itemGasCollectingBottle.shiftedIndex;
}
+
+
@Override
@SideOnly(Side.CLIENT)
- public String getTranslatedTabLabel()
- {
+ public String getTranslatedTabLabel(){
return "Atoms";
}
package chemicraft;
import java.util.ArrayList;
+import java.util.HashMap;
import net.minecraft.src.GuiContainer;
+import net.minecraft.src.InventoryBasic;
import net.minecraft.src.InventoryPlayer;
-import net.minecraft.src.Slot;
-
-import org.lwjgl.opengl.GL11;
-
+import net.minecraft.src.Item;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
@SideOnly(Side.CLIENT)
-public class GuiScienceCraftingTable extends GuiContainer
-{
+public class GuiScienceCraftingTable extends GuiContainer {
+
+ /**
+ * ActiveなTabの名前
+ */
+ private static String activeTabName;
+
+
+ /**
+ * 分解機GUIのInventoryBasicクラス
+ */
+ private static InventoryBasic decompositionSlots = new InventoryBasic("Decomposition", 17);
+
+
+ /**
+ * TabListのArrayList
+ */
+ private ArrayList<ChemiCraftTab> tabList = new ArrayList<ChemiCraftTab>();
+
+
+ /**
+ * Gui画像のHashMap
+ * キーの名前は拡張子を除くファイル名にする
+ */
+ private HashMap<String, Integer> guiImageMap = new HashMap<String, Integer>();
- private ArrayList<ChemiCraftTabs> tabList = new ArrayList<ChemiCraftTabs>();
- public GuiScienceCraftingTable(InventoryPlayer par1InventoryPlayer, TileEntityScienceCraftingTable par2)
- {
+ /**
+ * 画像のHashMap
+ * キーの名前は拡張子を除くファイル名にする
+ */
+ private HashMap<String, Integer> otherImageMap = new HashMap<String, Integer>();
+
+
+
+ public GuiScienceCraftingTable(InventoryPlayer par1InventoryPlayer, TileEntityScienceCraftingTable par2){
super(new ContainerScienceCraftingTable(par1InventoryPlayer, par2));
+ //TabListにTabを追加する
+ tabList.add(new ChemiCraftTab(0, Item.potion.getIconFromDamage(0), "Decomposition"));
+ //ActiveTabの初期化
+ /*未実装*/
+ /*Debug*/ this.tabList.get(0).setActive(true); for(int i = 0;i < tabList.size();i++){ if(this.tabList.get(i).isActive()){ this.activeTabName = this.tabList.get(i).getTabName(); } }
}
+
+
@Override
- protected void drawGuiContainerForegroundLayer()
- {
- //this.fontRenderer.drawString(StatCollector.translateToLocal("container.crafting"), 28, 6, 4210752);
- //this.fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
+ protected void mouseClicked(int par1, int par2, int par3){
+ super.mouseClicked(par1, par2, par3);
}
+
+
@Override
- protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
- {
- int var4 = this.mc.renderEngine.getTexture("/ChemiCraft/guis/Decomposition.png");
- int var7 = this.mc.renderEngine.getTexture("/gui/allitems.png");
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- this.mc.renderEngine.bindTexture(var4);
- int var5 = (this.width - this.xSize) / 2;
- int var6 = (this.height - this.ySize) / 2;
- this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, this.ySize);
-
- for(int i = 0;i < tabList.size();i++){
- this.mc.renderEngine.bindTexture(var7);
- int var8 = var5 + tabList.get(i).getID() * 28;
- int var9 = var6 - 32;
- this.drawTexturedModalRect(var8, var9, 0, 0, 28, 32);
+ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3){
+ //Texture Load.
+ this.func_00002();
+ //Draw Tabs.
+ this.func_00001(par1, par2, par3);
+ //Draw GUI
+ if(this.activeTabName.equals("Decomposition")){
+ this.mc.renderEngine.bindTexture(this.guiImageMap.get("Decomposition"));
+ this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
}
}
- @Override
- protected void handleMouseClick(Slot par1Slot, int par2, int par3, boolean par4){
- System.out.println(par2);
- System.out.println(par3);
+
+
+ private void func_00001(float par1, int par2, int par3){
+ int var1 = this.guiLeft;
+ int var2 = this.guiTop - 32;
+ for(int i = 0;i < this.tabList.size();i++){
+ if(!this.tabList.get(i).isActive()){
+ this.mc.renderEngine.bindTexture(this.otherImageMap.get("tabs"));
+ this.drawTexturedModalRect(var1 + (28 * i), var2, 0, 0, 28, 32);
+ this.mc.renderEngine.bindTexture(this.tabList.get(i).getTexture());
+ this.drawTexturedModalRect(var1 + (28 * i) + 14, var2 + 16, 0, 0, 16, 16);
+ }else{
+ this.mc.renderEngine.bindTexture(this.otherImageMap.get("tabs"));
+ this.drawTexturedModalRect(var1 + (28 * i), var2, 0, 32, 28, 32);
+ }
+ }
}
- @Override
- protected void mouseClicked(int par1, int par2, int par3)
- {
- super.mouseClicked(par1, par2, par3);
+
+
+ private void func_00002(){
+ //guiImageMapに画像を格納する
+ guiImageMap.put("Decomposition", this.mc.renderEngine.getTexture("/ChemiCraft/guis/Decomposition.png"));
+ //otherImageMapに画像を格納する
+ otherImageMap.put("tabs", this.mc.renderEngine.getTexture("/ChemiCraft/guis/tabs.png"));
+ }
+
+
+
+ /**
+ * Activeなtabの名前を返します
+ * @return ActiveなTabの名前
+ */
+ public static String getActiveTabName(){
+ return activeTabName;
}
- private void addTabs(int id, int Texture, String name){
- for(int i = 0;i < tabList.size();i++){
- if(id == tabList.get(i).getID()){
+
+
+ /**
+ * ActiveなTabに対応したInventoryBasicクラスを返します
+ * @return ActiveなTabに対応したInventoryBasicクラス
+ */
+ public static InventoryBasic getActiveInventory(){
+ return decompositionSlots;
+ }
+
+
+
+ /**
+ * ChemiCraftTabを追加します。
+ * @param id TabのID
+ * @param texture OverlayするTextureID
+ * @param name Tabの名前
+ * @throws Exception IDが重複している場合にスローされます
+ */
+ private void addTabs(int id, int texture, String name){
+ for(int i = 0;i < this.tabList.size();i++){
+ if(id == this.tabList.get(i).getID()){
try {
throw new Exception("ChemiCraft内でエラー:ChemiCraftTabのIDが重複しています");
} catch (Exception e) {
}
}
}
- tabList.add(new ChemiCraftTabs(id, Texture, name));
+ this.tabList.add(new ChemiCraftTab(id, texture, name));
}
}
public interface ICompoundHandler {
- void onRightClickHandler(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer);
+ /**
+ * 右クリック時のHandler
+ * @param par1ItemStack
+ * @param par2World
+ * @param par3EntityPlayer
+ */
+ public 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);
+ /**
+ * Itemを使用したときのHandler
+ * @param par1ItemStack
+ * @param par2EntityPlayer
+ * @param par3World
+ * @param par4
+ * @param par5
+ * @param par6
+ * @param par7
+ * @param par8
+ * @param par9
+ * @param par10
+ * @return
+ */
+ public ItemStack onItemUseHandler(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10);
+
+
+ /**
+ * 毎Tick呼ばれるHandler
+ * @param par1ItemStack
+ * @param par2World
+ * @param par3Entity
+ * @param par4
+ * @param par5
+ */
+ public void onUpdateHandler(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5);
}
--- /dev/null
+package chemicraft;\r
+\r
+import net.minecraft.src.Item;\r
+\r
+public class ItemAtomInfoContainer extends Item {\r
+\r
+ /**\r
+ * AtonInfoのインスタンス\r
+ */\r
+ public AtomInfo atomInfo = new AtomInfo();\r
+\r
+\r
+\r
+ public ItemAtomInfoContainer(int par1){\r
+ super(par1);\r
+ }\r
+\r
+}\r
public class ItemAtoms extends Item {
- public ItemAtoms(int par1) {
- super(par1);
- this.maxStackSize = 1;
- this.setHasSubtypes(true);
- this.setMaxDamage(0);
- this.setCreativeTab(ChemiCraft.instance.creativeTab);
- }
-
- @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/items/Atoms.png";
- }
-
- @SideOnly(Side.CLIENT)
- @Override
- public int getIconFromDamage(int par1)
- {
- return par1;
- }
+ public ItemAtoms(int par1){
+ super(par1);
+ this.maxStackSize = 1;
+ this.setHasSubtypes(true);
+ this.setMaxDamage(0);
+ this.setCreativeTab(ChemiCraft.instance.creativeTab);
+ }
+
+
+
+ @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(){
+ return "/ChemiCraft/items/Atoms.png";
+ }
+
+
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public int getIconFromDamage(int par1){
+ return par1;
+ }
}
\ No newline at end of file
public class ItemCompounds extends Item {
- public ItemCompounds(int par1) {
+ public ItemCompounds(int par1){
super(par1);
this.maxStackSize = 1;
this.setHasSubtypes(true);
this.setCreativeTab(ChemiCraft.instance.creativeTab);
}
+
+
@Override
public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5){
for(int i=0;i < ChemiCraftAPI.getCompoundsName().size();i++){
}
}
+
+
@SideOnly(Side.CLIENT)
@Override
- public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List)
- {
+ 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));
}
}
+
+
@Override
- public String getItemNameIS(ItemStack par1ItemStack)
- {
+ public String getItemNameIS(ItemStack par1ItemStack){
return super.getItemName() + "." + ChemiCraftAPI.getCompoundsName().toArray()[par1ItemStack.getItemDamage()];
}
+
+
@Override
- public String getTextureFile()
- {
- this.isDefaultTexture = false;
+ public String getTextureFile(){
return "/ChemiCraft/items/Compounds.png";
}
+
+
@SideOnly(Side.CLIENT)
@Override
- public int getIconFromDamage(int par1)
- {
+ public int getIconFromDamage(int par1){
return par1;
}
import net.minecraft.src.*;
-public class ItemGasCollectingBottle extends Item {
+public class ItemGasCollectingBottle extends ItemAtomInfoContainer {
public ItemGasCollectingBottle(int id) {
super(id);
@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);
+
+ this.atomInfo.update(par2World, par3EntityPlayer);
+ if(this.atomInfo.isBelowY(129)){
+ if(!par3EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.instance.atomsID, 1, 7))){
+ par3EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.instance.atomsID, 1, 7));
+ }
+ }
+
return par1ItemStack;
}
@Override
- public String getTextureFile()
- {
- this.isDefaultTexture = false;
- return "/ChemiCraft/items/sprite.png";
- }
+ public String getTextureFile() {
+ return "/ChemiCraft/items/sprite.png";
+ }
}
* @author Lilly\r
*\r
*/\r
-public class PacketHandler implements IPacketHandler\r
-{\r
+public class PacketHandler implements IPacketHandler {\r
\r
@Override\r
- public void onPacketData(NetworkManager manager, Packet250CustomPayload packet, Player player)\r
- {\r
-\r
- }\r
+ public void onPacketData(NetworkManager manager, Packet250CustomPayload packet, Player player){}\r
\r
}\r
import net.minecraft.src.Packet;
import net.minecraft.src.TileEntity;
-public class TileEntityScienceCraftingTable extends TileEntity implements IInventory{
+public class TileEntityScienceCraftingTable extends TileEntity implements IInventory {
+
+ /**
+ * InventorySlotのItemStack配列
+ */
+ private ItemStack[] inventory = new ItemStack[17];
+
+
+
+ public TileEntityScienceCraftingTable(){}
- private ItemStack[] inventory = new ItemStack[10];
- public TileEntityScienceCraftingTable(){
- }
@Override
public void updateEntity(){
super.updateEntity();
}
+
+
@Override
- public void readFromNBT(NBTTagCompound par1){
- }
+ public void readFromNBT(NBTTagCompound par1){}
+
+
@Override
- public void writeToNBT(NBTTagCompound par1){
- }
+ public void writeToNBT(NBTTagCompound par1){}
+
+
@Override
public int getSizeInventory() {
return inventory.length;
}
+
+
@Override
public ItemStack getStackInSlot(int var1) {
return inventory[var1];
}
+
+
@Override
public ItemStack decrStackSize(int var1, int var2) {
return null;
}
+
+
@Override
public ItemStack getStackInSlotOnClosing(int var1) {
return null;
}
+
+
@Override
- public void setInventorySlotContents(int var1, ItemStack var2) {
+ public void setInventorySlotContents(int var1, ItemStack var2) {}
+
- }
@Override
public String getInvName() {
return null;
}
+
+
@Override
public int getInventoryStackLimit() {
return 64;
}
+
+
@Override
public boolean isUseableByPlayer(EntityPlayer var1) {
return false;
}
- @Override
- public void openChest() {
- }
@Override
- public void closeChest() {
+ public void openChest() {}
- }
+
+
+ @Override
+ public void closeChest() {}
}
{
@Override
- public void registerRenderInformation()
- {
+ public void registerRenderInformation(){}
+
- }
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
return null;
}
+
+
@Override
public World getClientWorld()
{