geforkt von Mirrors/Paper
84 Zeilen
5.3 KiB
Diff
84 Zeilen
5.3 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||
|
Date: Fri, 4 Jun 2021 12:12:35 -0700
|
||
|
Subject: [PATCH] Make item validations configurable
|
||
|
|
||
|
|
||
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||
|
index efc1e42d606e1c9feb1a4871c0714933ae92a1b2..7acf077bc131af718c7548cc29deef558c04e463 100644
|
||
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||
|
@@ -486,4 +486,19 @@ public class PaperConfig {
|
||
|
enableBrigadierConsoleHighlighting = getBoolean("settings.console.enable-brigadier-highlighting", enableBrigadierConsoleHighlighting);
|
||
|
enableBrigadierConsoleCompletions = getBoolean("settings.console.enable-brigadier-completions", enableBrigadierConsoleCompletions);
|
||
|
}
|
||
|
+
|
||
|
+ public static int itemValidationDisplayNameLength = 8192;
|
||
|
+ public static int itemValidationLocNameLength = 8192;
|
||
|
+ public static int itemValidationLoreLineLength = 8192;
|
||
|
+ public static int itemValidationBookTitleLength = 8192;
|
||
|
+ public static int itemValidationBookAuthorLength = 8192;
|
||
|
+ public static int itemValidationBookPageLength = 16384;
|
||
|
+ private static void itemValidationSettings() {
|
||
|
+ itemValidationDisplayNameLength = getInt("settings.item-validation.display-name", itemValidationDisplayNameLength);
|
||
|
+ itemValidationLocNameLength = getInt("settings.item-validation.loc-name", itemValidationLocNameLength);
|
||
|
+ itemValidationLoreLineLength = getInt("settings.item-validation.lore-line", itemValidationLoreLineLength);
|
||
|
+ itemValidationBookTitleLength = getInt("settings.item-validation.book.title", itemValidationBookTitleLength);
|
||
|
+ itemValidationBookAuthorLength = getInt("settings.item-validation.book.author", itemValidationBookAuthorLength);
|
||
|
+ itemValidationBookPageLength = getInt("settings.item-validation.book.page", itemValidationBookPageLength);
|
||
|
+ }
|
||
|
}
|
||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
|
||
|
index 80397e223990f11c9aa413f3f4ebd7c1b8ce1cff..2ff1619e6898add074481c7ca43bfbf9a8d163ca 100644
|
||
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
|
||
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java
|
||
|
@@ -94,11 +94,11 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
|
||
|
super(tag);
|
||
|
|
||
|
if (tag.contains(BOOK_TITLE.NBT)) {
|
||
|
- this.title = limit( tag.getString(BOOK_TITLE.NBT), 8192 ); // Spigot
|
||
|
+ this.title = limit( tag.getString(BOOK_TITLE.NBT), com.destroystokyo.paper.PaperConfig.itemValidationBookTitleLength); // Spigot // Paper - make configurable
|
||
|
}
|
||
|
|
||
|
if (tag.contains(BOOK_AUTHOR.NBT)) {
|
||
|
- this.author = limit( tag.getString(BOOK_AUTHOR.NBT), 8192 ); // Spigot
|
||
|
+ this.author = limit( tag.getString(BOOK_AUTHOR.NBT), com.destroystokyo.paper.PaperConfig.itemValidationBookAuthorLength ); // Spigot // Paper - make configurable
|
||
|
}
|
||
|
|
||
|
if (tag.contains(RESOLVED.NBT)) {
|
||
|
@@ -126,7 +126,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta {
|
||
|
} else {
|
||
|
page = validatePage(page);
|
||
|
}
|
||
|
- this.pages.add( limit( page, 16384 ) ); // Spigot
|
||
|
+ this.pages.add( limit( page, com.destroystokyo.paper.PaperConfig.itemValidationBookPageLength ) ); // Spigot // Paper - make configurable
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
|
||
|
index 20e008277d1188fc7b31bfb2522ef9f6429cc3fb..99e18748b3cc4168b1d15c030f992a128b666d84 100644
|
||
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
|
||
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
|
||
|
@@ -357,18 +357,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
|
||
|
CompoundTag display = tag.getCompound(DISPLAY.NBT);
|
||
|
|
||
|
if (display.contains(NAME.NBT)) {
|
||
|
- displayName = limit( display.getString(NAME.NBT), 8192 ); // Spigot
|
||
|
+ displayName = limit( display.getString(NAME.NBT), com.destroystokyo.paper.PaperConfig.itemValidationDisplayNameLength); // Spigot // Paper - make configurable
|
||
|
}
|
||
|
|
||
|
if (display.contains(LOCNAME.NBT)) {
|
||
|
- locName = limit( display.getString(LOCNAME.NBT), 8192 ); // Spigot
|
||
|
+ locName = limit( display.getString(LOCNAME.NBT), com.destroystokyo.paper.PaperConfig.itemValidationLocNameLength ); // Spigot // Paper - make configurable
|
||
|
}
|
||
|
|
||
|
if (display.contains(LORE.NBT)) {
|
||
|
ListTag list = display.getList(LORE.NBT, CraftMagicNumbers.NBT.TAG_STRING);
|
||
|
lore = new ArrayList<String>(list.size());
|
||
|
for (int index = 0; index < list.size(); index++) {
|
||
|
- String line = limit( list.getString(index), 8192 ); // Spigot
|
||
|
+ String line = limit( list.getString(index), com.destroystokyo.paper.PaperConfig.itemValidationLoreLineLength ); // Spigot // Paper - make configurable
|
||
|
lore.add(line);
|
||
|
}
|
||
|
}
|