From bbd40c34e104dcead78290af1394e6f5867df565 Mon Sep 17 00:00:00 2001 From: Albi <12825442+Flanisch@users.noreply.github.com> Date: Fri, 12 Aug 2022 20:34:37 +0200 Subject: Added means of customizing GUI colors for resource packs (#1203) * Added means of customizing GUI colors through lang file * Color values are now stored in json file instead of the lang file * Made json only load upon resource reload and ensured server compatibility Co-authored-by: Martin Robertz --- .../java/gregtech/common/covers/GT_Cover_Arm.java | 11 +++++++---- .../gregtech/common/covers/GT_Cover_ControlsWork.java | 12 ++++++++---- .../gregtech/common/covers/GT_Cover_Conveyor.java | 9 ++++++--- .../gregtech/common/covers/GT_Cover_DoesWork.java | 8 ++++++-- .../java/gregtech/common/covers/GT_Cover_EUMeter.java | 9 ++++++--- .../common/covers/GT_Cover_FluidRegulator.java | 14 +++++++++----- .../gregtech/common/covers/GT_Cover_Fluidfilter.java | 13 +++++++++---- .../gregtech/common/covers/GT_Cover_ItemFilter.java | 6 ++++-- .../gregtech/common/covers/GT_Cover_ItemMeter.java | 9 ++++++--- .../gregtech/common/covers/GT_Cover_LiquidMeter.java | 7 +++++-- .../common/covers/GT_Cover_NeedMaintainance.java | 19 +++++++++++-------- .../common/covers/GT_Cover_PlayerDetector.java | 9 ++++++--- .../java/gregtech/common/covers/GT_Cover_Pump.java | 8 +++++--- .../common/covers/GT_Cover_RedstoneWirelessBase.java | 7 +++++-- .../java/gregtech/common/covers/GT_Cover_Shutter.java | 12 ++++++++---- 15 files changed, 101 insertions(+), 52 deletions(-) (limited to 'src/main/java/gregtech/common/covers') diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Arm.java b/src/main/java/gregtech/common/covers/GT_Cover_Arm.java index 727ab12f20..4fd00840ae 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_Arm.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_Arm.java @@ -1,6 +1,7 @@ package gregtech.common.covers; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GuiColors; import gregtech.api.gui.GT_GUICover; import gregtech.api.gui.widgets.GT_GuiFakeItemButton; import gregtech.api.gui.widgets.GT_GuiIcon; @@ -27,6 +28,8 @@ public class GT_Cover_Arm extends GT_CoverBehavior { protected static final int SLOT_ID_MIN = 0; protected static final int CONVERTED_BIT = 0x80000000; + private final int textColor = GuiColors.coverArm.getColor(); + public GT_Cover_Arm(int aTickRate) { this.mTickRate = aTickRate; } @@ -288,12 +291,12 @@ public class GT_Cover_Arm extends GT_CoverBehavior { public void drawExtras(int mouseX, int mouseY, float parTicks) { super.drawExtras(mouseX, mouseY, parTicks); if (export) - this.getFontRenderer().drawString(GT_Utility.trans("006", "Export"), startX + spaceX*3, 4+startY+spaceY*0, 0xFF555555); + this.getFontRenderer().drawString(GT_Utility.trans("006", "Export"), startX + spaceX*3, 4+startY+spaceY*0, textColor); else - this.getFontRenderer().drawString(GT_Utility.trans("007", "Import"), startX + spaceX*3, 4+startY+spaceY*0, 0xFF555555); + this.getFontRenderer().drawString(GT_Utility.trans("007", "Import"), startX + spaceX*3, 4+startY+spaceY*0, textColor); - this.getFontRenderer().drawString(GT_Utility.trans("254", "Internal slot#"), startX + spaceX*3, 4+startY+spaceY*1, 0xFF555555); - this.getFontRenderer().drawString(GT_Utility.trans("255", "Adjacent slot#"), startX + spaceX*3, 4+startY+spaceY*2, 0xFF555555); + this.getFontRenderer().drawString(GT_Utility.trans("254", "Internal slot#"), startX + spaceX*3, 4+startY+spaceY*1, textColor); + this.getFontRenderer().drawString(GT_Utility.trans("255", "Adjacent slot#"), startX + spaceX*3, 4+startY+spaceY*2, textColor); } @Override diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java index 7d9a109895..3a4fb3a50a 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java @@ -1,6 +1,7 @@ package gregtech.common.covers; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GuiColors; import gregtech.api.gui.GT_GUICover; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconButton; @@ -17,6 +18,9 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.Fluid; public class GT_Cover_ControlsWork extends GT_CoverBehavior { + + private final int textColor = GuiColors.coverControlsWork.getColor(); + @Override public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { if (!makeSureOnlyOne(aSide, aTileEntity)) return 0; @@ -177,10 +181,10 @@ public class GT_Cover_ControlsWork extends GT_CoverBehavior { @Override public void drawExtras(int mouseX, int mouseY, float parTicks) { super.drawExtras(mouseX, mouseY, parTicks); - this.fontRendererObj.drawString(GT_Utility.trans("243", "Enable with Redstone"), 3+startX + spaceX*1, 4+startY+spaceY*0, 0xFF555555); - this.fontRendererObj.drawString(GT_Utility.trans("244", "Disable with Redstone"),3+startX + spaceX*1, 4+startY+spaceY*1, 0xFF555555); - this.fontRendererObj.drawString(GT_Utility.trans("245", "Disable machine"), 3+startX + spaceX*1, 4+startY+spaceY*2, 0xFF555555); - this.fontRendererObj.drawString(GT_Utility.trans("507", "Safe Mode"), 3+startX + spaceX*1, 4+startY+spaceY*3, 0xFF555555); + this.fontRendererObj.drawString(GT_Utility.trans("243", "Enable with Redstone"), 3+startX + spaceX*1, 4+startY+spaceY*0, textColor); + this.fontRendererObj.drawString(GT_Utility.trans("244", "Disable with Redstone"),3+startX + spaceX*1, 4+startY+spaceY*1, textColor); + this.fontRendererObj.drawString(GT_Utility.trans("245", "Disable machine"), 3+startX + spaceX*1, 4+startY+spaceY*2, textColor); + this.fontRendererObj.drawString(GT_Utility.trans("507", "Safe Mode"), 3+startX + spaceX*1, 4+startY+spaceY*3, textColor); } @Override diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java index 7e8f85b820..4c41909b14 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java @@ -1,6 +1,7 @@ package gregtech.common.covers; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GuiColors; import gregtech.api.gui.GT_GUICover; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconButton; @@ -20,6 +21,8 @@ public class GT_Cover_Conveyor extends GT_CoverBehavior { public final int mTickRate; private final int mMaxStacks; + private final int textColor = GuiColors.coverPlayerDetector.getColor(); + public GT_Cover_Conveyor(int aTickRate) { this.mTickRate = aTickRate; this.mMaxStacks = 1; @@ -179,9 +182,9 @@ public class GT_Cover_Conveyor extends GT_CoverBehavior { @Override public void drawExtras(int mouseX, int mouseY, float parTicks) { super.drawExtras(mouseX, mouseY, parTicks); - this.fontRendererObj.drawString(GT_Utility.trans("229", "Import/Export"), startX + spaceX*3, 3+startY+spaceY*0, 0xFF555555); - this.fontRendererObj.drawString(GT_Utility.trans("230", "Conditional"), startX + spaceX*3, 3+startY+spaceY*1, 0xFF555555); - this.fontRendererObj.drawString(GT_Utility.trans("231", "Enable Input"), startX + spaceX*3, 3+startY+spaceY*2, 0xFF555555); + this.fontRendererObj.drawString(GT_Utility.trans("229", "Import/Export"), startX + spaceX*3, 3+startY+spaceY*0, textColor); + this.fontRendererObj.drawString(GT_Utility.trans("230", "Conditional"), startX + spaceX*3, 3+startY+spaceY*1, textColor); + this.fontRendererObj.drawString(GT_Utility.trans("231", "Enable Input"), startX + spaceX*3, 3+startY+spaceY*2, textColor); } @Override diff --git a/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java b/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java index b2e83258a8..6043ccb472 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java @@ -1,6 +1,7 @@ package gregtech.common.covers; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GuiColors; import gregtech.api.gui.GT_GUICover; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconButton; @@ -15,6 +16,9 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.fluids.Fluid; public class GT_Cover_DoesWork extends GT_CoverBehavior { + + private final int textColor = GuiColors.coverDoesWork.getColor(); + @Override public boolean isRedstoneSensitive(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { return false; @@ -144,8 +148,8 @@ public class GT_Cover_DoesWork extends GT_CoverBehavior { s2 = GT_Utility.trans("INVERTED", "Inverted"); else s2 = GT_Utility.trans("NORMAL", "Normal"); - this.fontRendererObj.drawString(s1, startX + spaceX*3, 4+startY+spaceY*0, 0xFF555555); - this.fontRendererObj.drawString(s2, startX + spaceX*3, 4+startY+spaceY*1, 0xFF555555); + this.fontRendererObj.drawString(s1, startX + spaceX*3, 4+startY+spaceY*0, textColor); + this.fontRendererObj.drawString(s2, startX + spaceX*3, 4+startY+spaceY*1, textColor); } @Override diff --git a/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java index 17eedb2c95..292697be38 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java @@ -2,6 +2,7 @@ package gregtech.common.covers; import com.google.common.io.ByteArrayDataInput; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GuiColors; import gregtech.api.gui.GT_GUICover; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconButton; @@ -30,6 +31,8 @@ import java.util.function.Function; public class GT_Cover_EUMeter extends GT_CoverBehaviorBase { + private final int textColor = GuiColors.coverEUMeter.getColor(); + public GT_Cover_EUMeter() { super(EUMeterData.class); } @@ -387,9 +390,9 @@ public class GT_Cover_EUMeter extends GT_CoverBehaviorBase { private final boolean mExport; + private final int textColor = GuiColors.coverItemFilter.getColor(); public GT_Cover_ItemFilter(boolean isExport) { super(ItemFilterData.class); @@ -234,8 +236,8 @@ public class GT_Cover_ItemFilter extends GT_CoverBehaviorBase { + private final int textColor = GuiColors.coverLiquidMeter.getColor(); + public GT_Cover_LiquidMeter() { super(LiquidMeterData.class); } @@ -254,8 +257,8 @@ public class GT_Cover_LiquidMeter extends GT_CoverBehaviorBase 176); } @@ -229,16 +232,16 @@ public class GT_Cover_NeedMaintainance extends GT_CoverBehavior { public void drawExtras(int mouseX, int mouseY, float parTicks) { super.drawExtras(mouseX, mouseY, parTicks); - this.fontRendererObj.drawString(buttontext[0],startX + spaceX*1, 4+startY+spaceY*0, 0xFF555555); - this.fontRendererObj.drawString(buttontext[1],startX + spaceX*1, 4+startY+spaceY*1, 0xFF555555); - this.fontRendererObj.drawString(buttontext[2],startX + spaceX*1, 4+startY+spaceY*2, 0xFF555555); - this.fontRendererObj.drawString(buttontext[3],startX + spaceX*1, 4+startY+spaceY*3, 0xFF555555); - this.fontRendererObj.drawString(buttontext[4],startX + spaceX*5 + 4, 4+startY+spaceY*0, 0xFF555555); - this.fontRendererObj.drawString(buttontext[5],startX + spaceX*5 + 4, 4+startY+spaceY*1, 0xFF555555); - this.fontRendererObj.drawString(buttontext[6],startX + spaceX*5 + 4, 4+startY+spaceY*2, 0xFF555555); + this.fontRendererObj.drawString(buttontext[0],startX + spaceX*1, 4+startY+spaceY*0, textColor); + this.fontRendererObj.drawString(buttontext[1],startX + spaceX*1, 4+startY+spaceY*1, textColor); + this.fontRendererObj.drawString(buttontext[2],startX + spaceX*1, 4+startY+spaceY*2, textColor); + this.fontRendererObj.drawString(buttontext[3],startX + spaceX*1, 4+startY+spaceY*3, textColor); + this.fontRendererObj.drawString(buttontext[4],startX + spaceX*5 + 4, 4+startY+spaceY*0, textColor); + this.fontRendererObj.drawString(buttontext[5],startX + spaceX*5 + 4, 4+startY+spaceY*1, textColor); + this.fontRendererObj.drawString(buttontext[6],startX + spaceX*5 + 4, 4+startY+spaceY*2, textColor); // inverted normal String s2 = ((coverVariable & 0x1) > 0) ? buttontext[7] : buttontext[8]; - this.fontRendererObj.drawString(s2, startX + spaceX*5 + 4, 4+startY+spaceY*3, 0xFF555555); + this.fontRendererObj.drawString(s2, startX + spaceX*5 + 4, 4+startY+spaceY*3, textColor); } @Override diff --git a/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java b/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java index 072d7141b0..dca0e826bf 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java @@ -1,6 +1,7 @@ package gregtech.common.covers; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GuiColors; import gregtech.api.gui.GT_GUICover; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconCheckButton; @@ -18,6 +19,8 @@ public class GT_Cover_PlayerDetector extends GT_CoverBehavior { private String placer = ""; private int range = 8; + private final int textColor = GuiColors.coverPlayerDetector.getColor(); + @Override public boolean isRedstoneSensitive(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { @@ -160,11 +163,11 @@ public class GT_Cover_PlayerDetector extends GT_CoverBehavior { public void drawExtras(int mouseX, int mouseY, float parTicks) { super.drawExtras(mouseX, mouseY, parTicks); this.fontRendererObj.drawString(GT_Utility.trans("319", "Any player"), - startX + spaceX*1, 4+startY+spaceY*0, 0xFF555555); + startX + spaceX*1, 4+startY+spaceY*0, textColor); this.fontRendererObj.drawString(GT_Utility.trans("320", "Other players"), - startX + spaceX*1, 4+startY+spaceY*1, 0xFF555555); + startX + spaceX*1, 4+startY+spaceY*1, textColor); this.fontRendererObj.drawString(GT_Utility.trans("321", "Only owner"), - startX + spaceX*1, 4+startY+spaceY*2, 0xFF555555); + startX + spaceX*1, 4+startY+spaceY*2, textColor); } @Override diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Pump.java b/src/main/java/gregtech/common/covers/GT_Cover_Pump.java index 11a4743b3f..96ea7b205e 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_Pump.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_Pump.java @@ -1,6 +1,7 @@ package gregtech.common.covers; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GuiColors; import gregtech.api.gui.GT_GUICover; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconButton; @@ -18,6 +19,7 @@ import net.minecraftforge.fluids.IFluidHandler; public class GT_Cover_Pump extends GT_CoverBehavior{ public final int mTransferRate; + private final int textColor = GuiColors.coverPump.getColor(); public GT_Cover_Pump(int aTransferRate) { this.mTransferRate = aTransferRate; @@ -204,9 +206,9 @@ public class GT_Cover_Pump extends GT_CoverBehavior{ @Override public void drawExtras(int mouseX, int mouseY, float parTicks) { super.drawExtras(mouseX, mouseY, parTicks); - this.fontRendererObj.drawString(GT_Utility.trans("229", "Import/Export"), startX + spaceX*3, 3+startY+spaceY*0, 0xFF555555); - this.fontRendererObj.drawString(GT_Utility.trans("230", "Conditional"), startX + spaceX*3, 3+startY+spaceY*1, 0xFF555555); - this.fontRendererObj.drawString(GT_Utility.trans("231", "Enable Input"), startX + spaceX*3, 3+startY+spaceY*2, 0xFF555555); + this.fontRendererObj.drawString(GT_Utility.trans("229", "Import/Export"), startX + spaceX*3, 3+startY+spaceY*0, textColor); + this.fontRendererObj.drawString(GT_Utility.trans("230", "Conditional"), startX + spaceX*3, 3+startY+spaceY*1, textColor); + this.fontRendererObj.drawString(GT_Utility.trans("231", "Enable Input"), startX + spaceX*3, 3+startY+spaceY*2, textColor); } @Override diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java index 2ec1ee9938..edfd8c51fb 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java @@ -2,6 +2,7 @@ package gregtech.common.covers; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GuiColors; import gregtech.api.gui.GT_GUICover; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconCheckButton; @@ -23,6 +24,8 @@ public abstract class GT_Cover_RedstoneWirelessBase extends GT_CoverBehavior { private static final int PUBLIC_MASK = 0x0000FFFF; private static final int CHECKBOX_MASK = 0x00010000; + private final int textColor = GuiColors.coverRedstoneWirelessBase.getColor(); + @Override public boolean onCoverRemoval(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced) { GregTech_API.sWirelessRedstone.put(aCoverVariable, (byte) 0); @@ -177,8 +180,8 @@ public abstract class GT_Cover_RedstoneWirelessBase extends GT_CoverBehavior { @Override public void drawExtras(int mouseX, int mouseY, float parTicks) { super.drawExtras(mouseX, mouseY, parTicks); - this.getFontRenderer().drawString(GT_Utility.trans("246", "Frequency"), startX + spaceX*4, 4+startY+spaceY*0, 0xFF555555); - this.getFontRenderer().drawString(GT_Utility.trans("601", "Use Private Frequency"), startX + spaceX * 1, startY + spaceY * 2 + 4, 0xFF555555); + this.getFontRenderer().drawString(GT_Utility.trans("246", "Frequency"), startX + spaceX*4, 4+startY+spaceY*0, textColor); + this.getFontRenderer().drawString(GT_Utility.trans("601", "Use Private Frequency"), startX + spaceX * 1, startY + spaceY * 2 + 4, textColor); } @Override diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java b/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java index b8ce4260cd..48c8846cd6 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java @@ -1,6 +1,7 @@ package gregtech.common.covers; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GuiColors; import gregtech.api.gui.GT_GUICover; import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconCheckButton; @@ -15,6 +16,9 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.fluids.Fluid; public class GT_Cover_Shutter extends GT_CoverBehavior { + + private final int textColor = GuiColors.coverShutter.getColor(); + @Override public boolean isRedstoneSensitive(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { return false; @@ -141,13 +145,13 @@ public class GT_Cover_Shutter extends GT_CoverBehavior { public void drawExtras(int mouseX, int mouseY, float parTicks) { super.drawExtras(mouseX, mouseY, parTicks); this.fontRendererObj.drawString(GT_Utility.trans("082", "Open if work enabled"), - 3+startX + spaceX*1, 4+startY+spaceY*0, 0xFF555555); + 3+startX + spaceX*1, 4+startY+spaceY*0, textColor); this.fontRendererObj.drawString(GT_Utility.trans("083", "Open if work disabled"), - 3+startX + spaceX*1, 4+startY+spaceY*1, 0xFF555555); + 3+startX + spaceX*1, 4+startY+spaceY*1, textColor); this.fontRendererObj.drawString(GT_Utility.trans("084", "Only Output allowed"), - 3+startX + spaceX*1, 4+startY+spaceY*2, 0xFF555555); + 3+startX + spaceX*1, 4+startY+spaceY*2, textColor); this.fontRendererObj.drawString(GT_Utility.trans("085", "Only Input allowed"), - 3+startX + spaceX*1, 4+startY+spaceY*3, 0xFF555555); + 3+startX + spaceX*1, 4+startY+spaceY*3, textColor); } @Override -- cgit