mirror of
https://github.com/AtlasMediaGroup/Scissors.git
synced 2024-11-01 04:37:09 +00:00
33 lines
1.7 KiB
Diff
33 lines
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Video <videogamesm12@gmail.com>
|
|
Date: Mon, 28 Mar 2022 16:49:17 -0600
|
|
Subject: [PATCH] Reject oversized components from updating
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/network/chat/ComponentUtils.java b/src/main/java/net/minecraft/network/chat/ComponentUtils.java
|
|
index 584a58659fae6ba3d8b53858890bc6ec509ffb0e..54a7dae26854d320d9e53f63eb411a85a2d78159 100644
|
|
--- a/src/main/java/net/minecraft/network/chat/ComponentUtils.java
|
|
+++ b/src/main/java/net/minecraft/network/chat/ComponentUtils.java
|
|
@@ -39,8 +39,9 @@ public class ComponentUtils {
|
|
}
|
|
|
|
public static MutableComponent updateForEntity(@Nullable CommandSourceStack source, Component text, @Nullable Entity sender, int depth) throws CommandSyntaxException {
|
|
+ MutableComponent result; // Scissors
|
|
if (depth > 100) {
|
|
- return text.copy();
|
|
+ result = text.copy(); // Scissors
|
|
} else {
|
|
// Paper start
|
|
if (text instanceof io.papermc.paper.adventure.AdventureComponent adventureComponent) {
|
|
@@ -53,8 +54,9 @@ public class ComponentUtils {
|
|
mutableComponent.append(updateForEntity(source, component, sender, depth + 1));
|
|
}
|
|
|
|
- return mutableComponent.withStyle(resolveStyle(source, text.getStyle(), sender, depth));
|
|
+ result = mutableComponent.withStyle(resolveStyle(source, text.getStyle(), sender, depth)); // Scissors
|
|
}
|
|
+ return Component.Serializer.toJson(result).length() > 65535 ? Component.empty() : result; // Scissors
|
|
}
|
|
|
|
private static Style resolveStyle(@Nullable CommandSourceStack source, Style style, @Nullable Entity sender, int depth) throws CommandSyntaxException {
|