From 790bfd36625cd873213ab1e7b162a39226be5405 Mon Sep 17 00:00:00 2001 From: lilly Date: Wed, 5 Dec 2012 23:07:31 +0900 Subject: [PATCH] =?utf8?q?=E6=96=87=E5=AD=97=E3=82=B3=E3=83=BC=E3=83=89?= =?utf8?q?=E3=82=92SJIS=E3=81=8B=E3=82=89UTF8=E3=81=B8=20=E3=83=91?= =?utf8?q?=E3=83=83=E3=82=B1=E3=83=BC=E3=82=B8=E5=90=8D=E3=81=AE=E5=A4=89?= =?utf8?q?=E6=9B=B4=20chemicraft=20chemicraft.client=20PacketHandler?= =?utf8?q?=E3=82=AF=E3=83=A9=E3=82=B9=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: lilly --- chemicraft | 1 - chemicraft/AtomInfo.java | 93 ++++++++++++++++++++++++++ chemicraft/Auxiliary.java | 100 ++++++++++++++++++++++++++++ chemicraft/ChemiCraft.java | 112 ++++++++++++++++++++++++++++++++ chemicraft/ChemiCraftAPI.java | 59 +++++++++++++++++ chemicraft/CompoundHandlerTest.java | 28 ++++++++ chemicraft/CreativeTabAtoms.java | 28 ++++++++ chemicraft/ICompoundHandler.java | 16 +++++ chemicraft/ItemAtoms.java | 54 +++++++++++++++ chemicraft/ItemCompounds.java | 65 ++++++++++++++++++ chemicraft/ItemGasCollectingBottle.java | 32 +++++++++ chemicraft/PacketHandler.java | 17 +++++ 12 files changed, 604 insertions(+), 1 deletion(-) delete mode 160000 chemicraft create mode 100644 chemicraft/AtomInfo.java create mode 100644 chemicraft/Auxiliary.java create mode 100644 chemicraft/ChemiCraft.java create mode 100644 chemicraft/ChemiCraftAPI.java create mode 100644 chemicraft/CompoundHandlerTest.java create mode 100644 chemicraft/CreativeTabAtoms.java create mode 100644 chemicraft/ICompoundHandler.java create mode 100644 chemicraft/ItemAtoms.java create mode 100644 chemicraft/ItemCompounds.java create mode 100644 chemicraft/ItemGasCollectingBottle.java create mode 100644 chemicraft/PacketHandler.java diff --git a/chemicraft b/chemicraft deleted file mode 160000 index b7ec46f..0000000 --- a/chemicraft +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b7ec46f8eecacf1633d4290e9e0883d7c68c9320 diff --git a/chemicraft/AtomInfo.java b/chemicraft/AtomInfo.java new file mode 100644 index 0000000..f11ef33 --- /dev/null +++ b/chemicraft/AtomInfo.java @@ -0,0 +1,93 @@ +package chemicraft; + +import net.minecraft.src.EntityPlayer; +import net.minecraft.src.ItemStack; +import net.minecraft.src.World; + +public class AtomInfo { + + protected static int posX; + protected static int posY; + protected static int posZ; + protected static String biomeName; + protected static String weather; + + public AtomInfo(World par1World, EntityPlayer par2EntityPlayer){ + + this.biomeName = par1World.getBiomeGenForCoords(posX, posZ).biomeName; + + this.posX = (int) par2EntityPlayer.posX; // X座標 + this.posY = (int) par2EntityPlayer.posY; // Y座標 + this.posZ = (int) par2EntityPlayer.posZ; // Z座標 + + boolean rainy = par1World.isRaining(); + boolean thunder = par1World.isThundering(); + if (rainy && thunder){ // 雨且つ雷 + this.weather = "THUNDER"; + }else if(rainy){ // 雨または雪 + this.weather = "RAINY"; + }else{ //晴れ + this.weather = "SUNNY"; + } + } + + /** + * Y座標との比較 + * @param EntityPlayer EntityPlayer + * @param y Y座標 + * @param biomeName バイオームの名前(nullでも可) + * @param weather 天気(nullでも可) + * @param par1 入手数 + * @param par2 種類(ダメージ値) + */ + private boolean equivalentBiome(String biomeName){ + boolean ver1 = biomeName != null ? ((this.biomeName == biomeName) ? true : false) : true; + return ver1; + } + private boolean equivalentWeather(String weather){ + boolean ver1 = weather != null ? ((this.weather == weather) ? true : false) : true; + return ver1; + } + + protected void overY(EntityPlayer EntityPlayer, int y, String biomeName, String weather, int par1, int par2){ + if(this.posY >= y && this.equivalentBiome(biomeName) && this.equivalentWeather(weather)){ + if (!EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.itemAtoms, par1, par2))) + { + EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.itemAtoms.shiftedIndex, par1, par2)); + } + } + } + protected void aboveY(EntityPlayer EntityPlayer, int y, String biomeName, String weather, int par1, int par2){ + if(this.posY > y && this.equivalentBiome(biomeName) && this.equivalentWeather(weather)){ + if (!EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.itemAtoms, par1, par2))) + { + EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.itemAtoms.shiftedIndex, par1, par2)); + } + } + } + protected void equivalentY(EntityPlayer EntityPlayer, int y, String biomeName, String weather, int par1, int par2){ + if(this.posY == y && this.equivalentBiome(biomeName) && this.equivalentWeather(weather)){ + if (!EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.itemAtoms, par1, par2))) + { + EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.itemAtoms.shiftedIndex, par1, par2)); + } + } + } + protected void lessY(EntityPlayer EntityPlayer, int y, String biomeName, String weather, int par1, int par2){ + if(this.posY < y && this.equivalentBiome(biomeName) && this.equivalentWeather(weather)){ + if (!EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.itemAtoms, par1, par2))) + { + EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.itemAtoms.shiftedIndex, par1, par2)); + } + } + } + protected void belowY(EntityPlayer EntityPlayer, int y, String biomeName, String weather, int par1, int par2){ + if(this.posY <= y && this.equivalentBiome(biomeName) && this.equivalentWeather(weather)){ + if (!EntityPlayer.inventory.addItemStackToInventory(new ItemStack(ChemiCraft.itemAtoms, par1, par2))) + { + EntityPlayer.dropPlayerItem(new ItemStack(ChemiCraft.itemAtoms.shiftedIndex, par1, par2)); + } + } + } + +} diff --git a/chemicraft/Auxiliary.java b/chemicraft/Auxiliary.java new file mode 100644 index 0000000..6a88b97 --- /dev/null +++ b/chemicraft/Auxiliary.java @@ -0,0 +1,100 @@ +package chemicraft; + +import net.minecraft.src.Block; +import net.minecraft.src.Item; +import net.minecraft.src.ItemStack; +import cpw.mods.fml.common.registry.LanguageRegistry; + +public class Auxiliary { + + public Auxiliary(){ + } + + class NameAuxiliary{ + + /** + * 名前を追加する。 + * @param object + * @param Name + */ + public void addName(Object object,Object name){ + LanguageRegistry.addName(object, (String) name); + } + + /** + * 名前を追加する(ItemStack版) + * @param object + * @param name + * @param meta + */ + public void addName(ItemStack itemstack,Object name){ + LanguageRegistry.addName(itemstack, (String) name); + } + + + /** + * 指定した言語で名前を追加する。 + * @param object + * @param name + */ + public void addName(Object object,String lang,Object name){ + LanguageRegistry.instance().addNameForObject(object, lang, (String) name); + } + + /** + * 指定した言語で名前を追加する(ItemStack版) + * @param object + * @param name + */ + + public void addName(ItemStack object,String lang,Object name){ + LanguageRegistry.instance().addNameForObject(object, lang, (String) name); + } + + /** + * メタデータ+配列で名前を追加する(Block版) + * @param object + * @param name + */ + public void addName(Block object,Object[] name){ + for(int i=0;i compoundsNameList = new ArrayList(); + private static ArrayList compoundsLangNameList = new ArrayList(); + private static ArrayList compoundsLangList = new ArrayList(); + private static ArrayList compoundHandlers = new ArrayList(); + private static ArrayList compoundHandlerItemNames = new ArrayList(); + + 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 getCompoundsName(){ + compoundsNameList.trimToSize(); + return compoundsNameList; + } + + public static ArrayList getCompoundsLangName(){ + compoundsLangNameList.trimToSize(); + return compoundsLangNameList; + } + + public static ArrayList getCompoundsLang(){ + compoundsLangList.trimToSize(); + return compoundsLangList; + } + + public static void addCompoundHandler(String handlerItemName, ICompoundHandler compoundHandler){ + ChemiCraftAPI.compoundHandlers.add(compoundHandler); + compoundHandlerItemNames.add(handlerItemName); + } + + public static ArrayList getCompoundHandler(){ + compoundHandlers.trimToSize(); + return compoundHandlers; + + } + + public static ArrayList getCompoundHandlerItemName(){ + compoundHandlerItemNames.trimToSize(); + return compoundHandlerItemNames; + } + +} diff --git a/chemicraft/CompoundHandlerTest.java b/chemicraft/CompoundHandlerTest.java new file mode 100644 index 0000000..5f10799 --- /dev/null +++ b/chemicraft/CompoundHandlerTest.java @@ -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 index 0000000..fac365d --- /dev/null +++ b/chemicraft/CreativeTabAtoms.java @@ -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 index 0000000..c542618 --- /dev/null +++ b/chemicraft/ICompoundHandler.java @@ -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 index 0000000..94cc019 --- /dev/null +++ b/chemicraft/ItemAtoms.java @@ -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 index 0000000..dc381ba --- /dev/null +++ b/chemicraft/ItemCompounds.java @@ -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 index 0000000..60547a0 --- /dev/null +++ b/chemicraft/ItemGasCollectingBottle.java @@ -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 index 0000000..f591727 --- /dev/null +++ b/chemicraft/PacketHandler.java @@ -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) + { + + } + +} -- 2.11.0