From 080a4c21172a4015418b92bac9f70332a4a1cf75 Mon Sep 17 00:00:00 2001 From: Blood-Asp Date: Sat, 25 Jul 2015 18:34:52 +0200 Subject: V5.08.25 --- .../GT_MetaTileEntity_BasicBatteryBuffer.java | 69 ++++++++++++++++++++++ .../GT_MetaTileEntity_BasicMachine.java | 8 ++- 2 files changed, 76 insertions(+), 1 deletion(-) (limited to 'main/java/gregtech/api/metatileentity') diff --git a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java index 7d8264d94a..63cd01f54d 100644 --- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java +++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java @@ -1,12 +1,16 @@ package gregtech.api.metatileentity.implementations; import static gregtech.api.enums.GT_Values.V; +import ic2.api.item.IElectricItem; +import gregtech.api.enums.ItemList; import gregtech.api.enums.Textures; import gregtech.api.gui.*; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.items.GT_MetaBase_Item; import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Utility; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; @@ -133,11 +137,76 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier @Override public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + if(GT_ModHandler.isElectricItem(aStack)&&aStack.getUnlocalizedName().startsWith("gt.metaitem.01.")){ + String name = aStack.getUnlocalizedName(); + if(name.equals("gt.metaitem.01.32510")|| + name.equals("gt.metaitem.01.32511")|| + name.equals("gt.metaitem.01.32520")|| + name.equals("gt.metaitem.01.32521")|| + name.equals("gt.metaitem.01.32530")|| + name.equals("gt.metaitem.01.32531")){ + return true;} + } return false; } @Override public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { + if(!GT_Utility.isStackValid(aStack)){ + return false; + } + if(GT_ModHandler.isElectricItem(aStack, this.mTier)){ + return true; + } return false; } + + public long[] getStoredEnergy(){ + long tScale = getBaseMetaTileEntity().getEUCapacity(); + long tStored = getBaseMetaTileEntity().getStoredEU(); + if(mInventory!=null){ + for(ItemStack aStack : mInventory){ + if (GT_ModHandler.isElectricItem(aStack)) { + + if(aStack.getItem() instanceof GT_MetaBase_Item){ + Long[] stats = ((GT_MetaBase_Item)aStack.getItem()).getElectricStats(aStack); + if(stats!=null){ + tScale = tScale + stats[0]; + tStored = tStored + ((GT_MetaBase_Item)aStack.getItem()).getRealCharge(aStack); + } + }else if(aStack.getItem() instanceof IElectricItem){ + tStored = tStored + (long)ic2.api.item.ElectricItem.manager.getCharge(aStack); + tScale = tScale + (long)((IElectricItem)aStack.getItem()).getMaxCharge(aStack); + } + } + } + + } + return new long[] {tStored,tScale}; + } + + private long count=0; + private long mStored=0; + private long mMax=0; + + @Override + public String[] getInfoData() { + count++; + if(mMax==0||count%20==0){ + long[] tmp = getStoredEnergy(); + mStored=tmp[0]; + mMax=tmp[1]; + } + + return new String[] { + getMetaName(), + "Stored Items:", + Long.toString(mStored), + Long.toString(mMax)}; + } + + @Override + public boolean isGivingInformation() { + return true; + } } \ No newline at end of file diff --git a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java index 97b2c2f9f0..b0cba5024c 100644 --- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java +++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java @@ -467,7 +467,13 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B @Override public String[] getInfoData() { - return new String[] {"Progress:", (mProgresstime/20)+" secs", (mMaxProgresstime/20)+" secs"}; + return new String[] { + mNEIName, + "Progress:", (mProgresstime/20)+" secs", + (mMaxProgresstime/20)+" secs", + "Stored Energy:", + getBaseMetaTileEntity().getStoredEU()+"EU", + getBaseMetaTileEntity().getEUCapacity()+"EU"}; } @Override -- cgit