Posted September 3, 201411 yr Hello guys, Using Forge v10.13.0.1180 I found out a weird behavior that I can't explain. So, I made a custom block with metada. I set Metadata with onBlockPlacedBy, it works fine. With this code : @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int metadata, float a, float b, float c) { int dest = (metadata+1)%idBlock; if(!world.isRemote) { //Debug player.addChatMessage(new ChatComponentText("Local BlockNumber : " + world.getBlockMetadata(x, y, z))); player.addChatMessage(new ChatComponentText("onBlock BlockNumber : " + metadata)); } } world.getBlockMetadata(x, y, z) returns the correct value. metadata (from onBlockActivated) return value that could be correct ("random" metadata from previous onBlockPlacedBy), but they are not the current block metadata value! I am missing something fundamental? 5th paramater of onBlock should be the metadata of the activated block.... Thanks
September 3, 201411 yr As long as you have the world and coordinates, you don't need metadata passed, world.getBlockMetadata is enough
September 3, 201411 yr Author The arguments are world, x, y, z, side, hitX, hitY, hitZ. There is no metadata passed to onBlockActivated. Browsing on the internet, I saw more than once it was metadata. Thank you Well, mystery solved!
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.