aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2022-12-12 15:15:43 +0900
committerGitHub <noreply@github.com>2022-12-12 07:15:43 +0100
commit271b177799b1d9ba7d66c575caf4b7bccd6b9357 (patch)
tree8eef75e928feaa3d6cddb0949921c3ef121be791 /src/main/java/goodgenerator/blocks/tileEntity/NeutronActivator.java
parent889d0fc3c5a1235aaac6df9be02d496078cfe44f (diff)
downloadGT5-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.java46
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