--- a/net/minecraft/world/level/block/entity/vault/VaultServerData.java
+++ b/net/minecraft/world/level/block/entity/vault/VaultServerData.java
@@ -56,7 +_,7 @@
         return this.lastInsertFailTimestamp;
     }
 
-    Set<UUID> getRewardedPlayers() {
+    public Set<UUID> getRewardedPlayers() {
         return this.rewardedPlayers;
     }
 
@@ -66,7 +_,12 @@
 
     @VisibleForTesting
     public void addToRewardedPlayers(Player player) {
-        this.rewardedPlayers.add(player.getUUID());
+    // Paper start - Vault API
+        addToRewardedPlayers(player.getUUID());
+    }
+    public boolean addToRewardedPlayers(final java.util.UUID player) {
+        final boolean removed = this.rewardedPlayers.add(player);
+    // Paper end - Vault API
         if (this.rewardedPlayers.size() > 128) {
             Iterator<UUID> iterator = this.rewardedPlayers.iterator();
             if (iterator.hasNext()) {
@@ -76,13 +_,14 @@
         }
 
         this.markChanged();
+        return removed; // Paper - Vault API
     }
 
-    long stateUpdatingResumesAt() {
+    public long stateUpdatingResumesAt() {
         return this.stateUpdatingResumesAt;
     }
 
-    void pauseStateUpdatingUntil(long time) {
+    public void pauseStateUpdatingUntil(long time) {
         this.stateUpdatingResumesAt = time;
         this.markChanged();
     }
@@ -131,4 +_,15 @@
     public float ejectionProgress() {
         return this.totalEjectionsNeeded == 1 ? 1.0F : 1.0F - Mth.inverseLerp((float)this.getItemsToEject().size(), 1.0F, (float)this.totalEjectionsNeeded);
     }
+
+    // Paper start - Vault API
+    public boolean removeFromRewardedPlayers(final UUID uuid) {
+        if (this.rewardedPlayers.remove(uuid)) {
+            this.markChanged();
+            return true;
+        }
+
+        return false;
+    }
+    // Paper end - Vault API
 }
