--- a/net/minecraft/world/level/storage/loot/predicates/LootItemRandomChanceWithLootingCondition.java
+++ b/net/minecraft/world/level/storage/loot/predicates/LootItemRandomChanceWithLootingCondition.java
@@ -12,6 +12,7 @@
 import net.minecraft.world.level.storage.loot.parameters.LootContextParams;
 
 public record LootItemRandomChanceWithLootingCondition(float percent, float lootingMultiplier) implements LootItemCondition {
+
     public static final Codec<LootItemRandomChanceWithLootingCondition> CODEC = RecordCodecBuilder.create((instance) -> {
         return instance.group(Codec.FLOAT.fieldOf("chance").forGetter(LootItemRandomChanceWithLootingCondition::percent), Codec.FLOAT.fieldOf("looting_multiplier").forGetter(LootItemRandomChanceWithLootingCondition::lootingMultiplier)).apply(instance, LootItemRandomChanceWithLootingCondition::new);
     });
@@ -26,15 +27,20 @@
         return ImmutableSet.of(LootContextParams.KILLER_ENTITY);
     }
 
-    @Override
-    public boolean test(LootContext lootContext) {
-        Entity entity = lootContext.getParamOrNull(LootContextParams.KILLER_ENTITY);
+    public boolean test(LootContext loottableinfo) {
+        Entity entity = (Entity) loottableinfo.getParamOrNull(LootContextParams.KILLER_ENTITY);
         int i = 0;
+
         if (entity instanceof LivingEntity) {
-            i = EnchantmentHelper.getMobLooting((LivingEntity)entity);
+            i = EnchantmentHelper.getMobLooting((LivingEntity) entity);
+        }
+        // CraftBukkit start - only use lootingModifier if set by Bukkit
+        if (loottableinfo.hasParam(LootContextParams.LOOTING_MOD)) {
+            i = loottableinfo.getParamOrNull(LootContextParams.LOOTING_MOD);
         }
+        // CraftBukkit end
 
-        return lootContext.getRandom().nextFloat() < this.percent + (float)i * this.lootingMultiplier;
+        return loottableinfo.getRandom().nextFloat() < this.percent + (float) i * this.lootingMultiplier;
     }
 
     public static LootItemCondition.Builder randomChanceAndLootingBoost(float chance, float lootingMultiplier) {
