--- 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);
         }
     }