aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/detrav/events/DetravCraftingEventHandler.java
diff options
context:
space:
mode:
authorDetrav <witalyezep@gmail.com>2016-10-02 20:52:09 +0300
committerDetrav <witalyezep@gmail.com>2016-10-02 20:52:09 +0300
commit50b1a61db43acb9e50506119a5a3861affa5a414 (patch)
tree45c6f01280d1b92a086f21054bcdafea0e01e5c8 /src/main/java/com/detrav/events/DetravCraftingEventHandler.java
parent2c6380276338c912a44697aa183028e655e8b01c (diff)
downloadGT5-Unofficial-50b1a61db43acb9e50506119a5a3861affa5a414.tar.gz
GT5-Unofficial-50b1a61db43acb9e50506119a5a3861affa5a414.tar.bz2
GT5-Unofficial-50b1a61db43acb9e50506119a5a3861affa5a414.zip
WTF!!!
Diffstat (limited to 'src/main/java/com/detrav/events/DetravCraftingEventHandler.java')
-rw-r--r--src/main/java/com/detrav/events/DetravCraftingEventHandler.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/main/java/com/detrav/events/DetravCraftingEventHandler.java b/src/main/java/com/detrav/events/DetravCraftingEventHandler.java
new file mode 100644
index 0000000000..0350b9b7b7
--- /dev/null
+++ b/src/main/java/com/detrav/events/DetravCraftingEventHandler.java
@@ -0,0 +1,46 @@
+package com.detrav.events;
+
+import com.detrav.utils.DetravRepairRecipe;
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.inventory.InventoryCrafting;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.MinecraftForge;
+
+/**
+ * Created by Detrav on 02.10.2016.
+ */
+public class DetravCraftingEventHandler {
+ @SubscribeEvent
+ public void onCrafting(PlayerEvent.ItemCraftedEvent e) {
+ if(DetravRepairRecipe.INSTANCE == null) return;
+ if(!(e.craftMatrix instanceof InventoryCrafting)) return;
+ if(DetravRepairRecipe.INSTANCE.matches((InventoryCrafting) e.craftMatrix,null))
+ {
+ if(!GT_Utility.areStacksEqual(e.crafting, e.craftMatrix.getStackInSlot(4),true)) return;
+ for(int i =0; i<e.craftMatrix.getSizeInventory(); i++) {
+ ItemStack stack = e.craftMatrix.getStackInSlot(i);
+ if(stack == null) continue;
+ if (stack.stackSize < 2)
+ e.craftMatrix.setInventorySlotContents(i, null);
+ else {
+ //stack.stackSize -= 1;
+ //e.craftMatrix.setInventorySlotContents(i,stack);
+ }
+ }
+ }
+ }
+
+ static boolean inited = false;
+
+ public static void register() {
+ if (!inited) {
+ inited = true;
+ DetravCraftingEventHandler handler = new DetravCraftingEventHandler();
+ MinecraftForge.EVENT_BUS.register(handler);
+ FMLCommonHandler.instance().bus().register(handler);
+ }
+ }
+}