summaryrefslogtreecommitdiff
path: root/java/darkknight/jewelrycraft/block/BlockDisplayer.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/darkknight/jewelrycraft/block/BlockDisplayer.java')
-rw-r--r--java/darkknight/jewelrycraft/block/BlockDisplayer.java239
1 files changed, 133 insertions, 106 deletions
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");
}
}