Create ProtocolObject

This commit is contained in:
TheMode 2021-06-11 16:45:01 +02:00
parent 35baf1e772
commit 82eec1072c
2 changed files with 24 additions and 16 deletions

View File

@ -1,7 +1,6 @@
package net.minestom.server.instance.block;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.key.Keyed;
import net.minestom.server.registry.ProtocolObject;
import net.minestom.server.tag.Tag;
import net.minestom.server.tag.TagReadable;
import net.minestom.server.utils.NamespaceID;
@ -13,7 +12,7 @@ import org.jglrxavpok.hephaistos.nbt.NBTCompound;
import java.util.Map;
import java.util.function.BiPredicate;
public interface Block extends Keyed, TagReadable, BlockConstants {
public interface Block extends ProtocolObject, TagReadable, BlockConstants {
<T> @NotNull Block withProperty(@NotNull BlockProperty<T> property, @NotNull T value);
@ -33,21 +32,8 @@ public interface Block extends Keyed, TagReadable, BlockConstants {
@NotNull Block getDefaultBlock();
@NotNull NamespaceID getNamespaceId();
@Override
default @NotNull Key key() {
return getNamespaceId();
}
default @NotNull String getName() {
return getNamespaceId().asString();
}
@NotNull Map<String, String> createPropertiesMap();
int getId();
short getStateId();
@NotNull BlockData getData();

View File

@ -0,0 +1,22 @@
package net.minestom.server.registry;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.key.Keyed;
import net.minestom.server.utils.NamespaceID;
import org.jetbrains.annotations.NotNull;
public interface ProtocolObject extends Keyed {
@NotNull NamespaceID getNamespaceId();
@Override
default @NotNull Key key() {
return getNamespaceId();
}
default @NotNull String getName() {
return getNamespaceId().asString();
}
int getId();
}