package fox.spiteful.forbidden.items; import fox.spiteful.forbidden.Forbidden; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import fox.spiteful.forbidden.blocks.ForbiddenBlocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemArcaneCake extends Item { public ItemArcaneCake() { this.setCreativeTab(Forbidden.tab); } @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World yWorld, int z, int par5, int par6, int par7, float par8, float par9, float par10) { Block block = yWorld.getBlock(z, par5, par6); if (block == Blocks.snow_layer && (yWorld.getBlockMetadata(z, par5, par6) & 7) < 1) { par7 = 1; } else if (block != Blocks.vine && block != Blocks.tallgrass && block != Blocks.deadbush) { if (par7 == 0) { --par5; } if (par7 == 1) { ++par5; } if (par7 == 2) { --par6; } if (par7 == 3) { ++par6; } if (par7 == 4) { --z; } if (par7 == 5) { ++z; } } if (!player.canPlayerEdit(z, par5, par6, par7, stack)) { return false; } else if (stack.stackSize == 0) { return false; } else { Block cake = ForbiddenBlocks.arcaneCake; if (yWorld.canPlaceEntityOnSide(cake, z, par5, par6, false, par7, (Entity) null, stack)) { int j1 = cake.onBlockPlaced(yWorld, z, par5, par6, par7, par8, par9, par10, 0); if (yWorld.setBlock(z, par5, par6, cake, j1, 3)) { if (yWorld.getBlock(z, par5, par6) == cake) { cake.onBlockPlacedBy(yWorld, z, par5, par6, player, stack); cake.onPostBlockPlaced(yWorld, z, par5, par6, j1); } yWorld.playSoundEffect((double) ((float) z + 0.5F), (double) ((float) par5 + 0.5F), (double) ((float) par6 + 0.5F), block.stepSound.soundName, (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); --stack.stackSize; } } return true; } } @SideOnly(Side.CLIENT) @Override public void registerIcons(IIconRegister ir) { this.itemIcon = ir.registerIcon("forbidden:cake"); } }