aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0949-Expose-LootTable-of-DecoratedPot.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0949-Expose-LootTable-of-DecoratedPot.patch')
-rw-r--r--patches/server/0949-Expose-LootTable-of-DecoratedPot.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/patches/server/0949-Expose-LootTable-of-DecoratedPot.patch b/patches/server/0949-Expose-LootTable-of-DecoratedPot.patch
new file mode 100644
index 0000000000..6b5fd029f3
--- /dev/null
+++ b/patches/server/0949-Expose-LootTable-of-DecoratedPot.patch
@@ -0,0 +1,50 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: FireInstall <[email protected]>
+Date: Sat, 20 Jan 2024 16:20:06 +0100
+Subject: [PATCH] Expose LootTable of DecoratedPot
+
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftDecoratedPot.java b/src/main/java/org/bukkit/craftbukkit/block/CraftDecoratedPot.java
+index 6e0258d4d6a07e0f471640a9edda0adf7ef6cd9e..6015565aeedc1b2cdddcdb488f8de71bc84b61f2 100644
+--- a/src/main/java/org/bukkit/craftbukkit/block/CraftDecoratedPot.java
++++ b/src/main/java/org/bukkit/craftbukkit/block/CraftDecoratedPot.java
+@@ -43,6 +43,39 @@ public class CraftDecoratedPot extends CraftBlockEntityState<DecoratedPotBlockEn
+ return new CraftInventoryDecoratedPot(this.getTileEntity());
+ }
+
++ // Paper start - expose loot table
++ @Override
++ public void setLootTable(final org.bukkit.loot.LootTable table) {
++ this.setLootTable(table, this.getSeed());
++ }
++
++ @Override
++ public void setLootTable(org.bukkit.loot.LootTable table, long seed) {
++ net.minecraft.resources.ResourceKey<net.minecraft.world.level.storage.loot.LootTable> key = (table == null) ? null : net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.LOOT_TABLE, org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(table.getKey()));
++ this.getSnapshot().setLootTable(key, seed);
++ }
++
++ @Override
++ public org.bukkit.loot.LootTable getLootTable() {
++ if (this.getSnapshot().getLootTable() == null) {
++ return null;
++ }
++
++ net.minecraft.resources.ResourceKey<net.minecraft.world.level.storage.loot.LootTable> key = this.getSnapshot().getLootTable();
++ return org.bukkit.Bukkit.getLootTable(org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(key.location()));
++ }
++
++ @Override
++ public void setSeed(final long seed) {
++ this.getSnapshot().setLootTableSeed(seed);
++ }
++
++ @Override
++ public long getSeed() {
++ return this.getSnapshot().getLootTableSeed();
++ }
++ // Paper end - expose loot table
++
+ @Override
+ public void setSherd(Side face, Material sherd) {
+ Preconditions.checkArgument(face != null, "face must not be null");