- Patch worldportal-neoforge-0.0.10+1.21: remove EntityLMixin (priority 750
@WrapOperation getRelativePortalPosition) which conflicts with sable
EntityMixin @Overwrite (priority 1000). Keeps other 10 mixins
(EntityMixin, PortalForcerLMixin, etc.) so Void Dimension portals still
work. IPSable 0.5.0 only fixes Entity::collide, not this method, so
worldportal must be patched directly. Patched jar at tools/patches/
with sha512 efbf5fac... and pw.toml now points to
https://git.mithraic.cloud/.../tools/patches/worldportal-...-patched.jar
(side=server, both packs).
- Add tools/pterodactyl-start.sh: correct NeoForge 21.1.248 Pterodactyl
startup for yolks:java_21 egg. Handles packwiz -s server, neoforge
installer (--installServer generates user_jvm_args.txt + unix_args.txt +
run.sh), injects {{SERVER_MEMORY}} into user_jvm_args.txt (replaces
-Xmx), and exec bash run.sh nogui (correct order
java @user_jvm_args.txt @unix_args.txt). Replaces broken
Hytale/start.sh exec java @unix_args.txt (missing user_jvm_args,
hardcoded -Xms128M, no nogui, no run.sh, wrong CWD).
- Also fixed Hytale/start.sh to delegate to new script.
- Remove worldportal (redundant: IP 6.0.7 + Dimensional Doors already provide
portal mechanics; zero lore/story impact — not referenced anywhere in the
pack's KubeJS scripts, advancements, datapacks, or story files)
- Swap Sodium 0.8.13-beta.2 → Embeddium 1.0.15 (NeoForge-native fork with
better mod compatibility; resolves the mixin conflict with sable 2.0.5)
- Root cause: worldportal EntityLMixin (priority 750) and sable EntityMixin
(priority 1000) both inject into Entity::getRelativePortalPosition. Sable is
required by Create Aeronautics; worldportal was the redundant mod.
- Verified: all 16 Create addons at latest versions, pack validates (140 client
/ 131 server mods), story generation OK (57 keys)