From c39e78d0ca36fe6729cb83a39e9a848e9866362f Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sat, 14 Mar 2026 22:32:05 -0500 Subject: [PATCH 1/3] Replace placeholder textures for multi power cable and power merger Red square connector for input faces, blue square connector for output faces. Input faces have inward-pointing arrows and hollow center, output faces have outward-radiating indicators and solid fill. --- .../textures/block/multi_power_cable_back.png | Bin 90 -> 180 bytes .../block/multi_power_cable_back_powered.png | Bin 90 -> 186 bytes .../textures/block/multi_power_cable_cap.png | Bin 91 -> 174 bytes .../block/multi_power_cable_cap_powered.png | Bin 91 -> 172 bytes .../textures/block/multi_power_cable_front.png | Bin 90 -> 174 bytes .../block/multi_power_cable_front_powered.png | Bin 90 -> 172 bytes .../textures/block/multi_power_cable_side.png | Bin 91 -> 174 bytes .../block/multi_power_cable_side_powered.png | Bin 90 -> 172 bytes .../atlas/textures/block/power_merger_back.png | Bin 499 -> 180 bytes .../block/power_merger_back_powered.png | Bin 500 -> 186 bytes .../textures/block/power_merger_bottom.png | Bin 500 -> 180 bytes .../block/power_merger_bottom_powered.png | Bin 497 -> 186 bytes .../atlas/textures/block/power_merger_front.png | Bin 502 -> 174 bytes .../block/power_merger_front_powered.png | Bin 502 -> 172 bytes .../atlas/textures/block/power_merger_side.png | Bin 499 -> 180 bytes .../block/power_merger_side_powered.png | Bin 499 -> 186 bytes .../atlas/textures/block/power_merger_top.png | Bin 499 -> 180 bytes .../textures/block/power_merger_top_powered.png | Bin 499 -> 186 bytes 18 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/multi_power_cable_back.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/multi_power_cable_back.png index 8ee99659cb826b7826ab2ef44bf1ab0ff233c41c..e3995e140b83620d0adc479789b583e5d2c721f9 100644 GIT binary patch delta 162 zcmV;T0A2rDv;mMAe+B>m03Y-JVE_OCdr3q=RCt_Yw6e1L&p-iSqC_)Q3}C?}5%lB< z3V)r93~4S{hok|QW}Gf~0=0b-LI6z3U@?dZm$O&#^P^yFYVdji1QLG#2IGN=1rS)k z%E~|pFk(xIus}oy*aDFSpF&uG;fqElToTBkjUMs@T|mfI9HLx6ETGr`03Q`4!7us9 Q%>V!Z07*qoM6N<$g82$Q!vFvP delta 71 zcmdnO7&SrCk%@tUVZy`=Ga#kt>EaktF(>)Y{lgAI2}-_}hgYyIVh}DoC6ExpY}k;( Z%kcUs<7#(@Md3ij44$rjF6*2UngAF*7Nr0H diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/multi_power_cable_back_powered.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/multi_power_cable_back_powered.png index 2a455b8ee58d68fbd4197bad6b0679691dd6d3ee..937c7dd0df5dcd9205ebb6ebf4c2ba4d9e5238e1 100644 GIT binary patch delta 168 zcmV;Z09XH7x&e?Ge+B>m03Y-JVE_OCfk{L`RCt_Yw6e1L&p-iSqC_)Q3}C?}(f9c? z3crY#moyg?A!)#+8K(=LJb419!(aj*KY}S485#U8=tFY$Lk$fSj7<$*FMxpNqeoyo zFtGpv*X86G2mwZHDG?Tk=m1+Fvfxt)3ov}q$b?G*IkeG3BA%cN2-!-M3y1|28vp>b WEGIN*tfmeC0000EaktF(>)Y{wa+r2V7m03Y-JVE_OCbxA})RCt_Yw6e1L&p-iS!YBDoItGl%GTAGBPs6yFe~#6$<~+vM}6X@Q#SULI%j{nHVSpOapEJ zBes-CaV*GSQHTq$;F3U(6If-WEy761V6$suh$r4!Zw0000< KMNUMnLSTZsRX!R3 delta 72 zcmZ3-7(GGKiHU)MVZy`=Ga#kp>EaktF(>)X#bak3xDu2+O%JbNd&D3-@zsNb5N5-M b6kZ0!?~Iv8e@TA_s%G$X^>bP0l+XkKVVfA+ diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/multi_power_cable_cap_powered.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/multi_power_cable_cap_powered.png index 006e3d8559fccf3d91cad390d4b5ea87bbf9e4ad..32d927d464ccb4c9793b969948b465e6b7dbd1cf 100644 GIT binary patch delta 154 zcmV;L0A>GMtO1Z2e+B>m03Y-JVE_OCb4f%&RCt_Yw6e1L&p-iS!YBE|V+I(LWxx+4 zjra^Px# delta 72 zcmZ3(7(GGKiHU)MVZy`=Ga#kp>EaktF(-M?){w?VkpnK1vf2W9k1(n!T|Ibk1zQrs bNht=6m03Y-JVE_OCbxA})RCt_Yw6e1L&p-iS!YBDoItGl%GTAGBPs6yFe~#6$<~+vM}6X@Q#SULI%j{nHVSpOapEJ zBes-CaV*GSQHTq$;F3U(6If-WEy761V6$suh$r4!Zw0000< KMNUMnLSTZrxjq>H delta 71 zcmZ3-7&SrCk%@tUVZy`=Ga#kt>EaktF(>&?{oF>C11__Q+5&l97}Xw4Q9Q7MEs5cz a6vIV6#&6#@J&*t@X7F_Nb6Mw<&;$THp%^{@ diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/multi_power_cable_front_powered.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/multi_power_cable_front_powered.png index 736fdacda910d07a2ad4571dcfc28ca12de8925d..32d927d464ccb4c9793b969948b465e6b7dbd1cf 100644 GIT binary patch delta 154 zcmV;L0A>GLtO1Z2e+B>m03Y-JVE_OCb4f%&RCt_Yw6e1L&p-iS!YBE|V+I(LWxx+4 zjra^EaktF(>)Y|M`t72V77HI$g diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/multi_power_cable_side.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/multi_power_cable_side.png index 006e3d8559fccf3d91cad390d4b5ea87bbf9e4ad..4b0341772d203d06135698bb1f605149b84f4811 100644 GIT binary patch delta 156 zcmV;N0Av4Kt^tr4e+B>m03Y-JVE_OCbxA})RCt_Yw6e1L&p-iS!YBDoItGl%GTAGBPs6yFe~#6$<~+vM}6X@Q#SULI%j{nHVSpOapEJ zBes-CaV*GSQHTq$;F3U(6If-WEy761V6$suh$r4!Zw0000< KMNUMnLSTZsRX!R3 delta 72 zcmZ3-7(GGKiHU)MVZy`=Ga#kp>EaktF(-M?){w?VkpnK1vf2W9k1(n!T|Ibk1zQrs bNht=6GLtO1Z2e+B>m03Y-JVE_OCb4f%&RCt_Yw6e1L&p-iS!YBE|V+I(LWxx+4 zjra^EaktF(>&?{oF>C11__Q+5&l97}Xw4Q9Q7MEs5cz a6vIV6#&6#@J&*t@X7F_Nb6Mw<&;$TH6Bs-I diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_back.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_back.png index a06eb86de59147d93edeadc98829c2d5c20e91c7..e3995e140b83620d0adc479789b583e5d2c721f9 100644 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*6yw`|(<>%0SF!Xg*r zP@aT?s)AphaB|hp?cvGPi)dfMI6ZBSUIo+ES|KL}pOXoO9h}oQhkyLMI3XwNLlq;7 zP~CsF$Bmt=0ucvJopRtXNb>I7;NZf3gJ~k`e5Z(phuv;!F+wL6_R4)?iFG&;wkXCy cXTc4i6GT-H>i;}(7U&EHPgg&ebxsLQ0BWQ^bpQYW literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF>D;uumf=k2Y9g@+wPTmvm1 z3$^qnuTqNH(j6g{w?@e*?g5j?gTi-~3XbuLNRLuJZcdr*-r9@9+Dc`j46M2&aM{Lm^X#u)`dNM=S#B4Hj@A z>zmA5_I_iiui)FKcf0I|?XABRr}sWjP=hPLq6a8s3q%Jp?%ifKz-=^G=NraHZy4P^ z-;-HG$>zJFuz!Rk`ojR>rAtP7a6?Oy0j`oPioT$jZ)MKkz*H!bN_YYhPd0{l8KDpYc&0<8f#4hNMHg R4gn*R!PC{xWt~$(695c%0SF!Xg*r zP@aT?su#ciH0IjhF@3s;xQJrrfu)kmx#!tbGA%otz$9fBHm%gV8NVQ&6nq1w*vLrU$_s+y*rlPqcV5S#G)LJZ}Lv j$4##(+#ReU(hLk+bkt2U)-2-#I)=g1)z4*}Q$iB}O{G0c literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBGEL;uumf=k2YHg@+tOTmv62 zA!O>pX|iRiMuDHIoY?{f%Y+ZM>Khj8tC!DtW37Ap+ujMKb^ms}`F;K(zsBa`2G2{^Y+^t^?M5cT>JZJ-S5+X?dt1g|DXQD&eS37Fo)q0i-3BA1>+G;1wV#D zxKQ~f_KfPcjQ>8!)WmLk`=NTv?~l`}&mZ)GE5M=$C{ztX7x!#uPY}XsG+5_N<|8+m zd!FsJWtfb^1yBpl$tj$ZOE7u=mT?AFha%kZjiK-x!{W+({sStQ{y`{X>e$QgTe~DWM4fj^eoD diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_bottom.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_bottom.png index 9ca4f379b4b9b2ea61513f248e9113aea843cb4f..e3995e140b83620d0adc479789b583e5d2c721f9 100644 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*6yw`|(<>%0SF!Xg*r zP@aT?s)AphaB|hp?cvGPi)dfMI6ZBSUIo+ES|KL}pOXoO9h}oQhkyLMI3XwNLlq;7 zP~CsF$Bmt=0ucvJopRtXNb>I7;NZf3gJ~k`e5Z(phuv;!F+wL6_R4)?iFG&;wkXCy cXTc4i6GT-H>i;}(7U&EHPgg&ebxsLQ0BWQ^bpQYW literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBGEL;uumf=k2YHg@+tOTmv62 zwcg9Ygb<{`~UPGcBT$thdB(7SOnA?EEtb)D)=!J z!iCB=v1e4jW&HO+rY3gV+Yi-Set(=+eg2>iTmcq6K%r_7y0~XMdx8*7qrp0FG9S6g z-1BU&EyH9SE`VBaPEO&RT!P8_w~RBeIuzlKZw!Us7#3IN^B+*b^bbNAQ^#g@Ad)y+ zUCp3|?rmgcz`(Huq5~QCZZjL8h7Pi_+3Oq6A78LozGBVmtAGD({Qi&m$X}*-NAY9d T)*L%0SF!Xg*r zP@aT?su#ciH0IjhF@3s;xQJrrfu)kmx#!tbGA%otz$9fBHm%gV8NVQ&6nq1w*vLrU$_s+y*rlPqcV5S#G)LJZ}Lv j$4##(+#ReU(hLk+bkt2U)-2-#I)=g1)z4*}Q$iB}O{G0c literal 497 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF#9;uumf=k2YHg@+tOTmv62 zE2!U z_ka8M=hua|WpB8XW%ifuuX**aX#e^9_Q(Gl{cmJ=#3G>HV8M8VQ^Aj+kf}r1VGdkq z?ieuUuJJt^xkrYC%QURt?B#%>HG$>zJFuzK{XCl8PL*d5W2W$ zJ9~l%0SF!Xfpa zepYNfCygG+PI9Yh+wfqLK-Dgm^=B)1D?UBp3_EIMWOQV=gI<;>*Z+%~4DKX;=<7J( z#CGD`Dp&28UX*L=R-fBNyqjo+Ei zm+swF|L5lK&##@o|K6wHv+@76zeQL6J}sNQ|NgiCssET6k8mpZF%&X&2s_MSc*G*0 z-e3V2vcAc@W$!nJ{S|!s^loqaZF}pl#glu*29wd%p=v!Rr*KX#!Q}m0#u=!_p(+Df z`VE8@SLX8{P(iX4Lm5-YW_BQwI9pxKpaypw7G*#oTOc}+aql*>0d8-Bb-rPI^oG&x z^F6r+PaM97T9D2!kj`%~>-#qbAFP1{R`x9U!uR8i^Q+dqei!}y^uzD}n2*#l6>4%P U?9vaF1I8zVr>mdKI;Vst0EMr+W&i*H diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_front_powered.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_front_powered.png index 0bb875e96ebbf2830ef2ab2817af37e33c51ef4a..32d927d464ccb4c9793b969948b465e6b7dbd1cf 100644 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#hxyXAr*6yw`|(<>%0SF!Xfpa zhm+YPCZ`_YSLyx1lepvxx6Tcg`8JhJp&NU8cnaAX8ZK^W=Q;5pW||H2IfEaLE(wav zDPMhfM3|N_nl}hWn*_;l8%2mbV$#{6av`}j*_|z{)Z#EhB(vUG1&6|*Wfo!#8;VtI U^SJrlfz~s4y85}Sb4q9e07q#zssI20 literal 502 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBG8J;uumf=k2YHfrlMLTmxqo z%Jvnq=ebN>(YMy6cL#G(_@NDr?IMB|59SFwd~q#mPr09YbKCdUHJ`8dpWat5^Y=h< z?D}`#?W^nS>R!~@e`_`DyT20e! z-EeWwcJ>4z94>%baFhASP3E3wdu^dC8@~Ac_<+CdwXYx6{(k!O`#%0SF!Xg*r zP@aT?s)AphaB|hp?cvGPi)dfMI6ZBSUIo+ES|KL}pOXoO9h}oQhkyLMI3XwNLlq;7 zP~CsF$Bmt=0ucvJopRtXNb>I7;NZf3gJ~k`e5Z(phuv;!F+wL6_R4)?iFG&;wkXCy cXTc4i6GT-H>i;}(7U&EHPgg&ebxsLQ0BWQ^bpQYW literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF>D;uumf=k2YHxlE2Ct{0Ck z;=5$p>R=w?Y<{_8tLD@Q9|y+Q3=gaQ65Q+O##qiQkIu@`p|3mxp2cL`fzN_mmv%gpL-g1T~iYg3^>HGre{06hWe`D}LG7Li*(8_8M zy0~XMdx8+mPHf5;kKAMiqMm1aZ5bxxbS+rtIXQ)MatS8y-!jg?;VGB}-xvzNF)Xgk z=Rcr=&F?T}OdXrqfk@(Pbv1(;W)Q)YeK!5@Q)0_^=KfOK-S_Rj-K%fd5wFH6(Umtb SXd*B&89ZJ6T-G@yGywo%ptU^! diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_side_powered.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_side_powered.png index a9c8a7b17e312dff11307d02aafabd5b73936b33..937c7dd0df5dcd9205ebb6ebf4c2ba4d9e5238e1 100644 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar*6yw`|(<>%0SF!Xg*r zP@aT?su#ciH0IjhF@3s;xQJrrfu)kmx#!tbGA%otz$9fBHm%gV8NVQ&6nq1w*vLrU$_s+y*rlPqcV5S#G)LJZ}Lv j$4##(+#ReU(hLk+bkt2U)-2-#I)=g1)z4*}Q$iB}O{G0c literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF>D;uumf=k2YHfrlMLTmxqo z%JvmXu5!^k8{K(YpxyQG;({iihPgvFe-C-jqUv2*(=KAX2 z$LH_0-)~p4|NZYn62J5B>bu{K&)fdJWwr z?U-!qa66m-L-+FsuQ%oHzQ6cxzw3*5I_x28V)L$Iq_TlG9 R`w5Ip22WQ%mvv4FO#tiQu%rM0 diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_top.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_top.png index 8dc5975d16c74e841573cdec843f760525e8e749..e3995e140b83620d0adc479789b583e5d2c721f9 100644 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr*6yw`|(<>%0SF!Xg*r zP@aT?s)AphaB|hp?cvGPi)dfMI6ZBSUIo+ES|KL}pOXoO9h}oQhkyLMI3XwNLlq;7 zP~CsF$Bmt=0ucvJopRtXNb>I7;NZf3gJ~k`e5Z(phuv;!F+wL6_R4)?iFG&;wkXCy cXTc4i6GT-H>i;}(7U&EHPgg&ebxsLQ0BWQ^bpQYW literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF>D;uumf=k2Y9g@+wPTmvm1 zTlFNb@(P*QsC~=J<#4R$G47ZKCYy7%>?$v`pZJ~FcX?CpeeTHT&-+jB`!DnNKyvK* zci;Q>+V8h3*)RY5ki_x)yZY~U?Z1=v`TO;c`_I%XG*~bm;Z*QrC}ipoc9_HPh($mh zE~H-Fu|uczMT+wZOI- THLq?1Mka%&tDnm{r-UW|X414D diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_top_powered.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/power_merger_top_powered.png index 9b876b73808ae712fee77c5cf388f48bfd9465da..937c7dd0df5dcd9205ebb6ebf4c2ba4d9e5238e1 100644 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar*6yw`|(<>%0SF!Xg*r zP@aT?su#ciH0IjhF@3s;xQJrrfu)kmx#!tbGA%otz$9fBHm%gV8NVQ&6nq1w*vLrU$_s+y*rlPqcV5S#G)LJZ}Lv j$4##(+#ReU(hLk+bkt2U)-2-#I)=g1)z4*}Q$iB}O{G0c literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF>D;uumf=k2YHfrlMLTmxqo z%JvoN7AddFklvWBSgy(=UEv|v$o9^X(IsA`+~eEaX}Q($C#>rK?y!-QueSdXbA9#i z{r&_%ReRbqK?R zc1*T)xSh@aq5JuR*PC*8-(P&U-}#*_yD_>tG_7wKAH898`+QHX!4t(eG-WIT>HI)s zFzfp_1|K9_F_Zz_Rt-WI_iSfR5P~@ln=-~DH<^K`=hNohgRdl~O R^#LQ3!PC{xWt~$(69CCyuZ;iz From 7ebe96d23894c5041740e402bb9e486883d511cb Mon Sep 17 00:00:00 2001 From: CoderJoe Date: Sat, 14 Mar 2026 22:32:28 -0500 Subject: [PATCH 2/3] Rename cobblestone/obsidian generators to factories These blocks produce items, not power, so "factory" is a more accurate name. Renames classes, block IDs, display names, textures, YAML definitions, recipes, and tests. --- src/main/kotlin/com/coderjoe/atlas/Atlas.kt | 4 +- .../coderjoe/atlas/power/PowerBlockDialog.kt | 12 +-- ...toneGenerator.kt => CobblestoneFactory.kt} | 12 +-- ...bsidianGenerator.kt => ObsidianFactory.kt} | 12 +-- .../resources/nexo/items/atlas_blocks.yml | 76 +++++++++--------- .../block/cobblestone_factory_bottom.png | Bin 0 -> 496 bytes .../block/cobblestone_factory_side.png | Bin 0 -> 499 bytes .../block/cobblestone_factory_side_active.png | Bin 0 -> 495 bytes .../block/cobblestone_factory_top.png | Bin 0 -> 497 bytes .../block/cobblestone_factory_top_active.png | Bin 0 -> 497 bytes .../block/obsidian_factory_bottom.png | Bin 0 -> 500 bytes .../textures/block/obsidian_factory_side.png | Bin 0 -> 504 bytes .../block/obsidian_factory_side_active.png | Bin 0 -> 513 bytes .../textures/block/obsidian_factory_top.png | Bin 0 -> 501 bytes .../block/obsidian_factory_top_active.png | Bin 0 -> 512 bytes .../nexo/recipes/shapeless/atlas_recipes.yml | 8 +- .../kotlin/com/coderjoe/atlas/TestHelper.kt | 8 +- ...ratorTest.kt => CobblestoneFactoryTest.kt} | 46 +++++------ ...eneratorTest.kt => ObsidianFactoryTest.kt} | 46 +++++------ 19 files changed, 112 insertions(+), 112 deletions(-) rename src/main/kotlin/com/coderjoe/atlas/power/block/{CobblestoneGenerator.kt => CobblestoneFactory.kt} (90%) rename src/main/kotlin/com/coderjoe/atlas/power/block/{ObsidianGenerator.kt => ObsidianFactory.kt} (90%) create mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_bottom.png create mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_side.png create mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_side_active.png create mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_top.png create mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_top_active.png create mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_bottom.png create mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_side.png create mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_side_active.png create mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_top.png create mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_top_active.png rename src/test/kotlin/com/coderjoe/atlas/power/{CobblestoneGeneratorTest.kt => CobblestoneFactoryTest.kt} (84%) rename src/test/kotlin/com/coderjoe/atlas/power/{ObsidianGeneratorTest.kt => ObsidianFactoryTest.kt} (78%) diff --git a/src/main/kotlin/com/coderjoe/atlas/Atlas.kt b/src/main/kotlin/com/coderjoe/atlas/Atlas.kt index 27e83ee..89e54a5 100644 --- a/src/main/kotlin/com/coderjoe/atlas/Atlas.kt +++ b/src/main/kotlin/com/coderjoe/atlas/Atlas.kt @@ -182,8 +182,8 @@ class Atlas : JavaPlugin() { com.coderjoe.atlas.power.block.LavaGenerator.descriptor, com.coderjoe.atlas.power.block.AutoSmelter.descriptor, com.coderjoe.atlas.power.block.MultiPowerCable.descriptor, - com.coderjoe.atlas.power.block.CobblestoneGenerator.descriptor, - com.coderjoe.atlas.power.block.ObsidianGenerator.descriptor, + com.coderjoe.atlas.power.block.CobblestoneFactory.descriptor, + com.coderjoe.atlas.power.block.ObsidianFactory.descriptor, com.coderjoe.atlas.power.block.PowerMerger.descriptor ).associateBy { it.baseBlockId } } diff --git a/src/main/kotlin/com/coderjoe/atlas/power/PowerBlockDialog.kt b/src/main/kotlin/com/coderjoe/atlas/power/PowerBlockDialog.kt index 6c88a3f..31dc006 100644 --- a/src/main/kotlin/com/coderjoe/atlas/power/PowerBlockDialog.kt +++ b/src/main/kotlin/com/coderjoe/atlas/power/PowerBlockDialog.kt @@ -8,8 +8,8 @@ import com.coderjoe.atlas.power.block.PowerCable import com.coderjoe.atlas.power.block.SmallBattery import com.coderjoe.atlas.power.block.SmallDrill import com.coderjoe.atlas.power.block.MultiPowerCable -import com.coderjoe.atlas.power.block.CobblestoneGenerator -import com.coderjoe.atlas.power.block.ObsidianGenerator +import com.coderjoe.atlas.power.block.CobblestoneFactory +import com.coderjoe.atlas.power.block.ObsidianFactory import com.coderjoe.atlas.power.block.PowerMerger import com.coderjoe.atlas.power.block.SmallSolarPanel import io.papermc.paper.dialog.Dialog @@ -132,8 +132,8 @@ object PowerBlockDialog { is LavaGenerator -> "Lava Generator" is AutoSmelter -> "Auto Smelter (${powerBlock.facing.name.lowercase().replaceFirstChar { it.uppercase() }})" is MultiPowerCable -> "Multi Power Cable (${powerBlock.facing.name.lowercase().replaceFirstChar { it.uppercase() }})" - is CobblestoneGenerator -> "Cobblestone Generator" - is ObsidianGenerator -> "Obsidian Generator" + is CobblestoneFactory -> "Cobblestone Factory" + is ObsidianFactory -> "Obsidian Factory" is PowerMerger -> "Power Merger (${powerBlock.facing.name.lowercase().replaceFirstChar { it.uppercase() }})" else -> "Power Block" } @@ -183,9 +183,9 @@ object PowerBlockDialog { .color(NamedTextColor.GRAY) is MultiPowerCable -> Component.text("Cable - distributes power to all adjacent faces") .color(NamedTextColor.GRAY) - is CobblestoneGenerator -> Component.text("Machine - consumes ${CobblestoneGenerator.POWER_COST} power + water + lava → cobblestone") + is CobblestoneFactory -> Component.text("Machine - consumes ${CobblestoneFactory.POWER_COST} power + water + lava → cobblestone") .color(NamedTextColor.GRAY) - is ObsidianGenerator -> Component.text("Machine - consumes ${ObsidianGenerator.POWER_COST} power + water + lava → obsidian") + is ObsidianFactory -> Component.text("Machine - consumes ${ObsidianFactory.POWER_COST} power + water + lava → obsidian") .color(NamedTextColor.GRAY) is PowerMerger -> Component.text("Cable - merges power from all sides, outputs in facing direction") .color(NamedTextColor.GRAY) diff --git a/src/main/kotlin/com/coderjoe/atlas/power/block/CobblestoneGenerator.kt b/src/main/kotlin/com/coderjoe/atlas/power/block/CobblestoneFactory.kt similarity index 90% rename from src/main/kotlin/com/coderjoe/atlas/power/block/CobblestoneGenerator.kt rename to src/main/kotlin/com/coderjoe/atlas/power/block/CobblestoneFactory.kt index 3b7f304..29ea727 100644 --- a/src/main/kotlin/com/coderjoe/atlas/power/block/CobblestoneGenerator.kt +++ b/src/main/kotlin/com/coderjoe/atlas/power/block/CobblestoneFactory.kt @@ -16,14 +16,14 @@ import org.bukkit.Material import org.bukkit.block.BlockFace import org.bukkit.inventory.ItemStack -class CobblestoneGenerator(location: Location) : PowerBlock(location, maxStorage = 2) { +class CobblestoneFactory(location: Location) : PowerBlock(location, maxStorage = 2) { override val canReceivePower: Boolean = true override val updateIntervalTicks: Long = 20L companion object { - const val BLOCK_ID = "cobblestone_generator" - const val BLOCK_ID_ACTIVE = "cobblestone_generator_active" + const val BLOCK_ID = "cobblestone_factory" + const val BLOCK_ID_ACTIVE = "cobblestone_factory_active" const val POWER_COST = 2 private val ADJACENT_FACES = listOf( @@ -33,12 +33,12 @@ class CobblestoneGenerator(location: Location) : PowerBlock(location, maxStorage val descriptor = BlockDescriptor( baseBlockId = BLOCK_ID, - displayName = "Cobblestone Generator", + displayName = "Cobblestone Factory", description = "Machine - consumes $POWER_COST power + water + lava → cobblestone", placementType = PlacementType.SIMPLE, directionalVariants = emptyMap(), allRegistrableIds = listOf(BLOCK_ID, BLOCK_ID_ACTIVE), - constructor = { loc, _ -> CobblestoneGenerator(loc) } + constructor = { loc, _ -> CobblestoneFactory(loc) } ) } @@ -94,7 +94,7 @@ class CobblestoneGenerator(location: Location) : PowerBlock(location, maxStorage val dropLocation = location.clone().add(0.5, 1.0, 0.5) world.dropItemNaturally(dropLocation, ItemStack(Material.COBBLESTONE)) - plugin.logger.atlasInfo("CobblestoneGenerator at ${location.blockX},${location.blockY},${location.blockZ} produced 1 cobblestone") + plugin.logger.atlasInfo("CobblestoneFactory at ${location.blockX},${location.blockY},${location.blockZ} produced 1 cobblestone") } private fun hasFluidAvailable(source: com.coderjoe.atlas.fluid.FluidBlock, face: BlockFace, fluidType: FluidType): Boolean { diff --git a/src/main/kotlin/com/coderjoe/atlas/power/block/ObsidianGenerator.kt b/src/main/kotlin/com/coderjoe/atlas/power/block/ObsidianFactory.kt similarity index 90% rename from src/main/kotlin/com/coderjoe/atlas/power/block/ObsidianGenerator.kt rename to src/main/kotlin/com/coderjoe/atlas/power/block/ObsidianFactory.kt index 5934a37..15a784b 100644 --- a/src/main/kotlin/com/coderjoe/atlas/power/block/ObsidianGenerator.kt +++ b/src/main/kotlin/com/coderjoe/atlas/power/block/ObsidianFactory.kt @@ -16,14 +16,14 @@ import org.bukkit.Material import org.bukkit.block.BlockFace import org.bukkit.inventory.ItemStack -class ObsidianGenerator(location: Location) : PowerBlock(location, maxStorage = 100) { +class ObsidianFactory(location: Location) : PowerBlock(location, maxStorage = 100) { override val canReceivePower: Boolean = true override val updateIntervalTicks: Long = 20L companion object { - const val BLOCK_ID = "obsidian_generator" - const val BLOCK_ID_ACTIVE = "obsidian_generator_active" + const val BLOCK_ID = "obsidian_factory" + const val BLOCK_ID_ACTIVE = "obsidian_factory_active" const val POWER_COST = 100 private val ADJACENT_FACES = listOf( @@ -33,12 +33,12 @@ class ObsidianGenerator(location: Location) : PowerBlock(location, maxStorage = val descriptor = BlockDescriptor( baseBlockId = BLOCK_ID, - displayName = "Obsidian Generator", + displayName = "Obsidian Factory", description = "Machine - consumes $POWER_COST power + water + lava → obsidian", placementType = PlacementType.SIMPLE, directionalVariants = emptyMap(), allRegistrableIds = listOf(BLOCK_ID, BLOCK_ID_ACTIVE), - constructor = { loc, _ -> ObsidianGenerator(loc) } + constructor = { loc, _ -> ObsidianFactory(loc) } ) } @@ -94,7 +94,7 @@ class ObsidianGenerator(location: Location) : PowerBlock(location, maxStorage = val dropLocation = location.clone().add(0.5, 1.0, 0.5) world.dropItemNaturally(dropLocation, ItemStack(Material.OBSIDIAN)) - plugin.logger.atlasInfo("ObsidianGenerator at ${location.blockX},${location.blockY},${location.blockZ} produced 1 obsidian") + plugin.logger.atlasInfo("ObsidianFactory at ${location.blockX},${location.blockY},${location.blockZ} produced 1 obsidian") } private fun hasFluidAvailable(source: com.coderjoe.atlas.fluid.FluidBlock, face: BlockFace, fluidType: FluidType): Boolean { diff --git a/src/main/resources/nexo/items/atlas_blocks.yml b/src/main/resources/nexo/items/atlas_blocks.yml index f4cabe7..5f9041a 100644 --- a/src/main/resources/nexo/items/atlas_blocks.yml +++ b/src/main/resources/nexo/items/atlas_blocks.yml @@ -4082,20 +4082,20 @@ multi_power_cable_down_powered: - nexo_item: multi_power_cable probability: 1.0 -# ─── Cobblestone Generator ────────────────────────────────────── -cobblestone_generator: - itemname: "Cobblestone Generator" +# ─── Cobblestone Factory ────────────────────────────────────── +cobblestone_factory: + itemname: "Cobblestone Factory" material: paper Pack: generate_model: true parent_model: block/cube textures: - north: atlas:block/cobblestone_generator_side - south: atlas:block/cobblestone_generator_side - east: atlas:block/cobblestone_generator_side - west: atlas:block/cobblestone_generator_side - up: atlas:block/cobblestone_generator_top - down: atlas:block/cobblestone_generator_bottom + north: atlas:block/cobblestone_factory_side + south: atlas:block/cobblestone_factory_side + east: atlas:block/cobblestone_factory_side + west: atlas:block/cobblestone_factory_side + up: atlas:block/cobblestone_factory_top + down: atlas:block/cobblestone_factory_bottom Mechanics: custom_block: type: NOTEBLOCK @@ -4110,22 +4110,22 @@ cobblestone_generator: drop: silktouch: false loots: - - nexo_item: cobblestone_generator + - nexo_item: cobblestone_factory probability: 1.0 -cobblestone_generator_active: - itemname: "Cobblestone Generator" +cobblestone_factory_active: + itemname: "Cobblestone Factory" material: paper Pack: generate_model: true parent_model: block/cube textures: - north: atlas:block/cobblestone_generator_side_active - south: atlas:block/cobblestone_generator_side_active - east: atlas:block/cobblestone_generator_side_active - west: atlas:block/cobblestone_generator_side_active - up: atlas:block/cobblestone_generator_top_active - down: atlas:block/cobblestone_generator_bottom + north: atlas:block/cobblestone_factory_side_active + south: atlas:block/cobblestone_factory_side_active + east: atlas:block/cobblestone_factory_side_active + west: atlas:block/cobblestone_factory_side_active + up: atlas:block/cobblestone_factory_top_active + down: atlas:block/cobblestone_factory_bottom Mechanics: custom_block: type: NOTEBLOCK @@ -4140,23 +4140,23 @@ cobblestone_generator_active: drop: silktouch: false loots: - - nexo_item: cobblestone_generator + - nexo_item: cobblestone_factory probability: 1.0 -# ─── Obsidian Generator ───────────────────────────────────────── -obsidian_generator: - itemname: "Obsidian Generator" +# ─── Obsidian Factory ───────────────────────────────────────── +obsidian_factory: + itemname: "Obsidian Factory" material: paper Pack: generate_model: true parent_model: block/cube textures: - north: atlas:block/obsidian_generator_side - south: atlas:block/obsidian_generator_side - east: atlas:block/obsidian_generator_side - west: atlas:block/obsidian_generator_side - up: atlas:block/obsidian_generator_top - down: atlas:block/obsidian_generator_bottom + north: atlas:block/obsidian_factory_side + south: atlas:block/obsidian_factory_side + east: atlas:block/obsidian_factory_side + west: atlas:block/obsidian_factory_side + up: atlas:block/obsidian_factory_top + down: atlas:block/obsidian_factory_bottom Mechanics: custom_block: type: NOTEBLOCK @@ -4171,22 +4171,22 @@ obsidian_generator: drop: silktouch: false loots: - - nexo_item: obsidian_generator + - nexo_item: obsidian_factory probability: 1.0 -obsidian_generator_active: - itemname: "Obsidian Generator" +obsidian_factory_active: + itemname: "Obsidian Factory" material: paper Pack: generate_model: true parent_model: block/cube textures: - north: atlas:block/obsidian_generator_side_active - south: atlas:block/obsidian_generator_side_active - east: atlas:block/obsidian_generator_side_active - west: atlas:block/obsidian_generator_side_active - up: atlas:block/obsidian_generator_top_active - down: atlas:block/obsidian_generator_bottom + north: atlas:block/obsidian_factory_side_active + south: atlas:block/obsidian_factory_side_active + east: atlas:block/obsidian_factory_side_active + west: atlas:block/obsidian_factory_side_active + up: atlas:block/obsidian_factory_top_active + down: atlas:block/obsidian_factory_bottom Mechanics: custom_block: type: NOTEBLOCK @@ -4201,7 +4201,7 @@ obsidian_generator_active: drop: silktouch: false loots: - - nexo_item: obsidian_generator + - nexo_item: obsidian_factory probability: 1.0 # ─── Power Merger ──────────────────────────────────────────────── diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_bottom.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..d8d8ef8a02b6fa288d1c2e8aab1fef74ee371050 GIT binary patch literal 496 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBGHM;uumf=k2Y9fky%)+%Cql zP4)8Nzo=>T>#KwMMW1;K8WhT=RrfJ`WiMv`yzlw8+<5*?cI)MzSJvJCdtj5!>ffJp z-={N7uf3mNo6uAE``X{fso#$mp1Ci-{lC%wCWc2W0_qJGj7K;X{1^(EI)okOz=dqz zGTy5D&QM>$7q>lk_g}fUb$g!ND>j%6SAazir@}coAWATK|CVtEZll3EzcCbkV_007 z&woG#hYO$o==NCxlH<D;uumf=k2YHfrlMLTmxq> zWHxQ&+E^9P`YKU+A=lRf70g@$jmPg4Gj;6qcsJqAZhN`@_0o~^&&xlrtc(A9V3W@3 z-=A~er!)Bf-WUJtfW+fZYk%K9{jUGJWCA!|;ejK)t~N zF0}hL^OnEw82^2c*^_s>?5FLmzZEC zoDu4+b*!=b=ClCI9KOZlYu@AR5ICkTXynOY3 zCJWp7=e^};6vyo=t*^fQ_wmPw{rmO)r~YGQJi@8q$56=BA?z@R;Sq~~dV>XAX!mXA zEqlK))K~D``&PUEkKEh3eNXQd8+4<2$3O1?5D_niIvapU)Y%t!t*S;vIUYby`<2#iPu MPgg&ebxsLQ0LKimTmS$7 literal 0 HcmV?d00001 diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_top.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_top.png new file mode 100644 index 0000000000000000000000000000000000000000..663f2663174b929e981e411c6eb37cd4bf5a5736 GIT binary patch literal 497 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF#9;uumf=k2YHfkzxfSPxov zS)?q^5$S9SRGH1YPif&6Hb#!euV&;iuhE~QIj8n~?(KbYDYbF-=RW`0_q#DQGVJ^F z+xN~h=>6Vz|JMPD$KTfeK7RUL|Kl0^?eqSp{$pi4!l~fLP{`CF>@bJn5sQF&g9Tiu z`WEw+zwa3TeURCccf0Jj?XABRC-**2P=hPLq6a8s3q%Jp?%ifKz-=^G=NraHZy4P^ z-;-HG$>zJFuz!Rk`ojR>rAtP7a6?Oy0j`oPioT$jZ)MKk(Y{#XI(CsgZZ*=U2bCceuk}%n^FVhj$%6 QFe({5UHx3vIVCg!0LqcIvH$=8 literal 0 HcmV?d00001 diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_top_active.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_factory_top_active.png new file mode 100644 index 0000000000000000000000000000000000000000..2d848cc490e8fb16642b963cb87731640d7eb648 GIT binary patch literal 497 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF#9;uumf=k2YHfkzxfSPxov zB}`a6L!_B0kVks5%%z1}*cdq;znYQ9yheYH=A7E|xwrSprPRjRpZol0-|xoKSn==A zZ{Iu5pm)6R&aVR!kH4+`ef;#h@3r&y+vojH{m069gj2zfp^&LV*kKOCBNhSm1`D`Q z^)2Qtf8R0w`yjI?=XTj|+gpDtPVRl4paxffMGsKO7KjdH+`G+efZJ%W&NqyY-Y~j- zz9-kI0H3wkd>Xie&Ds?i+AkTN@MTL&#!)O?{J6TS2bKF&iJ4b QFe({5UHx3vIVCg!0KMC^`Tzg` literal 0 HcmV?d00001 diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_bottom.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..3d8cccae9731bc3ab0fa4cfaf7e09437b72e623e GIT binary patch literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBGEL;uumf=j|;;KjuIQw~OIT z>ksxE3%LDveWDImZ182-33ftFsak4hZQTRDZhyx1dEene9r@-p*MHCd{`u3+uiX2t zoj&>Z)0XeX4ZC0O`l>CryVSmHXTA0Rnte9kF56f$9^q8*V<=?m5O$cu@Q6h~y}<%5 zWPO8q%inj5+w45=9eY|LbNl|{yYXc^zssCaK~jW8-)8oX&Fm6qtE(B*;AUY_1{AUd zq5~QCZZjL;b_H1H8^%X(7~MYKlWXwA;aI2z>HGre{06hWe`D~$>L-Ldsv9h-8!qnI z&YmEI>2-uM#v?bGfvD%%UR#FA=ph7Gw&SP7m+yrS_UFC+7X3Z>d-Z?DNBbD<|2{XF Ua4KsaFg6)HUHx3vIVCg!06V+6%>V!Z literal 0 HcmV?d00001 diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_side.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_side.png new file mode 100644 index 0000000000000000000000000000000000000000..a7ccf2d4c42a100b23ed9c5b684de5d184f852cc GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBGKN;uumf=k2Y9K~8}ZZWo&u z&s-uln{DNu|Hc8jF5SsW(K3DoYwk%)+{tG3w4Y)-?Q^c&vCpp+UVr=ZJad0-^e@); z?U&E}{g(AUogqEG{da48VN~Jkx|kRL^8Q=e=ZF0<`rp9th($oX!GiG!r-C0tAybF2 z!yLF!?iA4g=d0KsEBtN|C$`^xw|(4`d&LHm;cBpG<5V~&2Sf=b@82@cz->BM z=QoDJZw!ko^Z5^`;BW-gg3at5o7pAKR#!8qVRb9Q9kvd0Y!77IyUlEX5X0)+H;j+o zFuHxdC)ePK?sHU~>HGre{06hWe`D}L4IpG?&yp{^Ki+6>y=F(Lyzopr0Pk?KCjbBd literal 0 HcmV?d00001 diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_side_active.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_factory_side_active.png new file mode 100644 index 0000000000000000000000000000000000000000..687b8e7170ab9efd0788eb0aae14aad3a1923c20 GIT binary patch literal 513 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU_9aJ;uumf=j|;+FK0&yw~I$Q z@>H4_Z#QUPJQ}fk#v7Lnyb&{ceH1;G6)>*n{5UT-vvf11i{j4^zg}v6&r+B+gb>GpJz(5=_}=(+__nwtQip{kZJ; hzml!r|1lr=%ar=gDXdC-0pz?e(+o8Q)(!zq4gGMplJI;~U0DZy4P^-;-f<2e&i8I;$Hjsv9ou+0LFIgu}H^3vMzWxyjt~Y_BcDWUQWoyW^ak!a2DF zllN~KXTZe}en%Gi#!&c;VR2BAc8B)vt#>PBlBZx>G8F{4=;ZIm+43?Bd@H6 Vi&*)|&%o$p@O1TaS?83{1OSE^vW;uumf=k2Y9fzFN+ZWmh| z_bOfJ^kBcZWulr!v)Uy$6ImAlU%}Ng*DPpAH+ncv+2JpLG5hBG-*(I?lin2f-u~FT zUwgkXpMJZcyuS98+uJ|6S8OmDT_vjKb8-sj6tV@P0~z;jGaKOc z7+B{U#z$`$-9F!wYw*P3f2alN`~vCx2D83@WAMQmOkictvLF04%y`Q_?RMh(f4{bT e|HpjfFO#&DH!I_fMh9TbGI+ZBxvX Date: Sat, 14 Mar 2026 22:33:31 -0500 Subject: [PATCH 3/3] Remove old generator texture files These were renamed to cobblestone_factory/obsidian_factory but the originals were not deleted in the previous commit. --- .../block/cobblestone_generator_bottom.png | Bin 496 -> 0 bytes .../textures/block/cobblestone_generator_side.png | Bin 499 -> 0 bytes .../block/cobblestone_generator_side_active.png | Bin 495 -> 0 bytes .../textures/block/cobblestone_generator_top.png | Bin 497 -> 0 bytes .../block/cobblestone_generator_top_active.png | Bin 497 -> 0 bytes .../textures/block/obsidian_generator_bottom.png | Bin 500 -> 0 bytes .../textures/block/obsidian_generator_side.png | Bin 504 -> 0 bytes .../block/obsidian_generator_side_active.png | Bin 513 -> 0 bytes .../textures/block/obsidian_generator_top.png | Bin 501 -> 0 bytes .../block/obsidian_generator_top_active.png | Bin 512 -> 0 bytes 10 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_bottom.png delete mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_side.png delete mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_side_active.png delete mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_top.png delete mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_top_active.png delete mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_bottom.png delete mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_side.png delete mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_side_active.png delete mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_top.png delete mode 100644 src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_top_active.png diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_bottom.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_bottom.png deleted file mode 100644 index d8d8ef8a02b6fa288d1c2e8aab1fef74ee371050..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 496 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBGHM;uumf=k2Y9fky%)+%Cql zP4)8Nzo=>T>#KwMMW1;K8WhT=RrfJ`WiMv`yzlw8+<5*?cI)MzSJvJCdtj5!>ffJp z-={N7uf3mNo6uAE``X{fso#$mp1Ci-{lC%wCWc2W0_qJGj7K;X{1^(EI)okOz=dqz zGTy5D&QM>$7q>lk_g}fUb$g!ND>j%6SAazir@}coAWATK|CVtEZll3EzcCbkV_007 z&woG#hYO$o==NCxlH<D;uumf=k2YHfrlMLTmxq> zWHxQ&+E^9P`YKU+A=lRf70g@$jmPg4Gj;6qcsJqAZhN`@_0o~^&&xlrtc(A9V3W@3 z-=A~er!)Bf-WUJtfW+fZYk%K9{jUGJWCA!|;ejK)t~N zF0}hL^OnEw82^2c*^_s>?5FLmzZEC zoDu4+b*!=b=ClCI9KOZlYu@AR5ICkTXynOY3 zCJWp7=e^};6vyo=t*^fQ_wmPw{rmO)r~YGQJi@8q$56=BA?z@R;Sq~~dV>XAX!mXA zEqlK))K~D``&PUEkKEh3eNXQd8+4<2$3O1?5D_niIvapU)Y%t!t*S;vIUYby`<2#iPu MPgg&ebxsLQ0LKimTmS$7 diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_top.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_top.png deleted file mode 100644 index 663f2663174b929e981e411c6eb37cd4bf5a5736..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 497 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF#9;uumf=k2YHfkzxfSPxov zS)?q^5$S9SRGH1YPif&6Hb#!euV&;iuhE~QIj8n~?(KbYDYbF-=RW`0_q#DQGVJ^F z+xN~h=>6Vz|JMPD$KTfeK7RUL|Kl0^?eqSp{$pi4!l~fLP{`CF>@bJn5sQF&g9Tiu z`WEw+zwa3TeURCccf0Jj?XABRC-**2P=hPLq6a8s3q%Jp?%ifKz-=^G=NraHZy4P^ z-;-HG$>zJFuz!Rk`ojR>rAtP7a6?Oy0j`oPioT$jZ)MKk(Y{#XI(CsgZZ*=U2bCceuk}%n^FVhj$%6 QFe({5UHx3vIVCg!0LqcIvH$=8 diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_top_active.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/cobblestone_generator_top_active.png deleted file mode 100644 index 2d848cc490e8fb16642b963cb87731640d7eb648..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 497 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBF#9;uumf=k2YHfkzxfSPxov zB}`a6L!_B0kVks5%%z1}*cdq;znYQ9yheYH=A7E|xwrSprPRjRpZol0-|xoKSn==A zZ{Iu5pm)6R&aVR!kH4+`ef;#h@3r&y+vojH{m069gj2zfp^&LV*kKOCBNhSm1`D`Q z^)2Qtf8R0w`yjI?=XTj|+gpDtPVRl4paxffMGsKO7KjdH+`G+efZJ%W&NqyY-Y~j- zz9-kI0H3wkd>Xie&Ds?i+AkTN@MTL&#!)O?{J6TS2bKF&iJ4b QFe({5UHx3vIVCg!0KMC^`Tzg` diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_bottom.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_bottom.png deleted file mode 100644 index 3d8cccae9731bc3ab0fa4cfaf7e09437b72e623e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBGEL;uumf=j|;;KjuIQw~OIT z>ksxE3%LDveWDImZ182-33ftFsak4hZQTRDZhyx1dEene9r@-p*MHCd{`u3+uiX2t zoj&>Z)0XeX4ZC0O`l>CryVSmHXTA0Rnte9kF56f$9^q8*V<=?m5O$cu@Q6h~y}<%5 zWPO8q%inj5+w45=9eY|LbNl|{yYXc^zssCaK~jW8-)8oX&Fm6qtE(B*;AUY_1{AUd zq5~QCZZjL;b_H1H8^%X(7~MYKlWXwA;aI2z>HGre{06hWe`D~$>L-Ldsv9h-8!qnI z&YmEI>2-uM#v?bGfvD%%UR#FA=ph7Gw&SP7m+yrS_UFC+7X3Z>d-Z?DNBbD<|2{XF Ua4KsaFg6)HUHx3vIVCg!06V+6%>V!Z diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_side.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_side.png deleted file mode 100644 index a7ccf2d4c42a100b23ed9c5b684de5d184f852cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVBGKN;uumf=k2Y9K~8}ZZWo&u z&s-uln{DNu|Hc8jF5SsW(K3DoYwk%)+{tG3w4Y)-?Q^c&vCpp+UVr=ZJad0-^e@); z?U&E}{g(AUogqEG{da48VN~Jkx|kRL^8Q=e=ZF0<`rp9th($oX!GiG!r-C0tAybF2 z!yLF!?iA4g=d0KsEBtN|C$`^xw|(4`d&LHm;cBpG<5V~&2Sf=b@82@cz->BM z=QoDJZw!ko^Z5^`;BW-gg3at5o7pAKR#!8qVRb9Q9kvd0Y!77IyUlEX5X0)+H;j+o zFuHxdC)ePK?sHU~>HGre{06hWe`D}L4IpG?&yp{^Ki+6>y=F(Lyzopr0Pk?KCjbBd diff --git a/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_side_active.png b/src/main/resources/nexo/pack/assets/atlas/textures/block/obsidian_generator_side_active.png deleted file mode 100644 index 687b8e7170ab9efd0788eb0aae14aad3a1923c20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 513 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU_9aJ;uumf=j|;+FK0&yw~I$Q z@>H4_Z#QUPJQ}fk#v7Lnyb&{ceH1;G6)>*n{5UT-vvf11i{j4^zg}v6&r+B+gb>GpJz(5=_}=(+__nwtQip{kZJ; hzml!r|1lr=%ar=gDXdC-0pz?e(+o8Q)(!zq4gGMplJI;~U0DZy4P^-;-f<2e&i8I;$Hjsv9ou+0LFIgu}H^3vMzWxyjt~Y_BcDWUQWoyW^ak!a2DF zllN~KXTZe}en%Gi#!&c;VR2BAc8B)vt#>PBlBZx>G8F{4=;ZIm+43?Bd@H6 Vi&*)|&%o$p@O1TaS?83{1OSE^vW;uumf=k2Y9fzFN+ZWmh| z_bOfJ^kBcZWulr!v)Uy$6ImAlU%}Ng*DPpAH+ncv+2JpLG5hBG-*(I?lin2f-u~FT zUwgkXpMJZcyuS98+uJ|6S8OmDT_vjKb8-sj6tV@P0~z;jGaKOc z7+B{U#z$`$-9F!wYw*P3f2alN`~vCx2D83@WAMQmOkictvLF04%y`Q_?RMh(f4{bT e|HpjfFO#&DH!I_fMh9TbGI+ZBxvX