Package org.bukkit
Class NamespacedKey
java.lang.Object
org.bukkit.NamespacedKey
- All Implemented Interfaces:
Namespaced
,Comparable<Key>
,Key
,Keyed
,Namespaced
,net.kyori.examination.Examinable
Represents a String based key which consists of two components - a namespace
and a key.
Namespaces may only contain lowercase alphanumeric characters, periods,
underscores, and hyphens.
Keys may only contain lowercase alphanumeric characters, periods, underscores, hyphens, and forward slashes.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The namespace representing all keys generated by Bukkit for backwards compatibility measures.static final String
The namespace representing all inbuilt keys.Fields inherited from interface net.kyori.adventure.key.Key
DEFAULT_SEPARATOR, MINECRAFT_NAMESPACE
-
Constructor Summary
ConstructorDescriptionNamespacedKey
(@NotNull String namespace, @NotNull String key) Create a key in a specific namespace.NamespacedKey
(@NotNull Plugin plugin, @NotNull String key) Create a key in the plugin's namespace. -
Method Summary
Modifier and TypeMethodDescriptionasString()
boolean
static @Nullable NamespacedKey
fromString
(@NotNull String key) Get a NamespacedKey from the supplied string.static @Nullable NamespacedKey
fromString
(@NotNull String string, @Nullable Plugin defaultNamespace) Get a NamespacedKey from the supplied string with a default namespace if a namespace is not defined.getKey()
Gets the key corresponding to this resourceGets the namespace this resource is a part ofint
hashCode()
static @NotNull NamespacedKey
Get a key in the Minecraft namespace.static @NotNull NamespacedKey
Deprecated.should never be used by plugins, for internal use only!!toString()
value()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.kyori.examination.Examinable
examinableName, examine
Methods inherited from interface net.kyori.adventure.key.Key
asMinimalString, compareTo, examinableProperties, key
-
Field Details
-
MINECRAFT
The namespace representing all inbuilt keys.- See Also:
-
BUKKIT
The namespace representing all keys generated by Bukkit for backwards compatibility measures.- See Also:
-
-
Constructor Details
-
NamespacedKey
Create a key in a specific namespace.For most plugin related code, you should prefer using the
NamespacedKey(Plugin, String)
constructor.- Parameters:
namespace
- namespacekey
- key- See Also:
-
NamespacedKey
Create a key in the plugin's namespace.Namespaces may only contain lowercase alphanumeric characters, periods, underscores, and hyphens.
Keys may only contain lowercase alphanumeric characters, periods, underscores, hyphens, and forward slashes.
- Parameters:
plugin
- the plugin to use for the namespacekey
- the key to create
-
-
Method Details
-
getNamespace
Description copied from interface:Namespaced
Gets the namespace this resource is a part ofThis is contractually obligated to only contain lowercase alphanumeric characters, periods, underscores, and hyphens.
- Specified by:
getNamespace
in interfaceNamespaced
- Returns:
- resource namespace
-
getKey
Description copied from interface:Namespaced
Gets the key corresponding to this resourceThis is contractually obligated to only contain lowercase alphanumeric characters, periods, underscores, hyphens, and forward slashes.
- Specified by:
getKey
in interfaceNamespaced
- Returns:
- resource key
-
hashCode
public int hashCode() -
equals
-
toString
-
randomKey
Deprecated.should never be used by plugins, for internal use only!!Return a new random key in theBUKKIT
namespace.- Returns:
- new key
-
minecraft
Get a key in the Minecraft namespace.- Parameters:
key
- the key to use- Returns:
- new key in the Minecraft namespace
-
fromString
@Nullable public static @Nullable NamespacedKey fromString(@NotNull @NotNull String string, @Nullable @Nullable Plugin defaultNamespace) Get a NamespacedKey from the supplied string with a default namespace if a namespace is not defined. This is a utility method meant to fetch a NamespacedKey from user input. Please note that casing does matter and any instance of uppercase characters will be considered invalid. The input contract is as follows:fromString("foo", plugin) -> "plugin:foo" fromString("foo:bar", plugin) -> "foo:bar" fromString(":foo", null) -> "minecraft:foo" fromString("foo", null) -> "minecraft:foo" fromString("Foo", plugin) -> null fromString(":Foo", plugin) -> null fromString("foo:bar:bazz", plugin) -> null fromString("", plugin) -> null
- Parameters:
string
- the string to convert to a NamespacedKeydefaultNamespace
- the default namespace to use if none was supplied. If null, theminecraft
namespace (minecraft(String)
) will be used- Returns:
- the created NamespacedKey. null if invalid key
- See Also:
-
fromString
Get a NamespacedKey from the supplied string. The default namespace will be Minecraft's (i.e.minecraft(String)
).- Parameters:
key
- the key to convert to a NamespacedKey- Returns:
- the created NamespacedKey. null if invalid
- See Also:
-
namespace
- Specified by:
namespace
in interfaceKey
- Specified by:
namespace
in interfaceNamespaced
-
value
-
asString
-