Posted March 7, 20241 yr Hi, i made a custom crop (melon/pumpkin like plant that grows cakes) and would like to change the block it can grow on from Farmland to another one (custom block as well, a muffin block). But i cannot get it to work 100%. I tried creating my own custom SweetAttachedStemBlock and SweetStemBlock classes which extend the vanilla AttachedStemBlock and Stemblock classes. In those i have overridden the protected boolean mayPlaceOn(BlockState pState, BlockGetter pLevel, BlockPos pPos) { return pState.is(Blocks.FARMLAND); } method to protected boolean mayPlaceOn(BlockState pState, BlockGetter pLevel, BlockPos pPos) { return pState.is(Blocks.Stone); } (Stone just to try it out). And it works that i can plant my seeds on stone. But i still can plant the seeds on farmland. Is there a way to remove the possibility to plant it on a farmland? Edited March 7, 20241 yr by Sinsei Added MC version to title
March 27, 20241 yr Have you checked if you need to override Block#canSustainPlant ? It has this line of code in it: if (net.minecraftforge.common.PlantType.CROP.equals(type)) { return state.is(Blocks.FARMLAND); } which would be relevant since StemBlock.java has this in it: @Override public net.minecraftforge.common.PlantType getPlantType(BlockGetter world, BlockPos pos) { return net.minecraftforge.common.PlantType.CROP; } Edited March 27, 20241 yr by Toasterkid remove duplicate code outside of code block
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.