Add Vault block API (#12068)

This commit is contained in:
Warrior
2025-02-12 23:15:22 +01:00
committed by GitHub
parent a06179a018
commit e616498ed7
4 changed files with 360 additions and 2 deletions

View File

@@ -0,0 +1,40 @@
--- a/net/minecraft/world/level/block/entity/vault/VaultServerData.java
+++ b/net/minecraft/world/level/block/entity/vault/VaultServerData.java
@@ -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,6 +_,7 @@
}
this.markChanged();
+ return removed; // Paper - Vault API
}
public long stateUpdatingResumesAt() {
@@ -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
}