Interface Key
- All Superinterfaces:
Comparable<Key>
,net.kyori.examination.Examinable
,Keyed
,Namespaced
A key consists of:
- namespace
- in most cases this should be your plugin or organization name
- value
- what this key leads to, e.g "translations" or "entity.firework_rocket.blast"
Valid characters for namespaces are [a-z0-9_.-]
.
Valid characters for values are [a-z0-9/._-]
.
Some examples of possible custom keys:
- my_plugin:translations
- my_plugin:weapon.amazing-weapon_damage-attribute
- my_organization:music.song_1
- my_organization:item.magic_button
- Since:
- 4.0.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final char
The default namespace and value separator.static final String
The namespace for Minecraft. -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
allowedInNamespace
(char character) Checks ifvalue
is a valid character in a namespace.static boolean
allowedInValue
(char character) Checks ifvalue
is a valid character in a value.default @NotNull String
Returns the string representation of this key in minimal form.@NotNull String
asString()
Returns the string representation of this key.static @NotNull OptionalInt
checkNamespace
(@NotNull String namespace) Checks ifvalue
is a valid namespace.static @NotNull OptionalInt
checkValue
(@NotNull String value) Checks ifvalue
is a valid value.static @NotNull Comparator<? super Key>
Gets the comparator.default int
default @NotNull Stream<? extends net.kyori.examination.ExaminableProperty>
default @NotNull Key
key()
Gets the key.static @NotNull Key
Creates a key.static @NotNull Key
Creates a key.static @NotNull Key
Creates a key.static @NotNull Key
key
(@NotNull Namespaced namespaced, @NotNull String value) Creates a key.@NotNull String
Gets the namespace.static boolean
Checks ifstring
can be parsed into aKey
.static boolean
parseableNamespace
(@NotNull String namespace) Checks ifvalue
is a valid namespace.static boolean
parseableValue
(@NotNull String value) Checks ifvalue
is a valid value.@NotNull String
value()
Gets the value.Methods inherited from interface net.kyori.examination.Examinable
examinableName, examine
-
Field Details
-
MINECRAFT_NAMESPACE
The namespace for Minecraft.- Since:
- 4.0.0
- See Also:
-
DEFAULT_SEPARATOR
static final char DEFAULT_SEPARATORThe default namespace and value separator.- Since:
- 4.12.0
- See Also:
-
-
Method Details
-
key
Creates a key.This will parse
string
as a key, using:
as a separator between the namespace and the value.The namespace is optional. If you do not provide one (for example, if you provide just
player
or:player
as the string) thenMINECRAFT_NAMESPACE
will be used as a namespace andstring
will be used as the value, removing the colon if necessary.- Parameters:
string
- the string- Returns:
- the key
- Throws:
InvalidKeyException
- if the namespace or value contains an invalid character- Since:
- 4.0.0
-
key
Creates a key.This will parse
string
as a key, usingcharacter
as a separator between the namespace and the value.The namespace is optional. If you do not provide one (for example, if you provide
player
orcharacter + "player"
as the string) thenMINECRAFT_NAMESPACE
will be used as a namespace andstring
will be used as the value, removing the provided separator character if necessary.- Parameters:
string
- the stringcharacter
- the character that separates the namespace from the value- Returns:
- the key
- Throws:
InvalidKeyException
- if the namespace or value contains an invalid character- Since:
- 4.0.0
-
key
@NotNull static @NotNull Key key(@NotNull @NotNull Namespaced namespaced, @Value @NotNull @NotNull String value) Creates a key.- Parameters:
namespaced
- the namespace sourcevalue
- the value- Returns:
- the key
- Throws:
InvalidKeyException
- if the namespace or value contains an invalid character- Since:
- 4.4.0
-
key
@NotNull static @NotNull Key key(@Namespace @NotNull @NotNull String namespace, @Value @NotNull @NotNull String value) Creates a key.- Parameters:
namespace
- the namespacevalue
- the value- Returns:
- the key
- Throws:
InvalidKeyException
- if the namespace or value contains an invalid character- Since:
- 4.0.0
-
comparator
- Returns:
- a comparator for keys
- Since:
- 4.10.0
-
parseable
Checks ifstring
can be parsed into aKey
.- Parameters:
string
- the input string- Returns:
true
ifstring
can be parsed into aKey
,false
otherwise- Since:
- 4.12.0
-
parseableNamespace
Checks ifvalue
is a valid namespace.- Parameters:
namespace
- the string to check- Returns:
true
ifvalue
is a valid namespace,false
otherwise- Since:
- 4.12.0
-
checkNamespace
Checks ifvalue
is a valid namespace.- Parameters:
namespace
- the string to check- Returns:
OptionalInt.empty()
ifvalue
is a valid namespace, otherwise anOptionalInt
containing the index of an invalid character- Since:
- 4.14.0
-
parseableValue
Checks ifvalue
is a valid value.- Parameters:
value
- the string to check- Returns:
true
ifvalue
is a valid value,false
otherwise- Since:
- 4.12.0
-
checkValue
Checks ifvalue
is a valid value.- Parameters:
value
- the string to check- Returns:
OptionalInt.empty()
ifvalue
is a valid value, otherwise anOptionalInt
containing the index of an invalid character- Since:
- 4.14.0
-
allowedInNamespace
static boolean allowedInNamespace(char character) Checks ifvalue
is a valid character in a namespace.- Parameters:
character
- the character to check- Returns:
true
ifvalue
is a valid character in a namespace,false
otherwise- Since:
- 4.12.0
-
allowedInValue
static boolean allowedInValue(char character) Checks ifvalue
is a valid character in a value.- Parameters:
character
- the character to check- Returns:
true
ifvalue
is a valid character in a value,false
otherwise- Since:
- 4.12.0
-
namespace
Gets the namespace.- Specified by:
namespace
in interfaceNamespaced
- Returns:
- the namespace
- Since:
- 4.0.0
-
value
Gets the value.- Returns:
- the value
- Since:
- 4.0.0
-
asString
Returns the string representation of this key.- Returns:
- the string representation
- Since:
- 4.0.0
-
asMinimalString
Returns the string representation of this key in minimal form.If the
namespace()
of this key isMINECRAFT_NAMESPACE
, only thevalue()
will be returned.- Returns:
- the string representation
- Since:
- 4.15.0
-
examinableProperties
@NotNull default @NotNull Stream<? extends net.kyori.examination.ExaminableProperty> examinableProperties()- Specified by:
examinableProperties
in interfacenet.kyori.examination.Examinable
-
compareTo
- Specified by:
compareTo
in interfaceComparable<Key>
-
key
Description copied from interface:Keyed
Gets the key.
-