aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemAirFilter.java36
1 files changed, 35 insertions, 1 deletions
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemAirFilter.java b/src/Java/gtPlusPlus/core/item/general/ItemAirFilter.java
index 03ad586c58..5193d09b00 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemAirFilter.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemAirFilter.java
@@ -7,9 +7,11 @@ import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.IIcon;
public class ItemAirFilter extends Item {
@@ -22,6 +24,7 @@ public class ItemAirFilter extends Item {
String unlocalizedName = "itemAirFilter";
this.setUnlocalizedName(unlocalizedName);
this.setCreativeTab(AddToCreativeTab.tabMisc);
+ this.setMaxStackSize(1);
GameRegistry.registerItem(this, unlocalizedName);
}
@@ -70,6 +73,15 @@ public class ItemAirFilter extends Item {
return HEX_OxFFFFFF;
}
+ private static boolean createNBT(ItemStack rStack){
+ final NBTTagCompound tagMain = new NBTTagCompound();
+ final NBTTagCompound tagNBT = new NBTTagCompound();
+ tagNBT.setLong("Damage", 0);
+ tagMain.setTag("AirFilter", tagNBT);
+ rStack.setTagCompound(tagMain);
+ return true;
+ }
+
public static final long getFilterDamage(final ItemStack aStack) {
NBTTagCompound aNBT = aStack.getTagCompound();
if (aNBT != null) {
@@ -78,6 +90,9 @@ public class ItemAirFilter extends Item {
return aNBT.getLong("Damage");
}
}
+ else {
+ createNBT(aStack);
+ }
return 0L;
}
@@ -95,7 +110,26 @@ public class ItemAirFilter extends Item {
@Override
public double getDurabilityForDisplay(ItemStack stack) {
- return (stack.getItemDamage() == 0 ? 20 : 50);
+ if (stack.getTagCompound() == null){
+ createNBT(stack);
+ }
+ double currentDamage = getFilterDamage(stack);
+ double meta = stack.getItemDamage() == 0 ? 50 : 150;
+ double durabilitypercent = currentDamage / meta;
+ return durabilitypercent;
+ }
+
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
+ list.add(EnumChatFormatting.GRAY+"An Air filter for Atmospheric Reconditioning.");
+ int maxDamage = (stack.getItemDamage() == 0 ? 50 : 150);
+ list.add(EnumChatFormatting.GRAY+""+(maxDamage-getFilterDamage(stack))+"/"+maxDamage+" uses left.");
+ super.addInformation(stack, player, list, bool);
+ }
+
+ @Override
+ public boolean showDurabilityBar(ItemStack stack) {
+ return true;
}
} \ No newline at end of file