diff --git a/src/main/java/appeng/client/gui/implementations/GuiSpatialIOPort.java b/src/main/java/appeng/client/gui/implementations/GuiSpatialIOPort.java index 25b2ff9d7..65e6c4979 100644 --- a/src/main/java/appeng/client/gui/implementations/GuiSpatialIOPort.java +++ b/src/main/java/appeng/client/gui/implementations/GuiSpatialIOPort.java @@ -78,12 +78,23 @@ public class GuiSpatialIOPort extends AEBaseGui this.fontRenderer.drawString( GuiText.StoredPower.getLocal() + ": " + Platform.formatPowerLong( this.container.getCurrentPower(), false ), 13, 21, 4210752 ); this.fontRenderer.drawString( GuiText.MaxPower.getLocal() + ": " + Platform.formatPowerLong( this.container.getMaxPower(), false ), 13, 31, 4210752 ); - this.fontRenderer.drawString( GuiText.RequiredPower.getLocal() + ": " + Platform.formatPowerLong( this.container.getRequiredPower(), false ), 13, 78, + this.fontRenderer.drawString( GuiText.RequiredPower.getLocal() + ": " + Platform.formatPowerLong( this.container.getRequiredPower(), false ), 13, 73, 4210752 ); - this.fontRenderer.drawString( GuiText.Efficiency.getLocal() + ": " + ( ( (float) this.container.getEfficency() ) / 100 ) + '%', 13, 88, 4210752 ); + this.fontRenderer.drawString( GuiText.Efficiency.getLocal() + ": " + ( ( (float) this.container.getEfficency() ) / 100 ) + '%', 13, 83, 4210752 ); this.fontRenderer.drawString( this.getGuiDisplayName( GuiText.SpatialIOPort.getLocal() ), 8, 6, 4210752 ); this.fontRenderer.drawString( GuiText.inventory.getLocal(), 8, this.ySize - 96, 4210752 ); + + if( this.container.xSize != 0 && this.container.ySize != 0 && this.container.zSize != 0 ) + { + final String text = GuiText.SCSSize.getLocal() + ": " + this.container.xSize + "x" + this.container.ySize + "x" + this.container.zSize; + this.fontRenderer.drawString( text, 13, 93, 4210752 ); + } + else + { + this.fontRenderer.drawString( GuiText.SCSSize.getLocal() + ": " + GuiText.SCSSInvalid.getLocal(), 13, 93, 4210752 ); + } + } @Override diff --git a/src/main/java/appeng/container/implementations/ContainerSpatialIOPort.java b/src/main/java/appeng/container/implementations/ContainerSpatialIOPort.java index 6b8c53dbb..0926e1c4b 100644 --- a/src/main/java/appeng/container/implementations/ContainerSpatialIOPort.java +++ b/src/main/java/appeng/container/implementations/ContainerSpatialIOPort.java @@ -26,6 +26,7 @@ import appeng.api.networking.IGrid; import appeng.api.networking.energy.IEnergyGrid; import appeng.api.networking.spatial.ISpatialCache; import appeng.api.util.AEPartLocation; +import appeng.api.util.DimensionalCoord; import appeng.container.AEBaseContainer; import appeng.container.guisync.GuiSync; import appeng.container.slot.SlotOutput; @@ -48,6 +49,13 @@ public class ContainerSpatialIOPort extends AEBaseContainer private IGrid network; private int delay = 40; + @GuiSync( 31 ) + public int xSize; + @GuiSync( 32 ) + public int ySize; + @GuiSync( 33 ) + public int zSize; + public ContainerSpatialIOPort( final InventoryPlayer ip, final TileSpatialIOPort spatialIOPort ) { super( ip, spatialIOPort, null ); @@ -85,6 +93,22 @@ public class ContainerSpatialIOPort extends AEBaseContainer this.setMaxPower( (long) ( 100.0 * eg.getMaxStoredPower() ) ); this.setRequiredPower( (long) ( 100.0 * sc.requiredPower() ) ); this.setEfficency( (long) ( 100.0f * sc.currentEfficiency() ) ); + + final DimensionalCoord min = sc.getMin(); + final DimensionalCoord max = sc.getMax(); + + if( min != null && max != null && sc.isValidRegion() ) + { + this.xSize = sc.getMax().x - sc.getMin().x - 1; + this.ySize = sc.getMax().y - sc.getMin().y - 1; + this.zSize = sc.getMax().z - sc.getMin().z - 1; + } + else + { + this.xSize = 0; + this.ySize = 0; + this.zSize = 0; + } } } } diff --git a/src/main/java/appeng/core/localization/GuiText.java b/src/main/java/appeng/core/localization/GuiText.java index 1e952980e..164d6c0c1 100644 --- a/src/main/java/appeng/core/localization/GuiText.java +++ b/src/main/java/appeng/core/localization/GuiText.java @@ -114,6 +114,8 @@ public enum GuiText MaxPower, RequiredPower, Efficiency, + SCSSize, + SCSSInvalid, InWorldCrafting, inWorldFluix, diff --git a/src/main/resources/assets/appliedenergistics2/lang/en_us.lang b/src/main/resources/assets/appliedenergistics2/lang/en_us.lang index 4d66bd493..d7a156532 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/en_us.lang +++ b/src/main/resources/assets/appliedenergistics2/lang/en_us.lang @@ -117,6 +117,8 @@ gui.appliedenergistics2.security.build.tip=User can modify the physical structur gui.appliedenergistics2.security.security.tip=User can access and modify the security terminal of the network. gui.appliedenergistics2.Efficiency=Efficiency +gui.appliedenergistics2.SCSSize=SCS Size +gui.appliedenergistics2.SCSInvalid=Invalid gui.appliedenergistics2.RequiredPower=Required Power gui.appliedenergistics2.StoredPower=Stored Power gui.appliedenergistics2.MaxPower=Max Power