From 55edced9de50f92dd4e73ec90d4c2ddbb5e1efd6 Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Mon, 20 Jan 2025 20:21:22 +0000 Subject: [PATCH] Move GUI sprites to the sprites/ folder This is where vanilla will read the sprites from in future versions, so means we have a consistent layout between versions. Also move the turtle "selected slot" texture to a sprite sheet. It would be good to do more of these in the future (e.g. printer progress, maybe bits of printouts). Sorry to resource pack artists for causing trouble again. --- .../computercraft/client/gui/GuiSprites.java | 7 +++++-- .../client/gui/TurtleScreen.java | 6 +++--- .../computercraft/data/DataProviders.java | 1 + .../assets/computercraft/atlases/gui.json | 14 ++++++++------ .../gui/{ => sprites}/buttons/terminate.png | Bin .../{ => sprites}/buttons/terminate_hover.png | Bin .../gui/{ => sprites}/buttons/turned_off.png | Bin .../buttons/turned_off_hover.png | Bin .../gui/{ => sprites}/buttons/turned_on.png | Bin .../{ => sprites}/buttons/turned_on_hover.png | Bin .../sprites/turtle_advanced_selected_slot.png | Bin 0 -> 461 bytes .../sprites/turtle_normal_selected_slot.png | Bin 0 -> 476 bytes .../textures/gui/turtle_advanced.png | Bin 1455 -> 1170 bytes .../textures/gui/turtle_normal.png | Bin 1415 -> 1116 bytes 14 files changed, 17 insertions(+), 11 deletions(-) rename projects/common/src/main/resources/assets/computercraft/textures/gui/{ => sprites}/buttons/terminate.png (100%) rename projects/common/src/main/resources/assets/computercraft/textures/gui/{ => sprites}/buttons/terminate_hover.png (100%) rename projects/common/src/main/resources/assets/computercraft/textures/gui/{ => sprites}/buttons/turned_off.png (100%) rename projects/common/src/main/resources/assets/computercraft/textures/gui/{ => sprites}/buttons/turned_off_hover.png (100%) rename projects/common/src/main/resources/assets/computercraft/textures/gui/{ => sprites}/buttons/turned_on.png (100%) rename projects/common/src/main/resources/assets/computercraft/textures/gui/{ => sprites}/buttons/turned_on_hover.png (100%) create mode 100644 projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/turtle_advanced_selected_slot.png create mode 100644 projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/turtle_normal_selected_slot.png diff --git a/projects/common/src/client/java/dan200/computercraft/client/gui/GuiSprites.java b/projects/common/src/client/java/dan200/computercraft/client/gui/GuiSprites.java index ffed5a1af..8e2627a74 100644 --- a/projects/common/src/client/java/dan200/computercraft/client/gui/GuiSprites.java +++ b/projects/common/src/client/java/dan200/computercraft/client/gui/GuiSprites.java @@ -32,10 +32,13 @@ public final class GuiSprites extends TextureAtlasHolder { public static final ComputerTextures COMPUTER_COMMAND = computer("command", false, true); public static final ComputerTextures COMPUTER_COLOUR = computer("colour", true, false); + public static final ResourceLocation TURTLE_NORMAL_SELECTED_SLOT = new ResourceLocation(ComputerCraftAPI.MOD_ID, "gui/sprites/turtle_normal_selected_slot"); + public static final ResourceLocation TURTLE_ADVANCED_SELECTED_SLOT = new ResourceLocation(ComputerCraftAPI.MOD_ID, "gui/sprites/turtle_advanced_selected_slot"); + private static ButtonTextures button(String name) { return new ButtonTextures( - new ResourceLocation(ComputerCraftAPI.MOD_ID, "gui/buttons/" + name), - new ResourceLocation(ComputerCraftAPI.MOD_ID, "gui/buttons/" + name + "_hover") + new ResourceLocation(ComputerCraftAPI.MOD_ID, "gui/sprites/buttons/" + name), + new ResourceLocation(ComputerCraftAPI.MOD_ID, "gui/sprites/buttons/" + name + "_hover") ); } diff --git a/projects/common/src/client/java/dan200/computercraft/client/gui/TurtleScreen.java b/projects/common/src/client/java/dan200/computercraft/client/gui/TurtleScreen.java index c401be67a..498ad8e68 100644 --- a/projects/common/src/client/java/dan200/computercraft/client/gui/TurtleScreen.java +++ b/projects/common/src/client/java/dan200/computercraft/client/gui/TurtleScreen.java @@ -54,9 +54,9 @@ public class TurtleScreen extends AbstractComputerScreen { if (slot >= 0) { var slotX = slot % 4; var slotY = slot / 4; - graphics.blit(texture, - leftPos + TURTLE_START_X - 2 + slotX * 18, topPos + PLAYER_START_Y - 2 + slotY * 18, 0, - 0, 217, 24, 24, FULL_TEX_SIZE, FULL_TEX_SIZE + graphics.blit( + leftPos + TURTLE_START_X - 2 + slotX * 18, topPos + PLAYER_START_Y - 2 + slotY * 18, 0, 22, 22, + GuiSprites.get(advanced ? GuiSprites.TURTLE_ADVANCED_SELECTED_SLOT : GuiSprites.TURTLE_NORMAL_SELECTED_SLOT) ); } diff --git a/projects/common/src/datagen/java/dan200/computercraft/data/DataProviders.java b/projects/common/src/datagen/java/dan200/computercraft/data/DataProviders.java index d58aeaf9b..7a2305bb4 100644 --- a/projects/common/src/datagen/java/dan200/computercraft/data/DataProviders.java +++ b/projects/common/src/datagen/java/dan200/computercraft/data/DataProviders.java @@ -57,6 +57,7 @@ public final class DataProviders { LecternPrintoutModel.TEXTURE ))); out.accept(GuiSprites.SPRITE_SHEET, makeSprites( + Stream.of(GuiSprites.TURTLE_NORMAL_SELECTED_SLOT, GuiSprites.TURTLE_ADVANCED_SELECTED_SLOT), // Buttons GuiSprites.TURNED_OFF.textures(), GuiSprites.TURNED_ON.textures(), diff --git a/projects/common/src/generated/resources/assets/computercraft/atlases/gui.json b/projects/common/src/generated/resources/assets/computercraft/atlases/gui.json index 8ad965c9d..3e34d5bb1 100644 --- a/projects/common/src/generated/resources/assets/computercraft/atlases/gui.json +++ b/projects/common/src/generated/resources/assets/computercraft/atlases/gui.json @@ -1,11 +1,13 @@ { "sources": [ - {"type": "minecraft:single", "resource": "computercraft:gui/buttons/turned_off"}, - {"type": "minecraft:single", "resource": "computercraft:gui/buttons/turned_off_hover"}, - {"type": "minecraft:single", "resource": "computercraft:gui/buttons/turned_on"}, - {"type": "minecraft:single", "resource": "computercraft:gui/buttons/turned_on_hover"}, - {"type": "minecraft:single", "resource": "computercraft:gui/buttons/terminate"}, - {"type": "minecraft:single", "resource": "computercraft:gui/buttons/terminate_hover"}, + {"type": "minecraft:single", "resource": "computercraft:gui/sprites/turtle_normal_selected_slot"}, + {"type": "minecraft:single", "resource": "computercraft:gui/sprites/turtle_advanced_selected_slot"}, + {"type": "minecraft:single", "resource": "computercraft:gui/sprites/buttons/turned_off"}, + {"type": "minecraft:single", "resource": "computercraft:gui/sprites/buttons/turned_off_hover"}, + {"type": "minecraft:single", "resource": "computercraft:gui/sprites/buttons/turned_on"}, + {"type": "minecraft:single", "resource": "computercraft:gui/sprites/buttons/turned_on_hover"}, + {"type": "minecraft:single", "resource": "computercraft:gui/sprites/buttons/terminate"}, + {"type": "minecraft:single", "resource": "computercraft:gui/sprites/buttons/terminate_hover"}, {"type": "minecraft:single", "resource": "computercraft:gui/border_normal"}, {"type": "minecraft:single", "resource": "computercraft:gui/pocket_bottom_normal"}, {"type": "minecraft:single", "resource": "computercraft:gui/sidebar_normal"}, diff --git a/projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/terminate.png b/projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/terminate.png similarity index 100% rename from projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/terminate.png rename to projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/terminate.png diff --git a/projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/terminate_hover.png b/projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/terminate_hover.png similarity index 100% rename from projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/terminate_hover.png rename to projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/terminate_hover.png diff --git a/projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/turned_off.png b/projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/turned_off.png similarity index 100% rename from projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/turned_off.png rename to projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/turned_off.png diff --git a/projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/turned_off_hover.png b/projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/turned_off_hover.png similarity index 100% rename from projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/turned_off_hover.png rename to projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/turned_off_hover.png diff --git a/projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/turned_on.png b/projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/turned_on.png similarity index 100% rename from projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/turned_on.png rename to projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/turned_on.png diff --git a/projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/turned_on_hover.png b/projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/turned_on_hover.png similarity index 100% rename from projects/common/src/main/resources/assets/computercraft/textures/gui/buttons/turned_on_hover.png rename to projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/buttons/turned_on_hover.png diff --git a/projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/turtle_advanced_selected_slot.png b/projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/turtle_advanced_selected_slot.png new file mode 100644 index 0000000000000000000000000000000000000000..1550ea4c6e1dfffe0fffc85e8f0552a606b266f5 GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0y~yU=Rag4rT@hhR<1ZI2jlib_Mu^xH2#>#K+qvB-$n> z*(D|0Cnwn_C)=l_+NY*Dq@_Bgr#fb&J7r`zWn?;MWx3>LyXNM(<>k8N=erjdc}|!R zGi7qzjOht8XC%&?nK)}!((KvEv*)DDnVmFuZtA?bY4he~%%7jWa6#t61=))h<}6y2 zw|G(Rk|hPZch&COTeok2{r-LR2lh7{JkWUPVAG*PO@|LRA34%;^l0m`V{Ipnx1BuM ze(Ge~=~M0J&URh9I^o9k2{&#`xP5El?c0;@-kChd`(!5r0|R48kY6x^!?PP{3=9kh zJzX3_BqVbW+WH-K5OKR`ecz_~jf;|Os?@fF|ID4b9W2v{$5syyEj-gWx2m(-l~ zE8Yr!NIWjRM6mCt_MbUP9gT|nqaSZxYB;-j?Yo<^D$36FeDhWNsL%AA^{!i0y4%DT zuCpqZWIPr;d&jutV(?AZh3PR*G)siKwPsp7GW*{NK6d%Er?dB$wgs-*b2Zj)sI&^! zzLZh&Y?tJ}qujaoRz2^R=eL)>b4Vy*{}DBfur*xevC2E=c0|ZV@p!n~)-hI<1WWIe T+?~h3z`)??>gTe~DWM4f_YTpf literal 0 HcmV?d00001 diff --git a/projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/turtle_normal_selected_slot.png b/projects/common/src/main/resources/assets/computercraft/textures/gui/sprites/turtle_normal_selected_slot.png new file mode 100644 index 0000000000000000000000000000000000000000..bdf51ef1124ab14795df84f07c66911956a1ac76 GIT binary patch literal 476 zcmeAS@N?(olHy`uVBq!ia0y~yU=Rag4rT@hhR<1ZI2jli4hQ&zxH2#>L`O%*#KgqL z#>U6TCnO{!CMG5&B_$^(r=+B$rlzK)rKP8*XJlk#W@hH(-O#2uUxru{rdGAH*Va#dGpq-TeolDzH{f!-Me@1-Me@H{{06J z9z1;b@X@13Po6w^_Uzg7=g(ifc=6`Vn{VH~{rK_Y=g*&i{`~p-_wWDz{{vICjxjJW zFqQ=Q1v5B2yOGAgz;N8t#W6%eGWVdb-(dq0w~MdOpD$dbbZ~;8@wJ2h$`3MWd3h^t zd@SEGW2f!$y@4^E@k>rd9=x8*)_3i`qW=Z{Y^<(izRa6V~3&^R=06 zytp>_#?R>uht+rK^vH1}rEa-+)Yet|d&a|SEq9KbcQ?ecyLqW)FMKirxR_Fgq}) zPO)QFxp{rp+qb7K+4C#32W_u4kNV}wu=JnKC7nIS3``CTOdo_MA7u2I?7$?%e!;$B zviL#k$%ag}lOHfjCI6c{`_}gR&-CQ7*)E(~`_HU=^L6>YrA!i&R1ROS+W&8L;lE$g z-?wr}+^U`Trse#b;uXOS&I|k*IT}96Gk?F#eyu;eEcNo|=XcgUoB#Iw*DiVH>yz2b z?AN_Hb>s8%J+%*S=D9~t{>Uh#0am-3r(pYIE*katkFykGAD1YO$ThbP0l+XkKTnz=^ delta 887 zcmbQlxt@E13hV6vpAgrHI=AaDzDT>zz`(#%666=mz{oh|?>YtsmPSt($B>F!Z||P< z6AqMUc$mNJvV4GuFb}7-ka*tRO2${NuX%TTW-};!d}s-$z37YgS6VkMkWFeylGyh= z(r#_H**P~d2rw{BKEUWX`8}g3 z_X9bmh%~#uP7HC(lLeW=GTuc_{r#nT+5O(t#cUJa$8C_$m+G%y70mkKw`sth^WQ(+ zmo$~H|7{t_==xLf+?kf^GDi*k8O0j!u_`cJ+RtkfRh#hrNu%t|+fVNA+<*B`PJLf` zjr5M)pAI~n&R&+X<>da)58BeLC1!#gAg(3XxcV={?)KIFHd~bcKfift=Pl7WIqnyH z&u`l=e6oyH{jOk1hWi9l1}2Be2N^}`Kg_r(I3?zttmD}?99<_iDRX2qFmAA7PKjaJ zb>$tyy8lyMvJX75moUt+oAdfRQ_yN<>uv|eJNGXAc*?iHpl%rhO9RO34h&n)$d<9_ z-rld=aqVx>3$=2VrMG^5-fr!XeM2yXw}Iit7m2V%Gm9xxX3TaCpfbxR+tpz}}bq%#+m`tm@moZZTio)$#f0(KV}1TWHk$kDkY{YK6Pu&ayWz zI}1;KwmcA7|Mte^7m_nf7}xCirL1&p+VPo88Aj#?nM^xO*mg4C$g;R$s@J)!;p^(y zbH~`!{24a4NgpT%nVwa9)ZBBoyGAm@=eB5vFT6gp7^*&=(MaJ-kea)-`SQxflf{|r z5o_Y#&eK%zXIMUWes=ePP00zDST5|3*nO+{mixg-Iac#`^U+T}B~R1Dm-=*4*nmS-ADZwaIl; po)$ecPh_0@k-1Hx!R$Ayf;;!;%0JCN7#J8BJYD@<);T3K0RR`Foksuw diff --git a/projects/common/src/main/resources/assets/computercraft/textures/gui/turtle_normal.png b/projects/common/src/main/resources/assets/computercraft/textures/gui/turtle_normal.png index f676c56b20d2173381b54b6ecef670edc0c0b78c..06cf906447b542d1a2dd1657d98cce783fd79abd 100644 GIT binary patch delta 543 zcmZqYzQZv=lUb30VWQ^M`lLid9tH*m#*!evU^<+^$RNPLG&zt-eDVQC4_;xWio88<)XVP)GcYPlHej-te1K6p;ehzg zi~ps)(-~^dH^twaAG<$(6_dmymEE=X*Z=?W{m-wr^OwHoG&tKTeW115uE%wEgY$xX zMvjJG>l^u(+uyK_yLoEMtKWORWCg#y&se5zf8+nYO;ancey@Ca_0_pU+ZfU(J1~hU z)p#GTY}g)r@cOn-rt8DfCEgnyce(KYb-RxDUEu>R7gm>ol!@0j_!}YhYlxaLT^Zdy?Yg-1q7ac_t`Ix_{qq)o?HOz+d*s kA6e=qu?kBxtp38Z%W$X4rl1g81_lNOPgg&ebxsLQ0JZw;+yDRo delta 854 zcmcb^(at?VbE3}G`v3p`FZH=Jmw|zSu_VYZn8D%MjWh-ZmRL_0$B>F!Z|~mCy5lC% z@GxKHZU1bC;sE_GOiunx`?%sut0aB-inC5!I#%jkwsrTUDghs1?}aR8$6kH6X-|$= zGt>Oi8i_|jfl4bCJA|HEz23S%%)w=D`QOLwYrpoZDLqnqzIFfFs_!}tTJL`q%QG-3 ze3esBy7y$)o725Z{~I-=#CNTKQ!U3fVO2xY!?%nA3`_zInv>Tvx=h~BD8={S4{#?`Evgr6#YKpW|scfcK^4`*<0Q- z>dF6k@anp{SyAz|`=7JtPs?+DBbdNHc>$xSLc{;1zdtiP4nF9g`=roLckb`tgMKW3 zt>?W8*&ysV`SG{O2N)&lH$QU;DB9`I;#;hwp>(=a;SD3pfy3$!$9xwoEo0yC@4L`j z#>xK=cGOi_T))rlk=yYmhl#a;L4bkD0pu+OhDj%Cl{#+zeR`pI9*0-yr|0|MF>HS5 zGQpOC>A{`;hMjY`o>jkPd{(3-(a*qwtdFIE;fGqWbv^$Bmw-4f0BOl%ze)V|s-&L_kSKXa8!-TQqqx=1JeBGa_Yu=O{ zU$*|y^JOz;m@w)ruHWBn_HBOe-aiR(pZ2it*elU%+uz#hDeUmZExG#kV;@Ez%b7Dw z7~h<6e8-@t#y0(#sy{>Oo?BlN^OG*I7|0xp=Y8xhJXx(FZO`NE$N3;uaH&jx75@bF z2G{p>^Q{^lA6eayoSpRP4x``W*au0uNtaj(uJ@GHwC^%A%w&r2f9qzwuk?9n!90dl zS2OqvE>_#maSL7*|4Qps?A4O_d4J9pt