GenuineSounds

Item pickup.

Jun 6th, 2012
180
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.39 KB | None | 0 0
  1. // This goes in the tick.
  2. List<EntityItem> list = this.worldObj.getEntitiesWithinAABB(EntityItem.class, this.boundingBox.expand(0.5D, 0.5D, 0.5D));
  3. for (EntityItem entityItem : list)
  4.     if (entityItem != null && !entityItem.isDead && !this.worldObj.isRemote && entityItem.delayBeforeCanPickup == 0)
  5.         this.pickupItem(entityItem);
  6.  
  7.  
  8. // New method.
  9. protected void pickupItem(EntityItem entityItem) {
  10.     this.worldObj.playSoundAtEntity(entityItem, "random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
  11.     boolean flag = true;
  12.     // This is prolly unneeded for an inventory.
  13.     for (ItemStack item : this.itemList) {
  14.         if (item.itemID == entityItem.item.itemID && item.getItemDamage() == entityItem.item.getItemDamage()) {
  15.             if (item.stackSize + entityItem.item.stackSize <= item.getMaxStackSize()) {
  16.                 item.stackSize += entityItem.item.stackSize;
  17.                 flag = false;
  18.                 break;
  19.             } else if (item.stackSize == item.getMaxStackSize()) {
  20.                 continue;
  21.             } else {
  22.                 item.stackSize = item.getMaxStackSize();
  23.                 this.itemList.add(new ItemStack(entityItem.item.itemID, item.stackSize + entityItem.item.stackSize - item.getMaxStackSize(), entityItem.item.getItemDamage()));
  24.                 flag = false;
  25.                 break;
  26.             }
  27.         }
  28.     }
  29.     if (flag)
  30.         this.itemList.add(new ItemStack(entityItem.item.itemID, entityItem.item.stackSize, entityItem.item.getItemDamage()));
  31.     entityItem.setDead();
  32. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment