Posted May 16, 201510 yr I have a custom tool that is supposed to drop different items depending on the block destroyed, so I have the override method below. The issue I'm having is when I break a block of stone it drops 2 sand blocks as items, but you can only pickup 1 (1 of them doesn't actually exist). How can I make it only drop 1 sand? @Override public boolean onBlockDestroyed(ItemStack stack, World worldIn, Block blockIn, BlockPos pos, EntityLivingBase playerIn) { Boolean result = true; if (blockIn == Blocks.stone) { worldIn.spawnEntityInWorld(new EntityItem(worldIn, pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D, new ItemStack(Blocks.sand, 1))); worldIn.destroyBlock(pos, false); } else { result = super.onBlockDestroyed(stack, worldIn, blockIn, pos, playerIn); } return result; }
May 17, 201510 yr surround your code with if(!worldIn.isRemote) which means it will only do it on the server not on the client as well which makes a false item Did you really need to know?
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.