diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/loot/LootTableMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/loot/LootTableMixin.java index 738a5154..56f0cc8a 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/loot/LootTableMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/loot/LootTableMixin.java @@ -5,6 +5,7 @@ import io.izzel.arclight.mixin.Eject; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.loot.LootContext; +import net.minecraft.loot.LootParameters; import net.minecraft.loot.LootTable; import org.apache.logging.log4j.Logger; import org.bukkit.craftbukkit.v.event.CraftEventFactory; @@ -33,6 +34,9 @@ public abstract class LootTableMixin implements LootTableBridge { @Eject(method = "fillInventory", at = @At(value = "INVOKE", target = "Lnet/minecraft/loot/LootTable;generate(Lnet/minecraft/loot/LootContext;)Ljava/util/List;")) private List arclight$nonPluginEvent(LootTable lootTable, LootContext context, CallbackInfo ci, IInventory inv) { List list = lootTable.generate(context); + if (!context.has(LootParameters.field_237457_g_) && !context.has(LootParameters.THIS_ENTITY)) { + return list; + } LootGenerateEvent event = CraftEventFactory.callLootGenerateEvent(inv, (LootTable) (Object) this, context, list, false); if (event.isCancelled()) { ci.cancel();