mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@cc491a3 Finish updating chunk system patch PaperMC/Paper@619d7c9 Add in some patches PaperMC/Paper@902691b Apply last patch PaperMC/Paper@efb4197 Fix final compilation issues PaperMC/Paper@57a5924 Fix boot errors PaperMC/Paper@c1def9d Updated Upstream (CraftBukkit/Spigot) PaperMC/Paper@a0a2e72 fix sculk npe PaperMC/Paper@318a08c add missing block entity type to CraftBlockStates PaperMC/Paper@aed9ef0 Update adventure PaperMC/Paper@9d42879 Fix breaking pots throwing exception PaperMC/Paper@59060aa fix some failing tests PaperMC/Paper@e325e37 add missing call to EntityInsideBlockEvent PaperMC/Paper@8ce5219 Fix inconsistent chunk sending with vanilla PaperMC/Paper@04509f0 Fix crash relating to "Already sent chunk" PaperMC/Paper@c9eb393 Updated Upstream (Bukkit) PaperMC/Paper@21f2d15 Avoid duplicate poi entries from the first section (#9235) PaperMC/Paper@3621d76 Fix collision between AABB and a dot (#8733) PaperMC/Paper@ccb194b Move block farther away for Player#setRotation (#8514) PaperMC/Paper@03c3587 fix not editable sign after openSign PaperMC/Paper@6d74ad1 Finish tests & bad calls PaperMC/Paper@e829a9d Fix javadoc PaperMC/Paper@82c6479 Add back Anti-Xray patch (#9283) PaperMC/Paper@0d969f0 comment out update logic from build.gradle.kts PaperMC/Paper@ea9fdc3 Ignore inline definitions of trim material & pattern PaperMC/Paper@9ada4bd Prevent the rcon thread from attempting connections after shutdown PaperMC/Paper@c9e125f Fix setListenerRange for calibrated sculk sensors PaperMC/Paper@9ebf75d fix some more 1.20 tracking issues PaperMC/Paper@f9fc44f add side to PlayerSignCommandPreprocessEvent PaperMC/Paper@4e3febb fix missing trigger entity for xp orb from breeding PaperMC/Paper@4b5f847 Minimise EntityFertilizeEggEvent and add sniffer (#9280)
53 lines
3.2 KiB
Diff
53 lines
3.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: 12emin34 <macanovic.emin@gmail.com>
|
|
Date: Sat, 30 Apr 2022 10:32:40 +0200
|
|
Subject: [PATCH] Add toggle for enchant level clamping
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
|
index 3660b54ef390bf5629676bc14d819a78b645ef2e..ae19380c2e14f81f068a02744f64a99dc643eb51 100644
|
|
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
|
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
|
@@ -1196,7 +1196,7 @@ public final class ItemStack {
|
|
|
|
ListTag nbttaglist = this.tag.getList("Enchantments", 10);
|
|
|
|
- nbttaglist.add(EnchantmentHelper.storeEnchantment(EnchantmentHelper.getEnchantmentId(enchantment), (byte) level));
|
|
+ nbttaglist.add(EnchantmentHelper.storeEnchantment(EnchantmentHelper.getEnchantmentId(enchantment), (org.purpurmc.purpur.PurpurConfig.clampEnchantLevels) ? (byte) level : (short) level)); // Purpur
|
|
processEnchantOrder(this.tag); // Paper
|
|
}
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
|
|
index 2048899f8e4c8211e8dde0d11148d647678009fa..1eec84e217f6dc929091fa7451cd235ef3623822 100644
|
|
--- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
|
|
+++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
|
|
@@ -46,7 +46,7 @@ public class EnchantmentHelper {
|
|
}
|
|
|
|
public static int getEnchantmentLevel(CompoundTag nbt) {
|
|
- return Mth.clamp(nbt.getInt("lvl"), 0, 255);
|
|
+ return Mth.clamp(nbt.getInt("lvl"), 0, (org.purpurmc.purpur.PurpurConfig.clampEnchantLevels) ? 255 : 32767); // Purpur
|
|
}
|
|
|
|
@Nullable
|
|
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
index 4ebaf007c785f6805b659d153c207e8f6c800bee..75908d5fdfbf795b2e83860146291619b768df31 100644
|
|
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
|
@@ -393,6 +393,7 @@ public class PurpurConfig {
|
|
public static boolean allowIncompatibleEnchants = true;
|
|
public static boolean allowHigherEnchantsLevels = true;
|
|
public static boolean allowUnsafeEnchantCommand = false;
|
|
+ public static boolean clampEnchantLevels = true;
|
|
private static void enchantmentSettings() {
|
|
if (version < 5) {
|
|
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
|
|
@@ -415,6 +416,7 @@ public class PurpurConfig {
|
|
allowIncompatibleEnchants = getBoolean("settings.enchantment.anvil.allow-incompatible-enchants", allowIncompatibleEnchants);
|
|
allowHigherEnchantsLevels = getBoolean("settings.enchantment.anvil.allow-higher-enchants-levels", allowHigherEnchantsLevels);
|
|
allowUnsafeEnchantCommand = getBoolean("settings.enchantment.allow-unsafe-enchant-command", allowUnsafeEnchants); // allowUnsafeEnchants as default for backwards compatability
|
|
+ clampEnchantLevels = getBoolean("settings.enchantment.clamp-levels", clampEnchantLevels);
|
|
}
|
|
|
|
public static boolean endermanShortHeight = false;
|