package net.minecraftforge.debug; import net.minecraft.util.EnumHand; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.player.BonemealEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.eventhandler.Event; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import org.apache.logging.log4j.Logger; @Mod(modid = BonemealEventTest.MODID, version = "1.0") public class BonemealEventTest { public static final String MODID = "bonemealeventtest"; private static final boolean ENABLED = false; private static Logger logger; @Mod.EventHandler public void preInit(FMLPreInitializationEvent event) { logger = event.getModLog(); if (ENABLED) { MinecraftForge.EVENT_BUS.register(BonemealEventTest.class); } } @SubscribeEvent public static void onBonemeal(BonemealEvent event) { if (event.getHand() == EnumHand.MAIN_HAND) { // If the bone meal is being used from the main hand, set the result to ALLOW to use up the bone meal without growing the crop event.setResult(Event.Result.ALLOW); logger.info("Prevented bone meal growth effect from main hand"); } else if (event.getHand() == EnumHand.OFF_HAND) { // If the bone meal is being used from the off hand, cancel the event to prevent it being used at all event.setCanceled(true); logger.info("Prevented bone meal use from off hand"); } else { // If the bone meal is being used from a dispenser or something similar, allow it logger.info("Allowed bone meal use from dispenser"); } } }