Hello! I'm porting my custom farmland block to Fabric (from NeoForge) and I noticed that by default crops (as defined in CropBlock) can't be placed and don't grow on any Child class of FarmBlock.
After checking the source, it's obviously because CropBlock.mayPlaceOn() and CropBlock.getGrowthSpeed() don't check for instanceof net.minecraft.world.level.block.FarmBlock like it does on NeoForge, but rather check if the BlockState itself is Blocks.FARMLAND through blockState.is(Blocks.FARMLAND).
What is the most correct way, then, to ensure crops can grow correctly on my own Farmland? (In order of what I think is most correct to least):
- Mixin into
CropBlock, replacing these individual lines with properinstanceofchecks? (I'd like to avoid Mixin if possible) Naively @Override(edit-- this doesn't make any sense. I don't have a child class of CropBlock, I have a child of FarmBlock.)getGrowthSpeed()andmayPlaceOn()in my Child class? (Duplicating code like this is bad, and also isn't compatible with other mods)
Let me know if I am missing something obvious! I am new to the Fabric ecosystem so I'd appreciate some patience if I said something completely off-base. Thanks!

