Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Don't apply enchantments of books (Fixes MC-154873)
- Loading branch information
1 parent
865ea0f
commit 73832f7
Showing
1 changed file
with
46 additions
and
0 deletions.
There are no files selected for viewing
46 changes: 46 additions & 0 deletions
46
patches/server/0013-Don-t-apply-enchantments-of-books-Fixes-MC-154873.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
From 05d9d696971629ea49ddd5a66a4005174720bcb5 Mon Sep 17 00:00:00 2001 | ||
From: Phoenix616 <mail@moep.tv> | ||
Date: Tue, 3 Dec 2019 02:55:02 +0100 | ||
Subject: [PATCH] Don't apply enchantments of books (Fixes MC-154873) | ||
|
||
--- | ||
.../java/net/minecraft/server/CriterionConditionItem.java | 2 +- | ||
.../java/net/minecraft/server/EnchantmentManager.java | 8 +++++++- | ||
2 files changed, 8 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/src/main/java/net/minecraft/server/CriterionConditionItem.java b/src/main/java/net/minecraft/server/CriterionConditionItem.java | ||
index 45926a60..a1679d37 100644 | ||
--- a/src/main/java/net/minecraft/server/CriterionConditionItem.java | ||
+++ b/src/main/java/net/minecraft/server/CriterionConditionItem.java | ||
@@ -61,7 +61,7 @@ public class CriterionConditionItem { | ||
} else if (!this.h.a(itemstack)) { | ||
return false; | ||
} else { | ||
- Map<Enchantment, Integer> map = EnchantmentManager.a(itemstack); | ||
+ Map<Enchantment, Integer> map = EnchantmentManager.getEnchantments(itemstack, false); // Origami - fix stored enchantments applying | ||
|
||
for (int i = 0; i < this.f.length; ++i) { | ||
if (!this.f[i].a(map)) { | ||
diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java | ||
index 1d16919e..7c4b8e3c 100644 | ||
--- a/src/main/java/net/minecraft/server/EnchantmentManager.java | ||
+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java | ||
@@ -35,8 +35,14 @@ public class EnchantmentManager { | ||
} | ||
|
||
public static Map<Enchantment, Integer> a(ItemStack itemstack) { | ||
+ // Origami start - add parameter to toggle whether or not stored enchantments should be gotten | ||
+ return getEnchantments(itemstack, true); | ||
+ } | ||
+ | ||
+ public static Map<Enchantment, Integer> getEnchantments(ItemStack itemstack, boolean stored) { | ||
Map<Enchantment, Integer> map = Maps.newLinkedHashMap(); | ||
- NBTTagList nbttaglist = itemstack.getItem() == Items.ENCHANTED_BOOK ? ItemEnchantedBook.e(itemstack) : itemstack.getEnchantments(); | ||
+ NBTTagList nbttaglist = itemstack.getItem() == Items.ENCHANTED_BOOK && stored ? ItemEnchantedBook.e(itemstack) : itemstack.getEnchantments(); | ||
+ // Origami end | ||
|
||
for (int i = 0; i < nbttaglist.size(); ++i) { | ||
NBTTagCompound nbttagcompound = nbttaglist.getCompound(i); | ||
-- | ||
2.18.0.windows.1 | ||
|