Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This goes in the tick.
- List<EntityItem> list = this.worldObj.getEntitiesWithinAABB(EntityItem.class, this.boundingBox.expand(0.5D, 0.5D, 0.5D));
- for (EntityItem entityItem : list)
- if (entityItem != null && !entityItem.isDead && !this.worldObj.isRemote && entityItem.delayBeforeCanPickup == 0)
- this.pickupItem(entityItem);
- // New method.
- protected void pickupItem(EntityItem entityItem) {
- this.worldObj.playSoundAtEntity(entityItem, "random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
- boolean flag = true;
- // This is prolly unneeded for an inventory.
- for (ItemStack item : this.itemList) {
- if (item.itemID == entityItem.item.itemID && item.getItemDamage() == entityItem.item.getItemDamage()) {
- if (item.stackSize + entityItem.item.stackSize <= item.getMaxStackSize()) {
- item.stackSize += entityItem.item.stackSize;
- flag = false;
- break;
- } else if (item.stackSize == item.getMaxStackSize()) {
- continue;
- } else {
- item.stackSize = item.getMaxStackSize();
- this.itemList.add(new ItemStack(entityItem.item.itemID, item.stackSize + entityItem.item.stackSize - item.getMaxStackSize(), entityItem.item.getItemDamage()));
- flag = false;
- break;
- }
- }
- }
- if (flag)
- this.itemList.add(new ItemStack(entityItem.item.itemID, entityItem.item.stackSize, entityItem.item.getItemDamage()));
- entityItem.setDead();
- }
Advertisement