aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2022-11-18 22:39:28 +0900
committermiozune <miozune@gmail.com>2022-11-18 22:39:28 +0900
commit654bdd5096b30d2bc50816aeaf96145a0d0caa74 (patch)
tree44a363ce2f90bea2b8cd013351ec2e8e7d604c4c /src
parent5ee7bcd69067c8a457ba16191ce97f113e48f9d6 (diff)
downloadGT5-Unofficial-654bdd5096b30d2bc50816aeaf96145a0d0caa74.tar.gz
GT5-Unofficial-654bdd5096b30d2bc50816aeaf96145a0d0caa74.tar.bz2
GT5-Unofficial-654bdd5096b30d2bc50816aeaf96145a0d0caa74.zip
Multiblock
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java48
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java6
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java35
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java29
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java29
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java33
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java1
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java1
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java392
-rw-r--r--src/main/resources/assets/tectech/textures/gui/button/standard_16x16.pngbin109 -> 107 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/button/standard_light_16x16.pngbin0 -> 109 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_disabled.pngbin0 -> 144 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_off.pngbin0 -> 272 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_on.pngbin0 -> 234 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_disabled.pngbin0 -> 182 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.pngbin182 -> 331 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_disabled.pngbin0 -> 158 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_off.pngbin0 -> 373 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_on.pngbin0 -> 393 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/overlay_slot/mesh.pngbin0 -> 137 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/picture/heat_sink_small.pngbin0 -> 106 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/picture/parameter_blank.pngbin0 -> 332 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/picture/parameter_blue.pngbin0 -> 234 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/picture/parameter_cyan.pngbin0 -> 184 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/picture/parameter_gray.pngbin0 -> 79 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/picture/parameter_green.pngbin0 -> 250 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/picture/parameter_orange.pngbin0 -> 235 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/picture/parameter_red.pngbin0 -> 219 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor_multimachine.pngbin0 -> 185 bytes
30 files changed, 475 insertions, 103 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java
index 26c484f4b1..b09984e388 100644
--- a/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java
+++ b/src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java
@@ -13,7 +13,11 @@ public class TecTechUITextures {
AdaptableUITexture.of(MODID, "gui/background/screen_blue", 90, 72, 2);
public static final UITexture BUTTON_STANDARD_16x16 = UITexture.fullImage(MODID, "gui/button/standard_16x16");
+ public static final UITexture BUTTON_STANDARD_LIGHT_16x16 =
+ UITexture.fullImage(MODID, "gui/button/standard_light_16x16");
+ public static final UITexture OVERLAY_BUTTON_POWER_SWITCH_DISABLED =
+ UITexture.fullImage(MODID, "gui/overlay_button/power_switch_disabled");
public static final UITexture OVERLAY_BUTTON_POWER_SWITCH_OFF =
UITexture.fullImage(MODID, "gui/overlay_button/power_switch_off");
public static final UITexture OVERLAY_BUTTON_POWER_SWITCH_ON =
@@ -23,9 +27,22 @@ public class TecTechUITextures {
public static final UITexture[] OVERLAY_BUTTON_UNCERTAINTY = IntStream.range(0, 16)
.mapToObj(i -> UITexture.fullImage(MODID, "gui/overlay_button/uncertainty/" + i))
.collect(Collectors.toList())
- .toArray(new UITexture[] {});
+ .toArray(new UITexture[0]);
+ public static final UITexture OVERLAY_BUTTON_SAFE_VOID_DISABLED =
+ UITexture.fullImage(MODID, "gui/overlay_button/safe_void_disabled");
+ public static final UITexture OVERLAY_BUTTON_SAFE_VOID_OFF =
+ UITexture.fullImage(MODID, "gui/overlay_button/safe_void_off");
+ public static final UITexture OVERLAY_BUTTON_SAFE_VOID_ON =
+ UITexture.fullImage(MODID, "gui/overlay_button/safe_void_on");
+ public static final UITexture OVERLAY_BUTTON_POWER_PASS_DISABLED =
+ UITexture.fullImage(MODID, "gui/overlay_button/power_pass_disabled");
+ public static final UITexture OVERLAY_BUTTON_POWER_PASS_OFF =
+ UITexture.fullImage(MODID, "gui/overlay_button/power_pass_off");
+ public static final UITexture OVERLAY_BUTTON_POWER_PASS_ON =
+ UITexture.fullImage(MODID, "gui/overlay_button/power_pass_on");
public static final UITexture OVERLAY_SLOT_RACK = UITexture.fullImage(MODID, "gui/overlay_slot/rack");
+ public static final UITexture OVERLAY_SLOT_MESH = UITexture.fullImage(MODID, "gui/overlay_slot/mesh");
public static final UITexture PICTURE_TECTECH_LOGO = UITexture.fullImage(MODID, "gui/picture/tectech_logo");
public static final UITexture PICTURE_TECTECH_LOGO_DARK =
@@ -41,9 +58,34 @@ public class TecTechUITextures {
public static final UITexture[] PICTURE_UNCERTAINTY_VALID = IntStream.range(0, 9)
.mapToObj(i -> UITexture.fullImage(MODID, "gui/picture/uncertainty/valid_" + i))
.collect(Collectors.toList())
- .toArray(new UITexture[] {});
+ .toArray(new UITexture[0]);
public static final UITexture[] PICTURE_UNCERTAINTY_INVALID = IntStream.range(0, 9)
.mapToObj(i -> UITexture.fullImage(MODID, "gui/picture/uncertainty/invalid_" + i))
.collect(Collectors.toList())
- .toArray(new UITexture[] {});
+ .toArray(new UITexture[0]);
+ public static final UITexture PICTURE_HEAT_SINK_SMALL = UITexture.fullImage(MODID, "gui/picture/heat_sink_small");
+ public static final UITexture PICTURE_PARAMETER_BLANK = UITexture.fullImage(MODID, "gui/picture/parameter_blank");
+ public static final UITexture[] PICTURE_PARAMETER_BLUE = IntStream.range(0, 20)
+ .mapToObj(i -> UITexture.partly(MODID, "gui/picture/parameter_blue", 158, 4, i * 8, 0, i * 8 + 6, 4))
+ .collect(Collectors.toList())
+ .toArray(new UITexture[0]);
+ public static final UITexture[] PICTURE_PARAMETER_CYAN = IntStream.range(0, 20)
+ .mapToObj(i -> UITexture.partly(MODID, "gui/picture/parameter_cyan", 158, 4, i * 8, 0, i * 8 + 6, 4))
+ .collect(Collectors.toList())
+ .toArray(new UITexture[0]);
+ public static final UITexture[] PICTURE_PARAMETER_GREEN = IntStream.range(0, 20)
+ .mapToObj(i -> UITexture.partly(MODID, "gui/picture/parameter_green", 158, 4, i * 8, 0, i * 8 + 6, 4))
+ .collect(Collectors.toList())
+ .toArray(new UITexture[0]);
+ public static final UITexture[] PICTURE_PARAMETER_ORANGE = IntStream.range(0, 20)
+ .mapToObj(i -> UITexture.partly(MODID, "gui/picture/parameter_orange", 158, 4, i * 8, 0, i * 8 + 6, 4))
+ .collect(Collectors.toList())
+ .toArray(new UITexture[0]);
+ public static final UITexture[] PICTURE_PARAMETER_RED = IntStream.range(0, 20)
+ .mapToObj(i -> UITexture.partly(MODID, "gui/picture/parameter_red", 158, 4, i * 8, 0, i * 8 + 6, 4))
+ .collect(Collectors.toList())
+ .toArray(new UITexture[0]);
+ public static final UITexture PICTURE_PARAMETER_GRAY = UITexture.fullImage(MODID, "gui/picture/parameter_gray");
+ public static final UITexture PICTURE_UNCERTAINTY_MONITOR_MULTIMACHINE =
+ UITexture.fullImage(MODID, "gui/picture/uncertainty/monitor_multimachine");
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java
index 9381f432f3..af6197be39 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Holder.java
@@ -160,13 +160,13 @@ public class GT_MetaTileEntity_Hatch_Holder extends GT_MetaTileEntity_Hatch impl
})
.setPos(79, 38))
.widget(new DrawableWidget()
- .setDrawable(TecTechUITextures.BUTTON_STANDARD_16x16)
+ .setDrawable(TecTechUITextures.BUTTON_STANDARD_LIGHT_16x16)
.setPos(152, 24)
.setSize(16, 16))
.widget(new DrawableWidget()
.setDrawable(() -> getBaseMetaTileEntity().isActive()
? TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_ON
- : TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_OFF)
+ : TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_DISABLED)
.setPos(152, 24)
.setSize(16, 16))
.widget(new FakeSyncWidget.BooleanSyncer(
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java
index cede4a33b1..b99e030559 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java
@@ -328,20 +328,20 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch implem
.setPos(positions[i]));
builder.widget(new DrawableWidget()
- .setDrawable(TecTechUITextures.BUTTON_STANDARD_16x16)
+ .setDrawable(TecTechUITextures.BUTTON_STANDARD_LIGHT_16x16)
.setPos(152, 24)
.setSize(16, 16))
.widget(new DrawableWidget()
.setDrawable(() -> getBaseMetaTileEntity().isActive()
? TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_ON
- : TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_OFF)
+ : TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_DISABLED)
.setPos(152, 24)
.setSize(16, 16))
.widget(new FakeSyncWidget.BooleanSyncer(
() -> getBaseMetaTileEntity().isActive(),
val -> getBaseMetaTileEntity().setActive(val)));
builder.widget(new DrawableWidget()
- .setDrawable(TecTechUITextures.BUTTON_STANDARD_16x16)
+ .setDrawable(TecTechUITextures.BUTTON_STANDARD_LIGHT_16x16)
.setPos(152, 41)
.setSize(16, 16))
.widget(new DrawableWidget()
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
index 01eab07bd5..c663fea79b 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
@@ -14,8 +14,6 @@ import com.github.technus.tectech.Reference;
import com.github.technus.tectech.mechanics.dataTransport.InventoryDataPacket;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputDataItems;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputDataItems;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import com.github.technus.tectech.util.CommonValues;
@@ -38,7 +36,6 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
@@ -176,23 +173,6 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB
}
@Override
- public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, true, false, true);
- }
-
- @Override
- public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_GUIContainer_MultiMachineEM(
- aPlayerInventory,
- aBaseMetaTileEntity,
- getLocalName(),
- "EMDisplay.png",
- true,
- false,
- true); // todo texture
- }
-
- @Override
public ITexture[] getTexture(
IGregTechTileEntity aBaseMetaTileEntity,
byte aSide,
@@ -301,4 +281,19 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB
return GT_MetaTileEntity_EM_dataBank::addDataBankHatchToMachineList;
}
}
+
+ @Override
+ public boolean isPowerPassButtonEnabled() {
+ return true;
+ }
+
+ @Override
+ public boolean isSafeVoidButtonEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isAllowedToWorkButtonEnabled() {
+ return true;
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
index d7159ab682..de338c53e8 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java
@@ -12,8 +12,6 @@ import static net.minecraft.util.StatCollector.translateToLocal;
import cofh.api.energy.IEnergyContainerItem;
import com.github.technus.tectech.Reference;
import com.github.technus.tectech.TecTech;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
import com.github.technus.tectech.util.CommonValues;
import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable;
@@ -27,7 +25,6 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem;
-import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
@@ -277,17 +274,6 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa
return tt;
}
- @Override
- public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, true, false, true);
- }
-
- @Override
- public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_GUIContainer_MultiMachineEM(
- aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true);
- }
-
public static final ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_whooum");
@Override
@@ -310,4 +296,19 @@ public class GT_MetaTileEntity_EM_infuser extends GT_MetaTileEntity_MultiblockBa
public String[] getStructureDescription(ItemStack stackSize) {
return description;
}
+
+ @Override
+ public boolean isPowerPassButtonEnabled() {
+ return true;
+ }
+
+ @Override
+ public boolean isSafeVoidButtonEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isAllowedToWorkButtonEnabled() {
+ return true;
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java
index 613dbe0e21..faf94436ce 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_transformer.java
@@ -13,8 +13,6 @@ import static gregtech.api.util.GT_StructureUtility.buildHatchAdder;
import static net.minecraft.util.StatCollector.translateToLocal;
import com.github.technus.tectech.Reference;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM;
-import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import com.github.technus.tectech.util.CommonValues;
@@ -29,7 +27,6 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
@@ -154,17 +151,6 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo
}
@Override
- public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, true, false, false);
- }
-
- @Override
- public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_GUIContainer_MultiMachineEM(
- aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, false);
- }
-
- @Override
public ITexture[] getTexture(
IGregTechTileEntity aBaseMetaTileEntity,
byte aSide,
@@ -224,4 +210,19 @@ public class GT_MetaTileEntity_EM_transformer extends GT_MetaTileEntity_Multiblo
public String[] getStructureDescription(ItemStack stackSize) {
return description;
}
+
+ @Override
+ public boolean isPowerPassButtonEnabled() {
+ return true;
+ }
+
+ @Override
+ public boolean isSafeVoidButtonEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isAllowedToWorkButtonEnabled() {
+ return false;
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
index 4406977759..112405ff05 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java
@@ -29,7 +29,6 @@ import java.util.HashSet;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.EnumChatFormatting;
@@ -240,23 +239,6 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock
}
@Override
- public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, true, false, true);
- }
-
- @Override
- public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_GUIContainer_MultiMachineEM(
- aPlayerInventory,
- aBaseMetaTileEntity,
- getLocalName(),
- "EMDisplay.png",
- true,
- false,
- true); // todo texture
- }
-
- @Override
public ITexture[] getTexture(
IGregTechTileEntity aBaseMetaTileEntity,
byte aSide,
@@ -326,4 +308,19 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock
public String[] getStructureDescription(ItemStack stackSize) {
return description;
}
+
+ @Override
+ public boolean isPowerPassButtonEnabled() {
+ return true;
+ }
+
+ @Override
+ public boolean isSafeVoidButtonEnabled() {
+ return false;
+ }
+
+ @Override
+ public boolean isAllowedToWorkButtonEnabled() {
+ return true;
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java
index a26003dd74..66d7acf2c2 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_Container_MultiMachineEM.java
@@ -11,6 +11,7 @@ import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+@Deprecated
public class GT_Container_MultiMachineEM extends GT_ContainerMetaTile_Machine {
public LedStatus[] eParamsInStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNDEFINED);
public LedStatus[] eParamsOutStatus = LedStatus.makeArray(20, LedStatus.STATUS_UNDEFINED);
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java
index 0c20d76dae..cca5eee361 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_GUIContainer_MultiMachineEM.java
@@ -15,6 +15,7 @@ import org.lwjgl.opengl.GL12;
/**
* Created by Tec on 21.02.2017.
*/
+@Deprecated
public class GT_GUIContainer_MultiMachineEM extends GT_GUIContainerMetaTile_Machine {
protected final String mName;
protected static byte counter = 0;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
index bc5cece66c..17ca3ae2d9 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java
@@ -7,6 +7,7 @@ import static com.github.technus.tectech.util.CommonValues.*;
import static com.github.technus.tectech.util.DoubleCount.div;
import static com.github.technus.tectech.util.TT_Utility.getTier;
import static gregtech.api.enums.GT_HatchElement.*;
+import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY;
import static java.lang.Math.min;
import com.github.technus.tectech.Reference;
@@ -15,6 +16,7 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.EMException;
import com.github.technus.tectech.mechanics.elementalMatter.core.maps.EMInstanceStackMap;
import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMDefinitionStack;
import com.github.technus.tectech.mechanics.elementalMatter.core.stacks.EMInstanceStack;
+import com.github.technus.tectech.thing.gui.TecTechUITextures;
import com.github.technus.tectech.thing.metaTileEntity.hatch.*;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture;
import com.github.technus.tectech.util.TT_Utility;
@@ -29,6 +31,17 @@ import com.gtnewhorizon.structurelib.structure.IItemSource;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.IStructureElement;
import com.gtnewhorizon.structurelib.util.Vec3Impl;
+import com.gtnewhorizons.modularui.api.drawable.IDrawable;
+import com.gtnewhorizons.modularui.api.drawable.UITexture;
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
+import com.gtnewhorizons.modularui.api.widget.Widget;
+import com.gtnewhorizons.modularui.common.widget.ButtonWidget;
+import com.gtnewhorizons.modularui.common.widget.DrawableWidget;
+import com.gtnewhorizons.modularui.common.widget.DynamicPositionedColumn;
+import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
+import com.gtnewhorizons.modularui.common.widget.SlotWidget;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -36,6 +49,7 @@ import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IHatchElement;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.modularui.IBindPlayerInventoryUI;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.BaseTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
@@ -51,19 +65,19 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.IIconRegister;
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.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
+import org.lwjgl.opengl.GL11;
/**
* Created by danie_000 on 27.10.2016.
*/
public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEntity_TooltipMultiBlockBase
- implements IAlignment {
+ implements IAlignment, IBindPlayerInventoryUI {
// region Client side variables (static - one per class)
// Front icon holders - static so it is default one for my blocks
@@ -517,33 +531,6 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
// region GUI/SOUND/RENDER
/**
- * Server side container
- *
- * @param aID
- * @param aPlayerInventory
- * @param aBaseMetaTileEntity
- * @return
- */
- @Override
- public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity);
- }
-
- /**
- * Client side gui
- *
- * @param aID
- * @param aPlayerInventory
- * @param aBaseMetaTileEntity
- * @return
- */
- @Override
- public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_GUIContainer_MultiMachineEM(
- aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png");
- }
-
- /**
* add more textures
*
* @param aBlockIconRegister
@@ -2904,4 +2891,351 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt
}
return false;
}
+
+ // region ModularUI
+
+ @Override
+ public int getGUIWidth() {
+ return 198;
+ }
+
+ @Override
+ public int getGUIHeight() {
+ return 192;
+ }
+
+ @Override
+ public void bindPlayerInventoryUI(ModularWindow.Builder builder, UIBuildContext buildContext) {
+ builder.bindPlayerInventory(
+ buildContext.getPlayer(), new Pos2d(7, 109), getGUITextureSet().getItemSlot());
+ }
+
+ public boolean isPowerPassButtonEnabled() {
+ return true;
+ }
+
+ public boolean isSafeVoidButtonEnabled() {
+ return true;
+ }
+
+ public boolean isAllowedToWorkButtonEnabled() {
+ return true;
+ }
+
+ @Override
+ public void addGregTechLogo(ModularWindow.Builder builder) {
+ builder.widget(new DrawableWidget()
+ .setDrawable(TecTechUITextures.PICTURE_TECTECH_LOGO_DARK)
+ .setSize(18, 18)
+ .setPos(173, 74));
+ }
+
+ private static byte LEDCounter = 0;
+
+ @Override
+ public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
+ builder.widget(new DrawableWidget()
+ .setDrawable(TecTechUITextures.BACKGROUND_SCREEN_BLUE)
+ .setPos(4, 4)
+ .setSize(190, 91));
+ final SlotWidget inventorySlot = new SlotWidget(inventoryHandler, 1);
+ builder.widget(inventorySlot
+ .setBackground(getGUITextureSet().getItemSlot(), TecTechUITextures.OVERLAY_SLOT_MESH)
+ .setPos(173, 167))
+ .widget(new DrawableWidget()
+ .setDrawable(TecTechUITextures.PICTURE_HEAT_SINK_SMALL)
+ .setPos(173, 185)
+ .setSize(18, 6));
+
+ final DynamicPositionedColumn screenElements = new DynamicPositionedColumn();
+ drawTexts(screenElements, inventorySlot);
+ builder.widget(screenElements.setPos(7, 8));
+
+ Widget powerPassButton = new ButtonWidget()
+ .setOnClick((clickData, widget) -> {
+ if (isPowerPassButtonEnabled() || ePowerPassCover) {
+ TecTech.proxy.playSound(getBaseMetaTileEntity(), "fx_click");
+ ePowerPass = !ePowerPass;
+ if (!isAllowedToWorkButtonEnabled()) { // TRANSFORMER HACK
+ if (ePowerPass) {
+ getBaseMetaTileEntity().enableWorking();
+ } else {
+ getBaseMetaTileEntity().disableWorking();
+ }
+ }
+ }
+ })
+ .setPlayClickSound(false)
+ .setBackground(() -> {
+ List<UITexture> ret = new ArrayList<>();
+ ret.add(TecTechUITextures.BUTTON_STANDARD_16x16);
+ if (!isPowerPassButtonEnabled() && !ePowerPassCover) {
+ ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_PASS_DISABLED);
+ } else {
+ if (ePowerPass) {
+ ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_PASS_ON);
+ } else {
+ ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_PASS_OFF);
+ }
+ }
+ return ret.toArray(new IDrawable[0]);
+ })
+ .setPos(174, 116)
+ .setSize(16, 16);
+ if (isPowerPassButtonEnabled()) {
+ powerPassButton.addTooltip("Power Pass").setTooltipShowUpDelay(TOOLTIP_DELAY);
+ }
+ builder.widget(powerPassButton)
+ .widget(new FakeSyncWidget.BooleanSyncer(() -> ePowerPass, val -> ePowerPass = val))
+ .widget(new FakeSyncWidget.BooleanSyncer(() -> ePowerPassCover, val -> ePowerPassCover = val));
+ Widget safeVoidButton = new ButtonWidget()
+ .setOnClick((clickData, widget) -> {
+ if (isSafeVoidButtonEnabled()) {
+ TecTech.proxy.playSound(getBaseMetaTileEntity(), "fx_click");
+ eSafeVoid = !eSafeVoid;
+ }
+ })
+ .setPlayClickSound(false)
+ .setBackground(() -> {
+ List<UITexture> ret = new ArrayList<>();
+ ret.add(TecTechUITextures.BUTTON_STANDARD_16x16);
+ if (!isSafeVoidButtonEnabled()) {
+ ret.add(TecTechUITextures.OVERLAY_BUTTON_SAFE_VOID_DISABLED);
+ } else {
+ if (eSafeVoid) {
+ ret.add(TecTechUITextures.OVERLAY_BUTTON_SAFE_VOID_ON);
+ } else {
+ ret.add(TecTechUITextures.OVERLAY_BUTTON_SAFE_VOID_OFF);
+ }
+ }
+ return ret.toArray(new IDrawable[0]);
+ })
+ .setPos(174, 132)
+ .setSize(16, 16);
+ if (isSafeVoidButtonEnabled()) {
+ safeVoidButton.addTooltip("Safe Void").setTooltipShowUpDelay(TOOLTIP_DELAY);
+ }
+ builder.widget(safeVoidButton)
+ .widget(new FakeSyncWidget.BooleanSyncer(() -> eSafeVoid, val -> eSafeVoid = val));
+ Widget powerSwitchButton = new ButtonWidget()
+ .setOnClick((clickData, widget) -> {
+ if (isAllowedToWorkButtonEnabled()) {
+ TecTech.proxy.playSound(getBaseMetaTileEntity(), "fx_click");
+ if (getBaseMetaTileEntity().isAllowedToWork()) {
+ getBaseMetaTileEntity().disableWorking();
+ } else {
+ getBaseMetaTileEntity().enableWorking();
+ }
+ }
+ })
+ .setPlayClickSound(false)
+ .setBackground(() -> {
+ List<UITexture> ret = new ArrayList<>();
+ ret.add(TecTechUITextures.BUTTON_STANDARD_16x16);
+ if (!isAllowedToWorkButtonEnabled()) {
+ ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_DISABLED);
+ } else {
+ if (getBaseMetaTileEntity().isAllowedToWork()) {
+ ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_ON);
+ } else {
+ ret.add(TecTechUITextures.OVERLAY_BUTTON_POWER_SWITCH_OFF);
+ }
+ }
+ return ret.toArray(new IDrawable[0]);
+ })
+ .setPos(174, 148)
+ .setSize(16, 16);
+ if (isAllowedToWorkButtonEnabled()) {
+ powerSwitchButton.addTooltip("Power Switch").setTooltipShowUpDelay(TOOLTIP_DELAY);
+ }
+ builder.widget(powerSwitchButton)
+ .widget(new FakeSyncWidget.BooleanSyncer(
+ () -> getBaseMetaTileEntity().isAllowedToWork(), val -> {
+ if (val) getBaseMetaTileEntity().enableWorking();
+ else getBaseMetaTileEntity().disableWorking();
+ }));
+
+ builder.widget(
+ new DrawableWidget() {
+ @Override
+ public void draw(float partialTicks) {
+ super.draw(partialTicks);
+ LEDCounter = (byte) ((1 + LEDCounter) % 6);
+ }
+ }.setDrawable(TecTechUITextures.PICTURE_PARAMETER_BLANK)
+ .setPos(5, 96)
+ .setSize(166, 12));
+ for (int hatch = 0; hatch < 10; hatch++) {
+ for (int param = 0; param < 2; param++) {
+ addParameterLED(builder, hatch, param, true);
+ addParameterLED(builder, hatch, param, false);
+ }
+ }
+
+ builder.widget(new DrawableWidget()
+ .setDrawable(TecTechUITextures.PICTURE_UNCERTAINTY_MONITOR_MULTIMACHINE)
+ .setPos(173, 96)
+ .setSize(18, 18));
+ for (int i = 0; i < 9; i++) {
+ final int index = i;
+ builder.widget(new DrawableWidget()
+ .setDrawable(() -> {
+ UITexture valid = TecTechUITextures.PICTURE_UNCERTAINTY_VALID[index];
+ UITexture invalid = TecTechUITextures.PICTURE_UNCERTAINTY_INVALID[index];
+ switch (eCertainMode) {
+ case 1: // ooo oxo ooo
+ if (index == 4) return eCertainStatus == 0 ? valid : invalid;
+ break;
+ case 2: // ooo xox ooo
+ if (index == 3) return (eCertainStatus & 1) == 0 ? valid : invalid;
+ if (index == 5) return (eCertainStatus & 2) == 0 ? valid : invalid;
+ break;
+ case 3: // oxo xox oxo
+ if (index == 1) return (eCertainStatus & 1) == 0 ? valid : invalid;
+ if (index == 3) return (eCertainStatus & 2) == 0 ? valid : invalid;
+ if (index == 5) return (eCertainStatus & 4) == 0 ? valid : invalid;
+ if (index == 7) return (eCertainStatus & 8) == 0 ? valid : invalid;
+ break;
+ case 4: // xox ooo xox
+ if (index == 0) return (eCertainStatus & 1) == 0 ? valid : invalid;
+ if (index == 2) return (eCertainStatus & 2) == 0 ? valid : invalid;
+ if (index == 6) return (eCertainStatus & 4) == 0 ? valid : invalid;
+ if (index == 8) return (eCertainStatus & 8) == 0 ? valid : invalid;
+ break;
+ case 5: // xox oxo xox
+ if (index == 0) return (eCertainStatus & 1) == 0 ? valid : invalid;
+ if (index == 2) return (eCertainStatus & 2) == 0 ? valid : invalid;
+ if (index == 4) return (eCertainStatus & 4) == 0 ? valid : invalid;
+ if (index == 6) return (eCertainStatus & 8) == 0 ? valid : invalid;
+ if (index == 8) return (eCertainStatus & 16) == 0 ? valid : invalid;
+ break;
+ }
+ return null;
+ })
+ .setPos(174 + (index % 3) * 6, 97 + (index / 3) * 6)
+ .setSize(4, 4));
+ }
+ builder.widget(new FakeSyncWidget.ByteSyncer(() -> eCertainMode, val -> eCertainMode = val))
+ .widget(new FakeSyncWidget.ByteSyncer(() -> eCertainStatus, val -> eCertainStatus = val));
+ }
+
+ private void addParameterLED(ModularWindow.Builder builder, int hatch, int param, boolean input) {
+ final int parameterIndex = hatch + param * 10;
+ final int posIndex = hatch * 2 + param;
+ builder.widget(
+ new DrawableWidget() {
+ @Override
+ public void draw(float partialTicks) {
+ IDrawable texture = null;
+ final LedStatus status = input
+ ? parametrization.eParamsInStatus[parameterIndex]
+ : parametrization.eParamsOutStatus[parameterIndex];
+ switch (status) {
+ case STATUS_WTF: {
+ int c = LEDCounter;
+ if (c > 4) {
+ c = TecTech.RANDOM.nextInt(5);
+ }
+ switch (c) {
+ case 0:
+ texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex];
+ break;
+ case 1:
+ texture = TecTechUITextures.PICTURE_PARAMETER_CYAN[posIndex];
+ break;
+ case 2:
+ texture = TecTechUITextures.PICTURE_PARAMETER_GREEN[posIndex];
+ break;
+ case 3:
+ texture = TecTechUITextures.PICTURE_PARAMETER_ORANGE[posIndex];
+ break;
+ case 4:
+ texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex];
+ break;
+ }
+ break;
+ }
+ case STATUS_WRONG: // fallthrough
+ if (LEDCounter < 2) {
+ texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex];
+ break;
+ } else if (LEDCounter < 4) {
+ texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex];
+ break;
+ }
+ case STATUS_OK: // ok
+ texture = TecTechUITextures.PICTURE_PARAMETER_GREEN[posIndex];
+ break;
+ case STATUS_TOO_LOW: // too low blink
+ if (LEDCounter < 3) {
+ texture = TecTechUITextures.PICTURE_PARAMETER_BLUE[posIndex];
+ break;
+ }
+ case STATUS_LOW: // too low
+ texture = TecTechUITextures.PICTURE_PARAMETER_CYAN[posIndex];
+ break;
+ case STATUS_TOO_HIGH: // too high blink
+ if (LEDCounter < 3) {
+ texture = TecTechUITextures.PICTURE_PARAMETER_RED[posIndex];
+ break;
+ }
+ case STATUS_HIGH: // too high
+ texture = TecTechUITextures.PICTURE_PARAMETER_ORANGE[posIndex];
+ break;
+ case STATUS_NEUTRAL:
+ if (LEDCounter < 3) {
+ GL11.glColor4f(.85f, .9f, .95f, .5F);
+ } else {
+ GL11.glColor4f(.8f, .9f, 1f, .5F);
+ }
+ texture = TecTechUITextures.PICTURE_PARAMETER_GRAY;
+ break;
+ case STATUS_UNDEFINED:
+ if (LEDCounter < 3) {
+ GL11.glColor4f(.5f, .1f, .15f, .5F);
+ } else {
+ GL11.glColor4f(0f, .1f, .2f, .5F);
+ }
+ texture = TecTechUITextures.PICTURE_PARAMETER_GRAY;
+ break;
+ case STATUS_UNUSED:
+ default:
+ // if (GregTech_API.sColoredGUI && this.mContainer.mTileEntity != null) {
+ // int tColor = this.mContainer.mTileEntity.getColorization() & 15;
+ // if (tColor < ItemDye.field_150922_c.length) {
+ // tColor = ItemDye.field_150922_c[tColor];
+ // GL11.glColor4f((float)(tColor >> 16 & 255) / 255.0F, (float)(tColor >> 8 &
+ // 255) / 255.0F,
+ // (float)(tColor & 255) / 255.0F, 1F);
+ // }
+ // }
+ // drawTexturedModalRect(x + su * i, y + sv * j, 212, 96, su+2, sv+2);
+ // GL11.glColor4f(1f, 1f, 1f, 1f);
+ // break;
+ }
+ setDrawable(texture);
+ super.draw(partialTicks);
+ GL11.glColor4f(1f, 1f, 1f, 1f);
+ }
+ }.dynamicTooltip(() -> {
+ if (input) {
+ return getFullLedDescriptionIn(hatch, param);
+ } else {
+ return getFullLedDescriptionOut(hatch, param);
+ }
+ })
+ .setPos(12 + posIndex * 8, 97 + (input ? 0 : 1) * 6)
+ .setSize(6, 4));
+ if (input) {
+ builder.widget(new FakeSyncWidget.ByteSyncer(
+ () -> parametrization.eParamsInStatus[parameterIndex].getOrdinalByte(),
+ val -> parametrization.eParamsInStatus[parameterIndex] = LedStatus.getStatus(val)));
+ } else {
+ builder.widget(new FakeSyncWidget.ByteSyncer(
+ () -> parametrization.eParamsOutStatus[parameterIndex].getOrdinalByte(),
+ val -> parametrization.eParamsOutStatus[parameterIndex] = LedStatus.getStatus(val)));
+ }
+ }
+
+ // endregion
}
diff --git a/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png b/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png
index 4071b19033..c2d191d9ce 100644
--- a/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png
+++ b/src/main/resources/assets/tectech/textures/gui/button/standard_16x16.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/button/standard_light_16x16.png b/src/main/resources/assets/tectech/textures/gui/button/standard_light_16x16.png
new file mode 100644
index 0000000000..4071b19033
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/button/standard_light_16x16.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_disabled.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_disabled.png
new file mode 100644
index 0000000000..8edbc8ae1a
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_disabled.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_off.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_off.png
new file mode 100644
index 0000000000..9887dfefd9
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_off.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_on.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_on.png
new file mode 100644
index 0000000000..6021472296
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_pass_on.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_disabled.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_disabled.png
new file mode 100644
index 0000000000..be40408929
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_disabled.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png
index be40408929..366fb5c8d7 100644
--- a/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png
+++ b/src/main/resources/assets/tectech/textures/gui/overlay_button/power_switch_off.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_disabled.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_disabled.png
new file mode 100644
index 0000000000..bc2b89a234
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_disabled.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_off.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_off.png
new file mode 100644
index 0000000000..0d06a43a68
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_off.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_on.png b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_on.png
new file mode 100644
index 0000000000..c5907fa3fd
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/overlay_button/safe_void_on.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/overlay_slot/mesh.png b/src/main/resources/assets/tectech/textures/gui/overlay_slot/mesh.png
new file mode 100644
index 0000000000..a782e3dd7a
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/overlay_slot/mesh.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/picture/heat_sink_small.png b/src/main/resources/assets/tectech/textures/gui/picture/heat_sink_small.png
new file mode 100644
index 0000000000..28ac50bdc0
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/picture/heat_sink_small.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_blank.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_blank.png
new file mode 100644
index 0000000000..bcd4f367d9
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/picture/parameter_blank.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_blue.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_blue.png
new file mode 100644
index 0000000000..3bb337dcf9
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/picture/parameter_blue.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_cyan.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_cyan.png
new file mode 100644
index 0000000000..1595bfde06
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/picture/parameter_cyan.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_gray.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_gray.png
new file mode 100644
index 0000000000..685bcd0c4a
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/picture/parameter_gray.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_green.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_green.png
new file mode 100644
index 0000000000..4464db4ef9
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/picture/parameter_green.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_orange.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_orange.png
new file mode 100644
index 0000000000..8838c9b61b
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/picture/parameter_orange.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/picture/parameter_red.png b/src/main/resources/assets/tectech/textures/gui/picture/parameter_red.png
new file mode 100644
index 0000000000..d934b38063
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/picture/parameter_red.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor_multimachine.png b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor_multimachine.png
new file mode 100644
index 0000000000..b5d1afe3b8
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/gui/picture/uncertainty/monitor_multimachine.png
Binary files differ