From 49ac34ddba9cf40a3a309feefee19fbcaec81378 Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 2 Dec 2022 14:49:58 +0100 Subject: [PATCH] more heatex work --- .../hbm/inventory/gui/GUIHeaterHeatex.java | 67 +++++++++++++++++- .../machine/TileEntityHeaterHeatex.java | 7 ++ .../hbm/textures/gui/machine/gui_heatex.png | Bin 2030 -> 2071 bytes 3 files changed, 72 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java b/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java index b9cc257d1..a8b6ad852 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java +++ b/src/main/java/com/hbm/inventory/gui/GUIHeaterHeatex.java @@ -1,9 +1,15 @@ package com.hbm.inventory.gui; +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; + import com.hbm.inventory.container.ContainerHeaterHeatex; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityHeaterHeatex; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; @@ -11,17 +17,74 @@ public class GUIHeaterHeatex extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_heatex.png"); private TileEntityHeaterHeatex heater; + private GuiTextField fieldCycles; + private GuiTextField fieldDelay; public GUIHeaterHeatex(InventoryPlayer invPlayer, TileEntityHeaterHeatex tedf) { super(new ContainerHeaterHeatex(invPlayer, tedf)); heater = tedf; this.xSize = 176; - this.ySize = 203; + this.ySize = 204; + } + + public void initGui() { + + super.initGui(); + + Keyboard.enableRepeatEvents(true); + this.fieldCycles = new GuiTextField(this.fontRendererObj, guiLeft + 74, guiTop + 21, 28, 10); + initText(this.fieldCycles); + this.fieldCycles.setText(String.valueOf(heater.amountToCool)); + + this.fieldDelay = new GuiTextField(this.fontRendererObj, guiLeft + 74, guiTop + 39, 28, 10); + initText(this.fieldDelay); + this.fieldDelay.setText(String.valueOf(heater.tickDelay)); + } + + protected void initText(GuiTextField field) { + field.setTextColor(0x00ff00); + field.setDisabledTextColour(0x00ff00); + field.setEnableBackgroundDrawing(false); + field.setMaxStringLength(4); } @Override - protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + heater.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 44, guiTop + 36, 16, 52); + heater.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 36, 16, 52); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = I18n.format(this.heater.getInventoryName()); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + heater.tanks[0].renderTank(guiLeft + 44, guiTop + 88, this.zLevel, 16, 52); + heater.tanks[1].renderTank(guiLeft + 116, guiTop + 88, this.zLevel, 16, 52); + } + + @Override + protected void keyTyped(char c, int i) { + + if(this.fieldCycles.textboxKeyTyped(c, i)) return; + if(this.fieldDelay.textboxKeyTyped(c, i)) return; + super.keyTyped(c, i); + } + + @Override + public void onGuiClosed() { + Keyboard.enableRepeatEvents(false); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java index c336bd7e1..ac6b4327a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java @@ -59,6 +59,13 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe } } + @Override + public void networkUnpack(NBTTagCompound nbt) { + tanks[0].readFromNBT(nbt, "0"); + tanks[1].readFromNBT(nbt, "1"); + this.heatEnergy = nbt.getInteger("heat"); + } + protected void setupTanks() { if(tanks[0].getTankType().hasTrait(FT_Coolable.class)) { diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_heatex.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_heatex.png index 0070970ec4d015ec6bda69738eb93e83ce82e75b..d56f4d02493979c7462aecaa54ebd4307491a26f 100644 GIT binary patch literal 2071 zcmb7Fdr(tX8b7%N2vLYGC?X5UIK>eVK`N|3LKd_XjG@vHQ3T?aH5GX%1yY6tE>@D2 zLa`GO5ilqvAWC2@FL@=@RV3kAii9^c(t;A6O9&(;dm+=#IOFbY&mZ@Dob&y@$NA28 zuYE%HGsf=50sxHtKRy}+019DI0AqlVv+?EU5rY20$De{h784Ws4*(3i{g3{Y@@1iX z%scMS?N$bpN7`W9JsH@Y_7uMJk1mbRg6_IeWxI+4o@5h<=xvzM?-<9-o%+#E9Y18G zQ}#;>cL&VfFmnu^*89u0pfIcqy>xW$?MTa5(Q2}N--mQgNdY6()x%_8sm=18JI5Jz zEC$@QvY6+VmaO>g)w!`Z zOBY; zX!<+A;RjA&yfsBQFoYu}&vjN{;rjXUdJSX~rC%*y9eTRUC42xa zdYMrPh0I^f0HqW&5M~jj4`Rwaz;MVE`wS|2sYQOq>SR@vUUB80>e*PD%UTAIR2ai` zTWcZM4Fm6pDhHEpI@hMa*u=y{OgD^J88e>F0-s+>PM-0*e1Etcnk?hdvw6aXsh(3O z$~Xh9M$eSh_fP5*_m_HU29ssKYF7t^XI0An`BtG~k*85GJy4QLl3!kJuy#Rf6^$jf&gBO$@t{dO&{<(Sj)$K9onTMXD;aoxfVh4oG!bUg_p$KA30&1Zzv-VY;d4kw_P+5Jg zPhV8$KotkjnbLnvL$ps74P9A*8!3ukbSfhs5Wvpa%LNuZk_(DfdJ#bmwgLbBNbl2t z)&8FEi$-pdagwi8jL_+>SY5J$)rS6=pUDy0seaBB@@5XKod2R5JVMZXLx!B3QXeZ8 z1$X=SwpqBh_Yt3p$L%q<7bHAO>}GL`CAqQB9n_6FtVBga+(gU7+MYSSzYxQ=HN4^q zZ`7|X`oMQwqc0f9`Hv4Gask)TKLy-t+ODk#)H?HM#8nDCT8JgLl@9$Wj zI7JQ&JU%mj`037dwdD4yGP?2Hk{&W>H`c#jy|#33cH#VUfn9Rb(IB3{E6`>=i9EFb z7^dbW*=5Zle<+%onOVDo`^XF&jA)&$a<67{x!j;k8$#5RS`{FrK7Z-64T)sWEdbLX zaAh;B_X>wKu_E(>;j?PEq@*N1DT!|-j~?rmwdXKmIR%yKsbW7rKTrImQrS>gRCK}5 zGqhe-MrrzN%X=s2JLB{n;o%}-(*cv&yzE<3V#U4?6p-KZ>vE8|U1&X;O&qrH@szkj zMTLbobTfOZe$Y8Ie(&`pgNbh}(;H=5|5p<4OV2XB##Na#jTmpxQOr+P?$8DLg1ljS zxo7wPQJ8lyA8-HI^Q$<{+=t^BwC}5riWO4mw;#tvFLZ)KbrQR`d#O@X(_SeWwqSai zl>PA%b?QtL5QwaALeocnuW^?6p1RD6cO%G-+Yw19=-TRZ^)v-={c@~VhPO+v>WPvZ pag)t?;i6wisk#RGL*H_#7M1sRuH5wD?!FB}|6}B%0w3Cy{{YDEeB}TD literal 2030 zcmbVNeKeG58^511nPGhlt;HbIcGw)=OeuC1GcU5u_{ck9$=B@GQW~Vp)XK-myV$m} z*-a+d1#s>73pBkLSM6_3``N*Zo}Q zcYPP&|GB;{Ru=%EPuk-}0RV!J5I}3gTllexXm~>&_aFtL;gy0um;(T+jO6vtz>`JO zBaR7{pPQk?cQ;c^Dsem<&Kmb<@`5d{UY}$iK@G|?6zsXk$$Ry&>4z5szm36QDl2f$ zJn~p&>$0FlP;>pdeZ{~nM^VI5{J_rJGjd#*zsMptAx++KLK6Bg!HwwGzQdv!(%baf zkg@!9kz44qtzqv>dVU_Jp!A6O5p&i0`M$9ecA<~`C_RCM^?)1M)){hnt6P*+Ig7G? z%O$%|9ba;f2~Q`}dJ?|}06GR>3ILOb1V~$e!$TlL2cUfck%|C__5XD-Qm3@fj!C1^ zEShywc}{?W`?`Q(w8l*XQ`6IBJ5NQOAJH=lGJyn^ z%IB)(g}J%8gQ7D#z0?@bteP4?QeU{rc zx2+R4q!+Z3kh}(`2-YAJq9eFD353Iv{ZP@*N7VS#AQZ3G>B*xnKy;ci&Y=@o4wTWz)-PtLk)FPuAc?dR7-Rii~dyW_f^T41&M)WDwytFWkV(Uameu~VJ&;*8VpU%ed4Fq#Nuz$`v{6kSAbn;98nm?*&2c9rg&wxa}bKTng!pD z*EOICt^jYS?L&fvf1khA(NB0590+JT59}_KDGcwLn1D-P{|(4Va7ZX&^bzU{y@1}< zKDX3{p}XxVt;O-9O&6~1Xs%m*2E1a!3HQ-anVOI?OG=(s`rRA|zqy% zXbM+GH{6*KMak?`FmYt7>PA5TUfw4i66!w~yJ4NCqBfjbdbv!^J&_z1FxjfEmn%^e zPRcrgut?@_xDt0-tl(U$4^6cQM%2S-?Lx^_7s(|orUy*GKc>E$b|+!v)51lrGXJDa zjaipUQ8;DJ3(!)xWJKJj&OFs)ItOt9Ho`u`(m7^+Ts|)84P9+0v*WqVpUwKH;+Sit z9_XR%Xz>uNHA`X;mrih-@UfhYYcXXy|A=N*706<-vusT}_<}C!l58wZ&h*C9 zUm?T`H5NA_uhx-HjK>OV&xMsK%tK~(Nb zv2sD^cbLCd)!zwfk@3i`)qpQ+F+!7{d6%Tnp#MyTYB@$w!&@yNnEEQw{wLR82NOSa zvkZI3z<4M0+c9$oQ3c;HOA<`wNP@+0IXJxz>P|^A`LHv)d!VYHEcL*5>rxr7Uyl6C v0&!^!;B&hT!gG6d8+T<|ul3Mh`r1wr&eqY598wQ0YVt_C{k>{EsHgt`v~5*A