I try to let the crop rot when ripe for a period of time after not harvesting
Now I have a problem, CropGrowEvent does not seem to include bone meal ripening
So I want to know if there are any event where crops are bone meal ripening?
here my script
const $CropBlock = Java.loadClass("net.minecraft.world.level.block.CropBlock")
const $CocoaBlock = Java.loadClass("net.minecraft.world.level.block.CocoaBlock")
const $BerryBlock = Java.loadClass("net.minecraft.world.level.block.SweetBerryBushBlock")
global.CropGrowEvent = (event) => {
const { level, pos } = event
const block = level.getBlock(pos)
if (
(block.hasTag("minecraft:crops") && event.getState().getValue($CropBlock.AGE) == $CropBlock.MAX_AGE) ||
(block.id == "minecraft:cocoa" && event.getState().getValue($CocoaBlock.AGE) == $CocoaBlock.MAX_AGE) ||
(block.id == "minecraft:sweet_berry_bush" && event.getState().getValue($BerryBlock.AGE) == $BerryBlock.MAX_AGE)
) {
level.server.scheduleInTicks(100, () => {
block.set("air")
})
}
}
ForgeEvents.onEvent("net.minecraftforge.event.level.BlockEvent$CropGrowEvent$Post", global.CropGrowEvent)