diff --git a/src/main/java/appeng/client/gui/implementations/GuiMEMonitorable.java b/src/main/java/appeng/client/gui/implementations/GuiMEMonitorable.java index 7c6c90622..974917388 100644 --- a/src/main/java/appeng/client/gui/implementations/GuiMEMonitorable.java +++ b/src/main/java/appeng/client/gui/implementations/GuiMEMonitorable.java @@ -169,7 +169,16 @@ public class GuiMEMonitorable extends AEBaseME this.maxRows = this.getMaxRows(); TerminalStyle terminalStyle = (TerminalStyle) AEConfig.instance().getConfigManager().getSetting(Settings.TERMINAL_STYLE); - this.perRow = terminalStyle != TerminalStyle.FULL ? 9 : 9 + ( ( this.width - this.standardSize ) / 18 ); + + if( terminalStyle != TerminalStyle.FULL ) + { + this.perRow = 9; + } + else + { + this.perRow = 9 + ( ( this.width - this.standardSize ) / 18 ); + } + this.xSize = this.standardSize + ( ( this.perRow - 9 ) * 18 ); final int magicNumber = 114 + 1; final int extraSpace = this.height - magicNumber - this.reservedSpace; @@ -185,6 +194,9 @@ public class GuiMEMonitorable extends AEBaseME this.rows = 3; } + // Size the container according to the number of rows we decided to have + this.ySize = magicNumber + this.rows * 18 + this.reservedSpace; + this.getMeSlots().clear(); for( int y = 0; y < this.rows; y++ ) { @@ -194,25 +206,12 @@ public class GuiMEMonitorable extends AEBaseME } } - if( terminalStyle != TerminalStyle.FULL ) - { - this.xSize = this.standardSize + ( ( this.perRow - 9 ) * 18 ); - } - else - { - this.xSize = this.standardSize; - } super.init(); // full size : 204 // extra slots : 72 // slot 18 - this.ySize = magicNumber + this.rows * 18 + this.reservedSpace; - // this.guiTop = top; - final int unusedSpace = this.height - this.ySize; - this.guiTop = (int) Math.floor( unusedSpace / ( unusedSpace < 0 ? 3.8f : 2.0f ) ); - int offset = this.guiTop + 8; if( this.customSortOrder ) @@ -342,20 +341,20 @@ public class GuiMEMonitorable extends AEBaseME this.bindTexture( this.getBackground() ); final int x_width = 197; - GuiUtils.drawTexturedModalRect( offsetX, offsetY, 0, 0, x_width, 18, getBlitOffset() ); + blit( offsetX, offsetY, 0, 0, x_width, 18 ); if( this.viewCell || ( this instanceof GuiSecurityStation ) ) { - GuiUtils.drawTexturedModalRect( offsetX + x_width, offsetY, x_width, 0, 46, 128, getBlitOffset() ); + blit( offsetX + x_width, offsetY, x_width, 0, 46, 128 ); } for( int x = 0; x < this.rows; x++ ) { - GuiUtils.drawTexturedModalRect( offsetX, offsetY + 18 + x * 18, 0, 18, x_width, 18, getBlitOffset() ); + blit( offsetX, offsetY + 18 + x * 18, 0, 18, x_width, 18 ); } - GuiUtils.drawTexturedModalRect( offsetX, offsetY + 16 + this.rows * 18 + this.lowerTextureOffset, 0, 106 - 18 - 18, x_width, - 99 + this.reservedSpace - this.lowerTextureOffset, getBlitOffset() ); + blit( offsetX, offsetY + 16 + this.rows * 18 + this.lowerTextureOffset, 0, 106 - 18 - 18, x_width, + 99 + this.reservedSpace - this.lowerTextureOffset ); if( this.viewCell ) { @@ -558,6 +557,7 @@ public class GuiMEMonitorable extends AEBaseME private void reinitalize() { + this.children.removeAll(this.buttons); this.buttons.clear(); this.init(); } diff --git a/src/main/java/appeng/client/gui/widgets/GuiSettingToggleButton.java b/src/main/java/appeng/client/gui/widgets/GuiSettingToggleButton.java index 36521d2ab..5cd10771c 100644 --- a/src/main/java/appeng/client/gui/widgets/GuiSettingToggleButton.java +++ b/src/main/java/appeng/client/gui/widgets/GuiSettingToggleButton.java @@ -62,6 +62,7 @@ public class GuiSettingToggleButton> extends GuiIconButton // Build a list of values (in order) that are valid w.r.t. the given predicate EnumSet validValues = EnumSet.allOf(val.getDeclaringClass()); validValues.removeIf(isValidValue.negate()); + validValues.removeIf(s -> !setting.getPossibleValues().contains(s)); this.validValues = validValues; this.buttonSetting = setting; diff --git a/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java b/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java index c72a58d39..8e685a0f1 100644 --- a/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java +++ b/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java @@ -65,7 +65,7 @@ public class GuiToggleButton extends Button implements ITooltip RenderSystem.color4f( 1.0f, 1.0f, 1.0f, 1.0f ); Minecraft.getInstance().textureManager.bindTexture( TEXTURE_STATES ); - final int uv_y = (int) Math.floor( iconIndex / 16 ); + final int uv_y = iconIndex / 16; final int uv_x = iconIndex - uv_y * 16; GuiUtils.drawTexturedModalRect( this.x, this.y, 256 - 16, 256 - 16, 16, 16, 0 );