From 0be5502f8ed60d8d0fedb010aa03098fe745f51b Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Sat, 20 Jan 2024 22:00:22 +0800 Subject: [PATCH] Fix ServerStatus missing vanilla constructor (#1179) --- .../protocol/status/ServerStatusMixin.java | 19 +++++++++++++++++++ .../common/mod/ArclightMixinPlugin.java | 1 + .../main/resources/mixins.arclight.core.json | 1 + 3 files changed, 21 insertions(+) create mode 100644 arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/network/protocol/status/ServerStatusMixin.java diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/network/protocol/status/ServerStatusMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/network/protocol/status/ServerStatusMixin.java new file mode 100644 index 00000000..4665ec31 --- /dev/null +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/network/protocol/status/ServerStatusMixin.java @@ -0,0 +1,19 @@ +package io.izzel.arclight.common.mixin.core.network.protocol.status; + +import net.minecraft.network.chat.Component; +import net.minecraft.network.protocol.status.ServerStatus; +import org.spongepowered.asm.mixin.Mixin; + +import java.util.Optional; + +@Mixin(ServerStatus.class) +public class ServerStatusMixin { + + public void arclight$constructor(Component description, Optional players, Optional version, Optional favicon, boolean enforcesSecureChat, Optional forgeData) { + throw new RuntimeException(); + } + + public void arclight$constructor(Component description, Optional players, Optional version, Optional favicon, boolean enforcesSecureChat) { + arclight$constructor(description, players, version, favicon, enforcesSecureChat, Optional.empty()); + } +} diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightMixinPlugin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightMixinPlugin.java index c84d18a7..8f925bee 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightMixinPlugin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mod/ArclightMixinPlugin.java @@ -128,6 +128,7 @@ public class ArclightMixinPlugin implements IMixinConfigPlugin { .add("net.minecraft.world.level.storage.LevelStorageSource.LevelStorageAccess") .add("net.minecraft.network.protocol.game.ClientboundSystemChatPacket") .add("net.minecraft.network.protocol.game.ClientboundSectionBlocksUpdatePacket") + .add("net.minecraft.network.protocol.status.ServerStatus") .build(); @Override diff --git a/arclight-common/src/main/resources/mixins.arclight.core.json b/arclight-common/src/main/resources/mixins.arclight.core.json index bffbd3ca..051ecf1a 100644 --- a/arclight-common/src/main/resources/mixins.arclight.core.json +++ b/arclight-common/src/main/resources/mixins.arclight.core.json @@ -45,6 +45,7 @@ "network.protocol.game.CPlayerTryUseItemPacketMixin", "network.protocol.game.SWorldBorderPacketMixin", "network.protocol.handshake.CHandshakePacketMixin", + "network.protocol.status.ServerStatusMixin", "network.rcon.RConConsoleSourceMixin", "server.BootstrapMixin", "server.CustomServerBossInfoMixin",