77 lines
3.7 KiB
Diff
77 lines
3.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: MrHua269 <novau233@163.com>
|
|
Date: Wed, 7 Feb 2024 02:00:50 +0000
|
|
Subject: [PATCH] Add config for chat sign
|
|
|
|
|
|
diff --git a/src/main/java/me/earthme/luminol/config/modules/misc/ChatSignConfig.java b/src/main/java/me/earthme/luminol/config/modules/misc/ChatSignConfig.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..1e03e51e51f56c38abaad100274e25c9f854f727
|
|
--- /dev/null
|
|
+++ b/src/main/java/me/earthme/luminol/config/modules/misc/ChatSignConfig.java
|
|
@@ -0,0 +1,20 @@
|
|
+package me.earthme.luminol.config.modules.misc;
|
|
+
|
|
+import me.earthme.luminol.config.ConfigInfo;
|
|
+import me.earthme.luminol.config.EnumConfigCategory;
|
|
+import me.earthme.luminol.config.IConfigModule;
|
|
+
|
|
+public class ChatSignConfig implements IConfigModule {
|
|
+ @ConfigInfo(baseName = "enabled")
|
|
+ public static boolean enabled = true;
|
|
+
|
|
+ @Override
|
|
+ public EnumConfigCategory getCategory() {
|
|
+ return EnumConfigCategory.MISC;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public String getBaseName() {
|
|
+ return "mojang_chat_sign";
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/java/net/minecraft/commands/arguments/ArgumentSignatures.java b/src/main/java/net/minecraft/commands/arguments/ArgumentSignatures.java
|
|
index 4abd7babc3aa7268975386e7c2319f7961b0c3aa..d209466866c30b3f15b8c40934ea6470292b8a77 100644
|
|
--- a/src/main/java/net/minecraft/commands/arguments/ArgumentSignatures.java
|
|
+++ b/src/main/java/net/minecraft/commands/arguments/ArgumentSignatures.java
|
|
@@ -14,9 +14,17 @@ public record ArgumentSignatures(List<ArgumentSignatures.Entry> entries) {
|
|
private static final int MAX_ARGUMENT_NAME_LENGTH = 16;
|
|
|
|
public ArgumentSignatures(FriendlyByteBuf buf) {
|
|
- this(buf.readCollection(FriendlyByteBuf.limitValue(ArrayList::new, 8), ArgumentSignatures.Entry::new));
|
|
+ this(readSign(buf)); //Luminol - Fix java compile
|
|
}
|
|
|
|
+ //Luminol start - Add config for chat sign
|
|
+ private static List<ArgumentSignatures.Entry> readSign(FriendlyByteBuf buf) {
|
|
+ var entries = buf.readCollection(FriendlyByteBuf.limitValue(ArrayList::new, 8), Entry::new);
|
|
+ return me.earthme.luminol.config.modules.misc.ChatSignConfig.enabled ? List.of() : entries;
|
|
+ }
|
|
+ //Luminol end
|
|
+
|
|
+
|
|
@Nullable
|
|
public MessageSignature get(String argumentName) {
|
|
for (ArgumentSignatures.Entry entry : this.entries) {
|
|
diff --git a/src/main/java/net/minecraft/network/FriendlyByteBuf.java b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
|
|
index b863249ff7e13cf4939c8961601f0564c62fd661..6ab73b0568c3f9df8090be992736a14d49e0286c 100644
|
|
--- a/src/main/java/net/minecraft/network/FriendlyByteBuf.java
|
|
+++ b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
|
|
@@ -143,6 +143,16 @@ public class FriendlyByteBuf extends ByteBuf {
|
|
// Paper end - Adventure; add max length parameter
|
|
DataResult<JsonElement> dataresult = codec.encodeStart(JsonOps.INSTANCE, value);
|
|
|
|
+ //Luminol start - Add config for chat sign
|
|
+ if (codec == net.minecraft.network.protocol.status.ServerStatus.CODEC) {
|
|
+ JsonElement element = Util.getOrThrow(dataresult, string -> new EncoderException("Failed to encode: " + string + " " + value));
|
|
+ element.getAsJsonObject().addProperty("preventsChatReports", !me.earthme.luminol.config.modules.misc.ChatSignConfig.enabled);
|
|
+
|
|
+ this.writeUtf(GSON.toJson(element));
|
|
+ return;
|
|
+ }
|
|
+ //Luminol end
|
|
+
|
|
this.writeUtf(FriendlyByteBuf.GSON.toJson((JsonElement) Util.getOrThrow(dataresult, (s) -> {
|
|
return new EncoderException("Failed to encode: " + s + " " + value);
|
|
})), maxLength); // Paper - Adventure; add max length parameter
|