Archived
0

обработка NBT в чанках

This commit is contained in:
2018-12-23 21:14:48 +03:00
parent d783317b5d
commit bd0d762df5
14 changed files with 209 additions and 17 deletions

View File

@@ -1,5 +1,6 @@
package mc.core.network;
import com.flowpowered.nbt.Tag;
import lombok.Getter;
import lombok.Setter;
@@ -29,6 +30,7 @@ public abstract class NetInputStream extends InputStream {
public abstract double readDouble();
public abstract String readString();
public abstract UUID readUUID();
public abstract Tag<?> readNBT();
public abstract void skipBytes(int count);

View File

@@ -1,5 +1,7 @@
package mc.core.network;
import com.flowpowered.nbt.Tag;
import java.io.IOException;
import java.io.OutputStream;
import java.util.UUID;
@@ -20,6 +22,7 @@ public abstract class NetOutputStream extends OutputStream {
public abstract void writeDouble(double value);
public abstract void writeString(String value);
public abstract void writeUUID(UUID uuid);
public abstract void writeNBT(Tag<?> tag);
@Override
public void write(int b) throws IOException {

View File

@@ -1,8 +1,17 @@
package mc.core.world.block;
import com.flowpowered.nbt.CompoundTag;
public interface Block {
int getLight();
void setLight(int light);
BlockType getBlockType();
BlockLocation getLocation();
default CompoundTag getNBTData() {
return null;
}
default void setNBTData(CompoundTag nbtData) {
}
}

View File

@@ -96,11 +96,10 @@ public enum BlockType {
MOSS_STONE(48, 0),
OBSIDIAN(49, 0),
MONSTER_SPAWNER(52, 0),
//BAG CHUNK
// CHEST_NORTH(54, 2),
// CHEST_SOUTH(54, 3),
// CHEST_WEST (54, 4),
// CHEST_EAST (54, 5),
CHEST_NORTH(54, 2, "minecraft:chest"),
CHEST_SOUTH(54, 3, "minecraft:chest"),
CHEST_WEST (54, 4, "minecraft:chest"),
CHEST_EAST (54, 5, "minecraft:chest"),
ORE_DIAMOND(56, 0),
ORE_REDSTONE(73, 0),
ORE_GLOWING_REDSTONE(74, 0),
@@ -118,6 +117,12 @@ public enum BlockType {
PEONY(175, 5),
ROSE_BUSH_10(175, 10);
BlockType(int id, int meta) {
this.id = id;
this.meta = meta;
this.namedId = null;
}
public static BlockType getByIdMeta(int id, int meta) {
if (id < 0) {
log.warn("Incorrect id \"{}\"", id);
@@ -137,4 +142,6 @@ public enum BlockType {
private final int id;
@Getter
private final int meta;
@Getter
private final String namedId;
}