Posted July 30, 201510 yr I've been looking through vanilla and I think this works. Would someone confirm if I've got this right or if I'm missing stuff. My goal is to put down a custom bed in place of the normal one so it doesn't blow up in my custom dimensions. // Get current meta IBlockState state = world.getBlockState(pos_Temp); // Change the block with the meta intact world.getBlockState(pos_Temp).withProperty(BlockBed.PART, state.getValue(BlockBed.PART)).withProperty(BlockDirectional.FACING, state.getValue(BlockDirectional.FACING)); Long time Bukkit & Forge Programmer Happy to try and help
July 30, 201510 yr Author Looking at the bed in 1.8, I see another way around this in terms of avoiding the explosion. However, I still would like to know about the state copy I put above. Long time Bukkit & Forge Programmer Happy to try and help
July 31, 201510 yr I think you should use World#setBlockState(...) I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP) II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.
July 31, 201510 yr Author Just noticed some of my code was wrapped weird in the post. might be hard to read. If I setBlockState, that sets the entire block again. I just want to modify a few of the state properties and leave the rest alone. Long time Bukkit & Forge Programmer Happy to try and help
July 31, 201510 yr Then there is no way theoretically... I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP) II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.
July 31, 201510 yr IBlockState s are immutable. IBlockState#withProperty returns a different IBlockState instance with the property set to the specified value rather than modifying the existing instance. If you want to change the state of a block in the world, you have to use World#setBlockState . Simply calling IBlockState#withProperty and not doing anything with the result does nothing. Your code will correctly preserve any properties except the ones you change, though. Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
August 1, 201510 yr Author I get it now. Thank you Choonster. Long time Bukkit & Forge Programmer Happy to try and help
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.