diff options
| author | miozune <miozune@gmail.com> | 2022-12-12 15:15:43 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-12 07:15:43 +0100 |
| commit | 271b177799b1d9ba7d66c575caf4b7bccd6b9357 (patch) | |
| tree | 8eef75e928feaa3d6cddb0949921c3ef121be791 /src/main/java | |
| parent | 889d0fc3c5a1235aaac6df9be02d496078cfe44f (diff) | |
| download | GT5-Unofficial-271b177799b1d9ba7d66c575caf4b7bccd6b9357.tar.gz GT5-Unofficial-271b177799b1d9ba7d66c575caf4b7bccd6b9357.tar.bz2 GT5-Unofficial-271b177799b1d9ba7d66c575caf4b7bccd6b9357.zip | |
Rewrite GUIs with ModularUI (#110)
Diffstat (limited to 'src/main/java')
24 files changed, 345 insertions, 809 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/NeutronSensor.java b/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/NeutronSensor.java index 6a0f7d5d8f..e176e103b7 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/NeutronSensor.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/NeutronSensor.java @@ -1,10 +1,17 @@ package goodgenerator.blocks.tileEntity.GTMetaTileEntity; -import goodgenerator.client.GUI.NeutronSensorGUIClient; -import goodgenerator.common.container.NeutronSensorGUIContainer; -import goodgenerator.main.GoodGenerator; -import goodgenerator.network.MessageOpenNeutronSensorGUI; +import com.gtnewhorizons.modularui.api.drawable.Text; +import com.gtnewhorizons.modularui.api.math.Alignment; +import com.gtnewhorizons.modularui.api.math.Color; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.TextWidget; +import com.gtnewhorizons.modularui.common.widget.textfield.TextFieldWidget; +import goodgenerator.blocks.tileEntity.NeutronActivator; +import goodgenerator.util.CharExchanger; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UIInfos; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -12,10 +19,9 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.render.TextureFactory; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.StatCollector; public class NeutronSensor extends GT_MetaTileEntity_Hatch { @@ -81,29 +87,10 @@ public class NeutronSensor extends GT_MetaTileEntity_Hatch { } @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new NeutronSensorGUIClient( - aPlayerInventory, - aBaseMetaTileEntity, - GoodGenerator.MOD_ID + ":textures/gui/NeutronSensorGUI.png", - this.texts); - } - - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new NeutronSensorGUIContainer(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override public boolean onRightclick( IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, byte aSide, float aX, float aY, float aZ) { - if (aBaseMetaTileEntity.isClientSide()) return true; - if (aSide == aBaseMetaTileEntity.getFrontFacing() && aPlayer instanceof EntityPlayerMP) { - GoodGenerator.CHANNEL.sendTo( - new MessageOpenNeutronSensorGUI(aBaseMetaTileEntity, texts), (EntityPlayerMP) aPlayer); - return true; - } - return false; + GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer); + return true; } public void setText(String text) { @@ -165,4 +152,62 @@ public class NeutronSensor extends GT_MetaTileEntity_Hatch { public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { return false; } + + @Override + public boolean useModularUI() { + return true; + } + + @Override + public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { + TextFieldWidget textField = new TextFieldWidget(); + builder.widget(textField + .setGetter(this::getText) + .setSetter(this::setText) + .setValidator(str -> isValidExpression(str) + ? str + : textField.getLastText().size() > 0 + ? textField.getLastText().get(0) + : "") + .setFocusOnGuiOpen(true) + .setTextColor(Color.WHITE.dark(1)) + .setTextAlignment(Alignment.CenterLeft) + .setBackground(GT_UITextures.BACKGROUND_TEXT_FIELD.withOffset(-1, -1, 2, 2)) + .setPos(8, 48) + .setSize(100, 18)) + .widget(new TextWidget(StatCollector.translateToLocal("gui.NeutronSensor.0")) + .setDefaultColor(COLOR_TEXT_GRAY.get()) + .setTextAlignment(Alignment.CenterLeft) + .setPos(8, 8)) + .widget(new TextWidget(StatCollector.translateToLocal("gui.NeutronSensor.1")) + .setDefaultColor(COLOR_TEXT_GRAY.get()) + .setPos(8, 32)) + .widget(TextWidget.dynamicText(() -> isValidExpression(textField.getText()) + ? new Text(StatCollector.translateToLocal("gui.NeutronSensor.2")).color(0x077d02) + : new Text(StatCollector.translateToLocal("gui.NeutronSensor.3")) + .color(COLOR_TEXT_RED.get())) + .setSynced(false) + .setPos(120, 53)); + } + + private boolean isValidExpression(String exp) { + return isValidSuffix(exp) && CharExchanger.isValidCompareExpress(NeutronActivator.rawProcessExp(exp)); + } + + private boolean isValidSuffix(String exp) { + int index; + index = exp.length() - 1; + if (index < 0) return false; + if (exp.charAt(index) != 'V' && exp.charAt(index) != 'v') return false; + index = exp.length() - 2; + if (index < 0) return false; + if (exp.charAt(index) != 'E' && exp.charAt(index) != 'e') return false; + index = exp.length() - 3; + if (index < 0) return false; + return exp.charAt(index) == 'M' + || exp.charAt(index) == 'm' + || exp.charAt(index) == 'K' + || exp.charAt(index) == 'k' + || Character.isDigit(exp.charAt(index)); + } } diff --git a/src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java b/src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java index 41e4ad6124..41e715b65d 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java @@ -10,11 +10,13 @@ import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructa import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.SlotWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import goodgenerator.blocks.tileEntity.GTMetaTileEntity.NeutronAccelerator; import goodgenerator.blocks.tileEntity.GTMetaTileEntity.NeutronSensor; import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_TooltipMultiBlockBase_EM; -import goodgenerator.client.GUI.NeutronActivatorGUIClient; -import goodgenerator.common.container.NeutronActivatorGUIContainer; import goodgenerator.loader.Loaders; import goodgenerator.util.CharExchanger; import goodgenerator.util.DescTextLocalization; @@ -37,7 +39,6 @@ import ic2.core.Ic2Items; import java.util.*; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; @@ -144,16 +145,6 @@ public class NeutronActivator extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new NeutronActivatorGUIClient(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); - } - - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new NeutronActivatorGUIContainer(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override public void loadNBTData(NBTTagCompound aNBT) { eV = aNBT.getInteger("mKeV"); mCeil = aNBT.getInteger("mCeil"); @@ -341,7 +332,7 @@ public class NeutronActivator extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } } - protected String rawProcessExp(String exp) { + public static String rawProcessExp(String exp) { StringBuilder ret = new StringBuilder(); for (char c : exp.toCharArray()) { if (exp.length() - ret.length() == 3) { @@ -447,6 +438,33 @@ public class NeutronActivator extends GT_MetaTileEntity_TooltipMultiBlockBase_EM casingAmount++; } + @Override + protected void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) { + super.drawTexts(screenElements, inventorySlot); + + screenElements + .widget(new TextWidget(StatCollector.translateToLocal("gui.NeutronActivator.0")) + .setDefaultColor(COLOR_TEXT_WHITE.get())) + .widget(TextWidget.dynamicString(() -> processNumber(eV) + "eV") + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setEnabled(widget -> getBaseMetaTileEntity().getErrorDisplayID() == 0)) + .widget(new FakeSyncWidget.IntegerSyncer(() -> eV, val -> eV = val)); + } + + private String processNumber(int num) { + float num2; + num2 = ((float) num) / 1000F; + if (num2 <= 0) { + return String.format("%d", num); + } + if (num2 < 1000.0) { + return String.format("%.1fK", num2); + } + num2 /= 1000F; + return String.format("%.1fM", num2); + } + private enum NeutronHatchElement implements IHatchElement<NeutronActivator> { NeutronSensor(NeutronActivator::addAcceleratorAndSensor, NeutronSensor.class) { @Override diff --git a/src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java b/src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java index e05978b8aa..ab60660002 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java @@ -8,10 +8,12 @@ import com.github.bartimaeusnek.bartworks.API.BorosilicateGlass; import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.*; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.SlotWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import goodgenerator.blocks.tileEntity.GTMetaTileEntity.YOTTAHatch; import goodgenerator.blocks.tileEntity.base.GT_MetaTileEntity_TooltipMultiBlockBase_EM; -import goodgenerator.client.GUI.YOTTankGUIClient; -import goodgenerator.common.container.YOTTankGUIContainer; import goodgenerator.loader.Loaders; import goodgenerator.util.CharExchanger; import goodgenerator.util.DescTextLocalization; @@ -32,7 +34,6 @@ import java.util.ArrayList; import java.util.List; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ChatComponentTranslation; @@ -345,16 +346,6 @@ public class YottaFluidTank extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new YOTTankGUIClient(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); - } - - @Override - public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new YOTTankGUIContainer(aPlayerInventory, aBaseMetaTileEntity); - } - - @Override public boolean onRunningTick(ItemStack aStack) { super.onRunningTick(aStack); if (this.getBaseMetaTileEntity().isServerSide()) { @@ -488,4 +479,29 @@ public class YottaFluidTank extends GT_MetaTileEntity_TooltipMultiBlockBase_EM } return built; } + + @Override + protected void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) { + super.drawTexts(screenElements, inventorySlot); + + screenElements + .widget(TextWidget.dynamicString(() -> StatCollector.translateToLocal("gui.YOTTank.0") + " " + + CharExchanger.formatNumber(mStorage.toString()) + " L") + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setEnabled(widget -> getBaseMetaTileEntity().getErrorDisplayID() == 0)) + .widget(new FakeSyncWidget.BigIntegerSyncer(() -> mStorage, val -> mStorage = val)) + .widget(TextWidget.dynamicString( + () -> StatCollector.translateToLocal("gui.YOTTank.1") + " " + getFluidName()) + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setEnabled(widget -> getBaseMetaTileEntity().getErrorDisplayID() == 0)) + .widget(new FakeSyncWidget.StringSyncer(() -> mFluidName, val -> mFluidName = val)) + .widget(TextWidget.dynamicString(() -> StatCollector.translateToLocal("gui.YOTTank.2") + " " + + CharExchanger.formatNumber(mStorageCurrent.toString()) + " L") + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setEnabled(widget -> getBaseMetaTileEntity().getErrorDisplayID() == 0)) + .widget(new FakeSyncWidget.BigIntegerSyncer(() -> mStorageCurrent, val -> mStorageCurrent = val)); + } } diff --git a/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java index 2ae630eef7..0e44718e9e 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/base/GT_MetaTileEntity_LargeTurbineBase.java @@ -13,7 +13,6 @@ import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.IStructureElementCheckOnly; import com.gtnewhorizon.structurelib.structure.StructureDefinition; -import gregtech.api.gui.GT_GUIContainer_MultiMachine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase; @@ -24,7 +23,6 @@ import gregtech.common.items.GT_MetaGenerated_Tool_01; import java.util.ArrayList; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; @@ -97,12 +95,6 @@ public abstract class GT_MetaTileEntity_LargeTurbineBase } @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_MultiMachine( - aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "LargeTurbine.png"); - } - - @Override public IStructureDefinition<GT_MetaTileEntity_LargeTurbineBase> getStructureDefinition() { return STRUCTURE_DEFINITION.get(getClass()); } diff --git a/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputer.java b/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputer.java index b461dfa0dd..5a90e8dab8 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputer.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputer.java @@ -12,7 +12,10 @@ import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructa import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; -import goodgenerator.client.GUI.LargeFusionComputerGUIClient; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.SlotWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import gregtech.api.enums.GT_HatchElement; import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; @@ -31,7 +34,6 @@ import gregtech.api.util.GT_Utility; import java.util.ArrayList; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; @@ -104,11 +106,6 @@ public abstract class LargeFusionComputer extends GT_MetaTileEntity_TooltipMulti } @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new LargeFusionComputerGUIClient(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); - } - - @Override public abstract long maxEUStore(); public abstract Block getCasingBlock(); @@ -603,6 +600,27 @@ public abstract class LargeFusionComputer extends GT_MetaTileEntity_TooltipMulti }; } + protected long energyStorageCache; + + @Override + protected void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) { + super.drawTexts(screenElements, inventorySlot); + + screenElements + .widget(TextWidget.dynamicString(() -> StatCollector.translateToLocal("gui.LargeFusion.0") + " " + + GT_Utility.formatNumbers(energyStorageCache) + " EU") + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setEnabled(widget -> getBaseMetaTileEntity().getErrorDisplayID() == 0)) + .widget(new FakeSyncWidget.LongSyncer(this::maxEUStore, val -> energyStorageCache = val)) + .widget(TextWidget.dynamicString(() -> StatCollector.translateToLocal("gui.LargeFusion.1") + " " + + GT_Utility.formatNumbers(getEUVar()) + " EU") + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setEnabled(widget -> getBaseMetaTileEntity().getErrorDisplayID() == 0)) + .widget(new FakeSyncWidget.LongSyncer(this::getEUVar, this::setEUVar)); + } + public static final String[] L0 = { " ", " ", diff --git a/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputerPP.java b/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputerPP.java index aa29b0c35b..b1d6a1c3e9 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputerPP.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/base/LargeFusionComputerPP.java @@ -12,7 +12,10 @@ import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructa import com.gtnewhorizon.structurelib.structure.IItemSource; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.StructureDefinition; -import goodgenerator.client.GUI.LargeFusionComputerGUIClient; +import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn; +import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; +import com.gtnewhorizons.modularui.common.widget.SlotWidget; +import com.gtnewhorizons.modularui.common.widget.TextWidget; import gregtech.api.enums.GT_HatchElement; import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; @@ -31,7 +34,6 @@ import gregtech.api.util.GT_Utility; import java.util.ArrayList; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; @@ -104,11 +106,6 @@ public abstract class LargeFusionComputerPP extends GT_MetaTileEntity_TooltipMul } @Override - public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new LargeFusionComputerGUIClient(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png"); - } - - @Override public abstract long maxEUStore(); public abstract Block getCasingBlock(); @@ -582,6 +579,27 @@ public abstract class LargeFusionComputerPP extends GT_MetaTileEntity_TooltipMul }; } + protected long energyStorageCache; + + @Override + protected void drawTexts(DynamicPositionedColumn screenElements, SlotWidget inventorySlot) { + super.drawTexts(screenElements, inventorySlot); + + screenElements + .widget(TextWidget.dynamicString(() -> StatCollector.translateToLocal("gui.LargeFusion.0") + " " + + GT_Utility.formatNumbers(energyStorageCache) + " EU") + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setEnabled(widget -> getBaseMetaTileEntity().getErrorDisplayID() == 0)) + .widget(new FakeSyncWidget.LongSyncer(this::maxEUStore, val -> energyStorageCache = val)) + .widget(TextWidget.dynamicString(() -> StatCollector.translateToLocal("gui.LargeFusion.1") + " " + + GT_Utility.formatNumbers(getEUVar()) + " EU") + .setSynced(false) + .setDefaultColor(COLOR_TEXT_WHITE.get()) + .setEnabled(widget -> getBaseMetaTileEntity().getErrorDisplayID() == 0)) + .widget(new FakeSyncWidget.LongSyncer(this::getEUVar, this::setEUVar)); + } + public static final String[] L0 = { " ", " ", diff --git a/src/main/java/goodgenerator/client/GUI/GG_UITextures.java b/src/main/java/goodgenerator/client/GUI/GG_UITextures.java new file mode 100644 index 0000000000..260dc22185 --- /dev/null +++ b/src/main/java/goodgenerator/client/GUI/GG_UITextures.java @@ -0,0 +1,16 @@ +package goodgenerator.client.GUI; + +import com.gtnewhorizons.modularui.api.drawable.UITexture; + +public class GG_UITextures { + + private static final String MODID = "goodgenerator"; + + public static final UITexture PICTURE_NAQUADAH_REACTOR = UITexture.fullImage(MODID, "gui/picture/naquadah_reactor"); + public static final UITexture PICTURE_NEUTRON_ACTIVATOR = + UITexture.fullImage(MODID, "gui/picture/neutron_activator"); + public static final UITexture PICTURE_EXTREME_HEAT_EXCHANGER = + UITexture.fullImage(MODID, "gui/picture/extreme_heat_exchanger"); + public static final UITexture PICTURE_COMPONENT_ASSLINE = + UITexture.fullImage(MODID, "gui/picture/component_assline"); +} diff --git a/src/main/java/goodgenerator/client/GUI/LargeFusionComputerGUIClient.java b/src/main/java/goodgenerator/client/GUI/LargeFusionComputerGUIClient.java deleted file mode 100644 index 51899b09cd..0000000000 --- a/src/main/java/goodgenerator/client/GUI/LargeFusionComputerGUIClient.java +++ /dev/null @@ -1,35 +0,0 @@ -package goodgenerator.client.GUI; - -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; -import goodgenerator.common.container.YOTTankGUIContainer; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.util.GT_Utility; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.StatCollector; - -public class LargeFusionComputerGUIClient extends GT_GUIContainer_MultiMachineEM { - - public LargeFusionComputerGUIClient( - InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) { - super(new YOTTankGUIContainer(aInventoryPlayer, aTileEntity), aName, aTextureFile, true, true, true); - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - super.drawGuiContainerForegroundLayer(par1, par2); - if (this.mContainer.mDisplayErrorCode == 0) { - fontRendererObj.drawString( - StatCollector.translateToLocal("gui.LargeFusion.0") + " " - + GT_Utility.formatNumbers(this.mContainer.mStorage) + " EU", - 7, - 40, - 16448255); - fontRendererObj.drawString( - StatCollector.translateToLocal("gui.LargeFusion.1") + " " - + GT_Utility.formatNumbers(this.mContainer.mEnergy) + " EU", - 7, - 48, - 16448255); - } - } -} diff --git a/src/main/java/goodgenerator/client/GUI/NeutronActivatorGUIClient.java b/src/main/java/goodgenerator/client/GUI/NeutronActivatorGUIClient.java deleted file mode 100644 index 1bd0b09f99..0000000000 --- a/src/main/java/goodgenerator/client/GUI/NeutronActivatorGUIClient.java +++ /dev/null @@ -1,43 +0,0 @@ -package goodgenerator.client.GUI; - -import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import goodgenerator.common.container.NeutronActivatorGUIContainer; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.StatCollector; - -@SideOnly(Side.CLIENT) -public class NeutronActivatorGUIClient extends GT_GUIContainer_MultiMachineEM { - - private final NeutronActivatorGUIContainer containerNeutronActivator; - - public NeutronActivatorGUIClient( - InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) { - super(new NeutronActivatorGUIContainer(aInventoryPlayer, aTileEntity), aName, aTextureFile, true, true, true); - containerNeutronActivator = (NeutronActivatorGUIContainer) this.mContainer; - } - - @Override - protected void drawGuiContainerForegroundLayer(int par1, int par2) { - super.drawGuiContainerForegroundLayer(par1, par2); - if (this.mContainer.mDisplayErrorCode == 0) { - fontRendererObj.drawString(StatCollector.translateToLocal("gui.NeutronActivator.0"), 7, 40, 16448255); - fontRendererObj.drawString(processNumber(containerNeutronActivator.getKineticE()) + "eV", 7, 48, 16448255); - } - } - - protected String processNumber(int num) { - float num2; - num2 = ((float) num) / 1000F; - if (num2 <= 0) { - return String.format("%d", num); - } - if (num2 < 1000.0) { - return String.format("%.1fK", num2); - } - num2 /= 1000F; - return String.format("%.1fM", num2); - } -} diff --git a/src/main/java/goodgenerator/client/GUI/NeutronSensorGUIClient.java b/src/main/java/goodgenerator/client/GUI/NeutronSensorGUIClient.java deleted file mode 100644 index b2ddd6b04a..0000000000 --- a/src/main/java/goodgenerator/client/GUI/NeutronSensorGUIClient.java +++ /dev/null @@ -1,121 +0,0 @@ -package goodgenerator.client.GUI; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import goodgenerator.main.GoodGenerator; -import goodgenerator.network.MessageSetNeutronSensorData; -import goodgenerator.util.CharExchanger; -import gregtech.api.gui.GT_GUIContainerMetaTile_Machine; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.client.gui.GuiTextField; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.StatCollector; - -@SideOnly(Side.CLIENT) -public class NeutronSensorGUIClient extends GT_GUIContainerMetaTile_Machine { - - protected final String mName; - - private GuiTextField TextBox; - private String context; - - public NeutronSensorGUIClient( - InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aTexture, String text) { - super(aInventoryPlayer, aTileEntity, aTexture); - this.mName = "Neutron Sensor"; - this.mContainer.detectAndSendChanges(); - if (text == null) this.context = ""; - else this.context = text; - } - - public void initGui() { - super.initGui(); - this.TextBox = new GuiTextField(this.fontRendererObj, 8, 48, 100, 18); - TextBox.setMaxStringLength(20); - TextBox.setText(context); - this.TextBox.setFocused(true); - } - - protected void draw |
