Posted November 7, 20214 yr Hello! I don't know why, but my block doesn't work in the game. It is registered in the game, but textures are unavailable and I can't place it. I can't find a mistake///// Cusom Block class: // CUSTOM BLOCK CLASS public class CustomSaplingBlock extends SaplingBlock { private final TreeSpawner tree; public CustomSaplingBlock(Properties properties, TreeSpawner spawner) { super(null, properties); this.tree = spawner; } @Override public void placeTree(ServerWorld world, BlockPos pos, BlockState state, Random rand) { if (state.get(STAGE) == 0) { world.setBlockState(pos, state.cycleValue(STAGE), 4); } else { tree.spawn(world, world.getChunkProvider().getChunkGenerator(), pos, state, rand); } } } public abstract class TreeSpawner { @Nullable protected abstract Feature<IFeatureConfig> getFeature(Random random); @Nullable protected abstract IFeatureConfig getConfig(Random random); public boolean spawn(ISeedReader reader, ChunkGenerator generator, BlockPos pos, BlockState blockunder, Random random) { Feature<IFeatureConfig> tree = getFeature(random); if (tree == null) return false; IFeatureConfig config = getConfig(random); if (config == null) return false; reader.setBlockState(pos, Blocks.AIR.getDefaultState(), 4); if (tree.generate(reader, generator, random, pos, config)) { return true; } reader.setBlockState(pos, blockunder, 4); return false; } } BLOCK INIT: public static final RegistryObject<Block> EXAMPLE_SAPLING = BLOCKS.register("example_sapling", () -> new CustomSaplingBlock(AbstractBlock.Properties.create(Material.LEAVES).sound(SoundType.PLANT) .hardnessAndResistance(0f).tickRandomly().notSolid(), null)); BLOCKSTATE (json): { "variants": { "": { "model": "examplemod:block/example_sapling" } } } BLOCK MODEL: { "parent": "block/cross", "textures": { "cross": "examplemod:block/example_sapling", "particle": "examplemod:block/example_sapling" } } Leaves and log are working perfectly. I think something is wrong with the model (?), but I think everything is right
November 7, 20214 yr you never use your custom TreeSpawner, you pass null when creating the RegistryObject
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.