From 69a0eeed7dc6d19ccfdb8d393af7bf3be908b99a Mon Sep 17 00:00:00 2001 From: Andrew S Date: Mon, 1 Mar 2021 21:48:31 -0500 Subject: [PATCH] Add `pingPlayerListLimit` setting (#704) * Update CarpetSettings.java * Add pingPlayerListLimit * Fix formatting & fail softer --- src/main/java/carpet/CarpetSettings.java | 8 ++++++++ ...MinecraftServer_pingPlayerSampleLimit.java | 19 +++++++++++++++++++ src/main/resources/carpet.mixins.json | 1 + 3 files changed, 28 insertions(+) create mode 100644 src/main/java/carpet/mixins/MinecraftServer_pingPlayerSampleLimit.java diff --git a/src/main/java/carpet/CarpetSettings.java b/src/main/java/carpet/CarpetSettings.java index a41a478d..6a1ab764 100644 --- a/src/main/java/carpet/CarpetSettings.java +++ b/src/main/java/carpet/CarpetSettings.java @@ -532,6 +532,14 @@ public class CarpetSettings ) public static int maxEntityCollisions = 0; + @Rule( + desc = "Customizable server list ping (Multiplayer menu) playerlist sample limit", + options = {"0", "12", "20", "40"}, + category = CREATIVE, + strict = false, + validate = Validator.NONNEGATIVE_NUMBER.class + ) + public static int pingPlayerListLimit = 12; /* @Rule( diff --git a/src/main/java/carpet/mixins/MinecraftServer_pingPlayerSampleLimit.java b/src/main/java/carpet/mixins/MinecraftServer_pingPlayerSampleLimit.java new file mode 100644 index 00000000..79e2e27d --- /dev/null +++ b/src/main/java/carpet/mixins/MinecraftServer_pingPlayerSampleLimit.java @@ -0,0 +1,19 @@ +package carpet.mixins; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +import carpet.CarpetSettings; +import net.minecraft.server.MinecraftServer; + +@Mixin(MinecraftServer.class) +public abstract class MinecraftServer_pingPlayerSampleLimit +{ + + @ModifyConstant(method = "tick", constant = @Constant(intValue = 12), require = 0, allow = 1) + private int modifyPlayerSampleLimit(int value) + { + return CarpetSettings.pingPlayerListLimit; + } +} diff --git a/src/main/resources/carpet.mixins.json b/src/main/resources/carpet.mixins.json index bcbf958c..e6174d9d 100644 --- a/src/main/resources/carpet.mixins.json +++ b/src/main/resources/carpet.mixins.json @@ -24,6 +24,7 @@ "ServerPlayNetworkHandler_interactionUpdatesMixin", "ServerMetadata_motdMixin", + "MinecraftServer_pingPlayerSampleLimit", "MinecraftServer_coreMixin",