From bb7d5dea8190690e86f971c9d2e590b4abeac788 Mon Sep 17 00:00:00 2001 From: 3TUSK Date: Tue, 27 Aug 2024 18:01:51 -0700 Subject: [PATCH] Version bump to 0.9.3 - fix server crash --- gradle.properties | 2 +- .../voteme/network/ShowCounterPacket.java | 24 ++++++++++++------- .../voteme/network/ShowVoterPacket.java | 23 +++++++++++------- .../voteme/network/SubmitVotePacket.java | 1 - .../voteme/network/VoteMeStreamUtils.java | 1 - 5 files changed, 30 insertions(+), 21 deletions(-) diff --git a/gradle.properties b/gradle.properties index 5130254..6f578d8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -34,7 +34,7 @@ mod_name=VoteMe # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=BSD-3-Clause # The mod version. See https://semver.org/ -mod_version=0.9.2 +mod_version=0.9.3 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/main/java/org/teacon/voteme/network/ShowCounterPacket.java b/src/main/java/org/teacon/voteme/network/ShowCounterPacket.java index ddb9fab..c967b61 100644 --- a/src/main/java/org/teacon/voteme/network/ShowCounterPacket.java +++ b/src/main/java/org/teacon/voteme/network/ShowCounterPacket.java @@ -62,15 +62,7 @@ public Type type() { } public void handle(IPayloadContext context) { - if (!this.infos.isEmpty()) { - // neoforge claims this is sufficient - if (FMLEnvironment.dist == Dist.CLIENT) { - ShowCounterPacket p = ShowCounterPacket.this; - String artifactName = VoteArtifactNames.client().getName(p.artifactUUID); - CounterScreen gui = new CounterScreen(p.artifactUUID, artifactName, p.invIndex, p.category, p.infos); - context.enqueueWork(() -> Minecraft.getInstance().setScreen(gui)); - } - } + Handler.handle(this, context); } public static Optional create(int inventoryId, UUID artifactID, ResourceLocation categoryID, MinecraftServer server) { @@ -121,6 +113,20 @@ public static Optional create(int inventoryId, Consumer return Optional.empty(); } + static final class Handler { + public static void handle(ShowCounterPacket packet, IPayloadContext context) { + if (!packet.infos.isEmpty()) { + // neoforge claims this is sufficient + if (FMLEnvironment.dist == Dist.CLIENT) { + ShowCounterPacket p = packet; + String artifactName = VoteArtifactNames.client().getName(p.artifactUUID); + CounterScreen gui = new CounterScreen(p.artifactUUID, artifactName, p.invIndex, p.category, p.infos); + context.enqueueWork(() -> Minecraft.getInstance().setScreen(gui)); + } + } + } + } + @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault public static final class Info { diff --git a/src/main/java/org/teacon/voteme/network/ShowVoterPacket.java b/src/main/java/org/teacon/voteme/network/ShowVoterPacket.java index f471b2b..5e5a88d 100644 --- a/src/main/java/org/teacon/voteme/network/ShowVoterPacket.java +++ b/src/main/java/org/teacon/voteme/network/ShowVoterPacket.java @@ -66,15 +66,7 @@ public Type type() { } public void handle(IPayloadContext context) { - // forge needs a separate class - if (FMLEnvironment.dist == Dist.CLIENT) { - ShowVoterPacket p = ShowVoterPacket.this; - String artifactName = VoteArtifactNames.client().getName(p.artifactID); - if (!artifactName.isEmpty()) { - VoterScreen gui = new VoterScreen(p.artifactID, artifactName, p.infos, p.comments); - context.enqueueWork(() -> Minecraft.getInstance().setScreen(gui)); - } - }; + Handler.handle(this, context); } public static Optional create(UUID artifactID, ServerPlayer player) { @@ -101,6 +93,19 @@ public static Optional create(UUID artifactID, ServerPlayer pla return Optional.empty(); } + static final class Handler { + static void handle(ShowVoterPacket packet, IPayloadContext context) { + // forge needs a separate class + if (FMLEnvironment.dist == Dist.CLIENT) { + String artifactName = VoteArtifactNames.client().getName(packet.artifactID); + if (!artifactName.isEmpty()) { + VoterScreen gui = new VoterScreen(packet.artifactID, artifactName, packet.infos, packet.comments); + context.enqueueWork(() -> Minecraft.getInstance().setScreen(gui)); + } + }; + } + } + @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault public static final class Info { diff --git a/src/main/java/org/teacon/voteme/network/SubmitVotePacket.java b/src/main/java/org/teacon/voteme/network/SubmitVotePacket.java index 5ae859d..c0812ea 100644 --- a/src/main/java/org/teacon/voteme/network/SubmitVotePacket.java +++ b/src/main/java/org/teacon/voteme/network/SubmitVotePacket.java @@ -1,6 +1,5 @@ package org.teacon.voteme.network; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.UUIDUtil; diff --git a/src/main/java/org/teacon/voteme/network/VoteMeStreamUtils.java b/src/main/java/org/teacon/voteme/network/VoteMeStreamUtils.java index 819fd1a..8473b31 100644 --- a/src/main/java/org/teacon/voteme/network/VoteMeStreamUtils.java +++ b/src/main/java/org/teacon/voteme/network/VoteMeStreamUtils.java @@ -1,7 +1,6 @@ package org.teacon.voteme.network; import com.google.common.primitives.ImmutableIntArray; -import io.netty.buffer.ByteBuf; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import org.apache.commons.lang3.tuple.Pair;