2021-06-11 16:45:01 +02:00
|
|
|
package net.minestom.server.registry;
|
|
|
|
|
|
|
|
import net.kyori.adventure.key.Key;
|
|
|
|
import net.kyori.adventure.key.Keyed;
|
|
|
|
import net.minestom.server.utils.NamespaceID;
|
2021-07-15 18:31:10 +02:00
|
|
|
import org.jetbrains.annotations.Contract;
|
2021-06-11 16:45:01 +02:00
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
|
|
|
|
public interface ProtocolObject extends Keyed {
|
|
|
|
|
2021-07-15 18:31:10 +02:00
|
|
|
@Contract(pure = true)
|
2021-06-19 21:01:54 +02:00
|
|
|
@NotNull NamespaceID namespace();
|
2021-06-11 16:45:01 +02:00
|
|
|
|
2021-07-15 18:31:10 +02:00
|
|
|
@Contract(pure = true)
|
2021-06-19 21:01:54 +02:00
|
|
|
default @NotNull String name() {
|
|
|
|
return namespace().asString();
|
2021-06-11 16:45:01 +02:00
|
|
|
}
|
|
|
|
|
2024-02-12 21:25:46 +01:00
|
|
|
@Override
|
2021-07-15 18:31:10 +02:00
|
|
|
@Contract(pure = true)
|
2024-02-12 21:25:46 +01:00
|
|
|
default @NotNull Key key() {
|
|
|
|
return namespace();
|
|
|
|
}
|
2021-06-11 16:45:01 +02:00
|
|
|
}
|