diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFilledHand.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFilledHand.java new file mode 100644 index 00000000..b8bfd6c1 --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFilledHand.java @@ -0,0 +1,20 @@ +package WayofTime.bloodmagic.item.sigil; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import WayofTime.bloodmagic.util.handler.event.GenericHandler; + +public class ItemSigilFilledHand extends ItemSigilToggleableBase +{ + public ItemSigilFilledHand() + { + super("hand", 100); + } + + @Override + public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) + { + GenericHandler.filledHandMap.put(player, 4); + } +} diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java index 57633cad..b24b92e2 100644 --- a/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java +++ b/src/main/java/WayofTime/bloodmagic/util/handler/event/GenericHandler.java @@ -83,7 +83,8 @@ import com.google.common.base.Strings; @Handler public class GenericHandler { - public Map bounceMap = new HashMap(); + public static Map bounceMap = new HashMap(); + public static Map filledHandMap = new HashMap(); @SubscribeEvent public void onEntityFall(LivingFallEvent event) @@ -116,6 +117,21 @@ public class GenericHandler { event.player.motionY = bounceMap.remove(event.player); } + + if (event.phase == TickEvent.Phase.END) + { + if (filledHandMap.containsKey(event.player)) + { + int value = filledHandMap.get(event.player) - 1; + if (value <= 0) + { + filledHandMap.remove(event.player); + } else + { + filledHandMap.put(event.player, value); + } + } + } } @SubscribeEvent