--- a/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
+++ b/net/minecraft/world/level/block/entity/RandomizableContainerBlockEntity.java
@@ -53,7 +53,7 @@
 
     @Override
     public ItemStack getItem(int slot) {
-        this.unpackLootTable(null);
+        if (slot == 0) this.unpackLootTable(null); // Paper - Perf: Optimize Hoppers
         return super.getItem(slot);
     }
 
@@ -115,4 +115,13 @@
         nbt.remove("LootTable");
         nbt.remove("LootTableSeed");
     }
+
+    // Paper start - LootTable API
+    final com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData = new com.destroystokyo.paper.loottable.PaperLootableInventoryData(); // Paper
+
+    @Override
+    public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData() {
+        return this.lootableData;
+    }
+    // Paper end - LootTable API
 }
