diff options
author | Albi <12825442+Flanisch@users.noreply.github.com> | 2022-08-12 20:34:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-12 20:34:37 +0200 |
commit | bbd40c34e104dcead78290af1394e6f5867df565 (patch) | |
tree | 43c8d507722b7ba189cf4acfb924ca584b287c6f /src/main/java/gregtech/api/enums | |
parent | d815f1f0e7b267c1c7ef97fdf2c790b6c9f6a378 (diff) | |
download | GT5-Unofficial-bbd40c34e104dcead78290af1394e6f5867df565.tar.gz GT5-Unofficial-bbd40c34e104dcead78290af1394e6f5867df565.tar.bz2 GT5-Unofficial-bbd40c34e104dcead78290af1394e6f5867df565.zip |
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 <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/api/enums')
-rw-r--r-- | src/main/java/gregtech/api/enums/GuiColors.java | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/enums/GuiColors.java b/src/main/java/gregtech/api/enums/GuiColors.java new file mode 100644 index 0000000000..3e7582bb7b --- /dev/null +++ b/src/main/java/gregtech/api/enums/GuiColors.java @@ -0,0 +1,110 @@ +package gregtech.api.enums; + +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +import gregtech.api.util.GT_Log; +import gregtech.GT_Mod; + +public enum GuiColors { + //RGB Colors: Name and default value + oneByOne (0x404040), + twoByTwo (0x404040), + twoByTwoFluid (0x404040), + twoByTwoFluidInventory (0x404040), + threeByThree (0x404040), + fourByFour (0x404040), + basicMachine (0x404040), + basicTankTitle (0x404040), + basicTankInventory (0x404040), + basicTankLiquidAmount (0xFAFAFF), + basicTankLiquidValue (0xFAFAFF), + maintenanceHatch (0x404040), + maintenanceHatchRepair (0x404040), + + multiMachineTitle (0xFAFAFF), + multiMachineDrillBaseText (0xFAFAFF), + multiMachineIncompleteStructure (0xFAFAFF), + multiMachineLargeTurbineText (0xFAFAFF), + multiMachineMaintenanceText (0xFAFAFF), + multiMachineMalletRestart (0xFAFAFF), + multiMachineRunningPerfectly (0xFAFAFF), + + outputHatchTitle (0x404040), + outputHatchInventory (0x404040), + outputHatchAmount (0xFAFAFF), + outputHatchValue (0xFAFAFF), + outputHatchFluidName (0xFAFAFF), + outputHatchLockedFluid (0xFAFAFF), + + boiler (0x404040), + bronzeBlastFurnace (0x404040), + fusionReactor (0xFF0000), + industrialApiary (0x404040), + microwaveEnergyTransmitter (0xFAFAFF), + primitiveBlastFurnace (0x404040), + quantumChestTitle (0x404040), + quantumChestAmount (0xFAFAFF), + regulator (0xFAFAFF), + teleporter (0xFAFAFF), + + fluidDisplayStackRenderer (0xFFFFFF), + + //ARGB Colors: Name and default value + dialogSelectItem (0xFF555555), + pollutionRenderer (0xFFFFFFFF), + screenText (0xFF222222), + + coverArm (0xFF555555), + coverControlsWork (0xFF555555), + coverConveyor (0xFF555555), + coverDoesWork (0xFF555555), + coverEUMeter (0xFF555555), + coverFluidFilterName (0xFF222222), + coverFluidFilter (0xFF555555), + coverFluidRegulatorWarn (0xFFFF0000), + coverFluidRegulator (0xFF555555), + coverItemFilter (0xFF555555), + coverItemMeter (0xFF555555), + coverLiquidMeter (0xFF555555), + coverMaintenance (0xFF555555), + coverPlayerDetector (0xFF555555), + coverPump (0xFF555555), + coverRedstoneWirelessBase (0xFF555555), + coverShutter (0xFF555555), + + NEIText (0xFF000000) + ; + + private final String root; + private final int color; + + GuiColors() { + this.root = "GT5U.gui.color"; + this.color = 0x000000; + } + + GuiColors(final int hex) { + this.root = "GT5U.gui.color"; + this.color = hex; + } + + public int getColor() { + int color = this.color; + String hex = ""; + + if (FMLCommonHandler.instance().getSide() == Side.CLIENT && GT_Mod.jsonGuiColors != null) { + hex = GT_Mod.jsonGuiColors.getString(this.root + "." + this.toString()); + + try { + if (!hex.isEmpty()) {color = Integer.parseUnsignedInt(hex, 16);} + } + catch (final NumberFormatException e) { + GT_Log.err.println("Couldn't format color correctly for: " + this.root + " -> " + hex); + } + } + + return color; + } +}
\ No newline at end of file |