diff options
Diffstat (limited to 'src/main/java/gregtech/client')
-rw-r--r-- | src/main/java/gregtech/client/GTMouseEventHandler.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/java/gregtech/client/GTMouseEventHandler.java b/src/main/java/gregtech/client/GTMouseEventHandler.java new file mode 100644 index 0000000000..15112b2888 --- /dev/null +++ b/src/main/java/gregtech/client/GTMouseEventHandler.java @@ -0,0 +1,34 @@ +package gregtech.client; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityClientPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.event.MouseEvent; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.items.MetaBaseItem; + +public class GTMouseEventHandler { + + @SuppressWarnings("unused") + @SubscribeEvent + @SideOnly(Side.CLIENT) + public void onMouseEvent(MouseEvent event) { + final EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer; + + if (player == null || player.isDead) { + return; + } + + final ItemStack heldItem = player.getHeldItem(); + if (heldItem == null) { + return; + } + + if (event.button == 0 && event.buttonstate && heldItem.getItem() instanceof MetaBaseItem mbItem) { + event.setCanceled(mbItem.onLeftClick(heldItem, player)); + } + } +} |