ScottehBoeh Posted March 31, 2016 Share Posted March 31, 2016 I've got a "Supply Crate" block set up using a tile entity to display a more realistic model: I'm trying to get it to drop one of 3 (randomly) custom items when it's broken, However when breaking the block, none of the items that I set to drop actually drop. Nothing drops at all. Here's the code for my block: package net.mcdecimation.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockFalling; import net.minecraft.block.BlockGravel; import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import java.util.ArrayList; import java.util.Random; public class BlockSupplyDrop extends BlockFalling { double d = Math.random(); public BlockSupplyDrop() { super(Material.rock); this.setBlockBounds(0.0625F, 0, 0.0625F, 1, 1, 1); } public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase placer, ItemStack stack, EntityPlayer player) { world.playSoundAtEntity(player, "mcdb:item.concertinakit.placewire", 1, 1); int rotation = MathHelper.floor_double((double)(placer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; if (rotation == 0) { world.setBlockMetadataWithNotify(x, y, z, 5, 2); } if (rotation == 1) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); } if (rotation == 2) { world.setBlockMetadataWithNotify(x, y, z, 3, 2); } if (rotation == 3) { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } } @Override @SideOnly(Side.CLIENT) public void randomDisplayTick(World world, int x, int y, int z, Random rand) { world.spawnParticle("cloud", x + 0.5F, y + 1.02F, z + 0.5F, 0.0D, 0.2D, 0.0D); } @Override public TileEntity createTileEntity(World world, int meta) { return new EntitySupplyDrop(); } @Override public boolean hasTileEntity(int meta) { return true; } @Override public int getRenderType() { return -1; } @Override public boolean isOpaqueCube() { return false; } @Override public boolean renderAsNormalBlock() { return false; } @Override public Item getItemDropped(int metadata, Random rand, int fortune) { if (d < 0.5) { return DecimationBlocks.itemSandbagKit; } else if (d < 0.7){ return DecimationBlocks.itemConcertinaKit; } else { return DecimationBlocks.itemSandbagKitBeige; } } } All help is welcome! Thanks, forums! Quote http://i.imgur.com/vmqyxTE.png[/img] Link to comment Share on other sites More sharing options...
CHEESEBOT314 Posted March 31, 2016 Share Posted March 31, 2016 Are you breaking the block in creative? It won't drop the items if you are. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.