Posted July 19, 20196 yr In a worldgen.generate() function, this returns null: IBlockState stone = Block.getBlockFromName("minecraft:polished_diorite").getDefaultState(); but this returns a valid state: IBlockState stone = Block.getBlockFromName("minecraft:stone").getDefaultState(); Also this returns a valid state: IBlockState stone = Blocks.STONE.getDefaultState(); So how would I create a polished diorite? As far as I can tell "minecraft:polished_diorite" is the correct name, but it is not recognized. Also there is no Blocks.POLISHED_DIORITE or anything like it. Thanks!
July 19, 20196 yr Blocks have states. Those states contain extra information. Like what kind of stone the stone is. Polished diorite is a variant of minecraft:stone. Also, stop using getFromName and just use the constants in the Blocks class. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
July 19, 20196 yr Author Thanks! That led me to this, which works: IBlockState stone = Blocks.STONE.getDefaultState().withProperty(BlockStone.VARIANT, BlockStone.EnumType.DIORITE_SMOOTH);
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.