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/goodgenerator/blocks/tileEntity/NeutronActivator.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/goodgenerator/blocks/tileEntity/NeutronActivator.java')
-rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java | 46 |
1 files changed, 32 insertions, 14 deletions
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 |