Posted July 5, 201411 yr Hey guys! I want to check if this block is right-clicked with a slime ball. Everything works just even if it is right-clicked with a slime ball the code doesn't know that... [embed=425,349]@Override public boolean onBlockActivated(World world, int parX, int parY, int parZ, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { ItemStack stack = player.getHeldItem(); ItemStack stack2 = player.inventory.getCurrentItem(); if(stack != null) { if(stack == (new ItemStack(Items.slime_ball))) { metaToBe = 1; world.playSoundAtEntity(player, "random:fizz", 0.7F, 0.8F); } } world.setBlockMetadataWithNotify(parX, parY, parZ, metaToBe, 2); return false; }[/embed] Thanks in advance for the help!
July 5, 201411 yr Use [ code ] tags for short snippets of code, please - like so: @Override public boolean onBlockActivated(World world, int parX, int parY, int parZ, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { ItemStack stack = player.inventory.getCurrentItem(); if(stack != null && stack.getItem() == Items.slime_ball) { metaToBe = 1; world.playSoundAtEntity(player, "random:fizz", 0.7F, 0.8F); } world.setBlockMetadataWithNotify(parX, parY, parZ, metaToBe, 3); return false; }
July 5, 201411 yr Author Ah, Blind me! Thank You, very much! Works like a bomb now! Yea you we're right about it being "random.fizz"
July 5, 201411 yr Author Oh yes, a topic hijack: When it changes the block metadata, it changes all of the placed blocks metadata. Would there be a way to change just that specific block's metadata that got right-clicked. Or Would it be better to have a separate block and delete and replace block1 with block2?
July 5, 201411 yr Move the setBlockMetadataWithNotify call into the if-block, or alternatively make metaToBe a method-local scope variable.
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.