From 8d2ea249acf9991c7e42dfe7e21aeb5e86b54b84 Mon Sep 17 00:00:00 2001 From: WayofTime Date: Tue, 27 Sep 2016 17:15:24 -0400 Subject: [PATCH] Added the Quenched Living Armour Downgrade. --- .../LivingArmourUpgradeCrippledArm.java | 2 +- .../LivingArmourUpgradeQuenched.java | 58 +++++++++++++++++++ .../registry/ModArmourTrackers.java | 2 + .../handler/event/LivingArmourHandler.java | 26 +++++++-- .../assets/bloodmagic/lang/en_US.lang | 1 + 5 files changed, 83 insertions(+), 6 deletions(-) create mode 100644 src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeQuenched.java diff --git a/src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeCrippledArm.java b/src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeCrippledArm.java index 0ce820e5..c42d6dfd 100644 --- a/src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeCrippledArm.java +++ b/src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeCrippledArm.java @@ -9,7 +9,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade; public class LivingArmourUpgradeCrippledArm extends LivingArmourUpgrade { - public static final int[] costs = new int[] { -50 }; + public static final int[] costs = new int[] { -150 }; public LivingArmourUpgradeCrippledArm(int level) { diff --git a/src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeQuenched.java b/src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeQuenched.java new file mode 100644 index 00000000..a163ae7f --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/livingArmour/downgrade/LivingArmourUpgradeQuenched.java @@ -0,0 +1,58 @@ +package WayofTime.bloodmagic.livingArmour.downgrade; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import WayofTime.bloodmagic.api.Constants; +import WayofTime.bloodmagic.api.livingArmour.ILivingArmour; +import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade; + +public class LivingArmourUpgradeQuenched extends LivingArmourUpgrade +{ + public static final int[] costs = new int[] { -100 }; + + public LivingArmourUpgradeQuenched(int level) + { + super(level); + } + + @Override + public void onTick(World world, EntityPlayer player, ILivingArmour livingArmour) + { + + } + + @Override + public String getUniqueIdentifier() + { + return Constants.Mod.MODID + ".upgrade.quenched"; + } + + @Override + public int getMaxTier() + { + return 1; + } + + @Override + public int getCostOfUpgrade() + { + return costs[this.level]; + } + + @Override + public void writeToNBT(NBTTagCompound tag) + { + } + + @Override + public void readFromNBT(NBTTagCompound tag) + { + } + + @Override + public String getUnlocalizedName() + { + return tooltipBase + "quenched"; + } +} \ No newline at end of file diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java b/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java index f26e8a5b..08524134 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModArmourTrackers.java @@ -3,6 +3,7 @@ package WayofTime.bloodmagic.registry; import WayofTime.bloodmagic.api.livingArmour.LivingArmourHandler; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeBattleHungry; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeCrippledArm; +import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeQuenched; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeSlippery; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeSlowness; import WayofTime.bloodmagic.livingArmour.tracker.StatTrackerArrowShot; @@ -97,5 +98,6 @@ public class ModArmourTrackers LivingArmourHandler.registerArmourUpgrade(new LivingArmourUpgradeNightSight(0)); LivingArmourHandler.registerArmourUpgrade(new LivingArmourUpgradeSlippery(0)); LivingArmourHandler.registerArmourUpgrade(new LivingArmourUpgradeBattleHungry(0)); + LivingArmourHandler.registerArmourUpgrade(new LivingArmourUpgradeQuenched(0)); } } diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/event/LivingArmourHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/event/LivingArmourHandler.java index 1c53af35..b6930110 100644 --- a/src/main/java/WayofTime/bloodmagic/util/handler/event/LivingArmourHandler.java +++ b/src/main/java/WayofTime/bloodmagic/util/handler/event/LivingArmourHandler.java @@ -6,6 +6,7 @@ import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.init.Enchantments; import net.minecraft.init.Items; import net.minecraft.inventory.EntityEquipmentSlot; +import net.minecraft.item.EnumAction; import net.minecraft.item.ItemArrow; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumHand; @@ -23,6 +24,7 @@ import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade; import WayofTime.bloodmagic.item.armour.ItemLivingArmour; import WayofTime.bloodmagic.livingArmour.LivingArmour; import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeCrippledArm; +import WayofTime.bloodmagic.livingArmour.downgrade.LivingArmourUpgradeQuenched; import WayofTime.bloodmagic.livingArmour.tracker.StatTrackerArrowShot; import WayofTime.bloodmagic.livingArmour.tracker.StatTrackerGrimReaperSprint; import WayofTime.bloodmagic.livingArmour.tracker.StatTrackerJump; @@ -39,7 +41,7 @@ public class LivingArmourHandler @SubscribeEvent public void onPlayerClick(PlayerInteractEvent event) { - if (event.isCancelable() && event.getHand() == EnumHand.OFF_HAND) + if (event.isCancelable()) { EntityPlayer player = event.getEntityPlayer(); @@ -49,11 +51,25 @@ public class LivingArmourHandler LivingArmour armour = ItemLivingArmour.getLivingArmour(chestStack); if (armour != null) { - LivingArmourUpgrade upgrade = ItemLivingArmour.getUpgrade(Constants.Mod.MODID + ".upgrade.crippledArm", chestStack); - - if (upgrade instanceof LivingArmourUpgradeCrippledArm) + if (event.getHand() == EnumHand.OFF_HAND) { - event.setCanceled(true); + LivingArmourUpgrade upgrade = ItemLivingArmour.getUpgrade(Constants.Mod.MODID + ".upgrade.crippledArm", chestStack); + + if (upgrade instanceof LivingArmourUpgradeCrippledArm) + { + event.setCanceled(true); + } + } + + if (event.getItemStack().getItemUseAction() == EnumAction.DRINK) + { + //TODO: See if the item is a splash potion? Those should be usable. + LivingArmourUpgrade upgrade = ItemLivingArmour.getUpgrade(Constants.Mod.MODID + ".upgrade.quenched", chestStack); + + if (upgrade instanceof LivingArmourUpgradeQuenched) + { + event.setCanceled(true); + } } } } diff --git a/src/main/resources/assets/bloodmagic/lang/en_US.lang b/src/main/resources/assets/bloodmagic/lang/en_US.lang index 2dce48c7..880e3810 100644 --- a/src/main/resources/assets/bloodmagic/lang/en_US.lang +++ b/src/main/resources/assets/bloodmagic/lang/en_US.lang @@ -492,6 +492,7 @@ tooltip.BloodMagic.livingArmour.upgrade.slowness=Limp Leg tooltip.BloodMagic.livingArmour.upgrade.crippledArm=Crippled Arm tooltip.BloodMagic.livingArmour.upgrade.slippery=Loose Traction tooltip.BloodMagic.livingArmour.upgrade.battleHunger=Battle Hungry +tooltip.BloodMagic.livingArmour.upgrade.quenched=Quenched tooltip.BloodMagic.livingArmour.upgrade.level=%s (Level %d) tooltip.BloodMagic.livingArmour.upgrade.progress=%s (%d/100) tooltip.BloodMagic.livingArmour.upgrade.points=&6Upgrade points: %s / %s