Package org.spongepowered.api
Interface ResourceKey
-
- All Superinterfaces:
Comparable<Key>
,net.kyori.examination.Examinable
,Key
public interface ResourceKey extends Key
An object representation of a location or pointer to resources. The key can be represented as aString
byObject.toString()
. The key is built with two parts:- The Namespace
- The Value
ResourceKey
, including but not restricted toDataRegistration
s,ConfigurationNode
s,DataTranslator
s, andDataSerializable
s.Note that the methods
minecraft(String)
andsponge(String)
should only be used by the implementations for creating new keys and usage by plugins may result in a crash condition by the implementation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ResourceKey.Builder
A builder to createResourceKey
s.static interface
ResourceKey.Factory
A factory to generateResourceKey
s.
-
Field Summary
Fields Modifier and Type Field Description static String
BRIGADIER_NAMESPACE
The brigadier namespace.static String
MINECRAFT_NAMESPACE
The minecraft namespace.static String
SPONGE_NAMESPACE
The sponge namespace.
-
Method Summary
All Methods Static Methods Instance Methods Default Methods Modifier and Type Method Description default String
asString()
static @NonNull ResourceKey
brigadier(String value)
Creates a resource key with a namespace ofbrigadier
.static ResourceKey.Builder
builder()
Creates a newResourceKey.Builder
for creatingResourceKey
s.default int
compareTo(Key o)
default String
formatted()
Gets this key as a formatted value.static @NonNull ResourceKey
minecraft(String value)
Creates a resource key with a namespace ofminecraft
.static ResourceKey
of(String namespace, String value)
Creates a resource key.static ResourceKey
of(org.spongepowered.plugin.PluginContainer plugin, String value)
Creates a resource key.static ResourceKey
resolve(String formatted)
Resolves a resource key from a string.static @NonNull ResourceKey
sponge(String value)
Creates a resource key with a namespace ofsponge
.-
Methods inherited from interface net.kyori.adventure.key.Key
examinableProperties, namespace, value
-
-
-
-
Field Detail
-
BRIGADIER_NAMESPACE
static final String BRIGADIER_NAMESPACE
The brigadier namespace.- See Also:
- Constant Field Values
-
MINECRAFT_NAMESPACE
static final String MINECRAFT_NAMESPACE
The minecraft namespace.- See Also:
- Constant Field Values
-
SPONGE_NAMESPACE
static final String SPONGE_NAMESPACE
The sponge namespace.- See Also:
- Constant Field Values
-
-
Method Detail
-
brigadier
static @NonNull ResourceKey brigadier(String value)
Creates a resource key with a namespace ofbrigadier
.- Parameters:
value
- The value- Returns:
- A new resource key
-
minecraft
static @NonNull ResourceKey minecraft(String value)
Creates a resource key with a namespace ofminecraft
.- Parameters:
value
- The value- Returns:
- A new resource key
-
sponge
static @NonNull ResourceKey sponge(String value)
Creates a resource key with a namespace ofsponge
.- Parameters:
value
- The value- Returns:
- A new resource key
-
builder
static ResourceKey.Builder builder()
Creates a newResourceKey.Builder
for creatingResourceKey
s. The builder can be used for creating keys based onPluginContainer
s,Object
s of plugins, andString
namespaces.- Returns:
- The new builder instance
-
of
static ResourceKey of(String namespace, String value)
Creates a resource key.- Parameters:
namespace
- The namespacevalue
- The value- Returns:
- A new resource key
-
of
static ResourceKey of(org.spongepowered.plugin.PluginContainer plugin, String value)
Creates a resource key.- Parameters:
plugin
- The pluginvalue
- The value- Returns:
- A new resource key
-
resolve
static ResourceKey resolve(String formatted)
Resolves a resource key from a string.If no namespace is found in
formatted
thenMINECRAFT_NAMESPACE
will be the namespace.- Parameters:
formatted
- The formatted string to parse- Returns:
- A new resource key
-
formatted
default String formatted()
Gets this key as a formatted value.It is up to the implementation to determine the formatting. In vanilla Minecraft, keys are formatted as "namespace:value". For example, "minecraft:carrot".
- Returns:
- The key, formatted
-
-