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)); } } } }