Skip to content

Port to Minecraft 1.21.11 - #103

Open
JGGroot wants to merge 1 commit into
Micalobia:stablefrom
JGGroot:port/1.21.11
Open

Port to Minecraft 1.21.11#103
JGGroot wants to merge 1 commit into
Micalobia:stablefrom
JGGroot:port/1.21.11

Conversation

@JGGroot

@JGGroot JGGroot commented Mar 15, 2026

Copy link
Copy Markdown

Ports the mod to Minecraft 1.21.11.

Changes

  • Bump all dependency versions for 1.21.11 (Fabric API 0.141.3, NeoForge 21.11.38-beta, Architectury 19.0.1, MidnightLib 1.9.2, ModMenu 17.0.0-beta.2, Parchment 2025.12.20, Fabric Loader 0.18.4)
  • Update Architectury Loom to 1.13-SNAPSHOT
  • ResourceLocation renamed to Identifier (net.minecraft.resources) - updated all imports and usages
  • Fix StatePropertiesPredicate import: critereon to criterion (Mojang fixed the typo)
  • RenderType moved to net.minecraft.client.renderer.rendertype; removed line overlay rendering as debugLineStrip no longer exists and lines() topology caused visual artifacts
  • BlockModelRotation.X0_Y0 replaced with BlockModelRotation.IDENTITY
  • Remove @MethodsReturnNonnullByDefault (removed from net.minecraft in 1.21.11)
  • DimensionType.ultraWarm() removed - replaced with Level.NETHER dimension key check in IceVerticalSlabBlock
  • Fix early-bootstrap crash: defer FullSlabs.DEFAULT (Blocks.STONE_SLAB) from static field to init() to avoid registry access before Minecraft bootstrap completes
  • Fix ambiguous generateKey(String) overload in SlabRegistry

- Bump all dependency versions for 1.21.11 (Fabric API, NeoForge, Architectury,
  MidnightLib, ModMenu, Parchment, Fabric Loader)
- Update Architectury Loom to 1.13-SNAPSHOT
- Rename ResourceLocation -> Identifier (net.minecraft.resources) per MC 1.21.11
  rename; update all imports and usages across common and fabric sources
- Fix StatePropertiesPredicate import: critereon -> criterion (typo fixed in 1.21.11)
- Move RenderType import to new package (rendertype.RenderType / rendertype.RenderTypes)
- Replace removed RenderType.debugLineStrip with RenderTypes.lines(); remove line
  overlay rendering entirely to avoid topology mismatch artifact
- Replace removed BlockModelRotation.X0_Y0 with BlockModelRotation.IDENTITY
- Remove @MethodsReturnNonnullByDefault annotation (removed from net.minecraft in 1.21.11)
- Replace removed DimensionType.ultraWarm() with Level.NETHER dimension key check
- Fix early-bootstrap crash: defer FullSlabs.DEFAULT (Blocks.STONE_SLAB) initialization
  from static field to init() to avoid registry access before bootstrap completes
- Fix ambiguous generateKey(String) overload resolution in SlabRegistry
@Micalobia

Micalobia commented Mar 17, 2026 via email

Copy link
Copy Markdown
Owner

@JGGroot

JGGroot commented Mar 17, 2026

Copy link
Copy Markdown
Author

Line render was not a necessary removal, the port worked fine without it but produced a white line artifact with an X shape when hovering over a full (2x) slab block. Removing it resolved that so the individual slabs highlight properly on hover. Been running this on my 1.21.11 server with no issues for a couple days now

image image

@TeaStrategist

Copy link
Copy Markdown

This version doesn't appear to be compatible with Mo Glass. There is a chance I could be building the mod incorrectly, I've got basically no experience in the technical side of this stuff.

---- Minecraft Crash Report ----
// Why did you do that?
Time: 2026-03-25 21:04:41
Description: Initializing game
java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'fullslabs' at 'dev.micalobia.fullslabs.fabric.FullSlabsFabric'!
at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$0(FabricLoaderImpl.java:409)
at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:407)
at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:52)
at knot//net.minecraft.class_310.(class_310.java:475)
at knot//net.minecraft.client.main.Main.main(Main.java:234)
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)
Caused by: java.lang.NoClassDefFoundError: net/wurstclient/glass/GlassSlabBlock
at knot//dev.micalobia.fullslabs.compat.fabric.FullSlabsCompatImpl.mo_glass(FullSlabsCompatImpl.java:42)
at java.base/java.util.Optional.ifPresent(Unknown Source)
at knot//dev.micalobia.fullslabs.compat.fabric.FullSlabsCompatImpl.platformInit(FullSlabsCompatImpl.java:28)
at knot//dev.micalobia.fullslabs.compat.FullSlabsCompat.platformInit(FullSlabsCompat.java)
at knot//dev.micalobia.fullslabs.compat.FullSlabsCompat.init(FullSlabsCompat.java:7)
at knot//dev.micalobia.fullslabs.FullSlabs.init(FullSlabs.java:23)
at knot//dev.micalobia.fullslabs.fabric.FullSlabsFabric.onInitialize(FullSlabsFabric.java:9)
at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:405)
... 10 more
Caused by: java.lang.ClassNotFoundException: net.wurstclient.glass.GlassSlabBlock
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:239)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 18 more

@woooferz

Copy link
Copy Markdown

This version doesn't appear to be compatible with Mo Glass. There is a chance I could be building the mod incorrectly, I've got basically no experience in the technical side of this stuff.

---- Minecraft Crash Report ---- // Why did you do that? Time: 2026-03-25 21:04:41 Description: Initializing game java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'fullslabs' at 'dev.micalobia.fullslabs.fabric.FullSlabsFabric'! at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$0(FabricLoaderImpl.java:409) at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:407) at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:52) at knot//net.minecraft.class_310.(class_310.java:475) at knot//net.minecraft.client.main.Main.main(Main.java:234) 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) Caused by: java.lang.NoClassDefFoundError: net/wurstclient/glass/GlassSlabBlock at knot//dev.micalobia.fullslabs.compat.fabric.FullSlabsCompatImpl.mo_glass(FullSlabsCompatImpl.java:42) at java.base/java.util.Optional.ifPresent(Unknown Source) at knot//dev.micalobia.fullslabs.compat.fabric.FullSlabsCompatImpl.platformInit(FullSlabsCompatImpl.java:28) at knot//dev.micalobia.fullslabs.compat.FullSlabsCompat.platformInit(FullSlabsCompat.java) at knot//dev.micalobia.fullslabs.compat.FullSlabsCompat.init(FullSlabsCompat.java:7) at knot//dev.micalobia.fullslabs.FullSlabs.init(FullSlabs.java:23) at knot//dev.micalobia.fullslabs.fabric.FullSlabsFabric.onInitialize(FullSlabsFabric.java:9) at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:405) ... 10 more Caused by: java.lang.ClassNotFoundException: net.wurstclient.glass.GlassSlabBlock at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:239) at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ... 18 more

This issue is relatively straight-forward to fix, you have to update Architectury Loom to 1.14, update Mo Glass to 1.12-MC1.21.11, and change references to net.wurstclient.glass to net.wimods.mo_glass. I have a working copy but I have no clue how to contribute to a pull request.

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.

4 participants