diff --git a/nms-patches/net/minecraft/world/level/block/entity/vault/VaultServerData.patch b/nms-patches/net/minecraft/world/level/block/entity/vault/VaultServerData.patch new file mode 100644 index 000000000..e66793cb3 --- /dev/null +++ b/nms-patches/net/minecraft/world/level/block/entity/vault/VaultServerData.patch @@ -0,0 +1,11 @@ +--- a/net/minecraft/world/level/block/entity/vault/VaultServerData.java ++++ b/net/minecraft/world/level/block/entity/vault/VaultServerData.java +@@ -54,7 +54,7 @@ + return this.lastInsertFailTimestamp; + } + +- Set getRewardedPlayers() { ++ public Set getRewardedPlayers() { // PAIL package private -> public + return this.rewardedPlayers; + } + diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftVault.java b/src/main/java/org/bukkit/craftbukkit/block/CraftVault.java index ad882e1aa..1ee0b0643 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftVault.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftVault.java @@ -1,12 +1,17 @@ package org.bukkit.craftbukkit.block; import com.google.common.base.Preconditions; +import java.util.Collections; +import java.util.Objects; import java.util.Optional; +import java.util.Set; +import java.util.UUID; import net.minecraft.resources.ResourceKey; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.trialspawner.PlayerDetector; import net.minecraft.world.level.block.entity.vault.VaultBlockEntity; import net.minecraft.world.level.block.entity.vault.VaultConfig; +import net.minecraft.world.level.block.entity.vault.VaultServerData; import net.minecraft.world.level.storage.loot.LootTable; import org.bukkit.Location; import org.bukkit.World; @@ -96,6 +101,16 @@ public class CraftVault extends CraftBlockEntityState implemen tileEntity.setConfig(this.config.toMinecraft()); } + @Override + public Set getRewardedPlayers() { + requirePlaced(); + + VaultServerData serverData = getTileEntity().getServerData(); + Objects.requireNonNull(serverData, "serverData should not be null for placed Vault"); + + return Collections.unmodifiableSet(serverData.getRewardedPlayers()); + } + static class CraftVaultConfiguration { private ResourceKey lootTable; private double activationRange;