summaryrefslogtreecommitdiffstats
path: root/nms-patches/LootEnchantFunction.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nms-patches/LootEnchantFunction.patch')
-rw-r--r--nms-patches/LootEnchantFunction.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/nms-patches/LootEnchantFunction.patch b/nms-patches/LootEnchantFunction.patch
new file mode 100644
index 00000000..af3c6d1c
--- /dev/null
+++ b/nms-patches/LootEnchantFunction.patch
@@ -0,0 +1,26 @@
+--- a/net/minecraft/server/LootEnchantFunction.java
++++ b/net/minecraft/server/LootEnchantFunction.java
+@@ -21,8 +21,13 @@
+
+ if (entity instanceof EntityLiving) {
+ int i = EnchantmentManager.g((EntityLiving) entity);
++ // CraftBukkit start - use lootingModifier if set by plugin
++ if (loottableinfo.lootingMod > org.bukkit.loot.LootContext.DEFAULT_LOOT_MODIFIER) {
++ i = loottableinfo.lootingMod;
++ }
++ // CraftBukkit end
+
+- if (i == 0) {
++ if (i <= 0) { // CraftBukkit - account for possible negative looting values from Bukkit
+ return itemstack;
+ }
+
+@@ -57,7 +62,7 @@
+ return new LootEnchantFunction(alootitemcondition, (LootValueBounds) ChatDeserializer.a(jsonobject, "count", jsondeserializationcontext, LootValueBounds.class), i);
+ }
+
+- public LootItemFunction b(JsonObject jsonobject, JsonDeserializationContext jsondeserializationcontext, LootItemCondition[] alootitemcondition) {
++ public LootEnchantFunction b(JsonObject jsonobject, JsonDeserializationContext jsondeserializationcontext, LootItemCondition[] alootitemcondition) { // CraftBukkit - decompile error
+ return this.a(jsonobject, jsondeserializationcontext, alootitemcondition);
+ }
+ }