From be9f7b85c162cf106dadf5669541a6da1e7ac09c Mon Sep 17 00:00:00 2001 From: Christopher Bohn Date: Sun, 16 Jun 2024 22:41:33 -0700 Subject: [PATCH] Update Forge/NeoForge to 1.21 --- forge/build.gradle.kts | 4 ++-- .../org/popcraft/chunkyborder/ChunkyBorderForge.java | 2 +- .../chunkyborder/mixin/client/LevelRendererMixin.java | 11 +++++++---- forge/src/main/resources/META-INF/mods.toml | 4 ++-- neoforge/build.gradle.kts | 4 ++-- .../popcraft/chunkyborder/ChunkyBorderNeoForge.java | 4 ++-- .../chunkyborder/mixin/client/LevelRendererMixin.java | 11 +++++++---- .../popcraft/chunkyborder/packet/BorderPayload.java | 3 ++- .../src/main/resources/META-INF/neoforge.mods.toml | 4 ++-- 9 files changed, 27 insertions(+), 20 deletions(-) diff --git a/forge/build.gradle.kts b/forge/build.gradle.kts index 3a64ba5..119741c 100644 --- a/forge/build.gradle.kts +++ b/forge/build.gradle.kts @@ -14,9 +14,9 @@ repositories { } dependencies { - minecraft(group = "com.mojang", name = "minecraft", version = "1.20.6") + minecraft(group = "com.mojang", name = "minecraft", version = "1.21") mappings(loom.officialMojangMappings()) - forge(group = "net.minecraftforge", name = "forge", version = "1.20.6-50.0.30") + forge(group = "net.minecraftforge", name = "forge", version = "1.21-51.0.8") modImplementation(group = "org.popcraft", name = "chunky-forge", version = "${project.property("target")}") compileOnly(group = "us.dynmap", name = "DynmapCoreAPI", version = "${project.property("target_dynmap")}") compileOnly(group = "com.github.BlueMap-Minecraft", name = "BlueMapAPI", version = "${project.property("target_bluemap")}") diff --git a/forge/src/main/java/org/popcraft/chunkyborder/ChunkyBorderForge.java b/forge/src/main/java/org/popcraft/chunkyborder/ChunkyBorderForge.java index 25bcd29..919f09e 100644 --- a/forge/src/main/java/org/popcraft/chunkyborder/ChunkyBorderForge.java +++ b/forge/src/main/java/org/popcraft/chunkyborder/ChunkyBorderForge.java @@ -50,7 +50,7 @@ @Mod(ChunkyBorderForge.MOD_ID) public class ChunkyBorderForge { public static final String MOD_ID = "chunkyborder"; - private static final ResourceLocation PLAY_BORDER_PACKET_ID = new ResourceLocation("chunky", "border"); + private static final ResourceLocation PLAY_BORDER_PACKET_ID = ResourceLocation.fromNamespaceAndPath("chunky", "border"); public static final Channel PLAY_BORDER_CHANNEL = ChannelBuilder.named(PLAY_BORDER_PACKET_ID) .optional() .payloadChannel() diff --git a/forge/src/main/java/org/popcraft/chunkyborder/mixin/client/LevelRendererMixin.java b/forge/src/main/java/org/popcraft/chunkyborder/mixin/client/LevelRendererMixin.java index 74c19b3..e1e7580 100644 --- a/forge/src/main/java/org/popcraft/chunkyborder/mixin/client/LevelRendererMixin.java +++ b/forge/src/main/java/org/popcraft/chunkyborder/mixin/client/LevelRendererMixin.java @@ -5,6 +5,7 @@ import com.mojang.blaze3d.vertex.BufferBuilder; import com.mojang.blaze3d.vertex.BufferUploader; import com.mojang.blaze3d.vertex.DefaultVertexFormat; +import com.mojang.blaze3d.vertex.MeshData; import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.blaze3d.vertex.VertexFormat; import net.minecraft.Util; @@ -48,7 +49,6 @@ private void renderWorldBorder(final Camera camera, final CallbackInfo ci) { if (borderShape == null) { return; } - final BufferBuilder bufferBuilder = Tesselator.getInstance().getBuilder(); final double renderDistanceBlocks = this.minecraft.options.getEffectiveRenderDistance() * 16D; final double posX = camera.getPosition().x; final double posZ = camera.getPosition().z; @@ -97,7 +97,7 @@ private void renderWorldBorder(final Camera camera, final CallbackInfo ci) { RenderSystem.disableCull(); final float offset = (Util.getMillis() % 3000L) / 3000.0F; float textureVertical = (float) (height - Mth.frac(camera.getPosition().y)); - bufferBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + final BufferBuilder bufferBuilder = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); final float textureSize = 0.5F; if (borderShape instanceof final PolygonBorderShape polygon) { final double[] pointsX = polygon.getPointsX(); @@ -197,7 +197,10 @@ private void renderWorldBorder(final Camera camera, final CallbackInfo ci) { b += angle; } } - BufferUploader.drawWithShader(bufferBuilder.end()); + final MeshData meshdata = bufferBuilder.build(); + if (meshdata != null) { + BufferUploader.drawWithShader(meshdata); + } RenderSystem.enableCull(); RenderSystem.polygonOffset(0.0F, 0.0F); RenderSystem.disablePolygonOffset(); @@ -223,6 +226,6 @@ private void addWall(final BufferBuilder bufferBuilder, final double height, fin } private void addVertex(final BufferBuilder bufferBuilder, final double height, final double x1, final double z1, final double x2, final double z2, final float u, final float v) { - bufferBuilder.vertex(x2 - x1, height, z2 - z1).uv(u, v).endVertex(); + bufferBuilder.addVertex((float) (x2 - x1), (float) height, (float) (z2 - z1)).setUv(u, v); } } diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index 42b293b..d65e940 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -13,13 +13,13 @@ description="${description}" [[dependencies.chunkyborder]] modId="forge" mandatory=true - versionRange="[50,)" + versionRange="[51,)" ordering="NONE" side="BOTH" [[dependencies.chunkyborder]] modId="minecraft" mandatory=true - versionRange="[1.20.5,1.21)" + versionRange="[1.21,1.22)" ordering="NONE" side="BOTH" [[dependencies.chunkyborder]] diff --git a/neoforge/build.gradle.kts b/neoforge/build.gradle.kts index a5952e1..939c4be 100644 --- a/neoforge/build.gradle.kts +++ b/neoforge/build.gradle.kts @@ -15,9 +15,9 @@ repositories { } dependencies { - minecraft(group = "com.mojang", name = "minecraft", version = "1.20.5") + minecraft(group = "com.mojang", name = "minecraft", version = "1.21") mappings(loom.officialMojangMappings()) - neoForge(group = "net.neoforged", name = "neoforge", version = "20.5.5-beta") + neoForge(group = "net.neoforged", name = "neoforge", version = "21.0.14-beta") modImplementation(group = "org.popcraft", name = "chunky-neoforge", version = "${project.property("target")}") compileOnly(group = "us.dynmap", name = "DynmapCoreAPI", version = "${project.property("target_dynmap")}") compileOnly(group = "com.github.BlueMap-Minecraft", name = "BlueMapAPI", version = "${project.property("target_bluemap")}") diff --git a/neoforge/src/main/java/org/popcraft/chunkyborder/ChunkyBorderNeoForge.java b/neoforge/src/main/java/org/popcraft/chunkyborder/ChunkyBorderNeoForge.java index f5ec6a8..c7cce61 100644 --- a/neoforge/src/main/java/org/popcraft/chunkyborder/ChunkyBorderNeoForge.java +++ b/neoforge/src/main/java/org/popcraft/chunkyborder/ChunkyBorderNeoForge.java @@ -13,10 +13,10 @@ import net.neoforged.fml.common.Mod; import net.neoforged.fml.loading.FMLPaths; import net.neoforged.neoforge.common.NeoForge; -import net.neoforged.neoforge.event.TickEvent; import net.neoforged.neoforge.event.entity.EntityJoinLevelEvent; import net.neoforged.neoforge.event.server.ServerStartedEvent; import net.neoforged.neoforge.event.server.ServerStoppingEvent; +import net.neoforged.neoforge.event.tick.ServerTickEvent; import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent; import org.joml.Vector3f; import org.popcraft.chunky.Chunky; @@ -115,7 +115,7 @@ public void onServerStopping(final ServerStoppingEvent event) { } @SubscribeEvent - public void onServerTick(final TickEvent.ServerTickEvent event) { + public void onServerTick(final ServerTickEvent.Post event) { if (!initialized) { return; } diff --git a/neoforge/src/main/java/org/popcraft/chunkyborder/mixin/client/LevelRendererMixin.java b/neoforge/src/main/java/org/popcraft/chunkyborder/mixin/client/LevelRendererMixin.java index a8541df..b590004 100644 --- a/neoforge/src/main/java/org/popcraft/chunkyborder/mixin/client/LevelRendererMixin.java +++ b/neoforge/src/main/java/org/popcraft/chunkyborder/mixin/client/LevelRendererMixin.java @@ -5,6 +5,7 @@ import com.mojang.blaze3d.vertex.BufferBuilder; import com.mojang.blaze3d.vertex.BufferUploader; import com.mojang.blaze3d.vertex.DefaultVertexFormat; +import com.mojang.blaze3d.vertex.MeshData; import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.blaze3d.vertex.VertexFormat; import net.minecraft.Util; @@ -48,7 +49,6 @@ private void renderWorldBorder(final Camera camera, final CallbackInfo ci) { if (borderShape == null) { return; } - final BufferBuilder bufferBuilder = Tesselator.getInstance().getBuilder(); final double renderDistanceBlocks = this.minecraft.options.getEffectiveRenderDistance() * 16D; final double posX = camera.getPosition().x; final double posZ = camera.getPosition().z; @@ -97,7 +97,7 @@ private void renderWorldBorder(final Camera camera, final CallbackInfo ci) { RenderSystem.disableCull(); final float offset = (Util.getMillis() % 3000L) / 3000.0F; float textureVertical = (float) (height - Mth.frac(camera.getPosition().y)); - bufferBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); + final BufferBuilder bufferBuilder = Tesselator.getInstance().begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX); final float textureSize = 0.5F; if (borderShape instanceof final PolygonBorderShape polygon) { final double[] pointsX = polygon.getPointsX(); @@ -197,7 +197,10 @@ private void renderWorldBorder(final Camera camera, final CallbackInfo ci) { b += angle; } } - BufferUploader.drawWithShader(bufferBuilder.end()); + final MeshData meshdata = bufferBuilder.build(); + if (meshdata != null) { + BufferUploader.drawWithShader(meshdata); + } RenderSystem.enableCull(); RenderSystem.polygonOffset(0.0F, 0.0F); RenderSystem.disablePolygonOffset(); @@ -223,6 +226,6 @@ private void addWall(final BufferBuilder bufferBuilder, final double height, fin } private void addVertex(final BufferBuilder bufferBuilder, final double height, final double x1, final double z1, final double x2, final double z2, final float u, final float v) { - bufferBuilder.vertex(x2 - x1, height, z2 - z1).uv(u, v).endVertex(); + bufferBuilder.addVertex((float) (x2 - x1), (float) height, (float) (z2 - z1)).setUv(u, v); } } diff --git a/neoforge/src/main/java/org/popcraft/chunkyborder/packet/BorderPayload.java b/neoforge/src/main/java/org/popcraft/chunkyborder/packet/BorderPayload.java index 2b59b73..252b807 100644 --- a/neoforge/src/main/java/org/popcraft/chunkyborder/packet/BorderPayload.java +++ b/neoforge/src/main/java/org/popcraft/chunkyborder/packet/BorderPayload.java @@ -3,6 +3,7 @@ import io.netty.buffer.ByteBuf; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.ResourceLocation; import org.jetbrains.annotations.NotNull; import org.popcraft.chunky.platform.World; import org.popcraft.chunky.shape.Shape; @@ -10,7 +11,7 @@ import org.popcraft.chunkyborder.util.PluginMessage; public class BorderPayload implements CustomPacketPayload { - public static final CustomPacketPayload.Type ID = CustomPacketPayload.createType("chunky:border"); + public static final CustomPacketPayload.Type ID = new CustomPacketPayload.Type<>(ResourceLocation.parse("chunky:border")); private World world; private Shape shape; private ClientBorder border; diff --git a/neoforge/src/main/resources/META-INF/neoforge.mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml index 7896129..5accb75 100644 --- a/neoforge/src/main/resources/META-INF/neoforge.mods.toml +++ b/neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -13,13 +13,13 @@ description="${description}" [[dependencies.chunkyborder]] modId="neoforge" mandatory=true - versionRange="[20.5-beta,)" + versionRange="[21.0-beta,)" ordering="NONE" side="BOTH" [[dependencies.chunkyborder]] modId="minecraft" mandatory=true - versionRange="[1.20.5,1.21)" + versionRange="[1.21,1.22)" ordering="NONE" side="BOTH" [[dependencies.chunkyborder]]