13
0
geforkt von Mirrors/Paper

#671: Implement PersistentDataContainer#getKeys()

Dieser Commit ist enthalten in:
Parker Hawke 2020-06-26 10:49:28 +10:00 committet von md_5
Ursprung 50484a657e
Commit b900513035
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: E8E901AC7C617C11

Datei anzeigen

@ -1,9 +1,11 @@
package org.bukkit.craftbukkit.persistence;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Objects;
import java.util.Set;
import net.minecraft.server.NBTBase;
import net.minecraft.server.NBTTagCompound;
import org.apache.commons.lang.Validate;
@ -70,6 +72,20 @@ public final class CraftPersistentDataContainer implements PersistentDataContain
return z != null ? z : defaultValue;
}
@Override
public Set<NamespacedKey> getKeys() {
Set<NamespacedKey> keys = new HashSet<>();
this.customDataTags.keySet().forEach(key -> {
String[] keyData = key.split(":", 2);
if (keyData.length == 2) {
keys.add(new NamespacedKey(keyData[0], keyData[1]));
}
});
return keys;
}
@Override
public void remove(NamespacedKey key) {
Validate.notNull(key, "The provided key for the custom value was null");