diff --git a/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java b/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java index 0ebbcb0f..3e7ce7cd 100644 --- a/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java +++ b/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java @@ -30,10 +30,7 @@ import com.google.common.collect.Multimap; import thaumcraft.api.items.IGoggles; import thaumcraft.api.items.IRevealer; -@Optional.InterfaceList({ - @Optional.Interface(iface = "thaumcraft.api.items.IRevealer", modid = "Thaumcraft"), - @Optional.Interface(iface = "thaumcraft.api.items.IGoggles", modid = "Thaumcraft") -}) +@Optional.InterfaceList({ @Optional.Interface(iface = "thaumcraft.api.items.IRevealer", modid = "Thaumcraft"), @Optional.Interface(iface = "thaumcraft.api.items.IGoggles", modid = "Thaumcraft") }) public class ItemLivingArmour extends ItemArmor implements ISpecialArmor, IRevealer, IGoggles { public static String[] names = { "helmet", "chest", "legs", "boots" }; diff --git a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java index e993c9f9..bb7631a1 100644 --- a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java +++ b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmour.java @@ -241,8 +241,10 @@ public class LivingArmour implements ILivingArmour writeToNBT(tag, true); } - public static boolean hasFullSet(EntityPlayer player) { - for (int slot = 0; slot < player.inventory.armorInventory.length; slot++) { + public static boolean hasFullSet(EntityPlayer player) + { + for (int slot = 0; slot < player.inventory.armorInventory.length; slot++) + { ItemStack slotStack = player.inventory.armorItemInSlot(slot); if (slotStack == null || !(slotStack.getItem() instanceof ItemLivingArmour)) return false; diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java b/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java index 065f9f54..522e5085 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java @@ -16,6 +16,7 @@ public class ModArmourTrackers LivingArmourHandler.registerStatTracker(StatTrackerPhysicalProtect.class); LivingArmourHandler.registerStatTracker(StatTrackerHealthboost.class); LivingArmourHandler.registerStatTracker(StatTrackerMeleeDamage.class); + LivingArmourHandler.registerStatTracker(StatTrackerArrowShot.class); LivingArmourHandler.registerArmourUpgrade(new LivingArmourUpgradeSpeed(0)); LivingArmourHandler.registerArmourUpgrade(new LivingArmourUpgradeDigging(0)); diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java index 7d135143..4b4488a3 100644 --- a/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java +++ b/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java @@ -3,13 +3,7 @@ package WayofTime.bloodmagic.util.handler; import java.util.List; import java.util.Random; -import WayofTime.bloodmagic.api.event.ItemBindEvent; -import WayofTime.bloodmagic.api.iface.IBindable; -import WayofTime.bloodmagic.api.util.helper.BindableHelper; -import WayofTime.bloodmagic.api.util.helper.NBTHelper; -import com.google.common.base.Strings; import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; @@ -30,7 +24,11 @@ import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingDropsEvent; import net.minecraftforge.event.entity.living.LivingHealEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; -import net.minecraftforge.event.entity.player.*; +import net.minecraftforge.event.entity.player.ArrowLooseEvent; +import net.minecraftforge.event.entity.player.EntityItemPickupEvent; +import net.minecraftforge.event.entity.player.FillBucketEvent; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.fml.client.event.ConfigChangedEvent; import net.minecraftforge.fml.common.eventhandler.Event; @@ -39,12 +37,16 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import WayofTime.bloodmagic.ConfigHandler; import WayofTime.bloodmagic.api.BloodMagicAPI; import WayofTime.bloodmagic.api.Constants; +import WayofTime.bloodmagic.api.event.ItemBindEvent; import WayofTime.bloodmagic.api.event.SacrificeKnifeUsedEvent; import WayofTime.bloodmagic.api.event.TeleposeEvent; +import WayofTime.bloodmagic.api.iface.IBindable; import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade; import WayofTime.bloodmagic.api.soul.IDemonWill; import WayofTime.bloodmagic.api.soul.IDemonWillWeapon; import WayofTime.bloodmagic.api.soul.PlayerDemonWillHandler; +import WayofTime.bloodmagic.api.util.helper.BindableHelper; +import WayofTime.bloodmagic.api.util.helper.NBTHelper; import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import WayofTime.bloodmagic.block.BlockAltar; import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow; @@ -68,6 +70,8 @@ import WayofTime.bloodmagic.util.ChatUtil; import WayofTime.bloodmagic.util.Utils; import WayofTime.bloodmagic.util.helper.TextHelper; +import com.google.common.base.Strings; + public class EventHandler { Random random = new Random(); @@ -289,7 +293,7 @@ public class EventHandler { float amount = Math.min(Utils.getModifiedDamage(attackedPlayer, event.source, event.ammount), attackedPlayer.getHealth()); ItemStack chestStack = attackedPlayer.getCurrentArmor(2); - LivingArmour armour = ItemLivingArmour.getLivingArmour(chestStack); + LivingArmour armour = ItemLivingArmour.armourMap.get(chestStack); if (armour != null) { if (sourceEntity != null && !source.isMagicDamage()) @@ -316,7 +320,7 @@ public class EventHandler { float amount = Math.min(Utils.getModifiedDamage(attackedEntity, event.source, event.ammount), attackedEntity.getHealth()); ItemStack chestStack = player.getCurrentArmor(2); - LivingArmour armour = ItemLivingArmour.getLivingArmour(chestStack); + LivingArmour armour = ItemLivingArmour.armourMap.get(chestStack); if (armour != null) { if (!source.isProjectile()) @@ -338,7 +342,7 @@ public class EventHandler if (LivingArmour.hasFullSet(player)) { ItemStack chestStack = player.getCurrentArmor(2); - LivingArmour armour = ItemLivingArmour.getLivingArmour(chestStack); + LivingArmour armour = ItemLivingArmour.armourMap.get(chestStack); if (armour != null) { StatTrackerArrowShot.incrementCounter(armour);