Skip to content

1.21.11 Port#109

Open
emyfops wants to merge 4 commits intojlortiz0:fabric-1.21.4from
emyfops:fabric-1.21.11
Open

1.21.11 Port#109
emyfops wants to merge 4 commits intojlortiz0:fabric-1.21.4from
emyfops:fabric-1.21.11

Conversation

@emyfops
Copy link
Copy Markdown

@emyfops emyfops commented Feb 15, 2026

I've ported the 1.21.8 to 1.21.11. We will have to wait for Accessory and owo-lib to have stable releases.

(ps; use the github copy button instead of selecting, this might corrupt the patch)

HOW TO COMPILE

  1. owo-lib 1.21.11 (this commit is different from the beta release)
Index: build.gradle
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/build.gradle b/build.gradle
--- a/build.gradle
+++ b/build.gradle	(date 1771110896672)
@@ -60,12 +60,6 @@
         withSourcesJar()
     }
 
-    jar {
-        from("LICENSE") {
-            rename { "${it}_${project.archivesBaseName}" }
-        }
-    }
-
     publishing {
         publications {
             mavenJava(MavenPublication) {

  • Publish to the local maven repo (gradle publishToMavenLocal)
  1. Accessories 1.21.11 (from this pull request Port Accessories to Minecraft 1.21.11 (Fabric) wisp-forest/accessories#361)
Index: libs.versions.toml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/libs.versions.toml b/libs.versions.toml
--- a/libs.versions.toml
+++ b/libs.versions.toml	(date 1771120294236)
@@ -30,7 +30,7 @@
 
 mixinextras = "0.5.0"
 
-modmenu = "1.21.11"        # local build for 1.21.11
+modmenu = "17.0.0-beta.2"
 
 endec         = "0.1.11"
 endec_netty   = "0.1.5"
@@ -38,7 +38,7 @@
 endec_jankson = "0.1.6"
 
 owo_fabric   = "0.12.24+1.21.11"
-owo_neoforge = "0.12.27+1.21.11"
+owo_neoforge = "0.12.24+1.21.11"
 
 owo_fabric_range   = ">=0.12.24+1.21.11"
 owo_neoforge_range = "[0.12.27+1.21.11,)"
@@ -97,7 +97,7 @@
 
 # Fabric
 
-owolib_fabric = { module = "io.wispforest:owo-lib", version.ref = "owo_fabric" }
+owolib_fabric = { module = "io.wispforest:owo-lib-453b41e482b5692e5194dd69fb61b57db324468b", version.ref = "owo_fabric" }
 
 fabric_api = { module = "net.fabricmc.fabric-api:fabric-api", version.ref = "fabric_api" }
 
@@ -117,7 +117,7 @@
 
 # Neoforge
 
-owolib_neo = { module = "io.wispforest:owo-lib-neoforge", version.ref = "owo_neoforge" }
+owolib_neo = { module = "io.wispforest:owo-lib-453b41e482b5692e5194dd69fb61b57db324468b-neoforge", version.ref = "owo_neoforge" }
 
 neoforge = { module = "net.neoforged:neoforge", version.ref = "neoforge" }
 

  • Publish to the local maven repo (gradle publishToMavenLocal)
  1. Compile this port

Make sure you also put accessory and owo-lib in your mod folder.

@emyfops
Copy link
Copy Markdown
Author

emyfops commented Feb 15, 2026

I had used some parts from #79 for this. But most of the code was rewritten by hand.

@emyfops
Copy link
Copy Markdown
Author

emyfops commented Feb 16, 2026

There seems to be an issue where the pet sees the baby turtle not invisible while everyone else doesn't see it. Im not sure what may cause this as in the code the turtle is clearly being made invisible

@FAWSInkChicken
Copy link
Copy Markdown

I built this code today to use on a server but I encountered a bug where leashing a player or mob, putting that leash onto a fence post and then try and take it off the fence post crashes the game. Now I'm not sure why this happens but the server doesn't crash and it only affects whoever tries to unleash the leashed player/mob. This occurs in singleplayer worlds as well and removing all other mods except for accessories, owolib and the collar mod still creates the same issue.
latest.log

@emyfops
Copy link
Copy Markdown
Author

emyfops commented Feb 17, 2026

@FAWSInkChicken I have remapped the stacktrace by hand for readability. If you are a developer you could check yourself. I will look into this when I have time. I am currently in my finals for this college session and would like some time for myself.

java.lang.ClassCastException: class net.minecraft.ClientPlayerEntity cannot be cast to class org.jlortiz.playercollars.leash.LeashImpl (net.minecraft.ClientPlayerEntity and org.jlortiz.playercollars.leash.LeashImpl are in unnamed module of loader 'knot' @646007f4)
	at knot//net.minecraft.LeashKnotEntity.handler$egb000$playercollars$preventBreakKnot(LeashKnotEntity.java:1020)
	at knot//net.minecraft.LeashKnotEntity.interact(LeashKnotEntity.java)
	at knot//net.minecraft.PlayerEntity.interact(PlayerEntity.java:930)
	at knot//net.minecraft.ClientPlayerInteractionManager.interactEntity(ClientPlayerInteractionManager.java:434)
	at knot//net.minecraft.MinecraftClient.doItemUse(MinecraftClient.java:1815)
	at knot//net.minecraft.MinecraftClient.handleInputEvents(MinecraftClient.java:2101)
	at knot//net.minecraft.MinecraftClient.tick(MinecraftClient.java:1925)
	at knot//net.minecraft.MinecraftClient.render(MinecraftClient.java:1354)
	at knot//net.minecraft.MinecraftClient.run(MinecraftClient.java:966)
	at knot//net.minecraft.client.main.Main.main(Main.java:250)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:514)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:72)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at com.modrinth.theseus.MinecraftLaunch.relaunch(MinecraftLaunch.java:63)
	at com.modrinth.theseus.MinecraftLaunch.main(MinecraftLaunch.java:28)
[20:28:53] [Server thread/ERROR]: Failed to handle packet net.minecraft.PlayerInteractEntityC2SPacket@774d1df, suppressing error
java.lang.NullPointerException: Cannot invoke "net.minecraft.Entity.equals(Object)" because "holder" is null
	at knot//net.minecraft.LeashKnotEntity.handler$egb000$playercollars$preventBreakKnot(LeashKnotEntity.java:1021)
	at knot//net.minecraft.LeashKnotEntity.interact(LeashKnotEntity.java)
	at knot//net.minecraft.PlayerEntity.interact(PlayerEntity.java:930)
	at knot//net.minecraft.ServerPlayNetworkHandler$1.processInteract(ServerPlayNetworkHandler.java:1869)
	at knot//net.minecraft.ServerPlayNetworkHandler$1.interact(ServerPlayNetworkHandler.java:1881)
	at knot//net.minecraft.PlayerInteractEntityC2SPacket$InteractHandler.handle(PlayerInteractEntityC2SPacket.java:133)
	at knot//net.minecraft.PlayerInteractEntityC2SPacket.handle(PlayerInteractEntityC2SPacket.java:83)
	at knot//net.minecraft.ServerPlayNetworkHandler.onPlayerInteractEntity(ServerPlayNetworkHandler.java:1862)
	at knot//net.minecraft.PlayerInteractEntityC2SPacket.apply(PlayerInteractEntityC2SPacket.java:63)
	at knot//net.minecraft.PlayerInteractEntityC2SPacket.apply(PlayerInteractEntityC2SPacket.java:17)
	at knot//net.minecraft.PacketApplyBatcher$Entry.apply(PacketApplyBatcher.java:55)
	at knot//net.minecraft.PacketApplyBatcher.apply(PacketApplyBatcher.java:38)
	at knot//net.minecraft.server.MinecraftServer.processPacketsAndTick(MinecraftServer.java:1047)
	at knot//net.minecraft.IntegratedServer.processPacketsAndTick(IntegratedServer.java:100)
	at knot//net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:771)
	at knot//net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:301)
	at java.base/java.lang.Thread.run(Unknown Source)

The issue is here. I have blindly copied a mixin for #79 and did not test this feature. The pull request is not up to date with 1.21.8's changed.

@FAWSInkChicken
Copy link
Copy Markdown

@emyfops Yeah Im not really good when it comes to this stuff because this was actually my first time building a mod from source code, but I was going to try and look at it when I got home today anyways. And I completely understand needing time to yourself so I'll try my best to fix the issue on my own, good luck with your college finals!

@emyfops
Copy link
Copy Markdown
Author

emyfops commented Feb 17, 2026

@FAWSInkChicken I have some time to fix the problem in about 6 hours.

@emyfops
Copy link
Copy Markdown
Author

emyfops commented Feb 17, 2026

@FAWSInkChicken I had a bit of time to fix the issue. It was a pretty trivial one.

@FAWSInkChicken
Copy link
Copy Markdown

@emyfops Thank you, much appreciated 🙏

@solonovamax
Copy link
Copy Markdown

@emyfops not really sure why you needed to patch owo-lib there? all you're doing is removing the license file, which should not be load bearing...

@emyfops
Copy link
Copy Markdown
Author

emyfops commented Mar 5, 2026

@emyfops not really sure why you needed to patch owo-lib there? all you're doing is removing the license file, which should not be load bearing...

It wouldn't compile on my machine

@solonovamax
Copy link
Copy Markdown

solonovamax commented Mar 6, 2026

It wouldn't compile on my machine

ah right, gradle removed archiveBaseName in the 9.0 update

this is the diff you probably want for it:

From: solonovamax <solonovamax@12oclockpoint.com>
Date: Thu, 5 Mar 2026 10:08:22 -0500
Subject: [PATCH] Fix license renaming in jar task

diff --git a/build.gradle b/build.gradle
index 6c14aa82..5b9700ea 100644
--- a/build.gradle
+++ b/build.gradle
@@ -62,7 +62,7 @@ allprojects {
 
     jar {
         from("LICENSE") {
-            rename { "${it}_${project.archivesBaseName}" }
+            rename { "${it}_${project.base.archivesName.get()}" }
         }
     }
 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants