From 420faddca46e70e3a70def168fb4e452ef193b0d Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Sat, 21 Feb 2015 21:31:16 +0000 Subject: Added just a butt ton of stuff, also thanks to pau101 for helping me with the Hand Pedestal animation :) --- .../jewelrycraft/block/BlockDisplayer.java | 239 ++++++++++++--------- 1 file changed, 133 insertions(+), 106 deletions(-) (limited to 'java/darkknight/jewelrycraft/block/BlockDisplayer.java') diff --git a/java/darkknight/jewelrycraft/block/BlockDisplayer.java b/java/darkknight/jewelrycraft/block/BlockDisplayer.java index 3bb8fbb..50c7c13 100644 --- a/java/darkknight/jewelrycraft/block/BlockDisplayer.java +++ b/java/darkknight/jewelrycraft/block/BlockDisplayer.java @@ -1,7 +1,6 @@ package darkknight.jewelrycraft.block; import java.util.Random; - import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -21,164 +20,175 @@ public class BlockDisplayer extends BlockContainer { Random rand = new Random(); + /** + * @param par2Material + */ protected BlockDisplayer(Material par2Material) { super(par2Material); } + /** + * @param world + * @param var2 + * @return + */ @Override public TileEntity createNewTileEntity(World world, int var2) { return new TileEntityDisplayer(); } + /** + * @return + */ @Override public boolean renderAsNormalBlock() { return false; } + /** + * @param iblockaccess + * @param i + * @param j + * @param k + * @param l + * @return + */ @Override public boolean shouldSideBeRendered(IBlockAccess iblockaccess, int i, int j, int k, int l) { return false; } + /** + * @return + */ @Override public boolean isOpaqueCube() { return false; } + /** + * @return + */ @Override public int getRenderType() { return -1; } + /** + * @param world + * @param i + * @param j + * @param k + * @param entityPlayer + * @param par6 + * @param par7 + * @param par8 + * @param par9 + * @return + */ @Override public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) { - TileEntityDisplayer te = (TileEntityDisplayer) world.getTileEntity(i, j, k); + TileEntityDisplayer te = (TileEntityDisplayer)world.getTileEntity(i, j, k); ItemStack item = entityPlayer.inventory.getCurrentItem(); - if (te != null) - { - if (item != null && item != new ItemStack(Item.getItemById(0), 0, 0) && !world.isRemote) - { - if (!te.hasObject) - { + if (te != null){ + if (item != null && item != new ItemStack(Item.getItemById(0), 0, 0) && !world.isRemote){ + if (!te.hasObject){ te.object = item.copy(); te.quantity += item.stackSize; te.object.stackSize = 1; te.hasObject = true; if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize); te.isDirty = true; + }else if (te.object.getItem() == item.getItem() && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && te.object.getItemDamage() == item.getItemDamage()) if (te.object.hasTagCompound() && item.hasTagCompound() && te.object.getTagCompound().equals(item.getTagCompound())){ + te.quantity += item.stackSize; + if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize); + te.isDirty = true; + }else if (!te.object.hasTagCompound() && !item.hasTagCompound()){ + te.quantity += item.stackSize; + if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize); + te.isDirty = true; } - else if (te.object.getItem() == item.getItem() && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && te.object.getItemDamage() == item.getItemDamage()) - { - if (te.object.hasTagCompound() && item.hasTagCompound() && te.object.getTagCompound().equals(item.getTagCompound())) - { - te.quantity += item.stackSize; - if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize); - te.isDirty = true; - } - else if (!te.object.hasTagCompound() && !item.hasTagCompound()) - { - te.quantity += item.stackSize; - if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(entityPlayer.inventory.currentItem, item.stackSize); - te.isDirty = true; - } + }else if (item == null || item == new ItemStack(Item.getItemById(0), 0, 0)) if (!entityPlayer.capabilities.isCreativeMode) for(int inv = 0; inv < entityPlayer.inventory.getSizeInventory(); inv++){ + item = entityPlayer.inventory.getStackInSlot(inv); + if (item != null && te.object.getItem() == item.getItem() && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && te.object.getItemDamage() == item.getItemDamage()) if (te.object.hasTagCompound() && item.hasTagCompound() && te.object.getTagCompound().equals(item.getTagCompound())){ + te.quantity += item.stackSize; + if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(inv, item.stackSize); + te.isDirty = true; + te.markDirty(); + }else if (!te.object.hasTagCompound() && !item.hasTagCompound()){ + te.quantity += item.stackSize; + if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(inv, item.stackSize); + te.isDirty = true; } } - else if (item == null || item == new ItemStack(Item.getItemById(0), 0, 0)) - { - if (!entityPlayer.capabilities.isCreativeMode) - { - for (int inv = 0; inv < entityPlayer.inventory.getSizeInventory(); inv++) - { - item = entityPlayer.inventory.getStackInSlot(inv); - if (item != null && te.object.getItem() == item.getItem() && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && te.object.getItemDamage() == item.getItemDamage()) - { - if (te.object.hasTagCompound() && item.hasTagCompound() && te.object.getTagCompound().equals(item.getTagCompound())) - { - te.quantity += item.stackSize; - if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(inv, item.stackSize); - te.isDirty = true; - te.markDirty(); - } - else if (!te.object.hasTagCompound() && !item.hasTagCompound()) - { - te.quantity += item.stackSize; - if (!entityPlayer.capabilities.isCreativeMode) entityPlayer.inventory.decrStackSize(inv, item.stackSize); - te.isDirty = true; - } - } - } - } - else if(entityPlayer.capabilities.isCreativeMode && te.hasObject && te.object.getItem() != null) - { - te.quantity += 64; - te.isDirty = true; - } + else if (entityPlayer.capabilities.isCreativeMode && te.hasObject && te.object.getItem() != null){ + te.quantity += 64; + te.isDirty = true; } - te.isDirty = true; + te.isDirty = true; } return true; } + /** + * @param world + * @param i + * @param j + * @param k + * @param player + */ @Override public void onBlockClicked(World world, int i, int j, int k, EntityPlayer player) { - TileEntityDisplayer te = (TileEntityDisplayer) world.getTileEntity(i, j, k); - if (te != null && !world.isRemote) - { - if (te.hasObject && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && player.inventory.addItemStackToInventory(te.object)) - { - if (!player.isSneaking()) - { - if (te.quantity > te.object.getMaxStackSize()) - { - te.object.stackSize = te.object.getMaxStackSize() - 1; - player.inventory.addItemStackToInventory(te.object); - te.object.stackSize = 1; - te.quantity -= te.object.getMaxStackSize(); - te.isDirty = true; - } - else - { - te.object.stackSize = te.quantity - 1; - player.inventory.addItemStackToInventory(te.object); - te.hasObject = false; - te.object = new ItemStack(Item.getItemById(0), 0, 0); - te.quantity = 0; - te.isDirty = true; - } - te.isDirty = true; - } - else - { - if (te.quantity >= 2) - { - player.inventory.addItemStackToInventory(te.object); - te.object.stackSize = 1; - te.quantity--; - te.isDirty = true; - } - else - { - player.inventory.addItemStackToInventory(te.object); - te.object.stackSize = 1; - te.hasObject = false; - te.object = new ItemStack(Item.getItemById(0), 0, 0); - te.quantity = 0; - te.isDirty = true; - } - te.isDirty = true; - } + TileEntityDisplayer te = (TileEntityDisplayer)world.getTileEntity(i, j, k); + if (te != null && !world.isRemote) if (te.hasObject && te.object != null && te.object != new ItemStack(Item.getItemById(0), 0, 0) && player.inventory.addItemStackToInventory(te.object)) if (!player.isSneaking()){ + if (te.quantity > te.object.getMaxStackSize()){ + te.object.stackSize = te.object.getMaxStackSize() - 1; + player.inventory.addItemStackToInventory(te.object); + te.object.stackSize = 1; + te.quantity -= te.object.getMaxStackSize(); + te.isDirty = true; + }else{ + te.object.stackSize = te.quantity - 1; + player.inventory.addItemStackToInventory(te.object); + te.hasObject = false; + te.object = new ItemStack(Item.getItemById(0), 0, 0); + te.quantity = 0; + te.isDirty = true; } + te.isDirty = true; + }else{ + if (te.quantity >= 2){ + player.inventory.addItemStackToInventory(te.object); + te.object.stackSize = 1; + te.quantity--; + te.isDirty = true; + }else{ + player.inventory.addItemStackToInventory(te.object); + te.object.stackSize = 1; + te.hasObject = false; + te.object = new ItemStack(Item.getItemById(0), 0, 0); + te.quantity = 0; + te.isDirty = true; + } + te.isDirty = true; } } + /** + * @param world + * @param x + * @param y + * @param z + * @param stack + */ public void dropItem(World world, double x, double y, double z, ItemStack stack) { EntityItem entityitem = new EntityItem(world, x + 0.5D, y + 1.5D, z + 0.5D, stack); @@ -188,20 +198,34 @@ public class BlockDisplayer extends BlockContainer world.spawnEntityInWorld(entityitem); } + /** + * @param world + * @param i + * @param j + * @param k + * @param block + * @param par6 + */ + @Override public void breakBlock(World world, int i, int j, int k, Block block, int par6) { - TileEntityDisplayer te = (TileEntityDisplayer) world.getTileEntity(i, j, k); - - if (te != null && te.hasObject) - { + TileEntityDisplayer te = (TileEntityDisplayer)world.getTileEntity(i, j, k); + if (te != null && te.hasObject){ te.object.stackSize = te.quantity; - dropItem(te.getWorldObj(), (double) te.xCoord, (double) te.yCoord, (double) te.zCoord, te.object); + dropItem(te.getWorldObj(), te.xCoord, te.yCoord, te.zCoord, te.object); world.removeTileEntity(i, j, k); } - super.breakBlock(world, i, j, k, block, par6); } + /** + * @param world + * @param i + * @param j + * @param k + * @param entityLiving + * @param par6ItemStack + */ @Override public void onBlockPlacedBy(World world, int i, int j, int k, EntityLivingBase entityLiving, ItemStack par6ItemStack) { @@ -209,9 +233,12 @@ public class BlockDisplayer extends BlockContainer world.setBlockMetadataWithNotify(i, j, k, rotation, 2); } + /** + * @param icon + */ @Override public void registerBlockIcons(IIconRegister icon) { - this.blockIcon = icon.registerIcon("jewelrycraft:displayer"); + blockIcon = icon.registerIcon("jewelrycraft:displayer"); } } -- cgit v1.2.3