Posted August 18, 20214 yr Hi ! I'm new to modding and coding, sorry in advance if it's an obvious question but I wanted to create a block lily pad-esque but in game I can place this block only on ice or on the side of a full block next to water, but not just on water. I don't understand what I did wrong since I just copy pasted the lily pad code ahah Here's my block class: package fr.nati.vanillaenhancer.common.block; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.vehicle.Boat; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.BushBlock; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.Material; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.common.IPlantable; import net.minecraftforge.common.PlantType; public class DroppedLeavesBlock extends BushBlock implements IPlantable { public DroppedLeavesBlock(BlockBehaviour.Properties properties) { super(properties); } private static final VoxelShape SHAPE = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 1.5D, 15.0D); @SuppressWarnings("deprecation") public void entityInside(BlockState state, Level level, BlockPos pos, Entity entity) { super.entityInside(state, level, pos, entity); if (level instanceof ServerLevel && entity instanceof Boat) { level.destroyBlock(new BlockPos(pos), true, entity); } } public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { return SHAPE; } @Override public boolean mayPlaceOn(BlockState state, BlockGetter world, BlockPos pos) { FluidState fluidstate = world.getFluidState(pos); FluidState fluidstate1 = world.getFluidState(pos.above()); return (fluidstate.getType() == Fluids.WATER || state.getMaterial() == Material.ICE) && fluidstate1.getType() == Fluids.EMPTY; } @Override public PlantType getPlantType(BlockGetter world, BlockPos pos) { return PlantType.WATER; } }
August 18, 20214 yr Author Thank you for your answer ! But I register a BlockItem with this code: @SubscribeEvent public static void onRegisterItems(final RegistryEvent.Register<Item> event) { BlockInit.BLOCKS.getEntries().stream().map(RegistryObject::get).forEach(block -> { event.getRegistry().register(new BlockItem(block, new Item.Properties().tab(CreativeModeTab.TAB_MISC)) .setRegistryName(block.getRegistryName())); }); } And I don't know how to "remove" my block of sakura leaves from this code to register it differently
August 18, 20214 yr Author Thank you so much it works now ! I have also a second question, can I ask it here or do I have to create another topic ?
August 18, 20214 yr Author I want to create a feature to generate a trunk without leaves on my custom biome but when I try to create a new world or entering an existing one, I have this error : [Render thread/ERROR]: Feature: Not a JSON object: "minecraft:spring_water"; Not a JSON object: "minecraft:patch_pumpkin"; Not a JSON object: "minecraft:patch_sugar_cane"; Not a JSON object: "minecraft:patch_grass_forest"; Not a JSON object: "minecraft:flower_default"; Not a JSON object: "minecraft:glow_lichen"; Not a JSON object: "minecraft:forest_flower_vegetation"; Not a JSON object: "vanillaenhancer:sakura_trunk" I don't know which class or json file I need to show you to help you with my problem
August 18, 20214 yr create a new thread and post more details (the feature class if you create a custom one, the ConfiguredFeature, were you register the ConfiguredFeature and your Biome) Edited August 18, 20214 yr by Luis_ST
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.