package com.jaquadro.minecraft.gardencore.item; import com.jaquadro.minecraft.gardencore.GardenCore; import com.jaquadro.minecraft.gardencore.core.ModCreativeTabs; import com.jaquadro.minecraft.gardencore.core.ModItems; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; public class ItemSoilKit extends Item { @SideOnly(Side.CLIENT) private IIcon icon; public ItemSoilKit (String unlocalizedName) { setUnlocalizedName(unlocalizedName); setMaxStackSize(64); setTextureName("soil_test_kit"); setCreativeTab(ModCreativeTabs.tabGardenCore); } @Override public boolean onItemUse (ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { if (player.inventory.getFirstEmptyStack() == -1 && player.inventory.getCurrentItem().stackSize > 1) return false; BiomeGenBase biome = world.getBiomeGenForCoords(x, z); int temperature = (int)(Math.min(1, Math.max(0, biome.temperature)) * 255) & 255; int rainfall = (int)(Math.min(1, Math.max(0, biome.rainfall)) * 255) & 255; ItemStack usedKit = new ItemStack(ModItems.usedSoilTestKit, 1, rainfall << 8 | temperature); world.playSoundAtEntity(player, "step.grass", 1.0f, 1.0f); if (player.inventory.getCurrentItem().stackSize == 1) player.inventory.setInventorySlotContents(player.inventory.currentItem, usedKit); else { stack.stackSize--; player.inventory.setInventorySlotContents(player.inventory.getFirstEmptyStack(), usedKit); } return true; } @SideOnly(Side.CLIENT) @Override public IIcon getIconFromDamage (int par1) { return icon; } @SideOnly(Side.CLIENT) @Override public void registerIcons (IIconRegister iconRegister) { icon = iconRegister.registerIcon(GardenCore.MOD_ID + ":soil_test_kit"); } }