package matteroverdrive.items; import matteroverdrive.api.matter.IMatterItem; import matteroverdrive.api.matter.IRecyclable; import matteroverdrive.init.MatterOverdriveItems; import matteroverdrive.items.includes.MOBaseItem; import matteroverdrive.util.MatterHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import java.util.List; public class MatterDust extends MOBaseItem implements IRecyclable, IMatterItem { boolean isRefined; public MatterDust(String name,boolean refined) { super(name); isRefined = refined; } public void addDetails(ItemStack itemstack, EntityPlayer player, List infos) { super.addDetails(itemstack,player,infos); if (!isRefined) { infos.add(EnumChatFormatting.BLUE + "Potential Matter: " + MatterHelper.formatMatter(itemstack.getItemDamage())); } } public int getDamage(ItemStack stack) { TagCompountCheck(stack); return stack.getTagCompound().getInteger("Matter"); } public void setMatter(ItemStack itemStack,int matter) { TagCompountCheck(itemStack); itemStack.getTagCompound().setInteger("Matter",matter); } @Override public boolean hasDetails(ItemStack itemStack) { return !isRefined; } @Override public ItemStack getOutput(ItemStack from) { ItemStack newItemStack = new ItemStack(MatterOverdriveItems.matter_dust_refined); MatterOverdriveItems.matter_dust_refined.setMatter(newItemStack,from.getItemDamage()); return newItemStack; } @Override public int getRecycleMatter(ItemStack stack) { return stack.getItemDamage(); } @Override public boolean canRecycle(ItemStack stack) { if (stack.getItem() instanceof MatterDust) { return !((MatterDust) stack.getItem()).isRefined; } return false; } @Override public int getMatter(ItemStack itemStack) { if (itemStack.getItem() instanceof MatterDust && ((MatterDust) itemStack.getItem()).isRefined) { return itemStack.getItemDamage(); } return 0; } }