Skip to content

Commit ae1e6b7

Browse files
authored
Add PersistentDataContainerView#getSize (#13157)
1 parent 3799cbe commit ae1e6b7

File tree

4 files changed

+20
-0
lines changed

4 files changed

+20
-0
lines changed

paper-api/src/main/java/io/papermc/paper/persistence/PersistentDataContainerView.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,4 +157,9 @@ public interface PersistentDataContainerView {
157157
* @throws java.io.IOException if we fail to write this container to a byte array
158158
*/
159159
byte[] serializeToBytes() throws java.io.IOException;
160+
161+
/**
162+
* {@return the size of the data container}
163+
*/
164+
int getSize();
160165
}

paper-server/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,11 @@ public CompoundTag toTagCompound() {
320320
public net.minecraft.nbt.Tag getTag(String key) {
321321
return net.minecraft.Optionull.map(this.getPersistentTag(), tag -> tag.get(key));
322322
}
323+
324+
@Override
325+
public int getSize() {
326+
return this.getPersistentTag().size();
327+
}
323328
};
324329
}
325330
return this.persistentDataContainerView;

paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,11 @@ private net.minecraft.nbt.CompoundTag getPdcTag() {
496496
private static final org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry REGISTRY = new org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry();
497497
private final io.papermc.paper.persistence.PaperPersistentDataContainerView pdcView = new io.papermc.paper.persistence.PaperPersistentDataContainerView(REGISTRY) {
498498

499+
@Override
500+
public int getSize() {
501+
return CraftItemStack.this.getPdcTag().size();
502+
}
503+
499504
@Override
500505
public net.minecraft.nbt.CompoundTag toTagCompound() {
501506
return CraftItemStack.this.getPdcTag();

paper-server/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,9 @@ public static Codec<CraftPersistentDataContainer> createCodec(final CraftPersist
170170
return container;
171171
}, CraftPersistentDataContainer::toTagCompound);
172172
}
173+
174+
@Override
175+
public int getSize() {
176+
return this.customDataTags.size();
177+
}
173178
}

0 commit comments

Comments
 (0)