From e800fde2ca4bbd5753160f9b4d77d94459d8a35a Mon Sep 17 00:00:00 2001 From: kisakay Date: Sun, 18 Oct 2026 21:33:51 +0200 Subject: [PATCH] =?UTF-8?q?nosingleplayer=201.1.2:=20fond=20via=20Redirect?= =?UTF-8?q?=20appel=20(extractPanorama=20h=C3=A9rit=C3=A9=20de=20Screen)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- atlas/root/distribution.json | 8 +++---- ...yer-1.1.1.jar => nosingleplayer-1.1.2.jar} | Bin 2292688 -> 2292471 bytes mods/nosingleplayer/gradle.properties | 2 +- .../mixin/TitleScreenRenderMixin.java | 20 ++++++------------ sync-mods.sh | 4 ++-- 5 files changed, 13 insertions(+), 21 deletions(-) rename atlas/root/servers/SurviePote-26.3/fabricmods/required/{nosingleplayer-1.1.1.jar => nosingleplayer-1.1.2.jar} (99%) diff --git a/atlas/root/distribution.json b/atlas/root/distribution.json index 85a057d..cdf4df3 100644 --- a/atlas/root/distribution.json +++ b/atlas/root/distribution.json @@ -402,13 +402,13 @@ } }, { - "id": "fr.surviepote:nosingleplayer:1.1.1@jar", + "id": "fr.surviepote:nosingleplayer:1.1.2@jar", "name": "NoSingleplayer (SurviePote)", "type": "FabricMod", "artifact": { - "size": 2292688, - "url": "https://git.kisakay.com/k/mc/raw/branch/main/atlas/root/servers/SurviePote-26.3/fabricmods/required/nosingleplayer-1.1.1.jar", - "MD5": "8778f7015b2c2dd2655c0b4d5c8e8b00" + "size": 2292471, + "url": "https://git.kisakay.com/k/mc/raw/branch/main/atlas/root/servers/SurviePote-26.3/fabricmods/required/nosingleplayer-1.1.2.jar", + "MD5": "2ba50ec99adb670cdb34fe41b0e3d7dd" } }, { diff --git a/atlas/root/servers/SurviePote-26.3/fabricmods/required/nosingleplayer-1.1.1.jar b/atlas/root/servers/SurviePote-26.3/fabricmods/required/nosingleplayer-1.1.2.jar similarity index 99% rename from atlas/root/servers/SurviePote-26.3/fabricmods/required/nosingleplayer-1.1.1.jar rename to atlas/root/servers/SurviePote-26.3/fabricmods/required/nosingleplayer-1.1.2.jar index b7f0c433d2268cd907afdde9b0534bc7855fdf57..f3a20686a1c9b626c05bd3fec093d804f2c87106 100644 GIT binary patch delta 2209 zcmcccy_@m-*KWoQs-j$KT^~F|I4eueY0Ip<&sC*1Sj*u2ZHwXRVN&CgQi^ZvEba7vhB%zGG1==Q&tVmt<7G z;m8`J0+Z%siG&xb4@+OpcvsxUt&+84TiR}a(H&h!>qWzT&u*@WD6Ng|{^?P}as0By z#DfNYlMa@58}Lk;d32YK)E%K`yG#zBJrN%J@|Q((u-C-^k2oT1kRo>dOK;FO$IP`8_8u-+dvkZhDd9WYP2PE) z&FEfv=8J&wB zaz8wB>fP$xwug_R7OqJT5BI9S+52;6Yjt<))UBz9Oz%xHh-b;WYwoh(rJAM2>YyJY zU(Xv(JeI;H{_*H-r@+5;eQ#oqqYs zJo4Sa)V9U>ZOhoD4rgd=J8aeI?x20ABJA_sUCDlxerx&TA9+cI8}Ddazhc$B-13;6SYOvEEc0sC9&g^@XZu3l_nuAJp~-na z=ilDdQxp2%dG<+vRVaD;^KOsfht6-wZmDJ+TUgJoiq3u^%W6G)w$5bf#to}@g6Bpq zTB!DoEB^HbgR{Z?zZX6U^OQQT5p4PEGD~tu#AWtp(NQ&2&$y&MYf9;Dr8^~> zan8Ixg+1N%A-pJMew+~Xe9FEn)3n4ct=69&{w}qXW2b-f>S`}5}&!L2OkmrO6u)^q;K5NlF%!oP~!&i$tkcfE;yc}M2x$I3r~ zUST_5t$us1^v(J7<%T_bE$#{(X?ieCc1;fF{9RKNb7tOnwZXSOD|uyV_*q@$dH(OO zS5)<^x*fPGqwUTwhtI26?^G$s?NO66`tz;P>VNx%<8j~aC>;Co>}q(=vU$qlXRn_nI%$Hj0^EU2}@Eg}7b*m5Z@H{ZHH8x~^W*|RT{{f%v z)DQ1VuKB+HqP?WNAceiz_~i8`?#3&<^$kA>r3-id`}gokLDmNew(9vMZyy|*H&;>R zrKQ{S8-;UJ#7%b{(3owWyq9-&*C{3Ohck{TOZ!D`S4hm= z9P7bjKjEi~i>*?@NoS^?6JH$vv6AsgVaiV42{V`7Fk!xVU~;X)54{OqBGRraD`d^g z*zW#6d)G*^dkfQF=jm>$kX=CR$fd6rC(f{b?Q*-DZ-w~0i9A)gM=comFKo7G zT;+AOHpZH-^M~61n4KEST$x3@_8xDaF2x`ZavJuB=H`3y?f2vv+waLUwcnFx zZoenb(tb~#wf&wvTl+nE_V#=79PRhyIot2abG6@-=Wf3z&(nTSp11v;JYV}gdH(i$ z@&fJmNlbGV64spGsQH zOqnc`8iyGClle<^7(S3!6R)46^tX)*7F@xp&A V=`sI-@mBm+Qex|Puf)K>002X1^0oi~ delta 2363 zcmezVwVUz6_in}ws-j$bCM7UFV`X4?%s*LQ)U7@|GFmuXqR#)sAtBd*EqbvoTN(}p zY~5nkrNq{ulpxgPtt+Rd{_sGG+BqMFw`JGkFH67u956rb3;P%MuP@8bwHy^_^w{~J z#`u2Gz5MxqKEIEzXZCn>J*?$|h_gi>$0DBN(|&51>*R^|&ODl$_>1S_>`T-BaX1I( z$FCDTo6)(j-n7q5bzZ@pMGvRS?$$VUZdQToy$5k8HBOdhN?!_NTaqlTwtbCj-a3io zP^DCHnN2xGw?)FV`yOQQye*V*W*--oV;WO^GZHqnxZ+ott z+V<|=zLk4Tg%NfWWzj=?J+>k1C3hJWzl_ncw4Us%cSlyX+F;_mnX}bmY)v_fTc3x-1Xs9e`SYD> z647)0%f*%?(R28~g?6XFH6G1Q77sstnq;!~$*%WBm&;??J}gpQ8TM(fyl``K{R8i% z$BqZTTCab-XEl%eeSTl#b;fhP9^DnMSjrnBT6eKjtE_HAj(D_TPkz!5vp(q`eXFwm zYfJix#4I;C>wQSOIJoE5&&YLLuj}4lDZ8CkGd)42Z2!vK$-CkV=lF%cSg2BTX>zw% zY?8HIcNaHJ>N&i z1^hcU$ELLWx5&e}>!ygc&VI_$zANq2!nTuz;j5m%I=x}P3TJ%MtHrCQCd|Ke?ajxq zl*(zh`%Zh$S$HS9{z%P=KSGbI*|O#zoblrH#W_N^x8|5sSofYVDz81cc8y86#*fE5 zior&AtVHT{+72?mT5jUXb#c;%>2qwJZhUpF%*T1otYv3I6qdNg?Q%T3-n{PZyQqvE5nCTW&w4aZ?2cBY@#;fM8BaX8uH$@kO>jWt zwJnRonk0MvWmTHqbKJ$5Q=i&(?DJdaxbq)wE9(B?Z{(}V+UMDHFugF_ZT-cP|A?A?r`w*D1{e>~KrvfoJ5rM<9S z!MAn7HLm%~`A-U*eX8~=XPLj}t*@L_U6(2+pEKUkD){KWnpKOn>7I+Sdv?FC|9D06 z;{W3>PA-^yQS#+~;Wxcv`@=<CC4&D=XqL7?jD(~`s<>x0e@!7i#^Rcd*^GzU`qW#J7YlSo?YPx$O5JzRK_T;WqmY+jZCLKcxy-SC_~w-JZQ_ z)rl>grF$-IJ^ew-{^4}%<^P!jyqQ@<7#KJ>7#J8F8P06(ld@oDy?$Y6L)(QFE8_Yr=qe`+CqMfB*|Hn$I0ZK7l6P~M2dj7jxZRPi)TNm>`iuy2riBXa8CD&Ppdu58MC+!RJ_P-Tz zRqcGp_jhGV%FBx_HCwwa7k|qNE&Dm=?9;3In**Cyb=};0BGv8pMSf7|P2c}nNvc^{ zzFk?Kv0Yi7sa;u~xm{VFrCnK`wOv`BtzB83y1yIonHr(Ic| zw_RDDuU%Q5zg<~gpj}yBuw7YRs9jlJxLsLZq+MBFv|U+VtX)}Nyj@vdqFq^DvRzqT zs$E%Lx?Ndbrd?THwq03Xu3cFkWVb@Qvb^GUWqGBEmyzo9>H9t@)iOm%PrvX<$zXc! zXC-+^vfT6)pOvhc?#WM9l$V*#_(e&J>8iqX-7iYUjDMyleo?Yx(p8+k z@Qac&Qwo@toP0omXFB&+B`u~EU;**zAHFHEP7el&JVJM2Qx;MAW=rp&UZC8sBzk`$l5 z^MjJW^n`CpJkx$D@i7ITo-Xi9$(v~sm{y!#_e)8S=_-_S{+E&xTjB>L1_lNI2TV!f diff --git a/mods/nosingleplayer/gradle.properties b/mods/nosingleplayer/gradle.properties index bba488e..e7c3c26 100644 --- a/mods/nosingleplayer/gradle.properties +++ b/mods/nosingleplayer/gradle.properties @@ -5,7 +5,7 @@ loader_version=0.20.0 loom_version=1.19.1 # Mod Properties -mod_version=1.1.1 +mod_version=1.1.2 maven_group=fr.surviepote archives_base_name=nosingleplayer diff --git a/mods/nosingleplayer/src/main/java/fr/surviepote/nosingleplayer/mixin/TitleScreenRenderMixin.java b/mods/nosingleplayer/src/main/java/fr/surviepote/nosingleplayer/mixin/TitleScreenRenderMixin.java index 04f4e74..edaf3a0 100644 --- a/mods/nosingleplayer/src/main/java/fr/surviepote/nosingleplayer/mixin/TitleScreenRenderMixin.java +++ b/mods/nosingleplayer/src/main/java/fr/surviepote/nosingleplayer/mixin/TitleScreenRenderMixin.java @@ -10,9 +10,7 @@ import net.minecraft.resources.Identifier; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(TitleScreen.class) public abstract class TitleScreenRenderMixin { @@ -27,19 +25,13 @@ public abstract class TitleScreenRenderMixin { @Unique private static final int BACKGROUND_TEX_H = 2400; - // Pas de panorama dynamique : fond statique. - @Inject(method = "extractPanorama", at = @At("HEAD"), cancellable = true) - private void surviepote$skipPanorama(GuiGraphicsExtractor extractor, float partialTick, CallbackInfo ci) { - ci.cancel(); - } - - // Fond plein écran dessiné à la place du panorama (avant widgets/logo/textes). - @Inject(method = "extractRenderState", + // Pas de panorama dynamique : fond statique custom à la place. + // Note : extractPanorama est déclarée dans Screen (héritée), on redirige donc + // l'APPEL dans TitleScreen plutôt que la méthode elle-même. + @Redirect(method = "extractRenderState", at = @At(value = "INVOKE", - target = "Lnet/minecraft/client/gui/screens/TitleScreen;extractPanorama(Lnet/minecraft/client/gui/GuiGraphicsExtractor;F)V", - shift = At.Shift.AFTER)) - private void surviepote$drawBackground(GuiGraphicsExtractor extractor, int mouseX, int mouseY, float partialTick, - CallbackInfo ci) { + target = "Lnet/minecraft/client/gui/screens/TitleScreen;extractPanorama(Lnet/minecraft/client/gui/GuiGraphicsExtractor;F)V")) + private void surviepote$customBackground(TitleScreen self, GuiGraphicsExtractor extractor, float partialTick) { int w = Minecraft.getInstance().getWindow().getGuiScaledWidth(); int h = Minecraft.getInstance().getWindow().getGuiScaledHeight(); extractor.blit(RenderPipelines.GUI_TEXTURED, SURVIEPOTE_BACKGROUND, 0, 0, 0.0F, 0.0F, diff --git a/sync-mods.sh b/sync-mods.sh index 76ed845..7aa6595 100755 --- a/sync-mods.sh +++ b/sync-mods.sh @@ -54,10 +54,10 @@ cp -u "$HOME/.local/share/PrismLauncher/instances/26.3/minecraft/resourcepacks/F cp -u "$HOME/.local/share/PrismLauncher/instances/26.3/minecraft/shaderpacks/Revelation-dev.zip" "atlas/root/servers/SurviePote-26.3/files/shaderpacks/" 2>/dev/null || true echo "== mod maison nosingleplayer (build si besoin) ==" -if [ ! -f mods/nosingleplayer/build/libs/nosingleplayer-1.1.1.jar ]; then +if [ ! -f mods/nosingleplayer/build/libs/nosingleplayer-1.1.2.jar ]; then (cd mods/nosingleplayer && ./gradlew build 2>&1 | tail -n 2) || echo "BUILD nosingleplayer échoué (réseau/gradle requis)" fi -cp -u mods/nosingleplayer/build/libs/nosingleplayer-1.1.1.jar "$ATLAS_MODS/" 2>/dev/null || true +cp -u mods/nosingleplayer/build/libs/nosingleplayer-1.1.2.jar "$ATLAS_MODS/" 2>/dev/null || true # Note : environment=client (menu titre), inutile côté serveur. echo "== regen distribution.json =="