Posted March 3, 20223 yr Hello, I am trying to make a structural block that is non spawnable. I looked up the GLASS block and found that it set isValidSpawn. But I cannot figure out how to set it correctly, public static final BlockBehaviour.Properties TEST_BLOCK_PROPERTIES = BlockBehaviour.Properties .of(Material.HEAVY_METAL, MaterialColor.TERRACOTTA_BLACK) .strength(-1.0F, 3600000.0F) .noDrops() .sound(SoundType.METAL) .isValidSpawn(Blocks::never); IntelliJ reports the following problem: Quote 'never(net.minecraft.world.level.block.state.BlockState, net.minecraft.world.level.BlockGetter, net.minecraft.core.BlockPos, net.minecraft.world.entity.EntityType<?>)' has private access in 'net.minecraft.world.level.block.Blocks' If I change the Blocks::never to false then I get the following error instead Quote 'isValidSpawn(net.minecraft.world.level.block.state.BlockBehaviour.StateArgumentPredicate<net.minecraft.world.entity.EntityType<?>>)' in 'net.minecraft.world.level.block.state.BlockBehaviour.Properties' cannot be applied to '(boolean)'
March 3, 20223 yr never is a private method. { private static Boolean never(BlockState p_50779_, BlockGetter p_50780_, BlockPos p_50781_, EntityType<?> p_50782_) { return (boolean)false; } } I am sure you could figure out your own method.. but I'd choose to copy the blockbehavior of a nonspawnable block, and override the attributes to get what I wanted. You could copy the blockbehavior of 'glass' and override the other properties, and thiss will pull the spawning blocking.
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.