89d51d5f29
Because this exploit has been widely known for years and has not been fixed by Mojang, we decided that it was worth allowing people to toggle it on/off due to how easy it is to make it configurable. It should be noted that this decision does not promise all future exploits will be configurable.
56 Zeilen
2.7 KiB
Diff
56 Zeilen
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
|
|
Date: Sat, 24 Apr 2021 02:09:32 -0700
|
|
Subject: [PATCH] Implement methods to convert between Component and
|
|
Brigadier's Message
|
|
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/brigadier/PaperBrigadierProviderImpl.java b/src/main/java/io/papermc/paper/brigadier/PaperBrigadierProviderImpl.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..dd6012b6a097575b2d1471be5069eccee4537c0a
|
|
--- /dev/null
|
|
+++ b/src/main/java/io/papermc/paper/brigadier/PaperBrigadierProviderImpl.java
|
|
@@ -0,0 +1,30 @@
|
|
+package io.papermc.paper.brigadier;
|
|
+
|
|
+import com.mojang.brigadier.Message;
|
|
+import io.papermc.paper.adventure.PaperAdventure;
|
|
+import net.kyori.adventure.text.Component;
|
|
+import net.kyori.adventure.text.ComponentLike;
|
|
+import net.minecraft.network.chat.ComponentUtils;
|
|
+import org.checkerframework.checker.nullness.qual.NonNull;
|
|
+
|
|
+import static java.util.Objects.requireNonNull;
|
|
+
|
|
+public enum PaperBrigadierProviderImpl implements PaperBrigadierProvider {
|
|
+ INSTANCE;
|
|
+
|
|
+ PaperBrigadierProviderImpl() {
|
|
+ PaperBrigadierProvider.initialize(this);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public @NonNull Message message(final @NonNull ComponentLike componentLike) {
|
|
+ requireNonNull(componentLike, "componentLike");
|
|
+ return PaperAdventure.asVanilla(componentLike.asComponent());
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public @NonNull Component componentFromMessage(final @NonNull Message message) {
|
|
+ requireNonNull(message, "message");
|
|
+ return PaperAdventure.asAdventure(ComponentUtils.fromMessage(message));
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
index dd13627f140ab93901a32901eeb51488421ae91f..a78b14b828526549e1309e94c271667043129a87 100644
|
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
|
@@ -210,6 +210,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
|
io.papermc.paper.command.PaperCommands.registerCommands(this); // Paper - setup /paper command
|
|
com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); // Paper - start metrics
|
|
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // Paper - load version history now
|
|
+ io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // Paper - init PaperBrigadierProvider
|
|
|
|
this.setPvpAllowed(dedicatedserverproperties.pvp);
|
|
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
|