First steps for armor sets.

This commit is contained in:
Lizbeth Rika committed 2015-01-28 21:04:51 +00:00
1 parent e02179404a
commit 4a050b150f
2 files changed
+79

No files matched your search

@@ -10,6 +10,9 @@
*/
package vazkii.botania.common.item.equipment.armor.manasteel;
import java.util.List;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@@ -18,6 +21,8 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.ISpecialArmor;
import vazkii.botania.api.BotaniaAPI;
@@ -104,5 +109,74 @@ public class ItemManasteelArmor extends ItemArmor implements ISpecialArmor, IMan
public boolean usesMana(ItemStack stack) {
return true;
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean adv) {
if(GuiScreen.isShiftKeyDown()) {
addStringToTooltip(getArmorSetTitle(player), list);
addArmorSetDescription(list);
ItemStack[] stacks = getArmorSetStacks();
for(int i = 0; i < stacks.length; i++)
addStringToTooltip((hasArmorSetItem(player, i) ? EnumChatFormatting.GREEN : "") + " - " + stacks[i].getDisplayName(), list);
} else addStringToTooltip(StatCollector.translateToLocal("botaniamisc.shiftinfo"), list);
}
public void addStringToTooltip(String s, List<String> tooltip) {
tooltip.add(s.replaceAll("&", "\u00a7"));
}
static ItemStack[] armorset;
public ItemStack[] getArmorSetStacks() {
if(armorset == null)
armorset = new ItemStack[] {
new ItemStack(ModItems.manasteelHelm),
new ItemStack(ModItems.manasteelChest),
new ItemStack(ModItems.manasteelLegs),
new ItemStack(ModItems.manasteelBoots)
};
return armorset;
}
public boolean hasArmorSet(EntityPlayer player) {
return hasArmorSetItem(player, 0) && hasArmorSetItem(player, 1) && hasArmorSetItem(player, 2) && hasArmorSetItem(player, 3);
}
public boolean hasArmorSetItem(EntityPlayer player, int i) {
ItemStack stack = player.inventory.armorInventory[3 - i];
if(stack == null)
return false;
switch(i) {
case 0: return stack.getItem() == ModItems.manasteelHelm || stack.getItem() == ModItems.manasteelHelmRevealing;
case 1: return stack.getItem() == ModItems.manasteelChest;
case 2: return stack.getItem() == ModItems.manasteelLegs;
case 3: return stack.getItem() == ModItems.manasteelBoots;
}
return false;
}
public int getSetPiecesEquipped(EntityPlayer player) {
int pieces = 0;
for(int i = 0; i < 4; i++)
if(hasArmorSetItem(player, i))
pieces++;
return pieces;
}
public String getArmorSetName() {
return StatCollector.translateToLocal("botania.armorset.manasteel.name");
}
public String getArmorSetTitle(EntityPlayer player) {
return StatCollector.translateToLocal("botaniamisc.armorset") + " " + getArmorSetName() + " (" + getSetPiecesEquipped(player) + "/" + getArmorSetStacks().length + ")";
}
public void addArmorSetDescription(List<String> list) {
addStringToTooltip(StatCollector.translateToLocal("botania.armorset.manasteel.desc"), list);
}
}