Posted March 31, 20169 yr 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! http://i.imgur.com/vmqyxTE.png[/img]
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.