From 0d19fb7c2b89f259e9fa25707848993b1bfe9f68 Mon Sep 17 00:00:00 2001 From: Tech22 Date: Sun, 18 Jul 2021 03:35:35 -0400 Subject: [PATCH 1/4] first round of gui improvements --- .../java/gregtech/api/gui/GuiTextures.java | 1 + .../java/gregtech/api/recipes/RecipeMap.java | 12 +++++++----- .../java/gregtech/api/recipes/RecipeMaps.java | 5 ++++- .../steam/boiler/SteamBoiler.java | 12 ++++++------ .../steam/boiler/SteamCoalBoiler.java | 6 +++--- .../steam/boiler/SteamLavaBoiler.java | 2 +- .../steam/boiler/SteamSolarBoiler.java | 2 +- .../gregtech/textures/gui/base/fluid_slot.png | Bin 189 -> 1425 bytes .../textures/gui/overlay/circuit_overlay.png | Bin 3340 -> 1451 bytes .../textures/gui/overlay/uua_overlay.png | Bin 0 -> 1659 bytes .../gui/progress_bar/progress_bar_arrow.png | Bin 280 -> 1552 bytes .../progress_bar_arrow_multiple.png | Bin 287 -> 1772 bytes .../gui/progress_bar/progress_bar_bath.png | Bin 378 -> 1630 bytes .../gui/progress_bar/progress_bar_bending.png | Bin 285 -> 1729 bytes .../gui/progress_bar/progress_bar_canner.png | Bin 302 -> 1795 bytes .../gui/progress_bar/progress_bar_circuit.png | Bin 240 -> 1728 bytes .../progress_bar_circuit_assembler.png | Bin 366 -> 1628 bytes .../progress_bar/progress_bar_compress.png | Bin 265 -> 1555 bytes .../gui/progress_bar/progress_bar_extract.png | Bin 308 -> 1977 bytes .../progress_bar/progress_bar_extruder.png | Bin 261 -> 1528 bytes .../gui/progress_bar/progress_bar_lathe.png | Bin 224 -> 1495 bytes .../progress_bar/progress_bar_macerate.png | Bin 308 -> 1989 bytes .../gui/progress_bar/progress_bar_magnet.png | Bin 279 -> 1555 bytes .../gui/progress_bar/progress_bar_mixer.png | Bin 392 -> 1656 bytes .../progress_bar/progress_bar_recycler.png | Bin 332 -> 1594 bytes .../gui/progress_bar/progress_bar_sift.png | Bin 362 -> 1619 bytes .../gui/progress_bar/progress_bar_slice.png | Bin 222 -> 1499 bytes .../progress_bar/progress_bar_wiremill.png | Bin 283 -> 1550 bytes .../textures/gui/steam/bronze/bronze_gui.png | Bin 706 -> 1775 bytes .../textures/gui/steam/steel/steel_gui.png | Bin 703 -> 1775 bytes 30 files changed, 23 insertions(+), 17 deletions(-) create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/uua_overlay.png diff --git a/src/main/java/gregtech/api/gui/GuiTextures.java b/src/main/java/gregtech/api/gui/GuiTextures.java index 22319d1ee0b..cce8481a572 100644 --- a/src/main/java/gregtech/api/gui/GuiTextures.java +++ b/src/main/java/gregtech/api/gui/GuiTextures.java @@ -100,6 +100,7 @@ public class GuiTextures { public static final TextureArea OUT_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/out_slot_overlay.png"); public static final TextureArea FILTER_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/filter_slot_overlay.png"); public static final TextureArea STRING_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/string_slot_overlay.png"); + public static final TextureArea UUA_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/uua_overlay.png"); //PROGRESS BARS public static final TextureArea PROGRESS_BAR_UNLOCK = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_unlock.png"); diff --git a/src/main/java/gregtech/api/recipes/RecipeMap.java b/src/main/java/gregtech/api/recipes/RecipeMap.java index c456049d551..fca16b3be47 100644 --- a/src/main/java/gregtech/api/recipes/RecipeMap.java +++ b/src/main/java/gregtech/api/recipes/RecipeMap.java @@ -20,7 +20,6 @@ import gregtech.api.recipes.crafttweaker.CTRecipe; import gregtech.api.recipes.crafttweaker.CTRecipeBuilder; import gregtech.api.unification.material.IMaterial; -import gregtech.api.unification.material.type.Material; import gregtech.api.unification.ore.OrePrefix; import gregtech.api.util.EnumValidationResult; import gregtech.api.util.GTLog; @@ -301,7 +300,7 @@ private double jeiProgressBar() { //this DOES NOT include machine control widgets or binds player inventory public ModularUI.Builder createUITemplate(DoubleSupplier progressSupplier, IItemHandlerModifiable importItems, IItemHandlerModifiable exportItems, FluidTankList importFluids, FluidTankList exportFluids) { ModularUI.Builder builder = ModularUI.defaultBuilder(); - builder.widget(new ProgressWidget(progressSupplier, 77, 22, 21, 20, progressBarTexture, moveType)); + builder.widget(new ProgressWidget(progressSupplier, 78, 22, 20, 20, progressBarTexture, moveType)); addInventorySlotGroup(builder, importItems, importFluids, false); addInventorySlotGroup(builder, exportItems, exportFluids, true); return builder; @@ -320,8 +319,8 @@ protected void addInventorySlotGroup(ModularUI.Builder builder, IItemHandlerModi int[] inputSlotGrid = determineSlotsGrid(itemInputsCount); int itemSlotsToLeft = inputSlotGrid[0]; int itemSlotsToDown = inputSlotGrid[1]; - int startInputsX = isOutputs ? 106 : 69 - itemSlotsToLeft * 18; - int startInputsY = 32 - (int) (itemSlotsToDown / 2.0 * 18); + int startInputsX = isOutputs ? 106 : 70 - itemSlotsToLeft * 18; + int startInputsY = 33 - (int) (itemSlotsToDown / 2.0 * 18); boolean wasGroupOutput = itemHandler.getSlots() + fluidHandler.getTanks() == 12; if (wasGroupOutput) startInputsY -= 9; for (int i = 0; i < itemSlotsToDown; i++) { @@ -345,7 +344,10 @@ protected void addInventorySlotGroup(ModularUI.Builder builder, IItemHandlerModi for (int i = 0; i < fluidInputsCount; i++) { int x = isOutputs ? startInputsX + 18 * (i % 3) : startInputsX + itemSlotsToLeft * 18 - 18 - 18 * (i % 3); int y = startSpecY + (i / 3) * 18; - addSlot(builder, x, y, i, itemHandler, fluidHandler, !invertFluids, isOutputs); + if (itemHandler.getSlots() >= 9) + addSlot(builder, x, y + 2, i, itemHandler, fluidHandler, !invertFluids, isOutputs); + else + addSlot(builder, x, y, i, itemHandler, fluidHandler, !invertFluids, isOutputs); } } } diff --git a/src/main/java/gregtech/api/recipes/RecipeMaps.java b/src/main/java/gregtech/api/recipes/RecipeMaps.java index 4a272e26071..b27b7e1df5c 100644 --- a/src/main/java/gregtech/api/recipes/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipes/RecipeMaps.java @@ -698,7 +698,10 @@ public class RecipeMaps { */ @ZenProperty - public static final RecipeMap AMPLIFIERS = new RecipeMap<>("uuamplifier", 1, 1, 0, 0, 0, 0, 1, 1, new AmplifierRecipeBuilder().EUt(32)); + public static final RecipeMap AMPLIFIERS = new RecipeMap<>("uuamplifier", 1, 1, 0, 0, 0, 0, 1, 1, new AmplifierRecipeBuilder().EUt(32)) + .setSlotOverlay(false, false, GuiTextures.EXTRACTOR_OVERLAY) + .setSlotOverlay(true, true, GuiTextures.UUA_SLOT_OVERLAY) + .setProgressBar(GuiTextures.PROGRESS_BAR_EXTRACT, MoveType.HORIZONTAL); @ZenProperty public static final RecipeMapAssemblyLine ASSEMBLY_LINE_RECIPES = new RecipeMapAssemblyLine<>("assembly_line", 4, 16, 1, 1, 0, 4, 0, 0, new SimpleRecipeBuilder()) diff --git a/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamBoiler.java b/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamBoiler.java index 7dc29d42ba0..40613c34cf0 100644 --- a/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamBoiler.java +++ b/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamBoiler.java @@ -271,21 +271,21 @@ public ModularUI.Builder createUITemplate(EntityPlayer player) { return ModularUI.builder(BRONZE_BACKGROUND_TEXTURE, 176, 166) .widget(new LabelWidget(6, 6, getMetaFullName())) - .widget(new ProgressWidget(this::getTemperaturePercent, 97, 26, 10, 54) + .widget(new ProgressWidget(this::getTemperaturePercent, 96, 26, 10, 54) .setProgressBar(getGuiTexture("bar_%s_empty"), getGuiTexture("bar_heat"), MoveType.VERTICAL)) - .widget(new TankWidget(waterFluidTank, 84, 26, 10, 54) + .widget(new TankWidget(waterFluidTank, 83, 26, 10, 54) .setBackgroundTexture(getGuiTexture("bar_%s_empty"))) - .widget(new TankWidget(steamFluidTank, 71, 26, 10, 54) + .widget(new TankWidget(steamFluidTank, 70, 26, 10, 54) .setBackgroundTexture(getGuiTexture("bar_%s_empty"))) - .widget(new FluidContainerSlotWidget(containerInventory, 0, 44, 26, true) + .widget(new FluidContainerSlotWidget(containerInventory, 0, 43, 26, true) .setBackgroundTexture(BRONZE_SLOT_BACKGROUND_TEXTURE, getGuiTexture("overlay_%s_in"))) - .widget(new SlotWidget(containerInventory, 1, 44, 62, true, false) + .widget(new SlotWidget(containerInventory, 1, 43, 62, true, false) .setBackgroundTexture(BRONZE_SLOT_BACKGROUND_TEXTURE, getGuiTexture("overlay_%s_out"))) - .widget(new ImageWidget(44, 44, 18, 18) + .widget(new ImageWidget(43, 44, 18, 18) .setImage(getGuiTexture("overlay_%s_fluid_container"))) .bindPlayerInventory(player.inventory, BRONZE_SLOT_BACKGROUND_TEXTURE); diff --git a/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamCoalBoiler.java b/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamCoalBoiler.java index a0d7378e90a..5f1dad05ad7 100755 --- a/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamCoalBoiler.java +++ b/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamCoalBoiler.java @@ -92,11 +92,11 @@ public Collection getFuels() { @Override public ModularUI createUI(EntityPlayer player) { return createUITemplate(player) - .widget(new SlotWidget(this.importItems, 0, 116, 62) + .widget(new SlotWidget(this.importItems, 0, 115, 62) .setBackgroundTexture(BRONZE_SLOT_BACKGROUND_TEXTURE, getGuiTexture("overlay_%s_coal"))) - .widget(new SlotWidget(this.exportItems, 0, 116, 26, true, false) + .widget(new SlotWidget(this.exportItems, 0, 115, 26, true, false) .setBackgroundTexture(BRONZE_SLOT_BACKGROUND_TEXTURE, getGuiTexture("overlay_%s_dust"))) - .widget(new ProgressWidget(this::getFuelLeftPercent, 116, 44, 18, 18) + .widget(new ProgressWidget(this::getFuelLeftPercent, 115, 44, 18, 18) .setProgressBar(getGuiTexture("boiler_%s_fuel"), getGuiTexture("boiler_%s_fuel_full"), MoveType.VERTICAL)) diff --git a/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamLavaBoiler.java b/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamLavaBoiler.java index 0dc5d9a03e6..ec415879c7a 100755 --- a/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamLavaBoiler.java +++ b/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamLavaBoiler.java @@ -78,7 +78,7 @@ public Collection getFuels() { @Override protected ModularUI createUI(EntityPlayer entityPlayer) { return createUITemplate(entityPlayer) - .widget(new TankWidget(lavaFluidTank, 110, 26, 10, 54) + .widget(new TankWidget(lavaFluidTank, 119, 26, 10, 54) .setBackgroundTexture(getGuiTexture("bar_%s_empty"))) .build(getHolder(), entityPlayer); } diff --git a/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamSolarBoiler.java b/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamSolarBoiler.java index 1032ea46d27..9faa543d632 100644 --- a/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamSolarBoiler.java +++ b/src/main/java/gregtech/common/metatileentities/steam/boiler/SteamSolarBoiler.java @@ -38,7 +38,7 @@ protected void tryConsumeNewFuel() { @Override protected ModularUI createUI(EntityPlayer entityPlayer) { return createUITemplate(entityPlayer) - .widget(new ProgressWidget(() -> checkCanSeeSun() ? 1.0 : 0.0, 115, 34, 20, 20) + .widget(new ProgressWidget(() -> checkCanSeeSun() ? 1.0 : 0.0, 114, 44, 20, 20) .setProgressBar(getGuiTexture("boiler_sun"), getGuiTexture("boiler_sun_active"), MoveType.HORIZONTAL)) .build(getHolder(), entityPlayer); diff --git a/src/main/resources/assets/gregtech/textures/gui/base/fluid_slot.png b/src/main/resources/assets/gregtech/textures/gui/base/fluid_slot.png index 2b46267bd60eee0dd2d4eaa83740be8682b48802..ea7b041b3f49946079a7dd1efa52e1d7062399c0 100644 GIT binary patch literal 1425 zcmbVMO>5LZ7>+_ki|s*BP!Y!T(xORbvfJHeXsqpS?Jk&F>w@*>Y%;qWyUE04+H89g zZ(aqV;6cQT2kFs^2QMDHdQ|)mUIeec*^f}ADmE~a`FQ4ezuzZot1A=Z7seGunW)#Q z>+nC5jg!Y={`}@V%*v^#b}vzs$q(5$_Uy{!MMW7q=QlRwhI5m;BG8#9nq2P%Q3hA$ z7kUwMH@QSj-u6RV{r2v?ihR#j@6I~di7LF~*LGumXLq&X?ryr4r!HJW^F0a#0hbK* zf^L}5o~`zIDXg<&Lq&av+_crjOd#5D)=)*n9F=sexfq+MZ0V#_ESB(9WMUH=c-A1M zMoJVHDJi4jr-HQDYti-UjiD^q*=k41h#E$krg~b?Mcg)sWmyI`4b#*Bp(Q(^WIZiR zrbY}^p183eNneC0V`NRSC2bWn9heYAIc=B>-2@IZdMq-Cjx&?`K+nx_(N^5;3-?@u zcX_}=nE;mL*r+3HJ7lgl_%mmtVRByxEh%osZ4P;}DRiMX-O6R{P$ ze0dwxoXV_;XeH)Mint*}cND0#k;=#dvrq?(m1hRo6%TbfL`6%D`6LEdJb6hsXYrJusk6I~+*=k{1J5B3d$KF<)$h zxBi)T1}JZ21v{|A_}#?*-GSmB!J%Vh%e+;=CU15;gbo)&D`R^v9zYwsT(2%Rrq8GZx^prw85kH?(j9#r85lP9bN@+X1@buyJR*x382Ao@Fyrz3 z6)8YL$r9IylHmNblJdl&REC1Y%)Ao4ywnl}6FmbxBg2mhnNxv^bUj@hLoEE0A3S(4 zK}~SR?AgW+8j~E7k{+!v3o%&5%iNQ7m_Z>|pi4?6AUvF%VHw-C*e&x4R|0i1c)I$z JtaD0e0syOgGk^d9 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/circuit_overlay.png b/src/main/resources/assets/gregtech/textures/gui/overlay/circuit_overlay.png index ec1f155e61fc1151c72d031c8595b39b66679b7e..2805ee5d6d74aa810c32f9ab5e1a8297fd51cd03 100644 GIT binary patch literal 1451 zcmbVMO>fjj7q$6Nml*RH-+9K~F{H$PHfahm{~c1eWdjdgguJ?>igo ztCOcMp4K#Nvawd*gz-%Nojd{m>wn+fg5gxMb|cfYkI&}cg!bU!1x-7CUNpDWw)Yib zGBT+zTionN37|D?VX>c3w!;-_@wSLv{r^XQ=}7plzE$?Hm(+MitnH`#>i&9@?eDOv zuP=Uy7WxDPL|jqSkHR=3eODjIB{0voEgcOYYRA==azeE2ZJ?S=IjWf0U>G}Su4>wq zQmKN!Kn`}Wh0B)h7^`tL?y~EHs!=7*AS>nvYdjtw8<5NZ73HBKYWExR0 zSVXkVtt4*isBj~x$xx<14BE{e-fz@u8>tLL2nVYTNX1rHgvt;x$~IS*2l{#*X~dbL zG2@N8tAlq;A$(HuD=eT6GlHtajaIcZZ?td#c4MbpDg|Y3mw{;zGE$eUo9DpzzW<*0 zzfJ|zAPqlQPF|UL@{l!=L0I=jwR4q!JDP<84f2Ihme+x+vpfN~uaCCH2YX;Bw%6ex z^eu@ogk>^NJ(}{RHhAluiD!ZGR$j3~JFHht9Go4h?lBx%Mm{Zi6)cKw$75)5DfF`6 zK7Be3eULQjOU?Ny_WZ?*#bafB%$p>;|2_HsyPqx{BojY>vi!%nUzVQSyfS_8>%V{g ngD+0bd~UFG_SxmfAKk0w?XkA3yd0&BYz5vdQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+O=6(cI!G0 z{O2lq2?7TITn@)`-VS>CT_9yUc5ElU_jR0D14V*B6(+@v|Nb-GfAAAYql-zDGxLF; zm}B+@CwlCkvcBnv>w91LbBylqyX%0*t$<_Lm&)h;f&2cpfPc1gor3%6%R+ga1NDBO zoC|q91)TRUf&y&;M?V)T=R(1slHu`|fdo(sQ^MreAg> z@haHg?Wm7q+$pWMzd5_kIkt8sGF0YMsf#A$>hffVv;; zsQ5I>wq1O_&60*H2)Beb6N$?yA!lFKDI2(Zba0IV1j_#;ulp^`$1 zDJ4#lH04w{aCGo6W?>7rMS?_0!Xl!QrD)KoNm)fzvzF|0Kr~Jn?wB>_Tnc0stX$X? zJYR69`WkAisdAO7HP_NWpB7tc+@xvCt#sc*hkqY;?$WjAUIqk zYbLVpnu|R?&VC}=eJ=aCX!p77=c3)`vVWh8cAv}MqGvdI0^eta3u}e3j~PO1v-;j* zJ_h!oz1O7LMyM>vu9W_okX`1ncGa}c;<0&|4LJ%W7uV%fC=8oN@Ir!wpJixnj~@c> zX;8?#81<+xQ8|zg`4A-O&{Bk23~yveDH)NZLNza?CP%MEJ{)lGrbHAD>``_eEPn<5 zf(LZe!89pBM^m>ifNu<}4O z&7!G{0wed}8_uxxE(xHwqm1Ujs2C9Ys3SJdjCx#jBuWTy*s%B29DlC1WNZqe{-Vt< zJ3yQYKyqMTNmkbp$Tf^L5CP%1h<`jgfwmQ+;5liv6JjNc_g^bJ% z-3LNH(n!=1Ej^8+b3thwJ7XQNw)@h1LO_SzRG=%5J43h^7J^BVEg+W#iY*XEwqmwR zYhn0B)l78)=ZQ><>%6dw9FibMq%3|a*GSodWML>6JA5%iyHIN{NQp>)*?*(GgJsPe z-pxNS>@&MM6rE|{nmEMNeT{u0z|ht8!N&-acZZxzSAWmO(w9lzQ6Y5Akgngshn{X89BBNO7fMsm2u=13G1U-CX4S%q4Nn9Dx9~Duw zVBcDHDBMIlaPg=ak=9Yy46e1_!ZECI#$&VDypPA8Pw#Wf{YtUSQ*0Gf6DTv&LhQ}) zi}&sM&Ww)45G{;y)!1V=HNZGZL`K>&4N$4o*uZ)Oh>nnKi6Iz%ad=a}{S;i!9NR8_ zn5XXv=0aLsJa4HlbALOCkQQKyFj6sE%(CE}S{HE^WHb%5018(KwWbt7ETBL{!Ca}g z(wd8Hm=}S*D$JqH1`D_G6Q#Z#cVL6V?R@zvU9KEtk?SGlVu>^9y7#X5drx#PUGa*- z=21OE$XsR5LgKnrOPB6GUtZIt+RK|yYFoFXSCT<_DhP@7;eVFm;U5#MJ7$d$aTjqL zRLyNq?YX?2ru#$&lrL%Rku!kNN!SR4h*a#F%m8GYtr42iX5mi)$I4x#b` zW#NNh2?~ZOXkHLUdmbVcr5}1XxE8t;6l>@^TR=b7BY(WXms_O2kMmE%{Hr2jt??@7 z*(#5j6S?0Kr}5bmr|BObR{b50?l%$jHI9!3`$S}Wn)WW{Sc+B6XjEy>KuI7-?9L9l`fl(rMK|6-66m1c`A&Np;Z^LI!t249)WVbNLk0_m-g<-Z1 z#@_kidzVdzJ-+&v(93e_aj+#oK!752Et8N1hks9K00j-8BSl6;2N*L)K8k9Vs446I z=M*8ApoU%j8Kp~q7FTI(l^pT{`tXkC%puTI_{wa1$@~S!Ul8h!*=vDoq_BSj?Dh}) zBlRrG+<8XySP6|*K_=_nADq1XH%XDk(H)g+dQXh*e%ML`oG!OTN8FcL!!9SbVV~L6 z{eQ}^XJ?oSs!@AQYn`F}ODp%Bx~Wstwd9Z7kuwi$I|THeMNqwj)f#^A4$*yk$Mdq> zeBV^KTUQa4BcYD)_KJu0E1nzyZ?RV|m{L&?;n84kWxfr#mm?nzxXXyW;z21UN3>Tw zAs2*;6?Gop^6Z**tNi5^k9%7HzkAQ~aDQ~K27E_6mOgvVrJ?^{?jeIw5b^LKSLV@p z^n#KM{b+S)HQ~kkZ9`v(fGAd;?x@L#@;>d>#$p}`FQQt#XG>c<)Y03*`}h3YY4|pGbcu+})&Cgh7NdB#e#+(LuoP>VNdO zOhP{P8ia+%U@w#hl5kJ)Mi}=|zxn3)|5yl~0Uo>m0XCMc^{_=D$p8QWglR)VP)S2W zAaHVTW@&6?004NLeUUv#!$2IxUt3E>s)BY9amY|zv>+R@u|7c^-| zQd}Gb*Mfr|i&X~~XI&j!1wrrw#DC4rNzp}0{9jUN5#zyeKi=JY+`R+*^)ge0 zdehQ5?-NH@QBsJ{iN_4OAn_yDWtZPL7aaEU%!rXr%@aq6g+d$4ZOn>>N`E{>992|} z^8Fc?70z3n)pC_J@5x^n&S@*lT&FpN1QxLb5dvgXQ9>COVzg?cm`Krn+`~WU_(gKb zsb!wdVHL+{ftykfyGZ zH^9LmFjAoGb&q#Z; zbV*G`2jvA44lN+5cW2lD000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-} z0000?Nkl1TmR$JWS0w2%o}UC^3>1)09lbG>F+_|z5oCK07*qoM6N<$g0$*P AlK=n! diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/uua_overlay.png b/src/main/resources/assets/gregtech/textures/gui/overlay/uua_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..021c375f513749f7e13bdc95b54e424f79729645 GIT binary patch literal 1659 zcmcIlJ#XYh7&bzjj+1f{9~IXOa}5Z_9)IrIIuqsA;j$7AQEo*-ce69&T`Oykv7PKD zqT;G+5DgL)1qg`(A<+^f3Mi-$bci2-M0L83F1+3k6QR4121~ZbGtWHl^M1_h2Rqw$ z)~>yDP1Cfs{#LXL@8_HQ>J@mt^Ye#$@Ork`dbiTF>pwR4Qy;%}{f4GJ^C%tc*Zc8X z0auyMgc?eHmKA{3v|H=5g7E`cqoEw7d59mLeveTqLcHh3G%k8_oNk?z^6ts@fS(+2 zU*PpO(5+bj1evTEnq`x`3T7dm^9C?(rVWhdkoq9R8;wDiD|p zIgUqPM;5iHL0!YNi0K8?3Cs>!UKp&EA_;b*HSz&OyBnn zY8jSA070tbyk;|!S2tG-k*s)`7Ims})G)H4I;=wsN*69K}j2SBoQ>Tqf zD_|U749&6@UDcaMU}dTIvBcHjxRA!Ktkhx2<>ryh>zgZMg138%!*VkBRB%I1WCpMb zgqf|WVytRajnxzUXqQ`WilA3YR;zNL)MS;YofQkROx;4S?4`L-)9Tem(Q<=~SS>>g zSu+Xk5VJd=R$x1UMG54N(giezIuNX8mjf%2CdZe7#&OWktD5Cp_M;GkC_PO@;7DJH zPRAy;OuB?K$0R<5hf5jt+%B`b)Sv5u{gL8_P57Gqi?S7p14kR7fOkD^J1ilB*+3~A zm-wdX5=KpbCNDglg^OKsL=oOCQ(64wJkLn?>F=h8_mmbly& z7zrLEs>~SFNt&^dG>UwL(LZW>YNEC$LcM-notXn?29;J&#zr z*_1uV0C%_23UYkBJVPCT(~A~KG5(#e`P#X@ zwSq%4Y=&(YhL5(7%N(dn=+a+(@&2dK;b}kG7<8ZGf1RDJKkd>VzTEiy%9^_W?dj>+ w3!kx1hW9`E^W{IVxbe-S2iEwPXkB~p*YB?W_WQ%1n%_fzb36L__Pr1O1_SB{x&QzG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arrow.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arrow.png index f79f25b8ad019abe7d354d5cf9bf4606cb6b1785..2add8f6b582fe4ba2db9b8320061eab2c560f59b 100644 GIT binary patch literal 1552 zcmbVMPl()97>|^qZo5mNTa~RsOg(I^NnWzE$;`8{%uZ%IgU#$XGtd3h$m6EjB{X8!|jYc*Ll&R~oBf@#w> z5&C`zXofj?svnxx8cEnT>9~Q$?R@qH$GW!0on17L5tc~Tt!zf5xmjyjn`>6V=1x7u zp6p{F@JV8_ecuaW+}F4vFNS?87CCkZN!B#3m?~sfjXGPR5n&Yp@fJcds}=-F$>kLE z1S=yMiD*%jWL{D*%3(=m#}5bEBHO_YeR-@4{xq(eBq0{XUau$g76ck~M5$0Hh)5P? znFj+U0HHOEOvi0)@%>CioRl}fjd4J3 zi;i1^kcbTu)Ah(A>8nr0(CW)#~OlDs~y-<~x@+~A|S;mX#7ATaAZ6@X&!M24R8u=zT z?D}Shh+)v-*er~=L_HdT;?%mm@@lD6kEr8%a1b|6FR|5fNs$T)7%xaea}5JmgE%n* zi&S-ugWw3RYvYABG8M^@_`K>Ud|S;~e8IA0UdgMLvyd;?_M$VnuTyJ1ErH2>`+weF ziCkzw)4OY)v@z4#!4)@#tPaMl(}*%LSWO+6EeDrTHf|Hx|2h9f1*TuSZ_J%!m{_5Uo4boe0K@X~T~E5dZ1o@N7?WPv9^y(rq@X;3pe)B!CGQ!6+;B zx6`rdRrO+P{`-%9D9*gZ9@Kwa>U_R?arzwh&D#e)I5If!OYPxz{(No!r-y!8%HMeF z`3Jo@QhQ|X_v@AAKWZC?|2qEAWA6(;H^Yn9ZeBexIQ;6o{^-;*uU}rdT%7&z%ck&3 o@xu0nO9#I_`dx1Jw=3_i*zX;B&JN!EHJ!iJa!vnu>DduO7sfjuOF|8x|hB?w5G{ZG?3R( zc5&JK!1;9-{~BEQwDgTe~DWM4ff?QNs diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arrow_multiple.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arrow_multiple.png index 68aa22493bb220e7999906d03f219b3801faf7ed..bf75e28e1fa9f15881a5418b0d910f3889369634 100644 GIT binary patch literal 1772 zcmbVNTZr6L7>+`1-P#plE8qo4s^u}o;f+0#GT1W zlgwpTT2PT%gsm^O75iXCWu>SE5u~EFwAjZk^+|mZ6||rzxV{!o=EhdH7aB-%a?W?Y z|NAfJ&%xsKt}O%i4saZ|rI63gu=fzVM>pNZo|obGKd{&Be*USD;|9;g_bqQeIylU6 z8-8|6bJ3jnq>gD#LKZC(sa5kCn&WotZ21V!lZY>qit8D|pI>|}@UCSDd&W&*`WfQ5 z`Ne?DE>4&5;yl(YVdrD~j+V{{Y9vB@t5)?wy=4e(UY(8OX<6XgkZ9fzCSrs9oLS^E zG$6bx0TBbB@F`7#YBH&UF!YJ2ZZgc~(E;=kN_(Yx|A*~0PN#+$O zDg5Xj*RyCd+`eW5$)boD0?Qf{fhsC$2?AY7=xoe#2S5jEQp>d$)1bX`|w%<;HG}Nr5h=`I9Ejy`-2;r2N0twZ!5^2EZd;50>E<1v#dec1d z!HjE1&$}VZ>O%ME%#yv`QPt(!<)R}T9|J?casG)Vbf?{QB5-3KbZDCnVWiiniw-QL zcGN@xnW(U6UAOM!tBDU$!B`<b`fzwaWR~%|8x3vT^LA&z6n{r)RgGqQhhE zuSbd}&R#OV96Ye{+S$t6OD8kipLyCiy8KFR+gIM*dzY6k)qiVzpuKm-dUy50p#!Is zTaQiNwQ1Y(=;Tk7L|Jv~S@5cxJ-hZD1 f-g5q#dg0Eg!Wr<>#V0Pu|D!@~I{WeD^DqAkgQ7k| literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^qCl*{!3-qTbRDk)DaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheq5(c3u0Yz{+`PNHyRNqO|Ns9P85uwk>-Qfw04es8AirRsAP_J}c{95K zg*Xd5B8wRq`1XP@qx^Y zj-GMVF5|NC3d1ecD|mSCwlw~-Hu@I3TXxr}ji(piaeWh7p7_pa*}G#mM0sLe*DqOq zeRKR3Ik7K$!tGCotuDB9)?l6Nx$>FXZ0 Y9v}XBjvFj)0^P#k>FVdQ&MBb@0Q9kL4FCWD diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_bath.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_bath.png index c161d87912fd6a77b93e7b944859df0d4c8d755d..486d9cca88291511cc39f3dfaaeca04b2a500824 100644 GIT binary patch literal 1630 zcmbVMU1%It6rMFm(n^z9ZLKYlagv9%I={O+yE}9Z$?i5;?8fb8A&J=H&CK21F*9?= znc40pqSzSlC(>52KIo(AgAY~&p{QV`(U720MAQcnA1r}lp*~1ZE5tMVM=I4~2kxAE z&;9QCKj)>~*vO9Ud$&^*wIef{$^*R{RXgWdZm>h|4wVbYt-9#T|d za!4c7n5&sKpegFWV9iGA4EE@0T+*!sbM@o%46SPkW+IXmvUU=e_0c&8kI#)2)VUco zt}%lT(+6q_2r#jS=$dI*u2M@db-4=ceKya~b%-~UV1|5!^kgUXXZ6VgbRrvzCWytmXE%B&4vbI=b!Y#G-wPXqr^K1Ot{fTrlmnSj%mO2?EB~ zkj;yn;JZ`@YHAy2R~)0RTvK^$U=v%O3s|v@wadgKZkhax==Sw>3Lv!EY+J_-Z86QZ z3fD^?12>uhxgpvu%-WdGW0zDM6{nAZnf<;uwvu!(@`zI)#Aqcd*D{%wL{6fE6S}35 zs{6o}2RMa1oM0epA}h$OBo{bS9mY#kdT{ zb7I}xY*xuwu7@lYXHp3Ug2U;$rl_$PiiV{)TZ|)_4Hv^jHXcDSRwzbr5lu&M3`bh; zQ$(%!CD3}W{m=K0Iy$rwD5JUyS)FaR&NzOmxifUSUM>n!{WeH2s-J(X zF-^99%MoaZt(Gwe{g1k6z+6)Fs>s1ZC5YBd>y8KGdB0&Be(?Wvv3|Fuxm$3U82+|B zs^HKbcG!Xm=fEgi{bT5L7=s^WQbUE{#WSyd(Y;LfcD#S&+UDSgFC6K5GUo*ES-SJe za>$AOyzREku+{tAsoaJ6Qv>%K%FACxD<>CrCJQFFy0j-4xOd{>RNuMy*FRnRW$D|# z3+CJVLp@Wy`JRRQ@IbEGIkP^We(&@3Hy;le$A#m$z{anaO8Cz={yKl+m4yxYHFF>O z=CJX}J5LXM5FNS0I&tOs{vSF=o^>wO>Bjo%yUTC&^OL_lW}IEy_37@eyMF)v@X@|! Z0xy2q)3fLDxzqkM&!opvXNRAd{~Kud7YYCX delta 325 zcmcb|^NY!@Gr-TCmrII^fq{Y7)59eQNQ(lo1_v{cRMU054x|{1gWR1M)}51i3FNS( zJNh~@Fl_AS{*%Z$QPIABKLZ2bentz{U=^V3ZBG}+5DWjg6HkjZ8*sR&UiW;mrK>?)s4nVZL!vQ+_6K3q34=Pj`4wfv(wiT^0i;UwL@ zHy0)=`fd#wd6U6lDx_Itgtxr4ww@lrpD3*7$H|19Go5rov;Pp;{MeP+2?!B P&%og6>gTe~DWM4f>oyaQ#e4pGq&K;R} zMi3tT-K{LeOQkttb5EfTuQH|M1%MWWsp(EY?G+Y_RaSTXoOJWbRY`Q6oV1uKp;C}% z4Y#lsvXg7`6?<*P&N|Zc%i>grfB}!iRP1<7KO&u+)U!)qoJ^~d*n`9?IcX+wC@z)C zVxEUgG!-P<2x($Et6o8#;4O4&WWhQ%@C9EvsS(Ek zQPp<4t+aK8hjkTavso2ss;0?+kfW|2(~j&%2Zt6c7TKX2#4h*6#3HToR-BW7X+H!n z7@75>flMHn+M$7p6_kY313LBy7qr4=&$(l(tjRp)#}Q!h2pcqb%%cXsi|Ntw9S%U+ zQfcI4TP~hAauLO|s}ROOkZsXXr5iAHfknI(+H7_eXdXzpFnoeL0xkIQAEpf-Kb+(j^Cl0$F|gCO&KL9fa>#3L6BeR{<448f zY~I9K6UZyLN4HcWML&wEZ?mG6lRzBBbsb{jw4KRnRas9Z!RkgzrgnzOHHvULozf6S zY`EXzb}K1?;eH49C;4ZNG?;d`QQ*NM=$maf7#O`rUG!lQ zuf=T|vY9%lb>F&E??yhNtM{hpU^yOVo>^}uP{Y=rCsT8hlo;yAEt+?B|ePsIjN2^Ao zuq=TB+s@Ntafpd?7fiuWQw!%)>lWD-}x6TKOm0) literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^qCl*{!3-qTbRDk)DaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(ehe5&=FTu0Yz{+`PNHyRNpjzOL^7|Nj{o89>2Pr=!Dw6h}#rUocP*1Q_l$ z?~MeCaTa()7BevL?FV5-3)Wy2pkS4!i(`m||JDoMd<_abu7Lq|zwd7p&s?y@$LE8e z$#cWTfb!Z)5{v(=a@wP3Z=!14F-dOOB?+;mb`eXhEzers-aJ=K)@9MG6)P3FP72Ca z#Q$6;8&J=hwQFZ|xKPDxuOzq3^;@n7%@I2@=k1mk3PM+1e0c*uxcuK!wU%G6Nm%QS T)MgE!D;PXo{an^LB{Ts5F#lvm diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_canner.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_canner.png index e3498ca13244a6ae57efe17a9fd6ba8a1c21e60c..4ab1de5a4fc7d2a9ef8f6846f6e03bb7450067bd 100644 GIT binary patch literal 1795 zcmbVNU5MON6rSDcwyw-T%PMLMh7_g6O>%EClbG0Poldr$0ka);X5Fpy!Tj8r2|JS; zlkCpyJZ<+)&<7t@+fuQ%(1MFa@WGH5{f)dHb2EqiNF=rt-hB%% z#I{EwkKV8glfk6+ielm_t6SJWY`y9dbR@E8U)|NsDHKo!D%nnwzWK!^nzF4VJ(19W z=B82E&NMufZ;Teq#*`^r^uE2+p1MK|R8gQ)^=ifOm3oqH*;U9moaSh%1qr5-bSiX6 zO=>wRjXgw(EMQCkcuJC4D8}O=7^Zl@0}doO$TLt>KwN{qj8nAhx7n@1&k}* zMCH1aDIT&swQIt5EL`(H9(gXdzV9QjB*sJO!V7sc95a&82n(E1@q;Um%#4%wfte?-O(>V_p z?Fw1&#}4kNvLk5`$|51p!WLakQ?ia9=#Gi9YLX`6u(oX}MM;#UL@~}thQu?L6o-tA zc)*CFsPjc5AsYyF_p8{P4ojfB-y-_~gc6Suh!HG^h*ELD7>0ltsR#uqSUfTlQg{C$ z&n8DuuROG!@L-0uqhxHKWOcT4bn@tp&ZuHjt#VOxGdu=K+6?oLEV?soZ=k?~MbI`| zDJOH@|5M+vP9KJPM^>|}J0(PVDo2OG zaAEgpCx!cOzFKSRI#m}=+Fv;A^)gm8rajV^W$(Qt>FM8O)l?z#?Vmp{N0-2s zM{=K^e(uEO=!Ml^mY*N|+%&iS z>glbYtX({C=K8jkxqSTb*yy}G?I#ys`|j=Wxq;>RP4D)dn;be~sOk^V#%1&T-#<3{t_+=cX?OEu5dNmJBctm1 I{jbme3leWg_y7O^ literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^qCl*{!3-qTbRDk)DaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheq5(c3u0Yz{+`O)~w!6Fg|Ns9P85uy4(=s+~K#IL2$S)Wu2m}mL-pp=5 zAh#ACO%AT=a^>Bu m=i}uvd2u9T{`>!|ADDmc7TB&3{jUe;GzL#sKbLh*2~7Y4lyeCH diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_circuit.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_circuit.png index 77ab9f1d065f0231b5734090c91d37efff6b4be9..c3fe66837e6a1a2e51c6d369ca8141849b5cab67 100644 GIT binary patch literal 1728 zcmbVNON`q@7*4m_s$|*irQ$$^G`I-0YRC3CiIZ3xR=de=6RFuo+i1JJW#XA6*2W&! zb~cX-QsGjNkdWE~Dj=?vphyU~@Yp@{QcgY577kPb4n3e&MHPZW#qYedh3!MN?07u$ z&G&!*WB!~kEgzqbz8sB2BGZL@ZUx>4;5oc+FZ@0vKm81^7u@_AKN6X_8a}%&9-TQD ziR}5+Dz61=#S?}pY?(4q<#NY%0Ue3V&UIXBuJZs@dEIg{(%o-1C1kOTbUIN~i*A-T ztbEVor+Uj}v$t-hnKbtXn(Y`sVDo^Yj@@*8qmz;PyatTJX+=VPNU)xf=0k&Mtyn@? z;c=wPDmGPBL&>yE^mtrXk0DLfR7FiFM8iZk)VM*CXn09r&0{rVCAT!R1z#Dd5d^NG zDD8GzZpUQd)fJLXrxjIGGz|j+`&}oX9qjmrMhrRbo1WzcmT*wWNUNe1WF$~JaKU!R zw2nUv69i1@P*)+c8oJa6GINY`TVAtooS6!5a+^DW4_GqBx(yKszabt&Jzjpq0ED(! z9NXAYi*1ih_`%`^xG@aKj%dH!b-A*_ebMqvzPJH04~5>iM%Lpr5MEh`<|t96kz}M1 zSwn|UTMiR#|H!rtJVyhbksxaXt2);7GEogJX22M7r>X;JQ8264-40D+k}9h)LxUVA zAAv&2FdEROf|+U5glAK5*s^JzE3Q+Q&^U}nRy2hNhCy9y`+OmrEqS75HDSSDIlh1j zi&>qdbr3I;zT9HbC^&vV9g`Pw83}?TTNX2tCg;4Gq&StRF-)|$j?*zch7;7(t8lBa zp}Vj@C(Kq@0;By5_NP*Mf&msMNR?m~i`Q^fWhu<7Iw7elqm0v${ga*rN02t3n+ZM(sN^a*t_fcc^p zw5iAE>kzG{)}8V=@jl&nvh-(5-v6cVSf|e;eHd1=L7h5>o~lTpGfLQf21!x=o3H-b zwoWyIL;DMdi2`QzDLziiqI5AY`s@%s0Z_y78|J0ay?`EYCU^?L;UerBKX?v3Wb h&&aj+AN&*jb0&K1@<+X?xy|rDrm(o2yRuL@_b<=hDZBsx literal 240 zcmeAS@N?(olHy`uVBq!ia0vp^qCl*{!3-qTbRDk)DaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(ehe`~f~8u0XoGyZitD|K{fAKz84`{T@JywIs+d7%2Fk;rBMaV4whJfk$L9 z0|VcF5N5Ps4ORgPMtZt9hFJJNon**$z<`H2`}F_%;#Lh+qr7E)Yj?c7kT6BY^yy7E zsZ9)rIBsSn{?;}#x->y|8}C}U@z4lkwvS!MPON2BnuNw|DN!0&xjf9ZPZF!Pk7v70 zTG0YSJdAQ%p$`KgXqkl6!GzQS(psqxASNCV69X{;6Pkns6Vv*Dv^}A4oSV97FtJF^ zIp;s$`TqNVFxTJLwf>&<1VMBunN%LH8}S!j*Ma}PUfF&gFL&hj6w-K=Bx!1Ds#dE_ zPE6oq=Q-sBUe@~g{sAnk)rf`VBgcXcuRrY;HX4y)m!c@8$Itd(AN6fU#B8 zVL1i_F4cj$*2Xy_u31;EYb-RO1#REMSgwtA%E(7v8T|`&`}zt6IJDVpTgNqRv8=WV z&rgqHH<|&tCfX~EIgrgm4~@7QOpjtSw+7xga?*vWkK6)6W-C#-mdPZ~F+3UGYuGxf zcn__508^?D;}p&sM+1rGqyo>$f+!1s#<>Ha0nH-aD2`nPjTQheV{}Bi0*XsUSAF%m zU|o}o$hB1Luwkhs$U1h3BHLk>S+PA|wKb@u;uH=JV;H&|84?93bpu)`@wOAo zBS8tY-s}JK{bR0yTTnG`m?vn=pmyYp;o+=~HCtx@?r-i)gRGZ}tZG3U#3?PvKh&wF z*tp>cG-xYjh)MsWE*dZo75$3p!bAy2>$-KvV&mDMVH2lUth*!a7jre3gK@*o=${1?(gi-7XPZTm*3cN>W3}!^P6vfrSssM z8*e*0`QlHxKbf;{t<|k^g81e5KH~k^Pbcpy-}~I7)8@}7=595?XMfMny#CIa!@u8r zXz7!87r!Zfe=hX)*(K@e+^%N|AD+4V(f0Fbrncqc9}^eo&%aue3H2$vBgbc-dT%y8 zdboFbv$*i%o$>IYxd)UN)*bjQfArY1b4Om1H$B+(L8x--!ovP9o=AN6+NJQeyH|$G hr(ZpNvf3kD?2;~Z?cVS>`+P9Zm2`jVSns|A{{Sqw7mWY_ delta 317 zcmV-D0mA;=4DJFxiBL{Q4GJ0x0000DNk~Le0000L0000e2m=5B046O#*8l(j0drDE zLIAGL9O(c600d`2O+f$vv5yPD5HhJZcKs~UPt4koTQ(HFPnOM+Zo2QW3Njj_~mwH1QEi_AZBy> zBfEJlY*^)h+8RFQf=~yi3PLHYhLu1s=a+#5p*)BF%6sE)8Z;E0a&*ocoly=GnWK-I P00000NkvXXu0mjfBIeS`RX~KJsd5cOE@lbBmExOem3(2$31kwx7XO3b;@vQ zAYqR>MCt?)pgHd7@lJ%@24TEIYJO-6d!Jtuc;7RHv-1|RqCBbl%NsFS-B_{RjfSgx z!trDL(T)KE0>Uug37TPIbWEWq*MM_MmIb~CVGUDQOcnBLR+-P!nDCl}L>D2I&*_q) zWwRQ3j#rV2WHc`;s;FoN${I?JA3OqRi@mB*DV!MSf<)Qm6kSdUX9a1rS=x8tJ&JEkQ6+k+9+g zaAOdVyP^|&JtA_2B(xQ~q<8_$Je+zH8TpuCMq``O<}gv^p~<|eNGd;j)(<_}PL7N* zkOF4J6d-Ggh%`~vYy}zWoB?OZ9YTGmMLoZ|J`T-^%7TqlLxmSO$DmL$9%lHSV9zzG zG!8I0><73;7{(W9Mh`bgo~tda)~b$^O~Y-V7#RC%(X0| z6ebLZE-4jE0fHm>zGpa^;>|f#2kH{diO9)TMIFI{br&xncizDZ+K|6M-BwxxLw@gn z^1m4S(1N&m-*VE%Ol!wj_7lkJ`k-}I$t#0X)8~8TVqiCI15D;@15<}wts%9b?wl*&nu4!e`dBH-8=T#2Rt%70EeY}q28#S=_`QuU7%0G5;1OBO zz`(a3gc&VZgH?cnMV>B>Ar}5;FM9Je7;vxzWbXVwvz1Zwm-nvBIju*gn_NDBbg_e` zN`|KE@*cO=uhLf{l6Qo>Y__yp^>3Dj*s}>5Wix})y|$iTbM{z4x^y~o+4jY&Hea0J zzgy>uxU%E%+)vfd?*3U6{7vMlZ(6Qd-S@mR=5cA9Ycf-BtpVE3;OXk;vd$@?2>^>~ BUXuU- diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_extract.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_extract.png index f6fe8a2a3bbfc9128f9547efc8316ce56b3f70d0..2d3569b5666954f1053717013a24a2921298cc7d 100644 GIT binary patch literal 1977 zcmb_dU5MON6rQcPcDK9RQf*mUgqVG)KbhS8OeP5(+i7Oo8F9A5bf8=NVDH@A%w#u{ z8=p(0NfC-j>w^|liuh8rFM?oEsB4Q4rTe1bFIcG*M7F3@K@e}|CycuNVR0an zn|r@=&UeoF?!7OTrVfk_?-))b5~GEDu1wz#&}Y}iLHhrf@YUD!HRR=w1c}7ha`X(G zdUR}OA~AT*u1ts1#V2({8cAr9Do(Z<9z`b-yZ5v_h-PufRB_FAGwkYzAG3^YX4u22 zA}D$WuG{%VA0Jwrs-VSLq?zoV$C=$NojPdX5HhWX;|6*w!?ykEbR13dEYpUBvl%uU z1!Sg+CB`5=W|So05C9^R){=rE%L;gm5rGJJkm3cA6BHfDx{zkNKbA)GO-nE5_IG2^ zuMArcLr>@VX0w@WN=f3^ctO)N9*DdsaumS@3vLKooEuE^JmheIeA^3c;xds(SS52| zhNVn9DKxy;ts8X9L<`2ZpvMbI5T(=xnkdG3bH39KZXzB#xPjd;pjaWsdUX<#piXY# zI$r)q09x8&F^;h&mqsHF5rmWTG>vXS)S|VcRuHGkCbq0Ow$cGc4_zzyXC5m5Km#QPSy{_6~p!v`9?bTIh$S zIYF%eQI};svh0IW$(S&NcLbYAw}{_>G-0~|Ynb=k8q36G)D7Ygp9ZGvr2hGWVU&Dg z*$!O@$_Mr_g-JsZG=-8+3T?W@qF!)=5V{B#av7EuCu!TJu1Hb}$a0mlR8!(KQBH9X zYZ|90GO*0Fmc~N5XP+ZzE|Ngc-lXm0(*bVrWOwB@2h6m5eHi=zHxlkHC1YgFLwGU&K% z)-iQ@8(nl@0kOg+^l`REt93`+@wXx$!1>!#SFs9JkTN+aNQeU|InAjSP&pu(QnhNy z2%>5)^?vHHPN`JIo=(?8y<1jPhi(niGnHr8pUmAU@xOhDlj+}d|6ekEbd+`!#{XM< z?X|vRmo~CJMbGkR7+)gvBff^POY7v*OJ?i#U$)T;>b*iPTghMg`HSrEGBa{-iCjB% zK6iXz^{1PgpLlTPg!0*y>aia`c{==ci@h|k_lEOFcIB1viJ5y|AG>z?=;a$Dm$#ic z`11JYdylSccs6&Wp1AVEn{RzL^Zxx;hc~@izIfb(XZL@)!4R7}#$U@mw**!kPw_owGCoZLF|Wd(g;Z2#!_k@L%E&uu(;;SuM) i-^pUZd1y6#bJLdVZ(n_9^UzDtO{k9$AFp%5Ug0 znEot2ovd?BzDM7_k@~wh-+F^u@G8keGOrf3{<>=X)tl|>N;7`>s0!=0^Q#yBf0wuG o=ZV^GabI>ZQ+bG<+Uu6`C!PzgzVGxh4CpupPgg&ebxsLQ0Bfat!vFvP diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_extruder.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_extruder.png index 35e029803c8a9ea4164e95a295868ddfb3410a51..ff1073d507e3345fca5cdd0d870e24b2a3e9fdd1 100644 GIT binary patch literal 1528 zcmbVMU5MON6dqZHb+Ic*6|o4H)WX^}$xSAkX)cZHZZdWTnsuBVm=!9RpF1;QC%G}X z+nHGeu@8dogA^4(d{GeJ`Y4JIYVl?92So6}qAxy)LIsgUd{|HBCv2r!Y~bded+vA7 z|2Z!=*3TVTcxa(iDjliU>?Z6-VJ*$i!GG`i$)91nw{gBzg}qX#?C$O!92@|xJ#zX5 z*zV%Z^$p-0l>Yi)aRV54C$*=uQfcw?eBJTJsl{UedLV3V@=fPF@mVCf0rRLdj1oYX zN@rJwiR*7sjy&28V^g^P@h1Wb15;=(JJ?Aq+6!wtDc#svZ}~f0z7Ys3kD;?e0sz$yhc=`qf-9{U&3#q|veAheEC=(wpZQBX#VdQqHoWxxL z6=5V6>$4OT=hhwO*Db4&vQF5Ci>!HW4b`ibt{6HPFDYYl9f#E8jJvT<>$WLCaHKE{ z$QjiwE9H(RY6ixl=V_Yg`MN3^n(pb#UdPitfA-#H{&rphv-iROeE(z`LJPY6+m@3z zW?nm_7G{vu(X@3o=yOx5AEI%&5ZBM!z!dyE|1=P$?C`cDFcCZGQ4sncbuocutiuOx zN>{rOty|We493fO!%qB=|LNlR?oe~j;4m?AvKUoxD25%4VZx;_${s%UOa;c^g}S}k zTDttz<);=t#q-v+V1MQJUmyIUH}~DEpZ(Y#ojmdVqV>z%srRpnFJ5~7@!FTay?Ng~ z@2Wie{(;2?ZRm9N?Z8ohd=-L(0k?Tn)dqJKi&Ctb^g6QasRD+ O-qx$@_La3~FZ~UWUFGip delta 216 zcmeyt-O6Ow8Q|y6%O%Cdz`(%k>ERLtq(y;PgM%4Js_8mj2U3j1LGDfr>(0r%1aer? z9eo`c7&i8E|4C$>sAyilpMimIKcfX}unJH%&(p;*#KQmVMMu5{1p((ki5>rEZk^la z$RuQTY`bDzW5*J!$wn_0e&pg>l2sNW?YuScXX)0W-SLS6XTE+;aI07yvECu>>jj-W zkH?pj*u(yx64)BQVFgF?z9Pn_xxBx3&VM7I&X-=_J~bqv%z0~Eha9J%t834DQ>)%77EJ`vh~8vHdDYxT=s-94r4$U3g<73 zW9DrOg?eJ(M~?RJ`yVyrb4RbP^p+=JQ|IRQPGge0GpLc1rrNfmJSF#-Hj9*>rr}U zA)zKxFY#mL%Lru>Sx@dLM*~Y|E`)I|HcIDVf`H*Mi?L~t%%v%idpR!NNrI_z?qLy# zP(&&PteIoup;R&*%6}1^Uq7J$LhHJ@j;GoZhPjGV)vtpa^ME`RopyI)fjc6VJBcUi z*TKv)nKv=5CW0xMbfpXyiE1xQMwV$?uO=l&mudlCjvR35lP`+aEz9zk$tOOSC`TunXtPLE^%knR{HfQ_K9f6tH(NKWU|EP-@ER}sVVu{!oK(wA& zcNmPvS;Nl!!2fh{dUv3?7jT#u8JUkNIOM}lL@?nJ7-hfT;_t&4e6v~G=&pYH!)N!7 z-+%k)Pxtxci{eMa(>L#Y@bjakufF-RapT4ce-(54i1_thaOm?bar@ST-_HKgS~>OC X3A}XpmEzrRvvJz2w`yNsy!!FqcPiC; delta 178 zcmcc4{eaP~Gr-TCmrII^fq{Y7)59eQNQ(lo1_v{cRMU054x|{1gWR1M)}51i3FNS( zJNh~@Fl_AS{*%Z$QPDhmHv@N`sBZK*}5pBZL6-{xZe5v=H?)C1OKm|cT1abCqcchx8C3vv6 zvopW%`+nc|{buHPet2+8`|a(qSZqsnC^N#|JJ{3Hwu$}!Eq}YjUblKf4+pVW=ZDdA z)9l@yyJN9U=k3B+IF@_Bz|;|uNsC0RIUYmDV!eGe58-hVaz#?I-4y@p{6(I#%@jYX z=0MI%ld?TD?URGk!v#D&j&+moyO-;&8O(u0Ld4aaiW?ZU6kqpiuyHgk@mw7ej;Hwk zC?GeM%X4Y!6HXI>fB}G9LKkICQ8aK52LS{UP$d}(vSt9qkP}?v$Fpd@X&ED#`x>#> zSBfu(p=U@^wOSRcagq8ZN!E2;0#JfbUmy0~2BAp0R zJY%|&g5$N^x&o~ zK~5F`G~}eAfUBTPGA0Vqb-^Y!Eb2RmC2TvWL?q8G@m#BnMw(Wr&jK@c@zwL$bUN=- z%dW76U}SJVmmNrJvaT`mqFkq&%NbcW2$73PHk0C6aYWlT4b4(X+*B<=N#eL*VkIHy z5MzN@C}F7(LLH!{eTL$RNCHiJli8!9Y9*`cv>l`GHH%1kktINeeINAm&9!LErCf}I0*QmgaWw7G5 zS|-ftI=Wba1=I?w$S3_JR;}ymPP!KP08Oq>-HNLg)RIL3SP4^5R7GVSz?xubGQbMP ztTn88|E1p2DKuEC8j{`!^@eX;MsA6)Ggaa@p3IFYah+sVZ@T|487VqSR}?1wTYUAk zRmU!CWPOUA<HAGxiC!bw1_T{a2vI}ZHo9QnME&hD^K<7tX+rT%ouaEDY ziSL@(edfjdzGq%}|G;wY`6IpWwm;DpyVP-Lq3@Qto?}n$fP<;~x8r9=f1EoJl;_UI zP98r0-rF5lPU;JX&mBAU-KnmNA0J(OYG&zZ|j~J?hT0 z@62BK-hR%u?N5`7>AibidPIET%+28s+P2SMe&~zaI=<}MMN3ltm)Dk0KlayGC&vF= uKJ&q&<%KKK@p;hwhO%?t(oeYW>+Q*-m*88!$)80RZFXQdb8i2Ur~d)Q+=P+< literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^qCl*{!3-qTbRDk)DaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheq5(c3u0Yz{+`PNH`~Uy{EzQk!wY5Nzt(CiYfE0U4kY6xR90(YsyqVpA zLYxI2k;M!Qe1|}oQB=dL0Vp`t)5S5w!vE^TK)%BYJkFdqi~cLWw`3G$sh_NNHmmtp zii}s(oiD;!%MR@hdVN>3Zs9@W6*Ei4+BF<_PMU+<0Y5kgJTbW%zu_}s#UN2*mAS1Pf@O|U5j`+(r%e+n!c@&JikEs#{8Wt sJulAsxaelya*qG4_tNM5n&wu+@WxLtFXkV+KG1;-p00i_>zopr02Y>W{Qv*} diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_magnet.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_magnet.png index f316a014627beffa569ba7db8254ba6137c3e9c4..e4938e8eda4987ffd663d32c5164ee7fc49ade8b 100644 GIT binary patch literal 1555 zcmbVMPiP!f7#}TF6Pi$p^iU6u(^z8b%$u3)&SW1MW4gO-20C%s3^WxgzMXlyJ7#Cz zI5XSbL_`}sC^?9c)`JH<2wqeILXjxsqS4+w2t7zqFKR9p1o0TZ**`-n)nXTB-+SNt zz2Eo$d$Y1|c5L+6D93SQ=6tCN>%;I(K6C*7uirYk3(JwpIlBz2uIoEHJL~J~dwY9u zJbdx>-(YzlsV*#n1Z1CWf4B{jk#PP(%yHvirQdy5PK`gpaR-lj_ENHBox=|ECE~Ig zmAZZiXpWni?S{lzrU_r84KFZ+TVHGoyyqIi`Mf1tVUaey`PGOnt}fWl>atUCh1sY0 znJxwbpC*Lw`mG?wT|?;cV%Vo*B=9{*vTO)*sX~6qs_;b?QC^c|(UE19*9(%O<#L+* zB(KVuLKF{ia~sQ$WWrO6M13cv4Bq*NsYA=LjX(rF8EA0gUzMrXxlkz2SV-S!# zqGNj{q^L?`){Y!nz653-PrV6oF`^`4kzLN z*z-w)qA+L(d=^GrWGxnf;?%nRahM6B+$;3BS`JMqia9x#6AO7lL_%quQdiA8R3E-CF{hoD!0^5MKi@wS zdC-ESbKK|p)cdni?H!3Gy uK6qvGtp~SGe0THm@8h3u{rb_P=oRkWtA{RMTs7P27&glbrB6>kzxFqApZ6L7 delta 230 zcmbQtGo8tr%br396gXHM%>Vs=dY~ay z=8W#tGaLCgiHKP~b$mT<<=U|^g$ cEN|zopr0J>>ZcK`qY diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_mixer.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_mixer.png index 5ace2969fe7c6f5696498386d1167a30ff1d5795..8c34e62f9fbdb064cc8fa6e2a557357821fcaa00 100644 GIT binary patch literal 1656 zcmbVMZD<>19KThBuCj^F6`Zi0SLmwCy(UeXhh0aS#5J(g(gs#PIK13FNzUZ%x!qls zq+cuw;#OBpeM9h*Gky?pICP*+h1r#=!y-8C6a6(FYug+PL7Yb8<8+kRm=1CRs|tcd zhr*l~3J@dMySDDd z(G*v?E?84hhS-Jz4(o=J#k^%^8M+fj6eR^>gJRFRwe&RZJBpVlo54;dEU?X;G6zP4%;(K}}%8LO^8|e;~l71uZZb#8^=S zTAM#c)S_1cZGP>4^51Xk(1J?ghUIvT>D3Mz)g8!crPVrY@pANX9KGHjZQ=TGy>R9*pO`hHd)6|I@|B+nVNX!(n20 z$IhsNOJ~?&6DFJuqipl{7f-_&TuQ_use$EM_0!uwqPyeouUxrO-^N*|hR!5<@#mS( zsIKk5Mqk<9y>fJ^Yn@h`_xHz+&-BmtA6xqFk)Ll}?fUKc^>52}`Znzw{`SdBD;E|9 zw$&nkAnEwwmHv}|?s!YQtu}nhg)zZ_d|? z?pajx^*z{o;fX-?;G0|Dc{O_WV(#RrYUa}1p)+LelV^@hTdBM}^jdNM7mv@qJM{3T t`H@K8N!HS@R}Vi{=Dt39+h8PC`lJ0gk57Wx9{VrdQ!}3KQHYw^0_+PC3~_^KS9r;7QA<&P=IfIlHA>1IptPG9XBf%}@?fw{@1lv@Cx3QuQ%GoxhL7CFXt_<|m>>_#Z5}kSfy`Ok0wcFc#7M?|Jv8 zN&3M_!4IQf3MvH^yANX7&@mK2bWjixh6M$O6#Sz2NpK7i5kVK9%Rf4q4i~t*@B6&J z_xJpN&SmFj2KEo_XBcK6lTPMfJqX{}zCG}N^~U&5upG$F=2Ni7VzJfL)n>DKaPu%6 z%l_dAEPH8gZXSfqCiCIeJ6j;R&r6>P7-sPE@Vn>rM+b))rtd*Jzd#rCS!5DNFf3BQ zLf!EI%`iug)jh*p#FQ=IlI_O18=r1*tZl`)(-XR+dkI{&)5|`dU!KdG%ZsLFamOBK zkJb?oIG7r2-Kn?%s>it&FM@q27CE*Bp^I^DDpbfW=vg*Fe9WqX#G8_&urW=L)o4_e z9%B_rkwj@iloei9krYL8jP3k5(B@l3luMrI=z>$6D^uzrQLNQ!LMK4`eqsPk@csLPPVf$7^GwTa7yj7EV}X`BN~+b%d>kJb%3VS<2(b;A>7K?+@J z0WGtK^QwNOrQ9+_T)_@@X#iNchxN*YlAuifg}QfrivkF(uJ?4@))vRn2I%Ci$yVCC>koSMU<$9HFa`gajTzPsO4|Wswb5yvdHiB$SFzbvxgf&~+aS)FVg9kjb;R~vN1#nx zD`O!2kGg2X0#c+k!^cx4h}IqJP6Xq{uwmPNi2ro4b+@azyKtBo;kGxb;Lsa(*o6t_ z!zg>}?ByjGgKuP#Q~9y4K3Y3@;ALrF;>*q7w?62bN^k!7h1@@~F*-2v>-k^yUVUY4 zC-rLo&;#=L_s>3mqEER#I!uep?8x~2wI?cTS5Eey@v6`L@!F-Kb^6=(o665_boT9= z?;Uwkzj$T%o4;P#ID5Q0dhP3LE6+@q{#@C9c<0p2<|E@zt$#-@$7XjfZr6YKc>3MX o8hbuT9)JI#r>`%5D{qjS_ntdHC|+P9>*2J{q~?;Bre9e38|^~`1ONa4 delta 283 zcmV+$0p$L=49o&PiBL{Q4GJ0x0000DNk~Le0000L0000e2m=5B046O#*8l(j0drDE zLIAGL9O(c600d`2O+f$vv5yPh>AqoXfA%f}^X~2e57kgtF_0M3%C(PxlFawq>-F)ey#>LF=|Z hZB=o9+JoP1<{R^X4)O=HlIzd_6%yl=r*~`I(O?-1MXLl#rnKPZ4 zWH%8C6*QE9#$ftT5GH2Q3S;o*MIg#D%D~aX3shQ z`Of#>|Fh}T@wV2^R)Qef5(BXetOw!q?cWXmYukr^grz+_n2p043Wa87W-67+>gp;S zhad4pVA<4+a83 zuA3A%fn&KImKSI~C~^Uj50UjB1=?&aCuU+#)^)*2q6)5Si7Z2x(1V#rZ#-Ewtok{+Y1;Bi-?z|xuvhSj7soqCucU~E~oSf1fL zm#RQbZQ`tPyI57OsVpiY1DUP^SiXt13fRR?0sjki^ZFJA5ZYw2spGb`7)Dctl|q9AKL%>`*8nB_T9@QbjA+;LnDn#7u(o7@Qv(R^=~6GVX%`QBTgP%@hA%69~7 zs+hyJA%nxZA?FcmnR$wAhEa^-BDO)XXWdSDA{tHGIHwok!pR&zMkeCXARi8b@eE%z zH<=U@rsK+{iV`u2g5WT^u8CS$4*L0kLMuYRPb=YoOe-ql>0ocTC!}by>JNk)?_*dU z_e!AgUi+W#PuM!Npj^Cb9kp4$q)L;(Ixh2^~{dtJi9qWz-<5{m^Yksi*bg_E3qq!S!m>Ax+IjZ2$ z9CpZr31`D7d#wA$3or(k6S4lRZ~djYXLem7_eam-4=VG29P%08{xp65i3^8bzW>PS z*G5MYqf5VhJZ%&o%zb(NP37GO&P`lc>R8tnJKN^2b)9VA(!TG0Wpj4n)P_QQ^ImE5 z>xI1?qYG~@N*8C(Ji6TXgK)F`^c#`wiNO5W)u%S!-}>{ngD01FAO50qZRy_6BcBdl zKEG@3+FMs&y_rhwd-|Q?zV(a##Va2cF5PJ9X#IWm+05%_zUte$wDI$I+Vo!=zwTKZ Xy6;@eiR+(vV>}U0#V#Lv{>8rmQ5qW7 delta 313 zcmV-90mlB*4C(?tiBL{Q4GJ0x0000DNk~Le0000L0000e2m=5B046O#*8l(j0drDE zLIAGL9O(c600d`2O+f$vv5yP3xaLo7tVmcV5Yu*M2YWZgT4< zNSjiH4tj`gTX@l^|Bz$(tW|S)06{p{ghi{mg@0k6MK^%U;dIlTP5aaI!!vGL?~3Y; zwRkK3(R{vJB+H{x%aDP28k{pQPg5=_^V&}`+f>zCn^J`ix-{n(9T^Q??X`9Y00000 LNkvXXu0mjf&h>-3 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_slice.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_slice.png index 1d871341342d670e4648fbd5b0c97cbf4e696e0c..5811d74b4ffd1c109465c445f361510c0e12dbee 100644 GIT binary patch literal 1499 zcmbVM%Wu?17&k>}8zgd|Z3Hcd!ANb|VtdAHyz6NUTGm^#5>8i}jRWxg27XHZBkzc-D_(GEA7Q^@J=j8e(K7m$v1tl?#i=n63? zE>TiO(@zF%sUOgm{ryxI+$^~#L_#%fFc_$Viz-jM8Zk{%!@8#H3LunhHx}+tiL>)F z2{y~TG)zRuW0XsDJA6l2GFUosAxa9daW)MT1WX&ciAGeMyEF#+UV%$?(*9Vv?`f>h zA{L7bu%y5yJuZ0G@1!29 z-vu+z=iVf=mNHlHw9R>cmZ;{;WTX>SM@!ek*yn@n>q898b_KI!$Qn_wq3A}NV5(oF zaE9DrJb^mg4};yq(6T}*ZLCurQ(S%x3MJ#a!hI{)_h`V=$OVVP$n7#MiMui?!boep z&r?vGTX&e=sMVS&55hh?WUZ@LP@`Tmh-rZFDjA#WIJ6OG!i_!Fuq_#aqlTeROW5xO zhOw-4h#4q`S@M+%W5CuS6|x)zhFR&%_-*d(3Ojhg&~AYKYTEq`#{3 UzoO?aJNYCwQc za;k-IM&lx%GZG0mW^{Xt2ww;i$uj48AlUkgopZwjk<^1MhmXa?EPBx}Rg~fPMy|%C TrNt^h;}|?${an^LB{Ts5rwTSZ diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_wiremill.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_wiremill.png index a96e1a883fb9b2ac964e7d65a710060bb81847ec..d0e8dd3e602d9e75294b28cd7de9b9475374e3d2 100644 GIT binary patch literal 1550 zcmbVMPl()97>{(N+ofBIRE6~tQo&I-$xCK7X`UUI?aXv{bh8e#k!}y7Z<04N&z_oSk<2p;rM5&Uyi5sR#-Cp{>%y?7`dDoRgk6=eM~f5KL(#Rii1^1a{t zegD5RwWayViKz)e5GJb&K@N{F_2jOjAlefy9FGNI-&XqG_1dHR9uS1P?_lk#9gI{*q|*I6s7B*d?ty^D@w;^Y-EQe+GYzI5nbL`a@>to*Yc#< z$Hl`v3_d{(qBNH(6j$t;SmF^C4F$vMd$p zs;A(d)%xHsn7$yjq+9RQ=DJXTR z5A@s&7p_H}zH-l1X@~kWNMgWh88&S5gvV|EFVxxbO$s2iww>v?r7gansfd%x32xd@5T@BxIoJ! zp+yO@rpd^Vb;HpR*7F$lkUNA1P@8+KxxN!>%Gx0Z=~%OHA%7DTO2#7zxh>dpag#?r z0f(7ST2u{#mLz6j#3kP05hzZr+bOS>O0|eLSqBc{`uq{GS}7TtWq|RD);HI-aW#k& z61cQlE=mv_g)tA)8KcoCpuB9E=&z0ovB_siT}OG{vM-}|5U zpNbf?AnDvOPuiGi?cfC#Lsr*^t+PyD816bu?3W8BZrTP#$xZW5J!vRrcN~EMZMRK< z^grri0E>Au>5_=fwIEuztveNrSJQ?a_@VyO#s1lj<{rUeVx-$_RKZU+>}UWJE`m{Z z;LGVn7=zDO%X3cdn@_);o4AO^$1a|G@2~AwH`#+zzt?hGZ@hi_N^s9FkDWz7fBxaS zc$K>~K{ph$C oE|BIcXP)@&yN#EBI{(n@8S=Z#sRem8J6gN1i+NHzi{9l>h($ delta 230 zcmeCERLtq(y;PgM%4Js_8mj2U3j1LGDfr>(0r%1aer? z9eo`c7&i8E|4C$>sAylmi-Cb}7o+HYvr9nP8c!F;5DWjU7Y+(FC~&w2u6gp`-m=0# z>(H^*@?g2Ol8WoBE?xVR+j}c`L&m{X{=c|GY;$&aZ8H3}ENYwSSJ#JcBBC#NOnQ}f zp~ok_F@5rv^f$AX-OgHc_3pDD(-u^wEt|wVE9>g5t*#s2!Ia8_)V|Dqd+y52`VGGX VWnObM>jNFa;OXk;vd$@?2>`DJUDE&n diff --git a/src/main/resources/assets/gregtech/textures/gui/steam/bronze/bronze_gui.png b/src/main/resources/assets/gregtech/textures/gui/steam/bronze/bronze_gui.png index e803fb3a4cb42129c340d2d015856031e3823ffd..557eb65e7512905325f98f4a6bbc825d5310287c 100644 GIT binary patch literal 1775 zcmbVMOKcle6dgxyNdqoMDwL0qUZ)ZY4fBmZ^`ma=*lBI4PE2B{rXa!d%(FdYX5KI} zj-3dJv_yzXNQg?%E)dIZDj~{(MJu(Uux7!cNZC%3gKN*{Naf0KxSh-YOg#WkjULGHV@84%GdtP_Us83MOGHnm{vV5Nx!#G%$c+`jZ%UM1j7)13-6&09E zQA(5rO_o)Z&WK7Xkx0p}AyrmoNlr?NDkv!|C$N%6!-ofJuHM9p#S=qYFw637-*>Pi zb-P`$J1sJ|B`KLqMv_%YRRur@-m2}Bo?v^2M+`;kX|Cb;2D4GXNE)o;XL(RMaKUmy zTH70j2?8edh$AVY9Jtg6>RO0%Ij(BpIoS zsG`Z!hOM)%_v)4dv`BoK<>A&8K~4#3s;0)f+HG+j@7iHrxTEujilTV63IkLXec0FBU+-V zk!GVIr$^_DOzQ+GFgmaQ&+`ke0VPPx$L0wNGsqoWGCa7|)nVx@(f5ZV(?I=n!9)wn zAj@mP{ZpMEE*p;>fdOr|O@VZWycobd*7Uo?rTG>_YuCJ!K)e(b?7$D{K^OabTZ(%G zhmH{p!&U{8u-Q=?I-Cow?9)UP8e!zaaxq`)ZQk4bA(oR5tpD~kK6@o*lF6k@KfZGN zPOkm*FGv5pad#$jG+($j1xDVBE<}LxYQBDC&&HXlyH^fA5zleYJYW0^ zO@O71caFUL`dQ#RxHL9<+}=0-PyWO<^N~kL9XWC9?e*QfB9l381mEs+e+NW>-Uoy7 n?^B=L`JBJluEx&oefHko%>z%qQGct%!Bd`_FMc!o?z#T}Hqr+% literal 706 zcmeAS@N?(olHy`uVBq!ia0vp^8-REj2NRI|8a1gONHG=%xjQkeJ16rJ$YDu$^mSxl z*x1kgCy^D%=PdAuEM{QfI|Ravq8eTeKtc8rPhVH|hdlDaGA67~Yx;mfk|nMYCBgY= zCFO}lsSE{)nRz98d8s7|CVB>XhGs6A>%THEFv)wmIEGZjy}h!rP})$yA<%8jft6MP z;(A@7JNU{UZA;m=gdbjM$fBpE(y)Wim(}UYj|9pO{!m)0hsY%D_ znbWskRp8ji(Imj4$l)Z=qQK!O(4@fPNJoK==^uXoJ)Sn}zVMNzWncRrzbmljYl^rK z@y&QyKI_H>nNR1>+j)y4$+!R8UdtV#M`rP5S*Ufe%Kl;a=Pj`M=GsJ_^1J&)j%1Zx zw`tp*7tfVsx;tC$aO`${px(Q_{&IT-kIb6KlO$CqbY#}HTKlX=55fevrGCqS4RySH zs^9lMSCZr9O~(t%cgV6k?rCv3=NEIN Ui!2E~2TV^4p00i_>zopr0RMQ{UjP6A diff --git a/src/main/resources/assets/gregtech/textures/gui/steam/steel/steel_gui.png b/src/main/resources/assets/gregtech/textures/gui/steam/steel/steel_gui.png index 0d11fc4234e6f87730d86a3e86b1bdcc871a4124..bd911c19c2ceb4c63934bd38ee83154fa466a59c 100644 GIT binary patch literal 1775 zcmbVNO>Em_7(X_L?da0zXsb(5;%+Fue=+n=%B zCasVtw3CK}goXqcgtQ%2PE2fvNx%UyZR0pi;zybg2QHitVuCxb^QVkB=pR*r*2(Lk}cqX8z!#ATR_VEjcpQ5P8 zp0q0S;k@>$Y7mFlO|pdfrsDycq9#r?J>6KwA+v;QmYZS!{N`JhvCIs6dR#-Am&0|d zxbEY*^_hyXzHFpT_SB2aL{kL<2ZuV-bZj?Jn;EvntHL;17FebQ370eMWMq(;*UC(e z_?S_6#2E-lOft=jiYzPW1S25{320mpB~DaSB&%YQ>HJu*=9^V@Hvdw`7R)kiJq$fn z5E_jJ-x%YGUlYW1IxQeckR%QeT(IVbdXsa5(Jn(C2ZnEXp+#IKV$_$&N|<3mY1;+I z>(RPFCrl79p{aX<$fL-m7SJ?$IB&(bTgFX8z&3WU8wP+CdswedLK4);L#TV(4;X;Z zYFf|6u38+YXCep-tKdc_AiJW2%9@9TSsaiR-@t`ckU1K8ml(ggxK9gmAjG| zN#rHwxzmm^cogCx5hHPFseCX6CVtNy0QNCQZ85aN!7ApBbc3@ zVoHUaBBm7(&xZAAk37OeoXy4Go(Is8^nj{QEE`0VIG`uhtvev+wU%)r(LO~!%3h;fx}UNjslM~_w3!vfBKKPV@^ioe;YZz#_H-d0=e6g@J}FUvx`gLm#9hJW4yyDirw^6}r@Cvqf@@48KU zdtN+Ol6iafyu;4h^;tJAJnXCgZm-~xd2&2Sl5w0#{>k^h&jOjz_H5sB_jPO_`+n|x z8V#bqLG2CRvHjoufeQ=rqF^Iiq4lGgwd@PomWi8wIREr3_p%!?Y=^wG9e|06!PC{x JWt~$(699BG(i;E( From b202265034d204d17692eb9be45fbd43cfbac140 Mon Sep 17 00:00:00 2001 From: Tech22 Date: Sun, 18 Jul 2021 15:59:11 -0400 Subject: [PATCH 2/4] more gui improvements --- .../java/gregtech/api/gui/GuiTextures.java | 126 +++++++++++------- .../java/gregtech/api/recipes/RecipeMap.java | 19 ++- .../java/gregtech/api/recipes/RecipeMaps.java | 75 ++++++----- .../machines/RecipeMapDistillationTower.java | 45 +++++++ .../machines/RecipeMapFormingPress.java | 22 +++ .../metatileentities/MetaTileEntities.java | 21 +-- .../electric/MetaTileEntityHammer.java | 32 ----- .../textures/gui/overlay/atomic_overlay_1.png | Bin 0 -> 1719 bytes .../textures/gui/overlay/atomic_overlay_2.png | Bin 0 -> 1725 bytes .../textures/gui/overlay/beaker_overlay_1.png | Bin 0 -> 1727 bytes .../textures/gui/overlay/beaker_overlay_2.png | Bin 0 -> 1726 bytes .../textures/gui/overlay/beaker_overlay_3.png | Bin 0 -> 1726 bytes .../textures/gui/overlay/beaker_overlay_4.png | Bin 0 -> 1725 bytes .../gui/overlay/cracking_overlay_1.png | Bin 0 -> 1672 bytes .../gui/overlay/cracking_overlay_2.png | Bin 0 -> 1745 bytes .../gui/overlay/heating_overlay_1.png | Bin 0 -> 1723 bytes .../gui/overlay/heating_overlay_2.png | Bin 0 -> 1720 bytes .../gui/overlay/implosion_overlay_1.png | Bin 0 -> 1708 bytes .../gui/overlay/implosion_overlay_2.png | Bin 0 -> 1697 bytes .../gui/overlay/lightning_overlay_1.png | Bin 0 -> 1706 bytes .../gui/overlay/lightning_overlay_2.png | Bin 0 -> 1705 bytes .../gui/overlay/molecular_overlay_4.png | Bin 0 -> 1680 bytes .../textures/gui/overlay/press_overlay_4.png | Bin 0 -> 1675 bytes .../textures/gui/overlay/sawblade_overlay.png | Bin 0 -> 1723 bytes .../progress_bar/progress_bar_arc_furnace.png | Bin 0 -> 1895 bytes .../gui/progress_bar/progress_bar_arrow.png | Bin 1552 -> 1765 bytes .../progress_bar_arrow_multiple.png | Bin 1772 -> 1979 bytes .../gui/progress_bar/progress_bar_bath.png | Bin 1630 -> 2100 bytes .../gui/progress_bar/progress_bar_bending.png | Bin 1729 -> 1935 bytes .../gui/progress_bar/progress_bar_canner.png | Bin 1795 -> 2000 bytes .../gui/progress_bar/progress_bar_circuit.png | Bin 1728 -> 1936 bytes .../progress_bar_circuit_assembler.png | Bin 1628 -> 2093 bytes .../progress_bar/progress_bar_compress.png | Bin 1555 -> 1748 bytes .../progress_bar/progress_bar_cracking.png | Bin 0 -> 2010 bytes .../progress_bar_crystallization.png | Bin 0 -> 2004 bytes .../gui/progress_bar/progress_bar_extract.png | Bin 1977 -> 1977 bytes .../progress_bar/progress_bar_extruder.png | Bin 1528 -> 1726 bytes .../gui/progress_bar/progress_bar_fusion.png | Bin 0 -> 2003 bytes .../progress_bar/progress_bar_hammer_base.png | Bin 1629 -> 2018 bytes .../gui/progress_bar/progress_bar_lathe.png | Bin 1495 -> 1899 bytes .../progress_bar/progress_bar_lathe_base.png | Bin 0 -> 1627 bytes .../progress_bar/progress_bar_macerate.png | Bin 1989 -> 1987 bytes .../gui/progress_bar/progress_bar_magnet.png | Bin 1555 -> 1756 bytes .../progress_bar/progress_bar_mass_fab.png | Bin 0 -> 2038 bytes .../gui/progress_bar/progress_bar_mixer.png | Bin 1656 -> 2099 bytes .../gui/progress_bar/progress_bar_packer.png | Bin 0 -> 1992 bytes .../progress_bar/progress_bar_recycler.png | Bin 1594 -> 1833 bytes .../progress_bar/progress_bar_replicator.png | Bin 0 -> 2003 bytes .../gui/progress_bar/progress_bar_sift.png | Bin 1619 -> 2049 bytes .../gui/progress_bar/progress_bar_slice.png | Bin 1499 -> 1900 bytes .../progress_bar/progress_bar_unpacker.png | Bin 0 -> 2003 bytes .../progress_bar/progress_bar_wiremill.png | Bin 1550 -> 1952 bytes 52 files changed, 209 insertions(+), 131 deletions(-) create mode 100644 src/main/java/gregtech/api/recipes/machines/RecipeMapDistillationTower.java delete mode 100644 src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityHammer.java create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/atomic_overlay_1.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/atomic_overlay_2.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/beaker_overlay_1.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/beaker_overlay_2.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/beaker_overlay_3.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/beaker_overlay_4.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/cracking_overlay_1.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/cracking_overlay_2.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/heating_overlay_1.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/heating_overlay_2.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/implosion_overlay_1.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/implosion_overlay_2.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/lightning_overlay_1.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/lightning_overlay_2.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/molecular_overlay_4.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/press_overlay_4.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/sawblade_overlay.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arc_furnace.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_cracking.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_crystallization.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_fusion.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_lathe_base.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_mass_fab.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_packer.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_replicator.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_unpacker.png diff --git a/src/main/java/gregtech/api/gui/GuiTextures.java b/src/main/java/gregtech/api/gui/GuiTextures.java index cce8481a572..36c9c34717a 100644 --- a/src/main/java/gregtech/api/gui/GuiTextures.java +++ b/src/main/java/gregtech/api/gui/GuiTextures.java @@ -11,28 +11,28 @@ public class GuiTextures { public static final TextureArea BORDERED_BACKGROUND = AdoptableTextureArea.fullImage("textures/gui/base/bordered_background.png", 195, 136, 4, 4); public static final TextureArea BOXED_BACKGROUND = AdoptableTextureArea.fullImage("textures/gui/base/boxed_background.png", 256, 174, 11, 11); - public static final TextureArea SLOT = AdoptableTextureArea.fullImage("textures/gui/base/slot.png", 18, 18, 1, 1); - public static final TextureArea FLUID_SLOT = AdoptableTextureArea.fullImage("textures/gui/base/fluid_slot.png", 18, 18, 1, 1); - public static final TextureArea SLOT_DARKENED = TextureArea.fullImage("textures/gui/base/darkened_slot.png"); public static final TextureArea DISPLAY = TextureArea.fullImage("textures/gui/base/display.png"); + public static final TextureArea FLUID_SLOT = AdoptableTextureArea.fullImage("textures/gui/base/fluid_slot.png", 18, 18, 1, 1); public static final TextureArea FLUID_TANK_BACKGROUND = TextureArea.fullImage("textures/gui/base/fluid_tank_background.png"); public static final TextureArea FLUID_TANK_OVERLAY = TextureArea.fullImage("textures/gui/base/fluid_tank_overlay.png"); + public static final TextureArea SLOT = AdoptableTextureArea.fullImage("textures/gui/base/slot.png", 18, 18, 1, 1); + public static final TextureArea SLOT_DARKENED = TextureArea.fullImage("textures/gui/base/darkened_slot.png"); //FLUID & ITEM OUTPUT BUTTONS - public static final TextureArea BUTTON_FLUID_OUTPUT = TextureArea.fullImage("textures/gui/widget/button_fluid_output.png"); - public static final TextureArea BUTTON_ITEM_OUTPUT = TextureArea.fullImage("textures/gui/widget/button_item_output.png"); - public static final SizedTextureArea VANILLA_BUTTON = SizedTextureArea.fullImage("textures/gui/widget/vanilla_button.png", 200, 40); public static final TextureArea BUTTON = TextureArea.fullImage("textures/gui/widget/button.png"); - public static final TextureArea SWITCH = TextureArea.fullImage("textures/gui/widget/switch.png"); - public static final TextureArea SWITCH_HORIZONTAL = TextureArea.fullImage("textures/gui/widget/switch_horizontal.png"); + public static final TextureArea BUTTON_ALLOW_IMPORT_EXPORT = TextureArea.fullImage("textures/gui/widget/button_allow_import_export.png"); + public static final TextureArea BUTTON_BLACKLIST = TextureArea.fullImage("textures/gui/widget/button_blacklist.png"); + public static final TextureArea BUTTON_CLEAR_GRID = TextureArea.fullImage("textures/gui/widget/button_clear_grid.png"); public static final TextureArea BUTTON_FILTER_DAMAGE = TextureArea.fullImage("textures/gui/widget/button_filter_damage.png"); - public static final TextureArea BUTTON_OVERCLOCK = TextureArea.fullImage("textures/gui/widget/button_overclock.png"); public static final TextureArea BUTTON_FILTER_NBT = TextureArea.fullImage("textures/gui/widget/button_filter_nbt.png"); - public static final TextureArea BUTTON_BLACKLIST = TextureArea.fullImage("textures/gui/widget/button_blacklist.png"); + public static final TextureArea BUTTON_FLUID_OUTPUT = TextureArea.fullImage("textures/gui/widget/button_fluid_output.png"); + public static final TextureArea BUTTON_ITEM_OUTPUT = TextureArea.fullImage("textures/gui/widget/button_item_output.png"); + public static final TextureArea BUTTON_OVERCLOCK = TextureArea.fullImage("textures/gui/widget/button_overclock.png"); public static final TextureArea BUTTON_SWITCH_VIEW = TextureArea.fullImage("textures/gui/widget/button_switch_view.png"); - public static final TextureArea BUTTON_ALLOW_IMPORT_EXPORT = TextureArea.fullImage("textures/gui/widget/button_allow_import_export.png"); - public static final TextureArea BUTTON_CLEAR_GRID = TextureArea.fullImage("textures/gui/widget/button_clear_grid.png"); public static final TextureArea LOCK = TextureArea.fullImage("textures/gui/widget/lock.png"); + public static final TextureArea SWITCH = TextureArea.fullImage("textures/gui/widget/switch.png"); + public static final TextureArea SWITCH_HORIZONTAL = TextureArea.fullImage("textures/gui/widget/switch_horizontal.png"); + public static final SizedTextureArea VANILLA_BUTTON = SizedTextureArea.fullImage("textures/gui/widget/vanilla_button.png", 200, 40); //INDICATORS & ICONS public static final TextureArea INDICATOR_NO_ENERGY = TextureArea.fullImage("textures/gui/base/indicator_no_energy.png"); @@ -44,63 +44,83 @@ public class GuiTextures { //BRONZE public static final TextureArea BRONZE_BACKGROUND = TextureArea.fullImage("textures/gui/steam/bronze/bronze_gui.png"); - public static final TextureArea BRONZE_SLOT = TextureArea.fullImage("textures/gui/steam/bronze/slot_bronze.png"); public static final TextureArea BRONZE_BLAST_FURNACE_PROGRESS_BAR = TextureArea.fullImage("textures/gui/steam/bronze/progress_bar_bronze_blast_furnace.png"); + public static final TextureArea BRONZE_COAL_OVERLAY = TextureArea.fullImage("textures/gui/steam/bronze/overlay_bronze_coal.png"); + public static final TextureArea BRONZE_DUST_OVERLAY = TextureArea.fullImage("textures/gui/steam/bronze/overlay_bronze_dust.png"); public static final TextureArea BRONZE_FURNACE_OVERLAY = TextureArea.fullImage("textures/gui/steam/bronze/slot_bronze_furnace_background.png"); public static final TextureArea BRONZE_INGOT_OVERLAY = TextureArea.fullImage("textures/gui/steam/bronze/overlay_bronze_ingot.png"); - public static final TextureArea BRONZE_DUST_OVERLAY = TextureArea.fullImage("textures/gui/steam/bronze/overlay_bronze_dust.png"); - public static final TextureArea BRONZE_COAL_OVERLAY = TextureArea.fullImage("textures/gui/steam/bronze/overlay_bronze_coal.png"); + public static final TextureArea BRONZE_SLOT = TextureArea.fullImage("textures/gui/steam/bronze/slot_bronze.png"); - //ARMOR - public static final TextureArea CONNECTION_TYPE_POWER = TextureArea.fullImage("textures/gui/armor/connection/power.png"); - public static final TextureArea COMPONENT_BATTERY = TextureArea.fullImage("textures/gui/armor/component/battery.png"); + //STEEL + public static final TextureArea STEEL_BACKGROUND = TextureArea.fullImage("textures/gui/steam/steel/steel_gui.png"); + public static final TextureArea STEEL_COAL_OVERLAY = TextureArea.fullImage("textures/gui/steam/steel/overlay_steel_coal.png"); + public static final TextureArea STEEL_DUST_OVERLAY = TextureArea.fullImage("textures/gui/steam/steel/overlay_steel_dust.png"); + public static final TextureArea STEEL_FURNACE_OVERLAY = TextureArea.fullImage("textures/gui/steam/steel/slot_steel_furnace_background.png"); + public static final TextureArea STEEL_SLOT = TextureArea.fullImage("textures/gui/steam/steel/slot_steel.png"); //SLOT OVERLAYS - public static final TextureArea TOOL_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/tool_slot_overlay.png"); + public static final TextureArea ATOMIC_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/atomic_overlay_1.png"); + public static final TextureArea ATOMIC_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/atomic_overlay_2.png"); public static final TextureArea ARROW_INPUT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/arrow_input_overlay.png"); public static final TextureArea ARROW_OUTPUT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/arrow_output_overlay.png"); + public static final TextureArea BATTERY_OVERLAY = TextureArea.fullImage("textures/gui/overlay/battery_overlay.png"); + public static final TextureArea BEAKER_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/beaker_overlay_1.png"); + public static final TextureArea BEAKER_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/beaker_overlay_2.png"); + public static final TextureArea BEAKER_OVERLAY_3 = TextureArea.fullImage("textures/gui/overlay/beaker_overlay_3.png"); + public static final TextureArea BEAKER_OVERLAY_4 = TextureArea.fullImage("textures/gui/overlay/beaker_overlay_4.png"); + public static final TextureArea BENDER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/bender_overlay.png"); + public static final TextureArea BOX_OVERLAY = TextureArea.fullImage("textures/gui/overlay/box_overlay.png"); + public static final TextureArea BOXED_OVERLAY = TextureArea.fullImage("textures/gui/overlay/boxed_overlay.png"); + public static final TextureArea BREWER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/brewer_overlay.png"); + public static final TextureArea CANNER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/canner_overlay.png"); public static final TextureArea CHARGER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/charger_slot_overlay.png"); - public static final TextureArea INT_CIRCUIT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/int_circuit_overlay.png"); - public static final TextureArea TURBINE_OVERLAY = TextureArea.fullImage("textures/gui/overlay/turbine_overlay.png"); - public static final TextureArea FURNACE_OVERLAY = TextureArea.fullImage("textures/gui/overlay/furnace_overlay.png"); + public static final TextureArea CANISTER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/canister_overlay.png"); + public static final TextureArea CIRCUIT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/circuit_overlay.png"); public static final TextureArea COMPRESSOR_OVERLAY = TextureArea.fullImage("textures/gui/overlay/compressor_overlay.png"); - public static final TextureArea EXTRACTOR_OVERLAY = TextureArea.fullImage("textures/gui/overlay/extractor_overlay.png"); + public static final TextureArea CRACKING_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/cracking_overlay_1.png"); + public static final TextureArea CRACKING_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/cracking_overlay_2.png"); public static final TextureArea CRUSHED_ORE_OVERLAY = TextureArea.fullImage("textures/gui/overlay/crushed_ore_overlay.png"); + public static final TextureArea CRYSTAL_OVERLAY = TextureArea.fullImage("textures/gui/overlay/crystal_overlay.png"); + public static final TextureArea CUTTER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/cutter_overlay.png"); + public static final TextureArea DARK_CANISTER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/dark_canister_overlay.png"); public static final TextureArea DUST_OVERLAY = TextureArea.fullImage("textures/gui/overlay/dust_overlay.png"); + public static final TextureArea EXTRACTOR_OVERLAY = TextureArea.fullImage("textures/gui/overlay/extractor_overlay.png"); + public static final TextureArea FILTER_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/filter_slot_overlay.png"); + public static final TextureArea FURNACE_OVERLAY = TextureArea.fullImage("textures/gui/overlay/furnace_overlay.png"); + public static final TextureArea HAMMER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/hammer_overlay.png"); + public static final TextureArea HEATING_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/heating_overlay_1.png"); + public static final TextureArea HEATING_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/heating_overlay_2.png"); + public static final TextureArea IMPLOSION_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/implosion_overlay_1.png"); + public static final TextureArea IMPLOSION_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/implosion_overlay_2.png"); + public static final TextureArea IN_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/in_slot_overlay.png"); public static final TextureArea INGOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/ingot_overlay.png"); - public static final TextureArea CIRCUIT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/circuit_overlay.png"); - public static final TextureArea BATTERY_OVERLAY = TextureArea.fullImage("textures/gui/overlay/battery_overlay.png"); - public static final TextureArea PRESS_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/press_overlay_1.png"); - public static final TextureArea PRESS_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/press_overlay_2.png"); - public static final TextureArea PRESS_OVERLAY_3 = TextureArea.fullImage("textures/gui/overlay/press_overlay_3.png"); - public static final TextureArea DARK_CANISTER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/dark_canister_overlay.png"); - public static final TextureArea CANISTER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/canister_overlay.png"); + public static final TextureArea INT_CIRCUIT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/int_circuit_overlay.png"); public static final TextureArea LENS_OVERLAY = TextureArea.fullImage("textures/gui/overlay/lens_overlay.png"); - public static final TextureArea CRYSTAL_OVERLAY = TextureArea.fullImage("textures/gui/overlay/crystal_overlay.png"); - public static final TextureArea BREWER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/brewer_overlay.png"); - public static final TextureArea SOLIDIFIER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/solidifier_overlay.png"); + public static final TextureArea LIGHTNING_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/lightning_overlay_1.png"); + public static final TextureArea LIGHTNING_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/lightning_overlay_2.png"); + public static final TextureArea MOLD_OVERLAY = TextureArea.fullImage("textures/gui/overlay/mold_overlay.png"); public static final TextureArea MOLECULAR_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/molecular_overlay_1.png"); public static final TextureArea MOLECULAR_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/molecular_overlay_2.png"); public static final TextureArea MOLECULAR_OVERLAY_3 = TextureArea.fullImage("textures/gui/overlay/molecular_overlay_3.png"); - public static final TextureArea VIAL_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/vial_overlay_1.png"); - public static final TextureArea VIAL_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/vial_overlay_2.png"); - public static final TextureArea WIREMILL_OVERLAY = TextureArea.fullImage("textures/gui/overlay/wiremill_overlay.png"); - public static final TextureArea BENDER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/bender_overlay.png"); - public static final TextureArea CANNER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/canner_overlay.png"); - public static final TextureArea PIPE_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/pipe_overlay_1.png"); - public static final TextureArea PIPE_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/pipe_overlay_2.png"); - public static final TextureArea BOX_OVERLAY = TextureArea.fullImage("textures/gui/overlay/box_overlay.png"); - public static final TextureArea BOXED_OVERLAY = TextureArea.fullImage("textures/gui/overlay/boxed_overlay.png"); - public static final TextureArea CUTTER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/cutter_overlay.png"); - public static final TextureArea MOLD_OVERLAY = TextureArea.fullImage("textures/gui/overlay/mold_overlay.png"); - public static final TextureArea HAMMER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/hammer_overlay.png"); + public static final TextureArea MOLECULAR_OVERLAY_4 = TextureArea.fullImage("textures/gui/overlay/molecular_overlay_4.png"); + public static final TextureArea OUT_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/out_slot_overlay.png"); public static final TextureArea PAPER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/paper_overlay.png"); public static final TextureArea PRINTED_PAPER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/printed_paper_overlay.png"); - public static final TextureArea IN_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/in_slot_overlay.png"); - public static final TextureArea OUT_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/out_slot_overlay.png"); - public static final TextureArea FILTER_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/filter_slot_overlay.png"); + public static final TextureArea PIPE_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/pipe_overlay_2.png"); + public static final TextureArea PIPE_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/pipe_overlay_1.png"); + public static final TextureArea PRESS_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/press_overlay_1.png"); + public static final TextureArea PRESS_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/press_overlay_2.png"); + public static final TextureArea PRESS_OVERLAY_3 = TextureArea.fullImage("textures/gui/overlay/press_overlay_3.png"); + public static final TextureArea PRESS_OVERLAY_4 = TextureArea.fullImage("textures/gui/overlay/press_overlay_4.png"); + public static final TextureArea SAWBLADE_OVERLAY = TextureArea.fullImage("textures/gui/overlay/sawblade_overlay.png"); + public static final TextureArea SOLIDIFIER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/solidifier_overlay.png"); public static final TextureArea STRING_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/string_slot_overlay.png"); + public static final TextureArea TOOL_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/tool_slot_overlay.png"); + public static final TextureArea TURBINE_OVERLAY = TextureArea.fullImage("textures/gui/overlay/turbine_overlay.png"); public static final TextureArea UUA_SLOT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/uua_overlay.png"); + public static final TextureArea VIAL_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/vial_overlay_1.png"); + public static final TextureArea VIAL_OVERLAY_2 = TextureArea.fullImage("textures/gui/overlay/vial_overlay_2.png"); + public static final TextureArea WIREMILL_OVERLAY = TextureArea.fullImage("textures/gui/overlay/wiremill_overlay.png"); //PROGRESS BARS public static final TextureArea PROGRESS_BAR_UNLOCK = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_unlock.png"); @@ -114,7 +134,9 @@ public class GuiTextures { public static final TextureArea PROGRESS_BAR_EXTRACT = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_extract.png"); public static final TextureArea PROGRESS_BAR_EXTRUDER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_extruder.png"); public static final TextureArea PROGRESS_BAR_HAMMER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_hammer.png"); + public static final TextureArea PROGRESS_BAR_HAMMER_BASE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_hammer_base.png"); public static final TextureArea PROGRESS_BAR_LATHE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_lathe.png"); + public static final TextureArea PROGRESS_BAR_LATHE_BASE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_lathe_base.png"); public static final TextureArea PROGRESS_BAR_MACERATE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_macerate.png"); public static final TextureArea PROGRESS_BAR_MAGNET = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_magnet.png"); public static final TextureArea PROGRESS_BAR_MIXER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_mixer.png"); @@ -123,6 +145,14 @@ public class GuiTextures { public static final TextureArea PROGRESS_BAR_SLICE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_slice.png"); public static final TextureArea PROGRESS_BAR_WIREMILL = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_wiremill.png"); public static final TextureArea PROGRESS_BAR_CIRCUIT_ASSEMBLER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_circuit_assembler.png"); + public static final TextureArea PROGRESS_BAR_CRYSTALLIZATION = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_crystallization.png"); + public static final TextureArea PROGRESS_BAR_UNPACKER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_unpacker.png"); + public static final TextureArea PROGRESS_BAR_PACKER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_packer.png"); + public static final TextureArea PROGRESS_BAR_CRACKING = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_cracking.png"); + public static final TextureArea PROGRESS_BAR_FUSION = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_fusion.png"); + public static final TextureArea PROGRESS_BAR_ARC_FURNACE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_arc_furnace.png"); + public static final TextureArea PROGRESS_BAR_MASS_FAB = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_mass_fab.png"); + public static final TextureArea PROGRESS_BAR_REPLICATOR = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_replicator.png"); //JEI public static final TextureArea MULTIBLOCK_CATEGORY = TextureArea.fullImage("textures/gui/icon/coke_oven.png"); diff --git a/src/main/java/gregtech/api/recipes/RecipeMap.java b/src/main/java/gregtech/api/recipes/RecipeMap.java index fca16b3be47..fd94813c6c1 100644 --- a/src/main/java/gregtech/api/recipes/RecipeMap.java +++ b/src/main/java/gregtech/api/recipes/RecipeMap.java @@ -56,7 +56,9 @@ public class RecipeMap> { private final int minOutputs, maxOutputs; private final int minFluidInputs, maxFluidInputs; private final int minFluidOutputs, maxFluidOutputs; - private final TByteObjectMap slotOverlays; + protected final TByteObjectMap slotOverlays; + protected TextureArea specialTexture; + protected int[] specialTexturePosition; protected TextureArea progressBarTexture; protected MoveType moveType; public final boolean isHidden; @@ -300,9 +302,11 @@ private double jeiProgressBar() { //this DOES NOT include machine control widgets or binds player inventory public ModularUI.Builder createUITemplate(DoubleSupplier progressSupplier, IItemHandlerModifiable importItems, IItemHandlerModifiable exportItems, FluidTankList importFluids, FluidTankList exportFluids) { ModularUI.Builder builder = ModularUI.defaultBuilder(); - builder.widget(new ProgressWidget(progressSupplier, 78, 22, 20, 20, progressBarTexture, moveType)); + builder.widget(new ProgressWidget(progressSupplier, 78, 23, 20, 20, progressBarTexture, moveType)); addInventorySlotGroup(builder, importItems, importFluids, false); addInventorySlotGroup(builder, exportItems, exportFluids, true); + if (this.specialTexture != null && this.specialTexturePosition != null) + addSpecialTexture(builder); return builder; } @@ -397,6 +401,17 @@ protected static int[] determineSlotsGrid(int itemInputsCount) { return new int[]{itemSlotsToLeft, itemSlotsToDown}; } + protected RecipeMap setSpecialTexture(int x, int y, int width, int height, TextureArea area) { + this.specialTexturePosition = new int[]{x, y, width, height}; + this.specialTexture = area; + return this; + } + + protected ModularUI.Builder addSpecialTexture(ModularUI.Builder builder) { + builder.image(specialTexturePosition[0], specialTexturePosition[1], specialTexturePosition[2], specialTexturePosition[3], specialTexture); + return builder; + } + public List getRecipeList() { return Collections.unmodifiableList(recipeList); diff --git a/src/main/java/gregtech/api/recipes/RecipeMaps.java b/src/main/java/gregtech/api/recipes/RecipeMaps.java index b27b7e1df5c..ef8d7ab9817 100644 --- a/src/main/java/gregtech/api/recipes/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipes/RecipeMaps.java @@ -22,7 +22,7 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap COMPRESSOR_RECIPES = new RecipeMap<>("compressor", 1, 1, 1, 1, 0, 0, 0, 0, new SimpleRecipeBuilder().duration(400).EUt(2)) .setSlotOverlay(false, false, GuiTextures.COMPRESSOR_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_BENDING, MoveType.HORIZONTAL); + .setProgressBar(GuiTextures.PROGRESS_BAR_COMPRESS, MoveType.HORIZONTAL); @ZenProperty @@ -72,9 +72,6 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap FORMING_PRESS_RECIPES = new RecipeMapFormingPress("forming_press", 2, 6, 1, 1, 0, 0, 0, 0, 1, new SimpleRecipeBuilder()) - .setSlotOverlay(false, false, false, GuiTextures.PRESS_OVERLAY_1) - .setSlotOverlay(false, false, true, GuiTextures.PRESS_OVERLAY_2) - .setSlotOverlay(true, false, GuiTextures.PRESS_OVERLAY_3) .setProgressBar(GuiTextures.PROGRESS_BAR_COMPRESS, MoveType.HORIZONTAL); @@ -89,12 +86,12 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap PLASMA_ARC_FURNACE_RECIPES = new RecipeMap<>("plasma_arc_furnace", 1, 1, 1, 4, 1, 1, 0, 1, new SimpleRecipeBuilder()) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, MoveType.HORIZONTAL); + .setProgressBar(GuiTextures.PROGRESS_BAR_ARC_FURNACE, MoveType.HORIZONTAL); @ZenProperty public static final RecipeMap ARC_FURNACE_RECIPES = new RecipeMap<>("arc_furnace", 1, 1, 1, 4, 1, 1, 0, 0, new ArcFurnaceRecipeBuilder()) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, MoveType.HORIZONTAL); + .setProgressBar(GuiTextures.PROGRESS_BAR_ARC_FURNACE, MoveType.HORIZONTAL); /** * Example: @@ -114,7 +111,7 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap SIFTER_RECIPES = new RecipeMap<>("sifter", 1, 1, 0, 6, 0, 0, 0, 0, new SimpleRecipeBuilder()) - .setProgressBar(GuiTextures.PROGRESS_BAR_SIFT, MoveType.HORIZONTAL); + .setProgressBar(GuiTextures.PROGRESS_BAR_SIFT, MoveType.VERTICAL_INVERTED); /** * Example: @@ -169,7 +166,7 @@ public class RecipeMaps { public static final RecipeMap AUTOCLAVE_RECIPES = new RecipeMap<>("autoclave", 1, 1, 1, 1, 1, 1, 0, 0, new SimpleRecipeBuilder()) .setSlotOverlay(false, false, GuiTextures.DUST_OVERLAY) .setSlotOverlay(true, false, GuiTextures.CRYSTAL_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, MoveType.HORIZONTAL); + .setProgressBar(GuiTextures.PROGRESS_BAR_CRYSTALLIZATION, MoveType.HORIZONTAL); /** * Example: @@ -254,7 +251,9 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap FLUID_HEATER_RECIPES = new RecipeMap<>("fluid_heater", 1, 1, 0, 0, 1, 1, 1, 1, new IntCircuitRecipeBuilder()) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, MoveType.HORIZONTAL); + .setSlotOverlay(false, true, GuiTextures.HEATING_OVERLAY_1) + .setSlotOverlay(true, true, GuiTextures.HEATING_OVERLAY_2) + .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, MoveType.HORIZONTAL); /** * Example: @@ -271,7 +270,10 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap DISTILLERY_RECIPES = new RecipeMap<>("distillery", 1, 1, 0, 1, 1, 1, 1, 1, new IntCircuitRecipeBuilder()) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW_MULTIPLE, MoveType.HORIZONTAL); + .setSlotOverlay(false, true, GuiTextures.BEAKER_OVERLAY_1) + .setSlotOverlay(true, true, GuiTextures.BEAKER_OVERLAY_4) + .setSlotOverlay(true, false, GuiTextures.DUST_OVERLAY) + .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW_MULTIPLE, MoveType.HORIZONTAL); /** * Example: @@ -345,7 +347,8 @@ public class RecipeMaps { */ @ZenProperty - public static final RecipeMap FUSION_RECIPES = new RecipeMap<>("fusion_reactor", 0, 0, 0, 0, 2, 2, 1, 1, new FusionRecipeBuilder()); + public static final RecipeMap FUSION_RECIPES = new RecipeMap<>("fusion_reactor", 0, 0, 0, 0, 2, 2, 1, 1, new FusionRecipeBuilder()) + .setProgressBar(GuiTextures.PROGRESS_BAR_FUSION, MoveType.HORIZONTAL); /** * Examples: @@ -395,10 +398,11 @@ public class RecipeMaps { */ @ZenProperty - public static final RecipeMap ELECTROLYZER_RECIPES = new RecipeMap<>("electrolyzer", 0, 1, 0, 6, 0, 1, 0, 6, new SimpleRecipeBuilder()) - .setSlotOverlay(false, false, true, GuiTextures.CHARGER_OVERLAY) - .setSlotOverlay(false, true, true, GuiTextures.DARK_CANISTER_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_EXTRACT, MoveType.HORIZONTAL); + public static final RecipeMap ELECTROLYZER_RECIPES = new RecipeMap<>("electrolyzer", 0, 2, 0, 6, 0, 1, 0, 6, new SimpleRecipeBuilder()) + .setSlotOverlay(false, false, false, GuiTextures.LIGHTNING_OVERLAY_1) + .setSlotOverlay(false, false, true, GuiTextures.CANISTER_OVERLAY) + .setSlotOverlay(false, true, true, GuiTextures.LIGHTNING_OVERLAY_2) + .setProgressBar(GuiTextures.PROGRESS_BAR_EXTRACT, MoveType.HORIZONTAL); /** * Example: @@ -429,7 +433,10 @@ public class RecipeMaps { */ @ZenProperty - public static final RecipeMap IMPLOSION_RECIPES = new RecipeMap<>("implosion_compressor", 2, 3, 1, 2, 0, 0, 0, 0, new ImplosionRecipeBuilder().duration(20).EUt(30)); + public static final RecipeMap IMPLOSION_RECIPES = new RecipeMap<>("implosion_compressor", 2, 3, 1, 2, 0, 0, 0, 0, new ImplosionRecipeBuilder().duration(20).EUt(30)) + .setSlotOverlay(false, false, true, GuiTextures.IMPLOSION_OVERLAY_1) + .setSlotOverlay(false, false, false, GuiTextures.IMPLOSION_OVERLAY_2) + .setSlotOverlay(true, false, true, GuiTextures.DUST_OVERLAY); /** * Example: @@ -461,12 +468,13 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap CHEMICAL_RECIPES = new RecipeMap<>("chemical_reactor", 0, 2, 0, 2, 0, 3, 0, 2, new ChemicalReactorRecipeBuilder().EUt(30)) - .setSlotOverlay(false, false, false, GuiTextures.MOLECULAR_OVERLAY_1) - .setSlotOverlay(false, false, true, GuiTextures.MOLECULAR_OVERLAY_2) - .setSlotOverlay(false, true, GuiTextures.MOLECULAR_OVERLAY_3) - .setSlotOverlay(true, false, GuiTextures.VIAL_OVERLAY_1) - .setSlotOverlay(true, true, GuiTextures.VIAL_OVERLAY_2) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW_MULTIPLE, MoveType.HORIZONTAL); + .setSlotOverlay(false, false, false, GuiTextures.MOLECULAR_OVERLAY_1) + .setSlotOverlay(false, false, true, GuiTextures.MOLECULAR_OVERLAY_2) + .setSlotOverlay(false, true, false, GuiTextures.MOLECULAR_OVERLAY_3) + .setSlotOverlay(false, true, true, GuiTextures.MOLECULAR_OVERLAY_4) + .setSlotOverlay(true, false, GuiTextures.VIAL_OVERLAY_1) + .setSlotOverlay(true, true, GuiTextures.VIAL_OVERLAY_2) + .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW_MULTIPLE, MoveType.HORIZONTAL); /** * Example: @@ -505,7 +513,7 @@ public class RecipeMaps { */ @ZenProperty - public static final RecipeMap DISTILLATION_RECIPES = new RecipeMap<>("distillation_tower", 0, 0, 0, 1, 1, 1, 1, 12, new UniversalDistillationRecipeBuilder()); + public static final RecipeMap DISTILLATION_RECIPES = new RecipeMapDistillationTower("distillation_tower", 0, 0, 0, 1, 1, 1, 1, 12, new UniversalDistillationRecipeBuilder()); /** * Example: @@ -520,7 +528,10 @@ public class RecipeMaps { */ @ZenProperty - public static final RecipeMap CRACKING_RECIPES = new RecipeMap<>("cracker", 0, 0, 0, 0, 2, 2, 1, 2, new SimpleRecipeBuilder()); + public static final RecipeMap CRACKING_RECIPES = new RecipeMap<>("cracker", 0, 0, 0, 0, 2, 2, 1, 2, new SimpleRecipeBuilder()) + .setSlotOverlay(false, true, GuiTextures.CRACKING_OVERLAY_1) + .setSlotOverlay(true, true, GuiTextures.CRACKING_OVERLAY_2) + .setProgressBar(GuiTextures.PROGRESS_BAR_CRACKING, MoveType.HORIZONTAL); /** * Example: @@ -571,8 +582,8 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap BENDER_RECIPES = new RecipeMap<>("metal_bender", 2, 2, 1, 1, 0, 0, 0, 0, new IntCircuitRecipeBuilder()) - .setSlotOverlay(false, false, false, GuiTextures.BENDER_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_COMPRESS, MoveType.HORIZONTAL); + .setSlotOverlay(false, false, false, GuiTextures.BENDER_OVERLAY) + .setProgressBar(GuiTextures.PROGRESS_BAR_COMPRESS, MoveType.HORIZONTAL); @ZenProperty @@ -615,6 +626,7 @@ public class RecipeMaps { .setSlotOverlay(false, false, GuiTextures.PIPE_OVERLAY_1) .setSlotOverlay(true, false, false, GuiTextures.PIPE_OVERLAY_2) .setSlotOverlay(true, false, true, GuiTextures.DUST_OVERLAY) + .setSpecialTexture(98, 24, 5, 18, GuiTextures.PROGRESS_BAR_LATHE_BASE) .setProgressBar(GuiTextures.PROGRESS_BAR_LATHE, MoveType.HORIZONTAL); /** @@ -632,7 +644,7 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap CUTTER_RECIPES = new RecipeMap<>("cutting_saw", 1, 1, 1, 2, 0, 1, 0, 0, new CutterRecipeBuilder()) - .setSlotOverlay(false, false, GuiTextures.BOX_OVERLAY) + .setSlotOverlay(false, false, GuiTextures.SAWBLADE_OVERLAY) .setSlotOverlay(true, false, false, GuiTextures.CUTTER_OVERLAY) .setSlotOverlay(true, false, true, GuiTextures.DUST_OVERLAY) .setProgressBar(GuiTextures.PROGRESS_BAR_SLICE, MoveType.HORIZONTAL); @@ -669,21 +681,22 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap FORGE_HAMMER_RECIPES = new RecipeMap<>("forge_hammer", 1, 1, 1, 1, 0, 0, 0, 0, new SimpleRecipeBuilder()) - .setSlotOverlay(false, false, GuiTextures.HAMMER_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_HAMMER, MoveType.VERTICAL); + .setSlotOverlay(false, false, GuiTextures.HAMMER_OVERLAY) + .setSpecialTexture(78, 42, 20, 6, GuiTextures.PROGRESS_BAR_HAMMER_BASE) + .setProgressBar(GuiTextures.PROGRESS_BAR_HAMMER, MoveType.VERTICAL); @ZenProperty public static final RecipeMap PACKER_RECIPES = new RecipeMap<>("packer", 2, 2, 1, 1, 0, 0, 0, 0, new SimpleRecipeBuilder().EUt(12).duration(10)) .setSlotOverlay(false, false, true, GuiTextures.BOX_OVERLAY) .setSlotOverlay(true, false, GuiTextures.BOXED_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, MoveType.HORIZONTAL); + .setProgressBar(GuiTextures.PROGRESS_BAR_PACKER, MoveType.HORIZONTAL); @ZenProperty public static final RecipeMap UNPACKER_RECIPES = new RecipeMap<>("unpacker", 2, 2, 1, 2, 0, 0, 0, 0, new SimpleRecipeBuilder().EUt(12).duration(10)) .setSlotOverlay(false, false, GuiTextures.BOXED_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, MoveType.HORIZONTAL); + .setProgressBar(GuiTextures.PROGRESS_BAR_UNPACKER, MoveType.HORIZONTAL); /** diff --git a/src/main/java/gregtech/api/recipes/machines/RecipeMapDistillationTower.java b/src/main/java/gregtech/api/recipes/machines/RecipeMapDistillationTower.java new file mode 100644 index 00000000000..75793fc8c4a --- /dev/null +++ b/src/main/java/gregtech/api/recipes/machines/RecipeMapDistillationTower.java @@ -0,0 +1,45 @@ +package gregtech.api.recipes.machines; + +import gregtech.api.capability.impl.FluidTankList; +import gregtech.api.gui.GuiTextures; +import gregtech.api.gui.ModularUI; +import gregtech.api.gui.resources.TextureArea; +import gregtech.api.gui.widgets.SlotWidget; +import gregtech.api.gui.widgets.TankWidget; +import gregtech.api.recipes.RecipeMap; +import gregtech.api.recipes.builders.UniversalDistillationRecipeBuilder; +import net.minecraftforge.items.IItemHandlerModifiable; + +public class RecipeMapDistillationTower extends RecipeMap { + + public RecipeMapDistillationTower(String unlocalizedName, int minInputs, int maxInputs, int minOutputs, int maxOutputs, int minFluidInputs, int maxFluidInputs, int minFluidOutputs, int maxFluidOutputs, UniversalDistillationRecipeBuilder defaultRecipe) { + super(unlocalizedName, minInputs, maxInputs, minOutputs, maxOutputs, minFluidInputs, maxFluidInputs, minFluidOutputs, maxFluidOutputs, defaultRecipe); + } + + @Override + protected void addSlot(ModularUI.Builder builder, int x, int y, int slotIndex, IItemHandlerModifiable itemHandler, FluidTankList fluidHandler, boolean isFluid, boolean isOutputs) { + if (isFluid) { + TankWidget tankWidget = new TankWidget(fluidHandler.getTankAt(slotIndex), x, y, 18, 18); + TextureArea base = GuiTextures.FLUID_SLOT; + + + if (!isOutputs) + tankWidget.setBackgroundTexture(base, GuiTextures.BEAKER_OVERLAY_1); + else if (slotIndex == 0 || slotIndex == 3 || slotIndex == 6 || slotIndex == 9) + tankWidget.setBackgroundTexture(base, GuiTextures.BEAKER_OVERLAY_2); + else if (slotIndex == 1 || slotIndex == 4 || slotIndex == 7 || slotIndex == 10) + tankWidget.setBackgroundTexture(base, GuiTextures.BEAKER_OVERLAY_3); + else if (slotIndex == 2 || slotIndex == 5 || slotIndex == 8 || slotIndex == 11) + tankWidget.setBackgroundTexture(base, GuiTextures.BEAKER_OVERLAY_4); + + builder.widget(tankWidget); + } else { + SlotWidget slotWidget = new SlotWidget(itemHandler, slotIndex, x, y, true, !isOutputs); + TextureArea base = GuiTextures.SLOT; + + slotWidget.setBackgroundTexture(base, GuiTextures.DUST_OVERLAY); + + builder.widget(slotWidget); + } + } +} diff --git a/src/main/java/gregtech/api/recipes/machines/RecipeMapFormingPress.java b/src/main/java/gregtech/api/recipes/machines/RecipeMapFormingPress.java index 4a3229aa037..f3a4373cfeb 100644 --- a/src/main/java/gregtech/api/recipes/machines/RecipeMapFormingPress.java +++ b/src/main/java/gregtech/api/recipes/machines/RecipeMapFormingPress.java @@ -1,5 +1,10 @@ package gregtech.api.recipes.machines; +import gregtech.api.capability.impl.FluidTankList; +import gregtech.api.gui.GuiTextures; +import gregtech.api.gui.ModularUI; +import gregtech.api.gui.resources.TextureArea; +import gregtech.api.gui.widgets.SlotWidget; import gregtech.api.recipes.MatchingMode; import gregtech.api.recipes.Recipe; import gregtech.api.recipes.RecipeMap; @@ -9,6 +14,7 @@ import gregtech.common.items.MetaItems; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.items.IItemHandlerModifiable; import javax.annotation.Nullable; import java.util.List; @@ -50,4 +56,20 @@ public Recipe findRecipe(long voltage, List inputs, List } return recipe; } + + @Override + protected void addSlot(ModularUI.Builder builder, int x, int y, int slotIndex, IItemHandlerModifiable itemHandler, FluidTankList fluidHandler, boolean isFluid, boolean isOutputs) { + SlotWidget slotWidget = new SlotWidget(itemHandler, slotIndex, x, y, true, !isOutputs); + TextureArea base = GuiTextures.SLOT; + if (isOutputs) + slotWidget.setBackgroundTexture(base, GuiTextures.PRESS_OVERLAY_3); + else if (slotIndex == 0 || slotIndex == 3) + slotWidget.setBackgroundTexture(base, GuiTextures.PRESS_OVERLAY_2); + else if (slotIndex == 1 || slotIndex == 4) + slotWidget.setBackgroundTexture(base, GuiTextures.PRESS_OVERLAY_4); + else if (slotIndex == 2 || slotIndex == 5) + slotWidget.setBackgroundTexture(base, GuiTextures.PRESS_OVERLAY_1); + + builder.widget(slotWidget); + } } diff --git a/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java b/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java index fc0c75873bf..acbad8ecb7c 100644 --- a/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java +++ b/src/main/java/gregtech/common/metatileentities/MetaTileEntities.java @@ -85,7 +85,7 @@ public class MetaTileEntities { public static SimpleMachineMetaTileEntity[] FLUID_EXTRACTOR = new SimpleMachineMetaTileEntity[GTValues.V.length - 1]; public static SimpleMachineMetaTileEntity[] FLUID_HEATER = new SimpleMachineMetaTileEntity[GTValues.V.length - 1]; public static SimpleMachineMetaTileEntity[] FLUID_SOLIDIFIER = new SimpleMachineMetaTileEntity[GTValues.V.length - 1]; - public static MetaTileEntityHammer[] FORGE_HAMMER = new MetaTileEntityHammer[GTValues.V.length - 1]; + public static SimpleMachineMetaTileEntity[] FORGE_HAMMER = new SimpleMachineMetaTileEntity[GTValues.V.length - 1]; public static SimpleMachineMetaTileEntity[] FORMING_PRESS = new SimpleMachineMetaTileEntity[GTValues.V.length - 1]; public static SimpleMachineMetaTileEntity[] LATHE = new SimpleMachineMetaTileEntity[GTValues.V.length - 1]; public static SimpleMachineMetaTileEntity[] MICROWAVE = new SimpleMachineMetaTileEntity[GTValues.V.length - 1]; @@ -338,23 +338,8 @@ public static void init() { ConfigHolder.U.machines.midTierFluidSolidifiers, ConfigHolder.U.machines.highTierFluidSolidifiers); // Forge Hammer, IDs 425-439 - FORGE_HAMMER[0] = GregTechAPI.registerMetaTileEntity(427, new MetaTileEntityHammer(gregtechId("forge_hammer.lv"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 1, true)); - FORGE_HAMMER[1] = GregTechAPI.registerMetaTileEntity(428, new MetaTileEntityHammer(gregtechId("forge_hammer.mv"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 2, true)); - FORGE_HAMMER[2] = GregTechAPI.registerMetaTileEntity(429, new MetaTileEntityHammer(gregtechId("forge_hammer.hv"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 3, true)); - FORGE_HAMMER[3] = GregTechAPI.registerMetaTileEntity(430, new MetaTileEntityHammer(gregtechId("forge_hammer.ev"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 4, true)); - FORGE_HAMMER[4] = GregTechAPI.registerMetaTileEntity(431, new MetaTileEntityHammer(gregtechId("forge_hammer.iv"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 5, true)); - if (ConfigHolder.U.machines.midTierMachines || ConfigHolder.U.machines.midTierMacerators) { - FORGE_HAMMER[5] = GregTechAPI.registerMetaTileEntity(432, new MetaTileEntityHammer(gregtechId("forge_hammer.luv"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 6, true)); - FORGE_HAMMER[6] = GregTechAPI.registerMetaTileEntity(433, new MetaTileEntityHammer(gregtechId("forge_hammer.zpm"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 7, true)); - FORGE_HAMMER[7] = GregTechAPI.registerMetaTileEntity(434, new MetaTileEntityHammer(gregtechId("forge_hammer.uv"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 8, true)); - } - if (ConfigHolder.U.machines.highTierMachines || ConfigHolder.U.machines.highTierMacerators) { - FORGE_HAMMER[8] = GregTechAPI.registerMetaTileEntity(435, new MetaTileEntityHammer(gregtechId("forge_hammer.uhv"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 9, true)); - FORGE_HAMMER[9] = GregTechAPI.registerMetaTileEntity(436, new MetaTileEntityHammer(gregtechId("forge_hammer.uev"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 10, true)); - FORGE_HAMMER[10] = GregTechAPI.registerMetaTileEntity(437, new MetaTileEntityHammer(gregtechId("forge_hammer.uiv"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 11, true)); - FORGE_HAMMER[11] = GregTechAPI.registerMetaTileEntity(438, new MetaTileEntityHammer(gregtechId("forge_hammer.umv"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 12, true)); - FORGE_HAMMER[12] = GregTechAPI.registerMetaTileEntity(439, new MetaTileEntityHammer(gregtechId("forge_hammer.uxv"), RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, 13, true)); - } + registerSimpleMetaTileEntity(FORGE_HAMMER, 425, "forge_hammer", RecipeMaps.FORGE_HAMMER_RECIPES, Textures.FORGE_HAMMER_OVERLAY, + ConfigHolder.U.machines.midTierForgeHammers, ConfigHolder.U.machines.highTierForgeHammers); // Forming Press, IDs 440-454 registerSimpleMetaTileEntity(FORMING_PRESS, 440, "forming_press", RecipeMaps.FORMING_PRESS_RECIPES, Textures.FORMING_PRESS_OVERLAY, diff --git a/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityHammer.java b/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityHammer.java deleted file mode 100644 index f5e1c744cae..00000000000 --- a/src/main/java/gregtech/common/metatileentities/electric/MetaTileEntityHammer.java +++ /dev/null @@ -1,32 +0,0 @@ -package gregtech.common.metatileentities.electric; - -import gregtech.api.gui.ModularUI; -import gregtech.api.gui.resources.TextureArea; -import gregtech.api.gui.widgets.ImageWidget; -import gregtech.api.metatileentity.MetaTileEntity; -import gregtech.api.metatileentity.MetaTileEntityHolder; -import gregtech.api.metatileentity.SimpleMachineMetaTileEntity; -import gregtech.api.recipes.RecipeMap; -import gregtech.api.render.OrientedOverlayRenderer; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.ResourceLocation; - -public class MetaTileEntityHammer extends SimpleMachineMetaTileEntity { - - public MetaTileEntityHammer(ResourceLocation metaTileEntityId, RecipeMap recipeMap, OrientedOverlayRenderer renderer, int tier, boolean hasFrontFacing) { - super(metaTileEntityId, recipeMap, renderer, tier, hasFrontFacing); - } - - @Override - public MetaTileEntity createMetaTileEntity(MetaTileEntityHolder holder) { - return new MetaTileEntityHammer(metaTileEntityId, workable.recipeMap, renderer, getTier(), this.hasFrontFacing()); - } - - @Override - protected ModularUI createUI(EntityPlayer entityPlayer) { - return createGuiTemplate(entityPlayer) - .widget(new ImageWidget(78, 39, 20, 18) - .setImage(TextureArea.fullImage("textures/gui/progress_bar/progress_bar_hammer_base.png"))) - .build(getHolder(), entityPlayer); - } -} diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/atomic_overlay_1.png b/src/main/resources/assets/gregtech/textures/gui/overlay/atomic_overlay_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ef42ee850967e9ae325f854def3c6d49e853380e GIT binary patch literal 1719 zcmcIlOKjXk7sUO>h6jP148rlut8&@94XwYw#OQ^zyoT`OykvAx+% zjz}DOsVFMkxNt+Nka$Ry;Lsi_dWgiWLWnD;f|L|Qxq!-eUqq-4xnRlmc;=h$|Nh7P zzR*}ZyD3J8u2=OTu!T!ID!2gx9bh=n5+|3$tz{&1n%=7uTl~wFxIWuo`K#Cdx=rD~Jrte;`JvPF~Py11m zSfxE0b6C!W!I`PF%LYmXy$d6xo27)G(%OZ)6caIjDD#wNynoW5qITLiLJlP@>BgFibf> z6v+r63?j;hl^xI7fDgv)B6M4C)T_X+dS z92(OOx|EY1QYB+p&cb4VGP=~^Df!PTR39WhM_Y$WKU#(SkJ2Y$#a)ziDDSYUR63)U zy=a^i_22m#tsUrFQ#fyi<#5)8`Nyn}(}YuJyh}Sjeje}+->Z8|?dtBW*3$fSF!$TN z$9AuN(K^2SNpc>YntSitrxzDKfKSMRaBP3kTfY8L_uQ@9KYaYt!rm*FE`4pP-o-1; z+u2v&>(8|=KeK=1)BbD6|9Je|ufO{@(cLd^{_<4grT5pOtD9HezIW&DwF?jJUH*Ar TcmMpW{I%3q*1XS_&%gUOg9j+O literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/atomic_overlay_2.png b/src/main/resources/assets/gregtech/textures/gui/overlay/atomic_overlay_2.png new file mode 100644 index 0000000000000000000000000000000000000000..e462e71337e9c3e64e3821efc106c58b093a2ec5 GIT binary patch literal 1725 zcmcIlU5MO798b>=>cN$&5298`(--BOWb(P2v}?WYZo7--+}>?_r}#CQne3*w$;2dg zyLT^wZwJ*PdQVyqUxkx`AXw2NB1ntH2ca+0LVc^Cz6s^f$$oiAd)|wIB$Jun{QkfH z$NaP2m_0Ey`Pif&2vhZ1Wsbie%J04R^XKUw-dW(U2jbd`sUYn8Hoy05Oz(SK5bpaU zXf9@p?(+_2p^OOgsN4%ji*OstNq@&M>M|ut?2x*4IUf79Jr&p5tybd4d(~2baA=y$%n#m1{i*7?KvxJJ4 z3;~8v6AQMiT83f4r$r5FP=ThRYCyFdXgF#?99|N)mJr{Ws~jKN;$J1Hon^73DBW&X z?&>m2T8e7hwgNRp(*Q?+bT!IQ4@Bvq5krNhI0@n`V3C+JB9AR+C5bB?xDdu;+9(}{ zi3d#Sp;%F6n7cFry6(=ouFxnuG%`l;cyGL% zbo!nWtk4b(IV|PE)Um0!%`%p@*GNfLd&-rlV^P)B(>OgafF{>wusP?GDUH;IHlm>bg!nN;4E; zTCbEOE=mpp;%HF!NWtT34Cnz98bx3uu21zX)$(XjEudmw7vEoDcsUPWzJE}*gkjDx zj*wG8rssLS2Q(95P&5q+Jl!mSqE8BhSf;KTg%R5eNx)AI>TGAtRT0i;Te_+Hx(%R4 z4NxRGPf_=QW*}r?j~K+ZC6QpqXGw^7odh9jQ6-LAlK79BGV8F!WrW9E-#%Y2mm3N5 zgAQLv=T00G>(#QQ+Li@0Ssuo@Z-)7B+=cnaxR29_QzyJjZyo&RIo{!udS#|ry!`Y0 z%;Y7w_tsxq3tw%VzxTq)M?Zrr`(Jwd$Kw}kn-5zPSI+w1vHjHv;lTQrXEt9wzo+x( z)cfm)U%Rq#wekI_m(TnHrr*8!%7f?Ln|St-FFv^O#K)Uk2QJ@=PydQ|fDZfy@Dg(_m2rJ%Gg$xAYsBy?J4XSO>7X5H=%?g~=+=H+E3>?AKH z*`3)v2-brrC{@^lmqi3m7DW$U7E!5QTq_h5El4jOJSdfdcvQd4KNo4&y%XWUFPVk{c9P+y$}9 z6DFFnim0k;V#$`VX&9z@O4L+MRn($_HH1w^H5^O6QIt-P8EP!0Nf2iNkHnmjwD?+9mO$yyg)pAb zM(HR_5HO`rVg<`;?$Q|Oy8A=JaDq;=*>$io(tAhZw7C&8Ws#+PEun07okiL7*qBEr zd*ijFJMh$_3hS~EU?~X06H{@AXFTojyZA9#o_G^G)r66ZCr!?~<3uftSws!Xn)t+W z5P7_pKA9^TZD2K$v9bhN!$>V5Y&BKgDe4Y{9&)FuL#PXN;E{|R49va2-#7@=b)80( zW+bAlQ7cOzN)7_gv52p0xk!4#pGKpa!OT!cyDkVOnMyrU;G27Eg04IlZ_p;`yJYck2MGrQX zP|+??r0Ir-Y~1n?CP0IA15;I#M2|W?PeKB95`?79lsIZj;y-Gtyvq}pdk}Md?|h?L zT}ZeebYUS~oSP9FvsDw@rinBe=VcEvz}{{q~t%VP`R7w>$NZ6 zJU=BIFVuFnUjF^Uh23|>%N2C;hl?*<+5V}y^xYpbyZ1`(e0}AwmmHyTEZ)8L?d{HE zwOaN2w^!%%>GzUzM=yO=I6Cvut(!Nm*H2vj`Bb{I^~NVFUlq2W`|#uJ;q384zZ4D~ lzj5M&?LU8gb^FCL51#-0>RY|VAM;;KV|Kpw{>;Toe*-m9C*A-6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/beaker_overlay_2.png b/src/main/resources/assets/gregtech/textures/gui/overlay/beaker_overlay_2.png new file mode 100644 index 0000000000000000000000000000000000000000..583d1c8c5fc08ece9acbb53d6ac3199318e514a7 GIT binary patch literal 1726 zcmcIlUx?g99FE%RS?N6#6l`C{oM5F+GLvMpo6xnr?r!h4nDe|Y-iaX2&P;Z5x5>mL zce{5`L?6^^s}!LRR`EduAB4Whp&+G*g5rbF7X^K^5BeZlANp2wvj04!J@3UplF7_B z-|zeVnO`>N=VtcrJGf6#l>PPD>VkY9$nS}J<@4F^-ddEe`{UW?Qbn2kD!=c#cx3XB zqU^m9G?ua@?YUx>)d#7gu;Y znB7SD>5aJt-B_UxQ;$6fj`mzh5b}(GUf79Jw^vsCysjMQ)4B@!kZh%_PUi-}k~a@3 zBH_T+5Tpnhpy+7Wwk#Vx0Ssgy9TjwJKy16na&Zw1FI8GgnC~uBPY!L#ud>?Cve?!2 zZnvv-O-&>%9XpPrBSSX~C=oDSk22DOQ93nZsPdF1L7W950y!gTiq)*FN~HrA!gx#@ zrNc1EfayIF>sUj%OCzA??F41)hr4g!0-NkFu$eF-FIG zxYpRY6zt@a6jlWy=JW z9ODSNw1m0Yv@A$%lR(F`3XoujKwK-A)W24xhf_ZDKmJ1nI^O; zH=$ulMnVyX9Gj&kZxX{PVHGgy`XUL5tdk%lEw0B=O9lU^sfdn9Ji%nl&F%B`N@YF~ ze$bH%>B7tjP_I>N?ASImG@O^clp)=n4N{ro_2EG}&0iXhIsxccr%PylD9S3$tAWcf z4W@(Jgn4%k4fc22T$1ikB?DM0{H#k7KHZWj`OhlU?<77YYdcHdU4{IQ(uZNCZ4$M( z?6A6;JEP~lXpj{B-}&mVZR=YjxNL^`aNLFE$GDI4NKz-VOYhNt`BHZHv|gQVl-}HW z``V-e_S9}&{p-)?FWvX<<_EuivHa-Qfvvro=Ar_Nh{ my#CCg2d`Xz=hXRE9y)jP%8l83PQH=g5wJzWO)Y>M5`Q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/beaker_overlay_3.png b/src/main/resources/assets/gregtech/textures/gui/overlay/beaker_overlay_3.png new file mode 100644 index 0000000000000000000000000000000000000000..394ba12f739877dc9e194dfd8d86cb5a1e568178 GIT binary patch literal 1726 zcmcIlO^Do79FMHZy3$odrF20aDMH1*d?z!B9qa65+8t@uVLEkJDC*10%S@akFD99t z+3leyg=+mk1O+eRUFtztJlN8UCn*IF7D{hIFYQ70te`LR5k+iHPQ`Mwo-C> zYqgEHdf4>%<1d3_LyHkaBu8Kvg>hyLEBuJpV&h_3%sRZS6TT(4uw^S3d+)2_H>aaTSP>%Kore5H0?g#2PRwK@G6l2n` zD?Ae=1c7JCvWg{{sL(Ts4?SITp{eKudPpgkJhi0C3LfcV`)!K*Mfi&S-$_7NPrYTxkcYQ*5;9<+BX@ppv1QF^GF^M}o_(x5RhBS4k$6~JTo^RA@&6N5< z$QH8J$z{-}*9_S-45$clQT9v*b9W`kSdKR*2kA6L}?cVk)&pdhY_N5cwI=^0d>HNW8-nw$=>#K@?*Z$RfyvB1wmK z{q{<_;yhz}JWvSbE>ngCTk%3Pu@^Z;RPE=(*zrGo> zi<`~1x4G(BR6ctKoF3YOAYds0!=N7~_OK$4cx^Gxrd1h?An9sFp3e+|6=w-ldCY*J zAm|~afwHAwL)Q)TG|-TSR8&&22C-oy-Nt1wxnyB2rX9OgJ2$ZUYKZLx%}#U5K+XJL9`YK(gM-e@iE zk36NG%K9u2utW&Mxv8kfQ=atrUHr(Gb8jNM8Z(mexXpQgny95I3(&BlfhU&zkn%zD zWTt4cfz?RLDzeBLhNuj&*+xaXWY|RnMeYz9Lmg2El%!;TU{3wc#(toVV>iMiC85U} zwTdi6DZWo_9lJy~%9c=obx4tppv$lY4YO<*E)uJ>G}0yZ*SNQqg)iGbE?dey!I4ME zHZ`3P%|o!v7=pU4yU@kVgs4MY6H^OomN{j+5c}ffkp5oQOcl*kQPU`qvI{NNAy6}Q z1G;6?f+fp9%%nw2(*+Op><*6uBI?8sNSCQm*pTz=u;@mn`{-+%AS0p|+)YWB^A_0~ftA52UoLF#UYMzWpZ#DOi_O{x3s+wJ2S^Vj00000 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/cracking_overlay_1.png b/src/main/resources/assets/gregtech/textures/gui/overlay/cracking_overlay_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f24b4fa3a9ffc12573b978bd32ebd049c72e5297 GIT binary patch literal 1672 zcmcIlO>f*p7&ahKsAxqI5)uf>at=^n?6KD$YpW(ocSEyMoi6E$gj>fm<6SFjkFh7& zO$3*4;s6o{egGi#Scx+SB+7vkCy;uC8#lzQ;y`%4A112WkPDV4b@x>(i_Nw4z*Hn-+xbajC|9nC7AO$G6{UYRW=w$BA%MboeOUJSzFEqpblw z+M_0ONYv(9{`3?uFWVZBX5f`f5j%Ty=GfD8`oR z`MT-awu|3VEo@-}JBDc?(+#j4n4Y@0G_Y2(B-rl0v#q%djj22vi;Bl1x!vtu7h5yrN}V$W-KN%}8RgFGCHK&RxighBmJjVS<1eQ&JeF zj%$~ez$iK!nq>{Tk{btLWufe3ja&E8_a9M3#u)Zk;D z0jvUHW@D-t2`Q?Pc#I#-a^p=AbV^R7C{$%PySRV3h zMo`?gZ4|p4Bf{*&NvLZvhb-A{mMNSZGCs{(t75>&u*KVyTZoxBMwHkNBE(`SrY_+& z6hEhqrZO5NqRa@?Nt%%%H;R0yssF0!h_NUm!64?X)APMfr(cRB9m7Jkef^r++vvEa z@4Cp+&ARMC2DrPKR*>Vv#X-8oKUj>$sXD99fYAC-gc_}@firC}ojxMW=W}RII~j2x zJ)=tIuu3FyLQ1|qgp~Ye6&jBdUy*~erJt`t{zvJHu+kC9ha5Vrq1Db9buXGH#dtVh zv$a!wYYB&DSPz>n3?EG&=Q&W9(4}8}^7t-v_^{VqAG9yi2PY?MPdWJBulDcvzo92r zzI^w&V^Ti&d2;!e?^jm-zK8t}U;Ma#aXm+e53wX N^ftD-cdy+({s&hW5P1Lq literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/cracking_overlay_2.png b/src/main/resources/assets/gregtech/textures/gui/overlay/cracking_overlay_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6f458a857e4e7d82c6e03c125ea924de1967bccb GIT binary patch literal 1745 zcmcIlU5MO79FK>Uw$OXf2eE>VDOj~mGRbDMyRm!6-R`!#hdIx?rFZI!von+3+$EWq zWN-Hl5%obh72%*tEeZwkNO%M8N|OAJiACAo`*Rf|LDfk$&8Zfh3ce z-~9f+|Hu5ZF*kd3-`@RuB}v*>tCr`*`}XwSeVce5`|`C#@!AtspNJ)C{6c!)^7^6i zyCrGY?{0l5S+XCs2=^6Cd4nlkKNM(5Iy~78F9i_?9wb>Q%2TO9uw>7H z5|0=#6$A-FI>;3i%`^-XJq&cDBNb&;O^2FkA;Z#gU~tL8T0|XdzI`-q$mreeHZ+2 zL>t6|Fo}SvT^y>Kf>M`;K-<1C)b~f|IH{}(D+9gPB#!HAAyemB%-a!Rl~oob2ZqKd z8SM?*k=OH-5|w$(7qD0e(?+Jk7EgHG;@9zGv^?@Av`P`f36JWWd&5M{4OxJ$DLQyy z(G4i?#1E#51{+uzC#)!otZ5MCpq8&|hJ}!oHK52HLVc($>VV<|?+nbT>#XerYTH&V zh!Y$TRx1}}Axd#wYB8K^P?H%jgP8^~HL|c_G6c;AMMTVJ7;$>K#QriT?KFJp{(jj~ zP6Wp&LKZP7GmX3n8-}PSCueA|fU+5gkdra9InyE79I`zYx#Hwt?`qam6-`x{B-_w3 z3?imCppiES%x9Si4NWI`X6ADRnvnq|mct_-i#l|7DmGogTcajc{*i=)bWrH9qJC1;|K_W=c2(aR!bLMohodemK1O|<1%f&fUHZGNyAFyD|5B|y zRnLEMy8hJod9eGJe?GbM+sn_rhbK-cCr_Ms{@vpbRe!js+_C+(b0qWQxe2Y)+;jYe zGu_WW7~6dE74XsWBY&<+V_Rp>-nwzJd}`yX@aKEqS*qYSme0(5@3xKXF7J=We{Fwr z-^bIJT5r92`OwDZ*!`22X8uZ+4<7sM+2p79U*7a)w*TI`XaAcQx4-5Ka{AM$Rc6Z{ IPCxzPzemnAj{pDw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/heating_overlay_1.png b/src/main/resources/assets/gregtech/textures/gui/overlay/heating_overlay_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5f138408f60ac7603260a1b758bffae55f62f192 GIT binary patch literal 1723 zcmcIlO>Em#95>=?tF}s`(k5*e%jK|%`ZJCbTQgOcge3^KX%^A46VLBGCst!WV>?aK z3lcXt^nkjZI8*}!;($1T#DvOWhyz+B4oJWaiC#DiCUMyTiNEu;YT8OKM6&%pe((4H z{XgD6@79;Eo}M{B!*Sf{TD9DO?+e*;;yHM~zQ4T&pOaDbjfCT7?_|$YH(r{(z;Vys z_nYhKy7QWaSs)?8Tq^a02+$mNd9fcMyg^gmr7b_Sg+Fia3A|5iVJ+_{PE?|8zq%FE zYg@}rytRQ%A}qelU+!B#5YQCy{h$*jR^JweycUeJWm({dkaWWqmNJ9M&%ET+66 zDI!)BjW3vzYUsM5EbyA5DYBB6RZUb4OVKU0z>j|dSc{2gHOjAyZNbbI+G!eDvfS(S zq+U*9aZ6TB)07oW)-(|iVloI*)EC2Ke!@_u36A|J^;yVgjL2o()D}SL$b}%9(uT=6 zOb{@+k0M!>l+2|G&~c822Ei1aq?JvuGS>T8;-oo&BQ?Hffm7PmB>fJsWl7 z&d^hWW!j+uz!DIqPEAE^ma?SHp5VuHd+JSOm12rg7B?B|OcGU}u<)8HY5c`CKP0S| zT*?%U57077sVzX(R8c92YO$%R79=j4>XxF6pbpdlK`A;Om=WI_90%$+RxM0Y6k=K{ z+X9G^e4kjwVnNGOkBU@tb7HZe6Vc7XD2MVi@8uL77u=yPIA3PCn}shsKPp?oFmOyG zWEI?e4iQ2{qGNa&x+$7EDu|xuYNo1sx{=2dww2h2n}a%sSu<4x7!g*8iCj%|3oaIm zI`Ftf%@aLW)l}Uu4Z|o3Ji(U7;s8ON_yKBBISN|>|4>bdby(~$0x{1WUayr(^_Y2n z2R4$%)hm3hQZiH^6*WoC${u8ZyH!7d91q49=^A}&JnH!TusT6yb}4KDXVpN7Fkbc_ z6XxSNG@|XbDUcpfB_mkEytId6y3~S{{AU%)PZFP?&7-9suR{Ju>Ep2CHVRu5I;<>Y z&d6CW8YM-3G+)ELLw#!khh~@!r(GB((>_i^ppKzSf3&xC20DCHD=#&RKiu6}o%vQd zQTpcXdp~W^#kmje+`Tz_{jX2{m_PGl_1En$k|lg<-*|fWnE}`Se($}n>(4J-YCJgm zDehih?fk5Lcxq?&EAwLI!OFeWh3(rne)~Aj{=RkL)%Oo>-Q0cgpZhzXt<=A)AMD%n a=guB{ckcIJ=H{}$ms(}H{P~qP-}x6CBqyo> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/heating_overlay_2.png b/src/main/resources/assets/gregtech/textures/gui/overlay/heating_overlay_2.png new file mode 100644 index 0000000000000000000000000000000000000000..16f3d8a1280bb4e4ac36272be9c417a93d9add9f GIT binary patch literal 1720 zcmcIl&x_nt98b~Oy4Xt9gXkq@5i0FV-peGJOxS7JnOVC7W}V#~cDD%Po0pfFFq6D& zlHHlzB8b+5mx2dDy@@^f>mYa#!S>LDuqgfo?y(gFDXkvGZ|0YawCi3BBzbx7^FH6t z_s9F@y~fg|Q!~%aNRo7_zF1p<_fz?O@-cX>{d8>|UXRC%ms3ePeJj6@eQ@sd^OAJ@ zZqVGwHr!VnCPI~ZqQ%ug7z0|8<}MCm%DOz0Tf7}aW##wpZYXl#m6dhV#co{XonUb{ z;j6n#O}5)*B~Q6{L7p2pKoIhb%7d^MrOu$N40#$@OfFsI@YkM5gifB!G=SM^7vA~TH^W6O6}#bE%+)coh*wTP3!mj zYQLb0q^*%ssia|D({%(0l^)kP!*GgDvxRN2GS>S*;MVVg(U?8KPIrhDV9 zq&M``V;b-A5MU_?BU4jxM`R-Hh==$wU7mUqJJp2KOe9SqdXq#oCM>c}R9!y19z>q# zr!VD-#v6EzX1uIG)(FByMC>LZkTOTN5#$cz5!8h`@MuPl1{Pl6?;Hi{x=uYxGa4~o zuay-Lr3QiL7`}mVk@<)lRuLK8V2E;VA>X&DUGh!SFv(CC?5_#7m4`3iKPp>KFyNR* z$gxd^Em|-TDcTfSuo+QYG*A(HL@!{o zK$wr_(1^C*;Xrywm5gAi@UuQm_8&C_4M_|EN3|E+6l z_?gO^bHU!SrM=twWAFR@8ZYks=%b literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/implosion_overlay_1.png b/src/main/resources/assets/gregtech/textures/gui/overlay/implosion_overlay_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ee0190b510560a2a571912523f188ad549b53b72 GIT binary patch literal 1708 zcmcIlPl()97>{6!?zTNBh!m8N3jV>DY|T|M>fdoMHDo#e$N zyED6Z5DS7-y=V`LV9}cgDd?>S1+f=V6rmRdi-%s?(pvGVewoRPi?r)r9LVJT`Muxw z`~JKyZ*-Ox56>N)lO*YIyVY2R_XGKJ-$D34_1)Vm@VY;4y_ibU{Db*(kM#Zr4@=U4 z--7OHw(33SQW2_zi8Zc{!Wht!bbMhH6S~1Od5!misH)t&_=O?|tg5V(J>84zydSi7 z5`J=LsY`b@sKb zY^ge;x^Bp}qhiZ6E&XZP&<$PF%NjNiwp`tGu`L%r1*|2^cb6N_7PeqkRr*;LyP7r} z4%J~v6-iISj^k*$p&14O1WLD~jEqo}9-A^WcuJEX&H@q1IU`vUn^{!>r4tvzct#tg zMVKI9+K9v&R`uMaDbVxwhKAt`oo3A~uu|x~BXQc@j=8qXQ?Z#)-rV9*c5G^l(b?H} zGZ~CMWmMw>9s(={VR&XL?u$&MeQ_5*X4^AwVz-`fl8K}%#9*4J&Xh$quxiLptOOAg z!}Q5qQE`AbNXDxQWDO(TM!3?&rfV3k2~*S6^$FC2I$$It`vVIW_}lw|dY;>k(u_ou zw;NRjM5#f*TtZ8RX=08nqhur7F?HlnpCi-vF?9^Pf(u=6z9Hyl9=`niq->d>z%h%E zyG9tcEW<>lGP4o)O&>Y9;v>R2t~ez_H*J6HC9pl81aNc6U^i>7iUFgE9m}94hWs+4 zi1{W#gg6*g985}O%I!)Sco=nkk%R>5BnU~5YjM<5IJbXZNv zoze1MG)ao~?|hB-cJ-|(9GYQ1oONNC%=$QwfI5LL{m0|yeufTD+KpPb^3AvJ*5&tAXu(A5s9bzXn-=*Jh&w62{0WZnMoGHcFVSiEs={m7M9Pu-aB zcYk{4z2VXeZ=IjNb?Crn>ql-MymUq{U%&9fwZ%styR7to{PWj^m%jS?=Iuv*`N+(_ OC++4^@fLov`gN+v(kD*o?z$@634H>Z(e2m`*At zHPhX55f>3WD0ol?@#w{ie?Y_)90YN^h!;Zq6y@pX%X>-r_>+r@^7tQd zcSr7oH+?D+oiNek`Z&n|tteMl#u=fzT&g|ZkJG01`xjqnYRsD2wiDtoYw^x!crMOM~i8xS_U0&egh( z5yjY2T~9abwq3`ss1~-cfgQuNkXiS!?VGMTzcjFxv&i2JuFq}3S5q5EnfZn>8jbW( zO&59JFg?#Ruw_^l0t6~1sU%~R7MB(b0WWACXEGM4S~8NJ*pp2Sl+Ij8vWhk>=3#<> z8Do+erjARO7Qiq(9hxK+x{&RCurk;CP~xIH$+)q}3$d3|-rnb_ytFXJXtg)n%ZF1> z88!HjCjcuzm|2<1211HrARggIwOo0V`K_E2De|rm!$qPt7A&e|>Xv$CJ5HGx6)%^H z<{NlGByVbvH4|YMnT@V#`&P|&FoN7+JcEW%2aHH^Hn3oEG&u`24E;`8NRm?C37Q&+ z(&L!WO$ObRKd`TrV<#nQJPeekAgQK%K-1>2o7X`m@VTFs z{p|j|H!r^T{pGEfj=F~$JNo83dgbntJbL?=&%`sgzkCPb@9(;c7&fUKOZeAAt literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/lightning_overlay_1.png b/src/main/resources/assets/gregtech/textures/gui/overlay/lightning_overlay_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f3e03d954a84db3fa607c86474684e67f67abf45 GIT binary patch literal 1706 zcmcIlO^Do79FJmUyU+!tc(9j{UKD*vUM9&*V#jqlnRZ9ax@-q`MZ~^&?`0-#k{6TA z&dgFTQUwoH6slLx9z19f!7l{yrXV8tap*~r_E3B4P5+rM7irhM7)bK+-tYbXzyHVk z=k<;Cv&WVnT$Uv1SbNReg!ldBy>u@;pZV^MEqEPG*PhKKY31wkzU%TMD<>rB$jz{` zU2OYLxm3g|VWP{`QJex=l1{CTQbKolA$NH%OzO&wPrp>;kkyqf%h&z1$@}5jUdGSu zt#|0&4t1Ea`nY^*&4ox0K}4a(d8hTIexmu*!? zRM!o;>ZsT@O^W6mNQST*E_w!(yoVg7Kb zXtsfSq~LW0vWAgfMYz_1lV8Oy*d>E+jyX_<|NJ4qrt1BQ% z4MXNymTgiRP*lN;AWTh$h*>j`X>_X<2XjKPKG6mHJwXR$_{#m$vSoq-$097W|M zpwFtZ!0ZM=tyIOR8;C3>P$ywbdR$ABo+AIFrYRzk`GP^rEBoi$&E`fXf-r)GeDmyS zx!r2o*s*P7sJJY9kOA(lg*oJSJUd9|_)D`<6v~t8bO|jFMO~p~HE^cPro-EW`EU+R zX@`9dqz6>V6qbvi7?O-PdXSR;tU~Qh;&ZZlu=K-K$p0vP7FOCPNsmK^)s)g1t?Wh9 zq-g)n*JN#9--k8eM=BFRh5&;R=B zlLx-J^xhNKd+8tN-+K3W|NUQ*zTtUqHtu7$zWDv>5523$$DJ$7(aXzsx1Rgwn^ zZ!CRgow?Dt{NYc3@~w}4eeJ@9pFck8Jo(~I=gRYgZ2h-u@7y|4DgP$z*1Gq>>GQAr E4IHc;zyJUM literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/lightning_overlay_2.png b/src/main/resources/assets/gregtech/textures/gui/overlay/lightning_overlay_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecb3ca40c232f76e7321867ace8dc34f247f46e GIT binary patch literal 1705 zcmcIlOKjXk7&b^$rD|4y5CbT>^_!fCW!n!o`uo*D0&tUbnd zvYT*f4?HTBR*^s;F1>+NK%4*xK`*FBZiqt;Tzja5;DUreV!SUR)P`KJWP3dG&G&!* zV}8H0y0SEP?8#$_qRh3Hn{D}ith|pNk&kICt*c-JDKb#;9(7-)m4 zCbF)M9mmm;p&JI22$*jt1sTF5KRIP+@|DYxhozW)wBup}3 z`jDhL)==rv6zKa0L*sac&Wpt@X=S4Kp2T@)JLP(t=VCLXd~u5>#mT8LMrV7|&8$E2 zlu@1cc`RYM6ozM}(w-hRbe?mW2i6dfRTb64lGy{ZXX8f`)(`A3zAUYYI>>^ zr9}~QnPbqvv}&+!vH%9yv|+uD2{cd@GqWZO%??Mp3hn`QXQ{o}G_f=Z5Agj~w2 zp<~z-vao7HgP0hSDheT{c3?U+yB0D!Wjmim^5l^Ie%4YIlZ zog)gvy6FT#$So8YDqz$NMHUlTCs9ngTu+m(3jR^k5PgyPg2|Xy_s_Q)jnzzqQC}|P z?WMDzwb-z*V_DG9a9Q?JhIDs1%4LqXCkN>Qe|<9QM_^Q)E}`Y2@Kjn>183@FI=V-g z59iRBcF^OJ^nfZE!*UT81CsHDu1v{)R-t}B@j2N#So+~An**C>A`t;Ln* J=VxEN{5QEp8zTS! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/molecular_overlay_4.png b/src/main/resources/assets/gregtech/textures/gui/overlay/molecular_overlay_4.png new file mode 100644 index 0000000000000000000000000000000000000000..635a3a6b21805cf0e31576bcef8003084d1245d3 GIT binary patch literal 1680 zcmcIl-HY5*6pzU2c4Y-Ef~*L)DWZ#Ja+8@!GNG}KGizsDv#z^?yQQsobMKv*u#?=F zWOrs4MD(o>iioTr7C-3Ig6)%*YCoO|VzK{2pL|fL58|^Y^AU@*>%JIBa+CWzzw7tyhS4FmyC2^s{wFtG=YJmj@uoxN6NG=!uZj$F+gqIGu})kMsZQNRkt zSVv~1pc$o-fnPv6*0GAqs-`QNVdIjmnP_~-;4Nltd!_!$*cUuGayLyQTUGo0exYA1 zh`6I_l}bg$x~l66Ae3Y~OvykAlcN)cI!|cqN2xDDlra)dY^IJ3N=G3CQBE5s<1|6S z)B%Z9t$?$TCP3HS9~uNXI!PC{z{^biC_Oi~h3-mE(^ zh${F#vvm^}F)neXSSGsS=_RIk)HD>+(~Ac4+C`nxp)Rnm3%Z%5FS8%DEfW+t@(kIA zW?3dPEd{JhrA$kvLNueSV5`kIGc2R5u?gGju@7Gk>D|qmsbaurSm2p@M6oOkWaW~k zSZ0|i6-{FvD|y7zEg3Otw?!Nf=o3F69j-=UM@IjssfnJ5UBMvd#jKlw9inLX36ySo z{C%wQcgCxpkA_WW6Poq9Bh#$N9Q2M}`}fG+!E}!7`&|yC`xJi!OGG>ElbBaKkm>(y zF7EA5i7!(ni$au$r5jhInU)PL7&xOdk$n!sVkWy^fH!b3iu zc?i@o4Bv-$!)IV{hs}DmWqtVVCyS3tN2Y66-@9|;JNx;=&)#1Bbn2-i7oYf{apCOT z`{$AL`;|*CN!|9JJJ-KWY_0?x{558OZ=F+)eS7#Tqe@1g*sea+*w?FtBk%|(E literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/overlay/press_overlay_4.png b/src/main/resources/assets/gregtech/textures/gui/overlay/press_overlay_4.png new file mode 100644 index 0000000000000000000000000000000000000000..758ffd23f2eb00b445c84c0bd050955e0869d899 GIT binary patch literal 1675 zcmcIlJB-{!7&agx5^@nB3KR;giG)Bf_Keq$wTW}N>@K$};p4Pf%w1qoblmREUNGB&dfB$2Cf4sZ1 zy>a341x?d7dfj$kzF$!HGw0;<){md;$=CV3d%M)MOFyXliBI3S^s=Ts{d+RlulA#N z0xD92FfruDJk2Fq)2?pLb3zYzr4RWi$wKhkH{Sw1VIkOaA{6BqirW@z)07D-+uBGVNk8H#BY0;zQALYmjKS-A?644645xrq&= zTv`L8=yYhB*66b897-!Iy^ka=2S+(K`@9s>g7VHG&#EhHV~o~&^Jy_zc*>~BCp?v~ zQVPShseCLdQI5r9{HT{}Z}Om3a8ik4AjD*ysNFS-ZehdHU)xJECT8X9O3`WqZsOZfE*}uhtLul$vR-9B4+~&mc&PAfksi#%gTyml=s>pkfMwvVS(k_ zK8>3gV%zaxb7f*1^0-4Ah}dkn&?Wb`1)Zw!sr}2cWr9kMIzmCr8IEn=g)wFh zHhJ&sHJ-qx4l+>6m0AE<3CVlryI4Ma!g^|IXK9 z?L^;N!(}s6!@3L0kGhZZOi~xJOMgAR1!RZ6-fM3Sn$Od}9zNWB%0c+|Jlld6MDGwnPO)Mqnf%yn61pCDyJv6FT-WR3o%F$*otf;0+hk&r zyWKnbAhn2s2tFvj`5y>^DC&dIs)%6mtu1&DMGC%&4}x#!H~Y&&+VfrvB$>>7=JWl0 zf6O=UG*-@?n4X!IB4XojkrW;7NJ#2Y;Ssq;qSW8*pt=3)`*@CZ%(#iA0)3jc% zr}j)$q-{-iU01_~W*7(%DBFp1(noPNH)g2ujHY3dha#2>M$!^nc|`%GLl>fCLK|nJ zFhRhyK1noP#f3{_pzj|JjiL!U%a^vn%1G~BiL>TT!nIYNiLI3KrEMPPb7NzSPWC2S zX?Nf$qZ;q>2w)iq(tvU5%=(8vOMu7@v12&xk#HrbjOKmj9FwuR}J~}S{O6Y z%bqP1jW+Na$$3SAtmz1sk?u4hW!Usg7Zn3Mg!)hijO65KV8Oy*=O|F$_v&$$lbG^) zt)hS^H4K?oDp@u$9Rr!T)j~M1T-0LJK@M)QQW+brQ6d9fu)ikgRuR5p|FCSCpujPS zkY{0H>!ywo)F%ZWEejFTbdX)ftXwu7*Df1lw)1HSCx>(ovKFcsFcRA^17ZiL1)C7I zEs7k61jx1m)1j8bOYuM3DDL$`{&@lK-qi?Ox(DvVFMpqgBZND18)G+97e9LxHfk;?9Gjt_e=EGQ+E{WTI2ZlcNQ;Q|8Dwid+OHHotfL0E|V)iy|}lx zxAAWG@z0a1c0o5!y{_C){K?8i5Ln4UZH#%KAJ__V6sE=|3*_|!8`zWm|RTj%xr Zr7!mXG%kMi@Q=msrM|RM`($zB^4~5?AZq{s literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arc_furnace.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arc_furnace.png new file mode 100644 index 0000000000000000000000000000000000000000..c500c838bc4bd33486225307ff39e6832fb33330 GIT binary patch literal 1895 zcmb_dJ&YSg6gCJ#66r#d3KV6t5mJB~@67Ca{}gjv?7N($_;PZLa&(!UnYCAE?`(GW z&c2gqkWv5z4K!4MD5#K-5Je)O0U;=;`D>v9AyH5w-uh>8!sSO1mexBv^UZtTd+&QQ zuWfB!Tsr>L@k*t#)Y@ov;C&LFb4QQB|KH@tpWt;Y*?2jtR8D+ZJdeEn{E4S4l_Q@= z-R*q4eaYu)SY<*5vN|3nfUZ=|uZ$DMcVw;wvKPg5{f}E;=vpM|`qf$+x08nKM;iyJ zymGMF z*;R}<##D2>DzPog#>*PT6dSl^5Q>QHW6LLwHv8$|Eft~PX|B(F!B<`H=Xv5A#%MIE zj?Ah`dj|15&%o566afNd`*F_3D9+B#Ei`4u(Eh>7O364t^?C)2*ac_8)vgL zLBfnNOAJ!QMMx8%;3Y2EO$QU_f*W!mhceDHz>*T1^i{61zPgL)a``p~klJ>;^l>Pc z;jna(D&Rm>tH5yx~3ZnrmWSxr_wANa~CY}xC zt7JmA-S%5?ma~}4RO2VoCmWQCT8TvI?ln9THe7=$Kq=GHE!5i}$lELtsC39x7e znAs#G$aO*+1&+m$$2mo|>+sNYJt1mgA^VAv{EaAs8t=~<>59BQ8x10DA|9XdqABV+ zFVr9*p6PUSNIo9O^KAd9FTvR16~lpzaC z$h&RT5EHII4rWq>fg~;|LtmsmQ7txo%ky!m+J~V&OAGI_xF_L+HS~uM=D~D1W%-|A z?rg#TFBqdZSf>gz?iAl-ZQ&4xLQbaOWG{y0l>#5-r6gm>Qwmqk;M6BK;kvrqYOZ!S zzW)8KkC!Sh9)0wOZ_k{1=gk|RJ$~afIrHAlUv=%6)Sg&>?4@rmz5j;3d%AM#!|yuF zUv<_ye?9qI``w@atX+HM_4GQ-EX(J9`94_DdLNwp^qC|muEN&ZX7i&9*IxYxT#Zxc literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arrow.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arrow.png index 2add8f6b582fe4ba2db9b8320061eab2c560f59b..2fdb582ebe1a5252802a41e54a02bb1de40eb283 100644 GIT binary patch delta 422 zcmbQh^OSdjq#_#w1H(VVTepD}XMsm#F#`kN5fEmas?8_Oz`*)=V_q*4yRnstrImr@ zWF}@cI9s3Dn9+E0GPA3Sk-15dQKC_zu8BdarLKjUiK%X4ibaa9xj|xTN?KB?p@m_} z<}=L6jFXF4M45{d%O>}*$hi`uOG%-)#I>x%syrh#&sNFEz{pV7z+BhRBE$gZqW3H| zf>1@t8Hsu6sVTNf`jfR- zV#7?)zW>fK?;1aP+HYVB3=CEDE+{b3TzX)YxPU9K_R@kC%@R?~9JiXpuh@U`*!qBT z?`(mUrI8^y5}jw?CrZ6~HCwiIqnt(S)(0kG%^c4Z+9JPQ`|$v^=xD2F5m9tb%dF>$vfJM&2G^LEZxEYvEKA^^%n^gr+TVVLA7GombVc4_ T_KW|4j%M(5^>bP0l+XkKAib4j delta 257 zcmaFLJAr3{qzy9z1H;MpS}%c=Xn;?ME08ufH}CH5uB)y6|NnnRMg~yC`u)cZK#IL2 z$S)Wu2m}mL-pp z#>ppGBkP?jUb+Fz%JFn@4AD5h^nxQ_g94AsMW^&V|0nV$D4pu(o+(<%ealZ~!jE>= zjRM!4EWY%{iswkB`pHT?{^;TM%CAiLkEVpm480q{1rr~9yQ5tx+^XTC$Q9VJ)_<*| v$il$A@0x>ChJr9BQax!?j`njxgN@xNA96(=5 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arrow_multiple.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_arrow_multiple.png index bf75e28e1fa9f15881a5418b0d910f3889369634..863ea3eb62e4d6fdb6edceba3d5fd5ed3188414c 100644 GIT binary patch delta 343 zcmaFEyPJQ41rytbjaL0ktR@y#rk0b>F=;?qznLmkj8n}M4Gk?!b<<1@jdYC@O;UA} zk}ZvOO;ZhxO_NR1ERsx8HqT%-V4D1!#mto$)k+G*C9Y*9R^=I~dA3SM21bUu2Ijhk z79j@4RuC8LX0e&Pi8Wt9E$p!o0|UcGPZ!4!kK=ErPc~$esz0GuYu2wYi$Nt#)#}2m zIh!9}VX|oTYF?VPHhG0fg;(pl+ic!Z|An$jE%vUw{!l=w@W+~E%5MU=)~%KExpHt3 zU%Yv@Mac0lRwdS#WiBNc1^#+|+&NZ~(QhF~3tz}Wg(b|>f)ZA$iX6GnxWld>BhxE` z&tD?@iS#jsvJDy^Si4o;EadvUPbR})X2#be`TtpEt{gaMaQ9wH7|@{%p00i_>zopr E0Jvg(7ytkO delta 230 zcmVn zSrBhyCrtnV0Ix|zK~zY`?Us}N1{!~uU41r>ASM8b+4Oy&H92R;Qw!h}DhDjBwT_{3 zz*7~vZyPLW=a*2c!|6@E4u{Z)!)Ke0utOPx# diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_bath.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_bath.png index 486d9cca88291511cc39f3dfaaeca04b2a500824..f9e7763ca00a7f533cf538fa3f5d2e687f149170 100644 GIT binary patch delta 661 zcmcb|vqfNnq#_#w1H(VVTepD}XMsm#F#`kN5fEmas?8_Oz`(X)V_pvvhoO;`vALCj z>0~BmRRl+$*_hFIax$~4ikX3hd19)CnXXBynWe6=rAeBug{4udu1T7ic~WYcu~CwV z<>oWY$&8bWSVWnN6U!#|u*kU@CmSVNm>QYt8d#bn>Kdn*nCV)kq*>@DStJ^p7^E1O zC#R+l#{w7#LfbSXh~wOn%Q|BMeoPoROH9o|IQw#Tr-t=(Njx1_nkgPZ!4!kK}Q6;u5jeloo0{~K-4(&n)9rd-dbh=&trM}PA>-~32! z`KFalXX~de7BgN^d1~6TbL-?U-0D|Kxb>N{L#oG5B2_tMS#+P@%%?&x!kBF{QoAl) zOfE3H|MWEDayP$LUrn#iSN-F*xXfr2j-wy^kVy9;?oKwCzvF@(T4TkCVYVXYYO!(VV?%dBd5K z)9E%xFRW#&x^PNl>0)(T)miU9JzcQO&F849|H^y)Ts!_~C#2Re=$o7RXxU%e2uyhl Mp00i_>zopr09Zo$-v9sr delta 338 zcmdlYaF1t#qzy9z1H;MpS}%c=Xn;?ME08ufH~;_te|LBHv17*=`mX^+EaL8-1XAoJ zL4LtNDIj2w@@96Ms3^|FDz?$8hl#_$$jZpb%GhY~IVM#E=QoovqtRr2X4lDOENYu) zF()!kp2`+kf8wX(6rgdtJY5_^G|n%bc$)99f&lZz*x&!{ceclJWCavyh%XU*bJ)1Z z;xQ+ar&FFl!-RlCO%qfUbF8|~nwR#s2swx3>YZ33p}{B_em+umyXD3Ezh5u8Dtjn* zv6eA^q(BgVi(INoKskH%vnJQ|N1x4#Va#bXXbfQd_Tfo-cS_X#fBK diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_bending.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_bending.png index 200728ada37c5ebf4e1f8bb16977e6af9a4e1b00..cc532b7a22cde590839cb2c22525944031a18355 100644 GIT binary patch delta 320 zcmX@e+s{A2f{AUzMyq}%Ruc;=6Z6UEm^7fQ-%OP%smW<+$p*=$x~3*6=DLQaCWg9+ zhNkAaNv5Wj7DncYCT7NFn`bZ^Firl=V&+PWY9)o@64$a4tMZK0JX<9r10zFS1E9$k zAqK`)5Etxbv6;MyHNXC7;teAP28LEo7sn8f<8PMt|N@Ys_1R*Kigq9ZiF<>|y#LYG+Bw+RW#8dhp` z&-htno&S7UgV?P)e#Z9;E^knEh@K;tA@MDww7j`|i{O0wEypWfE7@$|3pgbHbaM9Q z@7|5(?W%9NZzX&WPxDIiVpx*!mqD?k=i)u*6Fw(>I8AOaGtWv}Drm(&ALt+kPgg&e IbxsLQ05wWbaR2}S diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_canner.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_canner.png index 4ab1de5a4fc7d2a9ef8f6846f6e03bb7450067bd..7ebd180b47b78199152cee9a13f39deb599a2d05 100644 GIT binary patch delta 255 zcmZqXyTCuef{AUzMyq}%CKHRvrrDHXlZ4cj_JdNl*@G*)&UX1|RZJC1a8%#;4oaQx2e|4epl XiL&YZMzc?F?hQAxvX3`2J-59z(URz_r%%3#p0vJVY}1}(3G&<(&A=}_2u zU?~N)R+73M{FedJ8|l00000NkvXX Hu0mjfk!w+Z diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_circuit_assembler.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_circuit_assembler.png index 0da1ec19798cf68c2b1e8cd79d1557620205715f..8708614172a20c72c5f83ae3cbdfc7fb218f1549 100644 GIT binary patch delta 670 zcmcb^vsPe&BnKM<1H(VVTel|$iZiio*qGJB#9?S;Wnye)Xgc{HlPZFv&1}qQJUO1( zRmIrA%rGq_$wJrE$RttMz}&=AH_L~` z&u&*@ynxegc=)_#u@S_ue6kvAT>Xo8C5sps7?nL;978;gznzxI*KEMix_9dG+jcww)EYaZN>} zF(c4kamCwpESp~3 zs<$~mFW1uP?{?Ybex?KYPUphBxSSuXxFuAk>J%RNESs$){gH9lX~XMNibFjwPYvqR z*81N#pRqk8tSu{7gFnBzMQL7ccZD2C$`E7yqZf(Ea%Ki_*t)d5;ymym`bU z^xN|tw)-t^Z1dMxCFAI`Lg&!kc2ms|$;F8mOLHB!WCeX(H^qSER)Vb8jj3u=53M@g zsG1kDQ^)pJC-5h<5_)bsX7qg}SQzC<>tDnm{r-UW|P@Vt` delta 336 zcmZ20aEE7tqy;kr1H;MpS}%c=P=HT}E08ufH}CH5{{R1fU2QFp%k$847m#8r3GxdD z3jY7kuzCNI{Sy_%nOMa(TJ+_is1ZaGG;WItk3K^xr{|^^DO2> z#>rFJBI}PE-|qsNw#U=OF+}71+DVRl%!)kB$-6)Q*Z)32=fYLFRjXtKdU!e~i}0_m zYrYlmTJP=@wv^lqM}|9F5*QXN+*&7}AzSY?Dd+aCMcg?C+y1Va+CTfo%;!uK_iUKE z`)t~khkUc{?lF%Ju!{*B3 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_compress.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_compress.png index 9d310cb76a0c6655ccc85a494940e1f1d9505150..d6d6da4b8ce0120ff26c3eb91a8601299ac54c46 100644 GIT binary patch delta 422 zcmbQtbA@+;q#_#w1H(VVTepD}XMsm#F#`kN5fEmas?8_Oz`*)=V^J>?yRnstiIu6* zWHx3sINO-nn9+E0I}3xh?t7D||$v=({A|NfWaHulb$oR+`rW&}M-Z&~5IcB>(Wo};Dty2iX3 zc9Vx;1)c5=JEOSbw-#|s+39cLx~6=GOPPc4qQ*RzYx{j9Eax^k)}`^bJlG>BWAadj zgU_!}#AHUXoHC1%!h6o;9bfsTpWw@IGP%%uLgB>gmip@C#RsK(x7dZh3;uQ(=tc%l LS3j3^P6F6*Z z#ZeOE7Yq~x0fu|cdm|?*N-&CTwCZJIH?lGUBE!k&nAG6x-%Q4gMw9iKT_=~ZsBNCb zoX9x&1Z!mdmX#CF0u9Udba4#PIKTJ8LB0bD9LxcwVgLX4oA>f*$ZR`&?J>9Fg)7ZV zp3f-e+aU6snftfX>!wq@dFgwKLfjZkERVjqqqHJr;nc>dPh(5>D=xA&6ju7nH&x)h x-9w?I?3130Pim$;7jsnQUdvPRDe$EF&lDjcmNyQWKx-K|JYD@<);T3K0RWhxW*-0m diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_cracking.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_cracking.png new file mode 100644 index 0000000000000000000000000000000000000000..ce67b6793bb83b4a6495e07b1e016d81ac3d1dff GIT binary patch literal 2010 zcmb_dU1%Id9KSxKnqne?wrDGEwx~_py`A0L+uL2Tsp(zPyOK*oa?q2$WNv2mZpq!w zy1U6;0>#=&(2DpV))z&e6d(KoKd2>2wZ&R}5x=4l!9evT67Zpvg5vCbd9CRO#e=<_ zo%zl0|NH;vH#1LfrzY6@ZuacBeIxt-Tl#64y}I4>qkbgPdnSA~ zys)cxYb3JqV>_1*^4U=X(Ml9zS|HI{#bxM7WMEItg=m@tT!9pA$K=;eeZq4#Hu;0` zEXcY^QnJ(Y9+{jU%c1#cq+@>1AU9Am7(s;ukgHY7j&IaVzRqi~cGxZQTpbcjoBU81 zkjrPsxg_-nr$&K*0Fb$a9+gx@QNeCb1~L#qT$E%%QVpOOQi5y#coxmWmNAhUX~tq- zCSM8y*AT^OwHmF)qSPyjlCJ9_kVRP*7((#poB-AY$KT#!ND&`-wj0>g;X+1OpfiEV zGo_6bDsG$B@tb901ruw~6{RQ$Q>p_oYUA7)uUrp~kx0si2g{ASoCSlV__Y2|yKOH75Z>jv1`Y)((IMG)u8<&2>T( zf~4gnhENRoN+`1oh5@`G7$d`?UIns*?FuXs(RGSE*Dj-xq-E-{z)W4Nvp#__K_O;#`hmLwoZVuGfJY_d)SV#VbI(A1cv zp%&W#&t@AEmOEKPRhTix3IM7SrsmRUw)e>Q(*KtWBx=*d33OzDZWVO4Y z3&m@R_u=gIrOOGWAVV1n3Lv_msY+acSi?dBK!U9Tku<5DdZ+ZdYeCFVbOY!ugWrnu zW?4`PIz_@xSdqW=WNyxv4VC{%=ISl@|0N@a2W!J&;??G>k98cvY$5Ai>|_s{?JI?S zv@a#%usV6{${AdlE3)hA(@bh8m;U^ZZ-4DR!`;y}^`ZCRi={2D_``Yl#>$Tmz5d1X zznt#+^T6O&lPgc1>svN^=hwP>_m@oYjWn`(=E9NJ*2Xsv-1*%1_l)*`cVgu7rSpIF z9CAMpr%u1ONVhINTR!)Wb#m~tiwnn2-nII`#ib3uamAgl{0_eKxFt_}`0~o(OSkoL zZ${2OUh3Dg$Fh@$HOzgm?SiX&Qi%#J9MdudO z?cX;9pry@Z+A%iOQZBbc_`&cTO`}#p_I+@IR zj%k(X4?j1upGglVC0>=N_$XhOo5^Tt+YgY9NjjBaX>p>KWoWXhBczydAc`Uc2#J_J z1OpHPp-70%QvkqbpZ(oh>)m2k;FJahGGC2B4U_2;T67}dZ+ZdYhg?iRSl{wgWrqv zW?66%*#$y(SdP8-WbV$F4VC{%=H?~%|0TnP8*9U1+|A~z|LfR<=|tAM=*}KC+eZrh zXdg<%rgie@k#lWv^&&m4PN!2t`O)>Cza8scW4gPh?Mo+4r!L?B!v*m0lb<}l?cllB zzx-ul>bJ2Yj~{{{%;@SgeW)T#A7>l;hzdH<|?W%2i=#o15a={xpT&j(*U z`0?_VGp`-YUVs18&gDl3a`VXp*B?k+{iFX!0$yC*=>Pg$TspJ+p^NyZmrkPI*vq@N f{`t+@e{Jb|VddCkA3iY|p1bMc@zlxv(@XyVtc8p; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_extract.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_extract.png index 2d3569b5666954f1053717013a24a2921298cc7d..36bf8d5ec6a8ec030ef6cbf9a2b341dcf11c4013 100644 GIT binary patch delta 354 zcmdnVzmtE%aV9onD-#PVgUM%^)M3nDOjRld#wn)BhL%aXX~w2Wx+WGT$-0)wDak-? zqG_^ma*B~rn(5{l%xO%n#HdtKC@yg=E3qoiNX@fVGBPkS)HN{IHM9sZfY@$0c{hvA zpfi@Lp+YZy=KVAtjNRSPS=wCMHR`X%;EQx|T*Jrn-r#mX^9^ zW+nz{Ddv{usfOm8XE3KRxe}vNNujvJwXDRdJR>#FR>{b~$WYh7T-VSd!~kNu;pE*c zHk0ew^6Q1fK8Z3gFs%1@Ze?sa`4^KKoUP7m%xFA0n%Pyw z+$=5GD9yx7*Cfp(QP;xK#8@{mB`HbQ$il)bB`w+1z#uJg^AYA`#`>a^G^?CUh2j#| zvJ$JrBC8%I#UU5lcUUI6Zi>*>cZh>BAW{MRt=EL-tXQTp+G%_$U z)HN{IHM9sZfVy4Rz{G0uYZePZs71*ciFxU%DYi=bla*NG>UT_(R|0yw(bL5-#N+te zsexP!iX1L`L)+&#pRW@YWWB8AdhtLF%eN2@<4Izf-kKY?R$gJ=CDfz9!0|v}K@x+` zfts7illXr$>~H)Tu-eZ^IWx#B;mV6vhTCCx9d<{1|C{pecNdFas4QQ~f|P{yuLAGL xEm&16x^J5J_BDO;Udb^}Yrb>p$TrTe?94lst!~rJ{|s~ugQu&X%Q~loCIJ2ckP!d? delta 232 zcmdnT`-6LeqzN+v1H;MpS}%bVe}GSjE08ufH}CH5{{R0!kZq!(QxBwAOM?7@fg=AI zesALoo~S6nD7Mk6mxxP#6YTu}d-m?w&i?-v&z@tiHg|a1kHtE_3ZIrY z`a1W-V%tBr3sb>VepJV_5=SOANW4~Y89El*f3W5vJWB%3AVu3r^FObx^PFv_`NPRP z%)1#4aCJebR;%%9B2K-cAZnT>KuM4!z!1P+Z~{~Vj^DH4AxnJh*=}G{hYLL-gU$tM zo-u8tP;n!-j^8X3E0|D2t{}!?m{J{R;t1!?dF6U=6APqFD#QtVh7}{MTcQE=OY|nL zqvh)Yu+rx9QH(9QR4P#jKNy^6X*3J6CE716xI~yBKArP08JuS{d%|p7J>wA+P_IB~ zd81L|8`MjQU`~W$amKH|?t>!kpehC5`AlwSp@0NPm&l z?zSovZbsfm^S7ohrDQ`w5&|+L8c-EE36QCpAO#UIErW=v7^S|MdR?_Jq05>MBh}sw z^=4Uc2{}c=PFR7z`(*A+mkpNxN#@2a`2Qs%ga>OwVZx2#tFLW3gjpl&Q|x39htZY7 zKB7yBIIK<{yK?UT^3PFrU9IJ^{e|IgE*^WVeVe!=>#uZu)Om6Bo{z6ox|iP{a(k{! z!b~St>_cTb}r|b#kd|W^z5YE7kVFi64%hxUjF#F+z%KGcP?7YhN08 zdFA};*Cx4j89WT0n;tp+Hovge6q4@IX7Azx%cTOlO2DB*KTfbEc@ZW(?|aSLA;1- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_hammer_base.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_hammer_base.png index c7dcfc7202c5c5a311421ca4ffd34ef08ff8e5ba..bba56dc384d4e6c33d720b530af0a7c330ea15bf 100644 GIT binary patch delta 392 zcmcc1^N4?fI2RiS8v_Hw;pzM4PE-_UVvpHq)x*SP5n^a;Wnf@sWHR{zlOi(rHnzu(U8rwMd-o$b3{op&%o_B)>Q#zrf1V z**TynKP@vS)mEuE$lXc7)79C`(9+CI*GSKBGb_sq#>vVoqLaU}C=zFUJ&QQ9vlg(} zOrFkaq>r%BB|o_|H#M)sF)ul_xFo-**iONwC?(CxDKQ<&%E`2w9Lj8EWTOuf2l5mk zEQktxMom7(>fq5HyF(cmayp(ajv*3LlYjjGZ_ms#d-m-A>g>w18I@MB?b^Nj;Ibyk kD+d&=^D#0f@?<44Y%4L}X6ak01=Ppj>FVdQ&MBb@087<->Hq)$ delta 152 zcmaFFf0t*1IF|?q8v_GFZ>KEpL`88X))O18dYC3xu?kJT!6XT$nVF>~+q0@oc4j`j zS)XM&)XZMJzkdPH7zR&QKbLh*2~7Zv C*D*i< diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_lathe.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_lathe.png index cb6052b9632ad990d2a0e65de0d46fffa2feb3af..a061f2506fe2a9620ecdd2e7ca235b976f4d590a 100644 GIT binary patch delta 530 zcmcc4{hDurBnKM<1H(VVTem0riZiio*qGMC#9?S;WngS&WIFj5lPZFv&TPzRJUN=# zRVCTL#LU3bAX(QUHO)X5$V=8uN-{9hHApc_F-kGFNJ+Cy+MF}dHnO9trn3tUD>0+x?kz1gbnVDi`X=GxUlw@S7Yn*Cs zu4`dxlB8>yY>}vIW|CrTo|K$oYGG;!(_fyE3N+Hlz{pV7z+BhRA_VAi6LTvgBV7X% ztI4lfEb5^aC1)h&rKhIYD(Nff+bP(P=Q3h^j^;8Ugwx>R`kci^5W`uMm006y*Z%i! z21ZDtr;B5V$MLt*PIDeG;BnqOwf#$6ocB?YrxUV63|yPot!!mZMCgvzhb@~TEJ9cOXqqE@%51BCd!o}P Z2A)&fes2>vRt&U^!PC{xWt~$(69921uYUjl delta 202 zcmaFOcb$8JqzN+v1H;MpS}%bVe}GSjE08ufH}CH5{{R0!kZq!(QxBwAOM?7@fg=AI zesALoo~S6!#45JYs)vcgz{twT(8|Dk@;N3|1m`!CF{9CBeP-9mWh`o&XE7%-PM*pZ z8GdtNN;S|hYfl%)5RHj@Cv6lw;J|a}K+6A_#tj+rQ&-iT_{Fto(|nJ~llfEB^;66_ rQqOM8VVNG0x@6&z%PLR(_@)1f>2tA)8n4+5G={;`)z4*}Q$iB}hG0eu diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_lathe_base.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_lathe_base.png new file mode 100644 index 0000000000000000000000000000000000000000..8fdf6f6e7382c771cb75b6ee2f1cd646dde8a629 GIT binary patch literal 1627 zcmcIlJ&)W(7A1|Q-*}h=W}cBSh|`J76bvIHnD9C z2wa~Q4PW4*zO!K%s#;W8*<`vvEhA6#aTA%Kbmc-`cCHQC_K7N*I~!wCbbHI=YPR%L3ZiBz2UrclSZAu7 z>PFX7{SH66<<6Tj98`)ox*BUe+azj#!-8yP+34=$tdM$M-)j}EH>e?RRAfTd7^XgE z{V}uKtT`TrC#5TB40RxR!!HNcGD}Y{1C8TwRMZVGgc=Pa6GT~ACPQUAPU1Tpa}n5B zaW}wyS0va^L?U}>z!~o^b;16j7RPP)+Wo7tm0AEt7oo79GC$?M#EuLUR?_WZE`1Lt zK6MmhoC#;;C9r*6WpHx%>^y6$N&=(XSN)`CQ|wCaW9hm!?#m>>G_}*7NEs8hG?5fx zs;itson$$mC{h*^6aAxRpl7;@wS<^E=jTU*!G5LFYz7PU!OlZ8+8%f;@H}i=tSx(x z0Rnfk8ghKPK1h$$ck9tCL(A$6xo8hXWQw*L6bM>PXKxAf~BBw_Avke literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_macerate.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_macerate.png index 5cd4b00d67256be16053c3afcc077beb04fbece8..f5322f444ef6a983f2fbfda0adac0bea07e9e4e9 100644 GIT binary patch delta 366 zcmX@gf0%#6aVBQc0n>#I>x%syrh#&sNFEz{pV7z+BhRBE$e@|85qW z$@Ogc_0sRUtr!>>c6z!vhIkx*JI$AmS&^f4=hWr1^Ojlj|CO3OE5J?QsH%Qq^T*T9 zf0P+Yj5HbxA9Q(XW+)bKS!}lP+ArQeYre=#TdR3MO?=JtYl<~S>@%Kvoj7s!#K+`6 zwf8Gxugf1{`gCkYo-N7(8A5T-G@yGywq54Ua?s delta 368 zcmX@if0Td2aVB;nD?Qc0n>#I>x%syrh#&sNFEz{pV7z+BhRBE$e@|85qW z$@Ogc^_f@r)fgBUc6+)whIkx*JI$N#r~-%U&8e%i)oYE#Yo%w;3ef79f6)7t?~DYS zom_Ps3}<<%{5>D<3f3R&*amKb~43lFv?AgNeaI)orm~|~v?o5%{ zf2{s^W9@A@0qzsr$-BNfC6( znX{Qn?wbi*niqIklIN<7cz(Kmz`KR7rp5ohHYxk(tJ#NQGY&k|@7!&myw*fi>-N)R b`y0X*^=FMXeKI@`^aq2dtDnm{r-UW|UT=#! diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_magnet.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_magnet.png index e4938e8eda4987ffd663d32c5164ee7fc49ade8b..7c961df9dea506c53df3461e05685aaa9b02a66c 100644 GIT binary patch delta 410 zcmbQtbBA|=BnKM<1H(VVTel|$N-#d&nAOX~Zfs>@Ze?IP`5%)SoUP4l%xFA0p4n9; z)iB8-(KsbhH`Or3Lf0VGBt_RU8AzC!C7BzTo0_MjCMIt_!JNz}QIwKqm6NGZT;f_* zVwIR&l9``pt5lp=Ho1dE&XpKrl%RUcGg5&%jSP$obq&mQ4J|?pU`~9^Vj~Dul$?>6 zm!6tptE4|!jWw>`jrUjs&}Z{KT^vI^j=!BA$aO%0$GLj7%%<<3qHazJZC<*`J1*USpRJC^ zViPaJGRfUn_mRa64`4wD#47ujbAD%Voj9*&d#;wdw3vpj#O{UHx3vIVCg! E0IHOg>i_@% delta 260 zcmcb^JDF#Kqy;kr1H;MpS}%c=P=HT}E08ufH$QglSa)~#|NsAiT!Gk@7eI=wB*-rq zC;}AQyno65iHZ`8VjHb`nb?i2j0~(yjV7OCQiHR9GZ`})P1a|2om|GEws{tFBID!} ztdaFvQs37CjVktZaSYLzcyy8@SAzo&^K9Qw|MjakEVwPE-}KC4gG#WOjfz``E$8*9 zJx!cK+nRT&zKm0u6q0*v3=zAD-ZO{%U?b`p|9w-lnd{d$J!(|8&MVyiq$f%Y?ay85}Sb4q9e0F$(1 AOaK4? diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_mass_fab.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_mass_fab.png new file mode 100644 index 0000000000000000000000000000000000000000..91bc953c8eca5e01a01fbc5f809c198f81211975 GIT binary patch literal 2038 zcmb_dZD<@t7`_Inw%8!}QK@OW?Da=NySF=gdwaV}HZi@6y^FmxO)oT2u$i5my<2m) zyY6msmxzT5T2qx`u>SB*t5Vze(dZ9cE;|s7VV}})&a_nem-kN4l&P!q z&RB-aI0>9LQ&TS9G1Z?%Q)5Wh>FzG7v#bz;BK9FwE*30LDXVmaS0U}7o297=#2-`X zo**DKoEe}Jwu>n-!ZC>Bcq%SOfG7wew~698o@2Qf3wQ>I3MVKaPSt)iiRS8tGMK!t z7K?nTbl&$Jg=I^nQlu1(*lvymvMjS4&+ku)r zgasW6D8?bZ&bG}p$%cf5X4XKJP8g#a2Ss22Mv5CEqs0Y6fe_D#644WtWL=LLf$b|! zQc|Wz)_AhEk#^umYOR7vRm`J66l@BWMu8hJQBdtRm#D{eMXt>+ic6|tJlpU~ z(8WDDQoC!qkiC+44^CWNIv*D_9`cY8I4m=gD8v}3OF9$hAl3~H0|_)zZfcmYi~q)tt==HtsEvNEKA>bGS}zJs>=T)bNLqh|B_*YgSF}~_Hy%8#+nXcvXGT7 za43eX#XI?$(oUPN)|jJ$q;xeDc(K zhT0>}zPM(=EX1Gv^qFnP{(N8_k9@xD==aN3wvM-&SqxL@x_nm2-rzV>GRT^CtjZ0Fg^0yciao~=@GV%g*wEb=Y}Cdo;u7Ad-hrYWhqmMJC{x)zp+Cc3F6rWR>NDJe!4 z$)-wBt>qc1K#fKQMuxfu=DLO!AqK`)CT3Qq29tlY*yuqOC1)h&rKhIYD(Nff+bP)K zwVMbZ;ItbWHpU>k1u^WNY{nW_uekZtd74xUL!`_A-?<6H8Ah8dE{J*->|$voTVGqEO3 zuhF^a8o+*KgVrRSOROv6C;VdINEC}=D&1%-VZ58?*}YjsWmS?_u2pEy)-&CWAcjBZ~un5NCrcUXP!Rm<9(DQ9XaIHQ-P`D*QQRHOI2Physdv*4;+lS#r8_a z;qb0`ml(d;y1G{!31-o_pgeEVvOmK9iia%y1KpomJlAB}^H_7ssWZ!Kjt6I)6Pn>T zvy%19&RkpGtMi-==EU;_E@7&DqIviCMaKUBtaD=YcYEr#|M~wa6_^$oJYD@<);T3K F0RT=M{(Jxc delta 362 zcmdli@PlW9qz5wt1H;MpS}%c=T!2rAE08ufH~;_te|LBHv17;n|7Z9Q6ao@pD)q>| z??4_`NswPKPz?kyY&xTJexjl{6RX%ps~#qH10yRV11posXPMOC>|abKj7F37ncXIr zv#4&K#hl1Ec`93Ez37v-XMpCN@N{tu(Kx?!;%TA73LLI`Z~XZ2UtX`^sKr%JvDAxc z=NOpOzdA2b=eV){1QTP*(n-c@F54Q^CaG;Y@v#0A|4XKC(>S-VKT9EqukDA&Nts?96CBN?Ok8j)%?CwlNVPNgk;-VtST+M($=@j wB1?FZlVf(V@6x0-6MLI0^lq(R{O{EZZYe#{MY)ek_JG37)78&qol`;+07Va>+W-In diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_packer.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_packer.png new file mode 100644 index 0000000000000000000000000000000000000000..eb6820b4f735ce513b2298f7b004d7ce0f8c6331 GIT binary patch literal 1992 zcmb_dUuYaf9KL9h)<~}ri<$_sZdIygcW3tY_IB5-ZF+Y$2f27AhmA$Wx!KvfHFrDf z?k0B$_+X2I555=z>XQKrMbsKlRO+8TMEc-M3xcBJgIM&T(g#Hl)H-|ryl5Ir@nCOf zXTJG<-|siy%sgM1KD29SbSM^!?aEDNX4rcVd-m-dWdDD{ufArl>%7TFf>}M&?{9br&y$cVk+S2O{KZqB@SJ0r{NZFC z0L0N#R0TctKxb}}{(R|A`W-<@7W3exj zuY{pzNK(CC7wZX;`eg~~x-J1(l4XG*gkZ@HQA2Qpy&Z-O39#>Yp+j9RVnijn5Slzw z+Df73b!pw8T_#pAsewERiXcj<3AAt*=PmfvW^fBjq)KYU4FiUSU94B3Aq^_@GSuDS zO#xVG^Z9O!Ew$8Y-4H>TU1Vvr3$i6TC@y(KnjryQ@G;3QGMRg$Y&;|F6BJUvNNKgR zP=$_UPKKh)?K|wa7Oe+&_e>xe6cUqXs|E$23bI;+z>pILYqPZjpasoS%dwYwp(z1s zMVK&>$|fB1i-kh8J<`I4P5l~TsX8@OCX(ltd9GVPBTcK+XCaxcL~nmCoi6y)cB*V3 zm^pNi%VpCl)Kw;1giWFOypeN*5V@G-GA7T;B07#`=*a}JRge&5TPK1|6f9_{1cef@ zh?Y_@kQKW#KSS|CwD{5d);_Q(W*mRZV??qJ6*e6vZNUPHEoc@-f(k|DIiO;gcLx;vP%SNu$y|X^rl}y!ccSr=pD;mjr4X| za0R(#!p>HSzxrgZ%$F^d|4L@l=KKFLk)rdoWiRQU&TEeKoV{!nn_cWckDA?^gne}H zBI2?l`Rt|{`{U)~?3Vfxf?z`z#sj7$HPC*-ZZxRp0ORHUw+Z}@TFIuH9uY+xzKN~3%f7$ Z{d9U|B=-8sozY#J%T8zBI{3uVzW`)zfRX?J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_recycler.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_recycler.png index 2677b3e4c9c23df7497a41e6333b17f2332110fd..388921a28846691054f6a23ac0ad467f944b02b8 100644 GIT binary patch delta 488 zcmdnRvyyLuBnKM<1H(VVTel|$N-#d&nAOX~Zfs>@W@ThB`5%)SoUP4l%xFA0p4n9; z#nR9`)ifnVH`T-*+|1C}#3IdX^9kl;Mv0=7G^?CUh2j#| zvJ$Jr6k8?z$!e@|^=#s$RY0G;@pN$v@i_i=+C|>O3Op{xF5xeDU72H8(zMUO02;?((Y(-pL6GB<3obJlL>ggMG^d zp$(4ec5j)}4Pv|#uDL!uBzU7{wUhP!`wnk%SgkAs1f3hI4@+*bRj=P)q+@mTo8|<^ z^i@mr9=8}URO$B0F+GU(L7f6V8Z<=3a5$>KhdU@P)aWJiEaloaenIrZ=nVQ4(HR$zwh6~>gcij@i9Yg+4+jRvY!`xWINe9 z;fCvEZYg0ytp_pjZmdRc6{SnksuX0k1k1g0ChYO%jw~pR`#EKu)bx_CXJ#9{$usep z_iv46pzo?Z(wG0%&98STRlIWHN>h|m`k$sVGB^C)&6mq*g-*Ynzroz+#;P+F4|g~% qJ5WZ2v6Ylidl|1otg;L~5pU_2e@Oa@O^KbLh*2~7YIdv&h> diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_replicator.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_replicator.png new file mode 100644 index 0000000000000000000000000000000000000000..124f6958fbc440f83efb693960030302dd3e0c7e GIT binary patch literal 2003 zcmb_dTZkJ~7>*AX4R#;2SXLjL&MI!PXXc#AWNtLA+hpygHQRI>X(~lLIddi%H*;}j zHpwnNNFRiKk=h$rd{F6&c&m%3xL6ewT@?Bt-ut9$DXXX`7DQV-lVoFBw-<_m$(%X! z&HsP@_kZV{+2Z)t)ydnEi9}*`ek?b^?rYdJe8VdCe;$4FExX<5kL?K)iGdH|>$=1D z4BVbbtU6(r%2By+zd<}lz@}HBLd)?PI+578x#eRrNh7X8tG1irf0=)m=WH{>?@kwB z!Ozl~JvI~2T{Gh)GBZhZli$3F+t@N#0Eb4HYdLi{G+G(H9oJyvcv|GSHYA$N@FQ_T zu3RW`SudcRB0xYOlsHuvkRr;8C_Eif%(B6nXm7kkR^ zwJ7opQEWDwLNg_JK~+S$u8U9-B?&MD2&df$w}2ZCEl0@FkOa0L*`CYA5pl(viZVQ7 z+9|>Ddtu$MD-#n;Y++wS0*p&)15MJy`BOo?o!lfMty71(QOK~UhxKb-+|>R!MSGj^%|`Fu883_Q!O zvlrpS)-7CqG^-$8VdMqWrduc&c{hx(OK3iq;h8vsZJR~~nH8e4I*D#+z*J-mDi(%7 z#V~~wC{dNNMD30lIgd=m7Kp#^tOnB~EXKd|R7F$M8qopNFb1kBr-6>NG>|J2ffmsb z)~w}dI|7?6NL=ra8nZH4#8d@h1z8Aas-=L6Difd+A^{ejSSd|6&9oKUzQb$G4q1<< zy9;R-eY88O+g#f`1}5>M$nYd~12y^Xw7r5JSCzT@eX~Yc(95`_lRfmTsEGqQQf1m* z(S_or$cMObdFqnNWX2K(GNd}t6ed14H4~^1Q`4$Yq@iBv{nXp8g(*YU4ahpzG5EDm z@5(}I*sW5w!;1X17jt#K?6CY#F&8hv|F0M^-dH;h6E8Mj`(58A%o^FAVmo_0>>VlW zp?4@zm+2I+BWLZea(wR1=W`>av5$TzjU*q3H~skP*^e`CKa@Lt=D_R2+M32--Z{`X z{qxzy*S<`?@x|VC@YMB7@BH;ASV+1r2~Q0^nGbe8^3}RS$I5ftzTUI;%-zND=;Vg{ zLh1OYkDYw5^1$z(JZBz!^QULfc4cn{?R5S)aqhkI$Df^@l}^39r0>{1w{Kn;D&{P0 z*uHb e-1i@DN(}B-zB_dE{afN=H$OU_du7YR`~Cs_oR7Hx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_sift.png b/src/main/resources/assets/gregtech/textures/gui/progress_bar/progress_bar_sift.png index a6eaf359c8539fe6a532fab4864cea2b09cfdb9b..2f49f6fb4fc4179d218d2c234a94a23283289c62 100644 GIT binary patch delta 626 zcmcc2(IJ!8L2>>Mg~TPx(4RDh87_P##SbiU$NNgK@}utB<7{3rr0X!E9u)Q*x<9+ zl^FNqv=|;ZuUTvaF)W{~#u`^&rnO0becye(v~$m)gn}pav*WI?$jzAKdU0<;rZkJ} zoRini@-*(vS!@5thxZ%D;;jbKEF7GYGv0naUH|5=gzckKF_N0u(KEH(b(L>ysb8@+ zK~SJ`7Tbnj&ecgLFNHR@%=!4cCQ|2irRSUzO~1a^CS|#|i-fh?d1~{s%oEzF`k~2p zx}uU_JPS|Hrlm(X-Uzy7uXE1!-Qy-A)E2ArT3`CD+I_za>9en9tb4kWeUhEw`kl9f zeXkm=X8ZlkGrae1{~PBopHn|hpJ!{A`aWLbK;9ww!ZWuv>pIt60fqyEr>mdKI;Vst E0M(4=7ytkO delta 327 zcmZn^xXd#_(t??Rf#KwPt(QPbD8MJg6-b+#n|F72|NsC0*s)_kZn%tw4Ul3h3GxdD z3jY7kuzCNI{Sy_%nOMa(TJ z#>tb|BJ0(3ZdL?0{>}k)<5ly>(WkJ$f!D(d+Hwd3kSt-Rk>5Oui(7TjJI(=^^EGfL5#BgU@`P*Ad z*o3o|tXOHgbV8%*X1ixbPlW2`+Pp6_nVNmV>+OzrKR=5Egl%Tlx+ZmU1NT*%qdx0q zF-5Da9V~LLrY0t-W@g5zx+$r~M!FV8CMLRxDW<8qmd42z=4Pp> zCI*&IJ!8L2>>Mg~TPx(4RDh87_P##Sa~R))rtU$fZgK@}xuB<7{3rr0X!E9u)Q z*x*kB{J0{Kib^GWF#(53jCS74ysk~z@c>D0gLJL0q(g?Pa zl!ml~`}vQf1Q}K_GEG?hxIpIK>kUa7d;7n!FSFmPv6)Z49%vhbr>mdKI;Vst016YC AWdHyG delta 204 zcmaFEcbj{Hqy;kr1H;MpS}%c=P=HT}E08ufH}CH5{{R1fXlN*q`*m-8G>~E|3GxdD z3jY7kuzCNI{Sy_%nOMa(TJNRD%^RM1T==h)78&qol`;+06~pE8vp*zZLm+s_8i zhF2cn{y-!W{nD(=`m?2{RAM(`ShqDAYc(8(jzq?Gw;W97sLyG%YFcUj(&?{w&eYTV zzC;O@oE)v0g+-U{U7W6v#W|wr{O%{Yv6jjlG^mfcR-P*PEn>;8Ba&D9NcCO^@Q z#lF&f&G#Ku5Sq}O*kA0fvS=SJNG7#kof~pu-*_ibX!Va`#>!#5j zgeCz>RZv__um($4L78N9?Bkn)b)p)!+rTVgvw^EraI7lN^~HmdaK4z! zm0jB~>ukZBnapy<@tlklnURm7kZ!4@7A?=m7NNy_nrFp{nWoNoCMiam1`p;Z zQiQ~TgyN}0O2QP%xM!cY$$TJzz`nB^bek|A|I$N*V1*(b7%3S7QIe8CBSZ#N)QGGr zNQx_@=k00NWE&FK2fYTYbmlRxK`bK!fmG6vftF;f6hcHGr;@~orxaaJ7=i3VC8-6| zV?AznH_~4EYS9vTL@Z(;L8^e1EF}QeQ#wdOOm#z}D24i|4^j_R3*)M!s8H#t z_I9Xu%R*|{s#12s3jFOSb8EWnu>4Ol*KWc8FBu^?SUU<6t`%RnHgE{DMut=DWDkb@ zD}{aZFC}WRI=Sr1sg0aC$gZo?#eAkxIQQ$y_nXhcP0>TA&QI-s>j0O#GI<;*d%l}E zygZc6{57@pxk%ag;mVPZ67L+{@%hFVQRVX5+pqq8GIK}b@`su8@q9UZhMPRVJ$!Vf zdEC12`||2*r?!jnb}n(*)TQD$k;SZ*C5f-ST{ArBw05xG08~RG|4h8)zr+)A}Pga z^BLx3#>qu2qRhpKWs`eY8txQauYkWGRZHci%IjjNYxYnu!VziFN>jv*e$-(I`Tc|d`O^+L{5 zFTX_gf)`UnT9TyCJpT8xwdR=$m#&bp@TLss4O0#UwR9!yEtj!!kod*MKC3CcpzZDs zwyYmT6Ij3S7&S)4Nb5xW6TS&UiKdxMsY1g=?*9BQ8OAJY$?y?4Xhm+807%Ixx~KqoSIy85}S Ib4q9e06vAK_y7O^ delta 256 zcmZ3$-^VjS(uSFVf#KwPt(QPbG{7gs6-b+#n|F72|NsBLzOF7KBLgUMEA+7dkYX%HslnO5m`oUrChIf1PA+3n+dPXo zk#X`=w#a&s<2pV-!?HYG978nD@4ev2b-;jw<-m-!fB#SJ&Qy{59-wh#_Tr9Pc|vck zyA0kO+OR6|zB`Y}w668lnTZ;@M>=l2%$zYZMd`%672>f!zV1rq2w-sy(1~wiKlGkbO)x=jb)$MQo642Sn@|Xu`D}yJytDnm{r-UW|i!5ZC From ce5239c26e1a9c7f2b73c4c8127e1b07f583d2c8 Mon Sep 17 00:00:00 2001 From: Tech22 Date: Sun, 18 Jul 2021 17:14:41 -0400 Subject: [PATCH 3/4] start work on logos --- .../java/gregtech/api/gui/GuiTextures.java | 26 ++++++++++-------- src/main/java/gregtech/api/gui/ModularUI.java | 15 ++++++++++ .../java/gregtech/api/recipes/RecipeMaps.java | 7 +++-- .../textures/gui/icon/gregtech_logo.png | Bin 0 -> 1691 bytes .../gui/overlay/centrifuge_overlay.png | Bin 0 -> 1691 bytes 5 files changed, 34 insertions(+), 14 deletions(-) create mode 100644 src/main/resources/assets/gregtech/textures/gui/icon/gregtech_logo.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/overlay/centrifuge_overlay.png diff --git a/src/main/java/gregtech/api/gui/GuiTextures.java b/src/main/java/gregtech/api/gui/GuiTextures.java index 36c9c34717a..2ac70803f55 100644 --- a/src/main/java/gregtech/api/gui/GuiTextures.java +++ b/src/main/java/gregtech/api/gui/GuiTextures.java @@ -6,6 +6,9 @@ public class GuiTextures { + //GREGTECH + public static final TextureArea GREGTECH_LOGO = TextureArea.fullImage("textures/gui/icon/gregtech_logo.png"); + //BASE TEXTURES public static final TextureArea BACKGROUND = AdoptableTextureArea.fullImage("textures/gui/base/background.png", 176, 166, 3, 3); public static final TextureArea BORDERED_BACKGROUND = AdoptableTextureArea.fullImage("textures/gui/base/bordered_background.png", 195, 136, 4, 4); @@ -75,6 +78,7 @@ public class GuiTextures { public static final TextureArea CANNER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/canner_overlay.png"); public static final TextureArea CHARGER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/charger_slot_overlay.png"); public static final TextureArea CANISTER_OVERLAY = TextureArea.fullImage("textures/gui/overlay/canister_overlay.png"); + public static final TextureArea CENTRIFUGE_OVERLAY = TextureArea.fullImage("textures/gui/overlay/centrifuge_overlay.png"); public static final TextureArea CIRCUIT_OVERLAY = TextureArea.fullImage("textures/gui/overlay/circuit_overlay.png"); public static final TextureArea COMPRESSOR_OVERLAY = TextureArea.fullImage("textures/gui/overlay/compressor_overlay.png"); public static final TextureArea CRACKING_OVERLAY_1 = TextureArea.fullImage("textures/gui/overlay/cracking_overlay_1.png"); @@ -123,39 +127,39 @@ public class GuiTextures { public static final TextureArea WIREMILL_OVERLAY = TextureArea.fullImage("textures/gui/overlay/wiremill_overlay.png"); //PROGRESS BARS - public static final TextureArea PROGRESS_BAR_UNLOCK = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_unlock.png"); + public static final TextureArea PROGRESS_BAR_ARC_FURNACE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_arc_furnace.png"); public static final TextureArea PROGRESS_BAR_ARROW = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_arrow.png"); public static final TextureArea PROGRESS_BAR_ARROW_MULTIPLE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_arrow_multiple.png"); public static final TextureArea PROGRESS_BAR_BATH = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_bath.png"); public static final TextureArea PROGRESS_BAR_BENDING = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_bending.png"); public static final TextureArea PROGRESS_BAR_CANNER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_canner.png"); public static final TextureArea PROGRESS_BAR_CIRCUIT = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_circuit.png"); + public static final TextureArea PROGRESS_BAR_CIRCUIT_ASSEMBLER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_circuit_assembler.png"); public static final TextureArea PROGRESS_BAR_COMPRESS = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_compress.png"); + public static final TextureArea PROGRESS_BAR_CRACKING = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_cracking.png"); + public static final TextureArea PROGRESS_BAR_CRYSTALLIZATION = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_crystallization.png"); public static final TextureArea PROGRESS_BAR_EXTRACT = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_extract.png"); public static final TextureArea PROGRESS_BAR_EXTRUDER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_extruder.png"); + public static final TextureArea PROGRESS_BAR_FUSION = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_fusion.png"); public static final TextureArea PROGRESS_BAR_HAMMER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_hammer.png"); public static final TextureArea PROGRESS_BAR_HAMMER_BASE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_hammer_base.png"); public static final TextureArea PROGRESS_BAR_LATHE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_lathe.png"); public static final TextureArea PROGRESS_BAR_LATHE_BASE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_lathe_base.png"); public static final TextureArea PROGRESS_BAR_MACERATE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_macerate.png"); public static final TextureArea PROGRESS_BAR_MAGNET = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_magnet.png"); + public static final TextureArea PROGRESS_BAR_MASS_FAB = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_mass_fab.png"); public static final TextureArea PROGRESS_BAR_MIXER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_mixer.png"); + public static final TextureArea PROGRESS_BAR_PACKER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_packer.png"); public static final TextureArea PROGRESS_BAR_RECYCLER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_recycler.png"); + public static final TextureArea PROGRESS_BAR_REPLICATOR = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_replicator.png"); public static final TextureArea PROGRESS_BAR_SIFT = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_sift.png"); public static final TextureArea PROGRESS_BAR_SLICE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_slice.png"); - public static final TextureArea PROGRESS_BAR_WIREMILL = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_wiremill.png"); - public static final TextureArea PROGRESS_BAR_CIRCUIT_ASSEMBLER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_circuit_assembler.png"); - public static final TextureArea PROGRESS_BAR_CRYSTALLIZATION = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_crystallization.png"); + public static final TextureArea PROGRESS_BAR_UNLOCK = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_unlock.png"); public static final TextureArea PROGRESS_BAR_UNPACKER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_unpacker.png"); - public static final TextureArea PROGRESS_BAR_PACKER = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_packer.png"); - public static final TextureArea PROGRESS_BAR_CRACKING = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_cracking.png"); - public static final TextureArea PROGRESS_BAR_FUSION = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_fusion.png"); - public static final TextureArea PROGRESS_BAR_ARC_FURNACE = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_arc_furnace.png"); - public static final TextureArea PROGRESS_BAR_MASS_FAB = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_mass_fab.png"); - public static final TextureArea PROGRESS_BAR_REPLICATOR = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_replicator.png"); + public static final TextureArea PROGRESS_BAR_WIREMILL = TextureArea.fullImage("textures/gui/progress_bar/progress_bar_wiremill.png"); //JEI - public static final TextureArea MULTIBLOCK_CATEGORY = TextureArea.fullImage("textures/gui/icon/coke_oven.png"); public static final TextureArea INFO_ICON = TextureArea.fullImage("textures/gui/widget/information.png"); + public static final TextureArea MULTIBLOCK_CATEGORY = TextureArea.fullImage("textures/gui/icon/coke_oven.png"); } diff --git a/src/main/java/gregtech/api/gui/ModularUI.java b/src/main/java/gregtech/api/gui/ModularUI.java index 4d29a124bc8..08cc497ba63 100644 --- a/src/main/java/gregtech/api/gui/ModularUI.java +++ b/src/main/java/gregtech/api/gui/ModularUI.java @@ -93,6 +93,10 @@ public static Builder defaultBuilder() { return new Builder(GuiTextures.BACKGROUND, 176, 166); } + public static Builder defaultBuilder(TextureArea logo) { + return new Builder(GuiTextures.BACKGROUND, 176, 166, logo); + } + public static Builder borderedBuilder() { return new Builder(GuiTextures.BORDERED_BACKGROUND, 195, 136); } @@ -134,14 +138,20 @@ public static class Builder { private ImmutableList.Builder openListeners = ImmutableList.builder(); private ImmutableList.Builder closeListeners = ImmutableList.builder(); private TextureArea background; + private TextureArea logo; private int width, height; private int nextFreeWidgetId = 0; public Builder(TextureArea background, int width, int height) { + this(background, width, height, GuiTextures.GREGTECH_LOGO); + } + + public Builder(TextureArea background, int width, int height, TextureArea logo) { Preconditions.checkNotNull(background); this.background = background; this.width = width; this.height = height; + this.logo = logo; } public Builder widget(Widget widget) { @@ -218,6 +228,11 @@ public Builder bindCloseListener(Runnable onContainerClose) { return this; } + public Builder logo(int x, int y) { + this.image(x, y, 16, 16, this.logo); + return this; + } + public ModularUI build(IUIHolder holder, EntityPlayer player) { return new ModularUI(widgets.build(), openListeners.build(), closeListeners.build(), background, width, height, holder, player); } diff --git a/src/main/java/gregtech/api/recipes/RecipeMaps.java b/src/main/java/gregtech/api/recipes/RecipeMaps.java index ef8d7ab9817..d8dbe8efea9 100644 --- a/src/main/java/gregtech/api/recipes/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipes/RecipeMaps.java @@ -369,9 +369,10 @@ public class RecipeMaps { */ @ZenProperty - public static final RecipeMap CENTRIFUGE_RECIPES = new RecipeMap<>("centrifuge", 0, 1, 0, 6, 0, 1, 0, 6, new SimpleRecipeBuilder().EUt(5)) - .setSlotOverlay(false, false, true, GuiTextures.EXTRACTOR_OVERLAY) - .setSlotOverlay(false, true, true, GuiTextures.DARK_CANISTER_OVERLAY) + public static final RecipeMap CENTRIFUGE_RECIPES = new RecipeMap<>("centrifuge", 0, 2, 0, 6, 0, 1, 0, 6, new SimpleRecipeBuilder().EUt(5)) + .setSlotOverlay(false, false, false, GuiTextures.EXTRACTOR_OVERLAY) + .setSlotOverlay(false, false, true, GuiTextures.CANISTER_OVERLAY) + .setSlotOverlay(false, true, true, GuiTextures.CENTRIFUGE_OVERLAY) .setProgressBar(GuiTextures.PROGRESS_BAR_EXTRACT, MoveType.HORIZONTAL); /** diff --git a/src/main/resources/assets/gregtech/textures/gui/icon/gregtech_logo.png b/src/main/resources/assets/gregtech/textures/gui/icon/gregtech_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..899c472d3aaf8f77c0b7d0e0206c4de8089036e9 GIT binary patch literal 1691 zcmcIlO>Epm6gEUev`Q=BR22||djY}NW3PACYt=-_Zkk;Qr`yedQft`1DzV$=#Ek9zQwY zb)m1nfo@JbAc$qb&?Fuuxi|6kDX$0Pa@y3<6jB`c`bKFG?FSvyP?<#3Aea+kqgvgt zsN+!bIED~8Gjrd6-k zO=6q2jRAr4CS^ z!W_)%4#&)?*0FS4+9yIVD%gVUb{4_OVWYFGr78i8VYSa4>QKxooMEVT2fM6V!xctc z8ip<Xg@}2o;6rpK#dW@Hc!q<6O4N~ay>F5z*zL-NZ+VM~V z={Z$0gXJnL#w?Q?14zk#R-ySg@i{v>U;4!=cdI`=)K=fU*7onMefyi!|9bQG%KeXbA85s;)hDmL^&(zF_~knz?bi3` gg%7{@q`RW+{n$M?`T5Rgf*p7&Zh@X=(Wos-S>mITsL&zt;Ayt(qv=O`AnHtkM+;H^wvLT{mlw@i^H{ zj!_SALA`M534tmhRU8oF0urcz#HqI)`2!q+=!sLy>s_x~p*G}#CEMefXP)I*r{MYitxq@M^>nuOfsmv#zm)f5pS^kJ6-j#XueiTe zYz6OngeNMdJY?!5$p9@$=a(iKCflr#LpF$0U-|R<9~C*KzOrctdXTl*Fkaiw*`@vU zKH1+UE>)J^md{T-AV^q&HkA!|!Nrh2!jF2n_9pY%Il~3d`<##FiR#T+WYbVh`Sr~>rF<;jC>2#3 zSO*u(S0HN!(woR=^&x9^)3Y1|xzqI-G=MswxWLB)a~el`$AJcc*G)x%Q^L9(Ujb2S z98=G+T#OscKu*}es7WmowcHj))Fv)#h1d%1XsQeLcR1N8!&mN~l`Z82IO+&_y6G5} zZAVBaQG^_3xyU6}3pE>&>$tcP8niKIdoPdSpQ-&nna&C0^j&qop6OLjFhTRanUorvnBZR#Qr6w6Yh? zlA`@PU(>Y*`qmr{&9EHST^K&W4!`&nI()C&S?;% Date: Sun, 18 Jul 2021 17:37:05 -0400 Subject: [PATCH 4/4] fix bender progress bar --- src/main/java/gregtech/api/recipes/RecipeMaps.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gregtech/api/recipes/RecipeMaps.java b/src/main/java/gregtech/api/recipes/RecipeMaps.java index d8dbe8efea9..e427156ef60 100644 --- a/src/main/java/gregtech/api/recipes/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipes/RecipeMaps.java @@ -584,7 +584,7 @@ public class RecipeMaps { @ZenProperty public static final RecipeMap BENDER_RECIPES = new RecipeMap<>("metal_bender", 2, 2, 1, 1, 0, 0, 0, 0, new IntCircuitRecipeBuilder()) .setSlotOverlay(false, false, false, GuiTextures.BENDER_OVERLAY) - .setProgressBar(GuiTextures.PROGRESS_BAR_COMPRESS, MoveType.HORIZONTAL); + .setProgressBar(GuiTextures.PROGRESS_BAR_BENDING, MoveType.HORIZONTAL); @ZenProperty