From dceec1575088fb6db524eaa5cd9175aefcace0c3 Mon Sep 17 00:00:00 2001 From: WayofTime Date: Tue, 5 Jan 2016 11:12:56 -0500 Subject: [PATCH] Added the unlocalized name to upgrades, and changed it so the armour lists the upgrades. --- .../api/livingArmour/LivingArmourUpgrade.java | 3 ++ .../item/armour/ItemLivingArmour.java | 47 ++++++++++++++++++- .../LivingArmourUpgradeDigging.java | 6 +++ .../LivingArmourUpgradePoisonResist.java | 6 +++ .../LivingArmourUpgradeSpeed.java | 6 +++ .../assets/bloodmagic/lang/en_US.lang | 5 ++ 6 files changed, 72 insertions(+), 1 deletion(-) diff --git a/src/main/java/WayofTime/bloodmagic/api/livingArmour/LivingArmourUpgrade.java b/src/main/java/WayofTime/bloodmagic/api/livingArmour/LivingArmourUpgrade.java index cd73d8bf..bbe1413c 100644 --- a/src/main/java/WayofTime/bloodmagic/api/livingArmour/LivingArmourUpgrade.java +++ b/src/main/java/WayofTime/bloodmagic/api/livingArmour/LivingArmourUpgrade.java @@ -12,6 +12,7 @@ import com.google.common.collect.Multimap; public abstract class LivingArmourUpgrade { public static String chatBase = "chat.BloodMagic.livingArmour.upgrade."; + public static String tooltipBase = "tooltip.BloodMagic.livingArmour.upgrade."; /** * Upgrade level 0 is the first upgrade. Upgrade goes from 0 to getMaxTier() @@ -39,6 +40,8 @@ public abstract class LivingArmourUpgrade public abstract String getUniqueIdentifier(); + public abstract String getUnlocalizedName(); + /** * @return */ diff --git a/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java b/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java index 4404cc56..eff7eb02 100644 --- a/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java +++ b/src/main/java/WayofTime/bloodmagic/item/armour/ItemLivingArmour.java @@ -1,7 +1,9 @@ package WayofTime.bloodmagic.item.armour; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.Map.Entry; import net.minecraft.entity.Entity; import net.minecraft.entity.ai.attributes.AttributeModifier; @@ -10,10 +12,14 @@ import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import WayofTime.bloodmagic.BloodMagic; import WayofTime.bloodmagic.api.Constants; +import WayofTime.bloodmagic.api.livingArmour.LivingArmourUpgrade; import WayofTime.bloodmagic.livingArmour.LivingArmour; import WayofTime.bloodmagic.registry.ModItems; +import WayofTime.bloodmagic.util.helper.TextHelper; import com.google.common.collect.Multimap; @@ -32,6 +38,26 @@ public class ItemLivingArmour extends ItemArmor setCreativeTab(BloodMagic.tabBloodMagic); } + @Override + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List tooltip, boolean advanced) + { + if (this == ModItems.livingArmourChest) + { + LivingArmour armour = this.getLivingArmour(stack); + for (Entry entry : armour.upgradeMap.entrySet()) + { + LivingArmourUpgrade upgrade = entry.getValue(); + if (upgrade != null) + { + tooltip.add(TextHelper.localize(upgrade.getUnlocalizedName()) + " " + TextHelper.localize("tooltip.BloodMagic.livingArmour.upgrade.level", (upgrade.getUpgradeLevel() + 1))); + } + } + } + + super.addInformation(stack, player, tooltip, advanced); + } + @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { @@ -103,7 +129,6 @@ public class ItemLivingArmour extends ItemArmor public void setLivingArmour(ItemStack stack, LivingArmour armour, boolean forceWrite) { - NBTTagCompound livingTag = new NBTTagCompound(); if (!forceWrite) @@ -140,4 +165,24 @@ public class ItemLivingArmour extends ItemArmor tag.setTag(Constants.NBT.LIVING_ARMOUR, livingTag); } + + public LivingArmourUpgrade getUpgrade(String uniqueIdentifier, ItemStack stack) + { + if (!armourMap.containsKey(stack)) + { + armourMap.put(stack, getLivingArmour(stack)); + } + + LivingArmour armour = armourMap.get(stack); + + for (Entry entry : armour.upgradeMap.entrySet()) + { + if (entry.getKey().equals(uniqueIdentifier)) + { + return entry.getValue(); + } + } + + return null; + } } diff --git a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradeDigging.java b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradeDigging.java index 02865df6..291956f1 100644 --- a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradeDigging.java +++ b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradeDigging.java @@ -74,4 +74,10 @@ public class LivingArmourUpgradeDigging extends LivingArmourUpgrade { // EMPTY } + + @Override + public String getUnlocalizedName() + { + return tooltipBase + "digging"; + } } diff --git a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradePoisonResist.java b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradePoisonResist.java index d7f4ea20..c5643f77 100644 --- a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradePoisonResist.java +++ b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradePoisonResist.java @@ -71,4 +71,10 @@ public class LivingArmourUpgradePoisonResist extends LivingArmourUpgrade { poisonCooldown = tag.getInteger(Constants.NBT.UPGRADE_POISON_TIMER); } + + @Override + public String getUnlocalizedName() + { + return tooltipBase + "poisonResist"; + } } \ No newline at end of file diff --git a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradeSpeed.java b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradeSpeed.java index 73b37180..7f0cce2b 100644 --- a/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradeSpeed.java +++ b/src/main/java/WayofTime/bloodmagic/livingArmour/LivingArmourUpgradeSpeed.java @@ -90,4 +90,10 @@ public class LivingArmourUpgradeSpeed extends LivingArmourUpgrade { // EMPTY } + + @Override + public String getUnlocalizedName() + { + return tooltipBase + "speed"; + } } diff --git a/src/main/resources/assets/bloodmagic/lang/en_US.lang b/src/main/resources/assets/bloodmagic/lang/en_US.lang index afa9ff5c..fc2cce2d 100644 --- a/src/main/resources/assets/bloodmagic/lang/en_US.lang +++ b/src/main/resources/assets/bloodmagic/lang/en_US.lang @@ -223,6 +223,11 @@ tooltip.BloodMagic.telepositionFocus.enhanced=Used to move blocks in the world tooltip.BloodMagic.telepositionFocus.reinforced=Used to move blocks in the world tooltip.BloodMagic.telepositionFocus.demonic=Used to move blocks in the world +tooltip.BloodMagic.livingArmour.upgrade.speed=Quick Feet +tooltip.BloodMagic.livingArmour.upgrade.digging=Dwarven Might +tooltip.BloodMagic.livingArmour.upgrade.poisonResist=Poison Resistance +tooltip.BloodMagic.livingArmour.upgrade.level=(Level %d) + # Ritual ritual.BloodMagic.testRitual=Test Ritual ritual.BloodMagic.waterRitual=Ritual of the Full Spring