geforkt von Mirrors/Velocity
Some minor touch-ups
Dieser Commit ist enthalten in:
Ursprung
d37b6a361c
Commit
fca73bae67
@ -18,6 +18,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import io.netty.handler.codec.DecoderException;
|
||||
import io.netty.handler.codec.EncoderException;
|
||||
import net.kyori.nbt.CompoundTag;
|
||||
|
||||
public enum ProtocolUtils {
|
||||
@ -196,22 +198,21 @@ public enum ProtocolUtils {
|
||||
int indexBefore = buf.readerIndex();
|
||||
byte startType = buf.readByte();
|
||||
if (startType == 0) {
|
||||
return null;
|
||||
} else {
|
||||
throw new DecoderException("Invalid NBT start-type (end/empty)");
|
||||
}
|
||||
buf.readerIndex(indexBefore);
|
||||
try {
|
||||
DataInput input = new ByteBufInputStream(buf);
|
||||
byte type = input.readByte();
|
||||
if (type != 10) {
|
||||
return null;
|
||||
throw new DecoderException("NBTTag is not a CompoundTag");
|
||||
}
|
||||
input.readUTF();
|
||||
CompoundTag ret = new CompoundTag();
|
||||
ret.read(input, 0);
|
||||
return ret;
|
||||
input.readUTF(); // Head-padding
|
||||
CompoundTag compoundTag = new CompoundTag();
|
||||
compoundTag.read(input, 0);
|
||||
return compoundTag;
|
||||
} catch (IOException e) {
|
||||
return null;
|
||||
}
|
||||
throw new DecoderException("Unable to decode NBT CompoundTag at " + indexBefore);
|
||||
}
|
||||
}
|
||||
|
||||
@ -223,15 +224,15 @@ public enum ProtocolUtils {
|
||||
public static void writeCompoundTag(ByteBuf buf, CompoundTag compoundTag) {
|
||||
if (compoundTag == null) {
|
||||
buf.writeByte(0);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
DataOutput output = new ByteBufOutputStream(buf);
|
||||
output.writeByte(10);
|
||||
output.writeUTF("");
|
||||
output.writeByte(10); // Type 10 - CompoundTag
|
||||
output.writeUTF(""); // Head-padding
|
||||
compoundTag.write(output);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
throw new EncoderException("Unable to encode NBT CompoundTag");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@ public class Chat implements MinecraftPacket {
|
||||
|
||||
private @Nullable String message;
|
||||
private byte type;
|
||||
private UUID sender;
|
||||
private @Nullable UUID sender;
|
||||
|
||||
public Chat() {
|
||||
}
|
||||
@ -72,7 +72,7 @@ public class Chat implements MinecraftPacket {
|
||||
message = ProtocolUtils.readString(buf);
|
||||
if (direction == ProtocolUtils.Direction.CLIENTBOUND) {
|
||||
type = buf.readByte();
|
||||
if(version.compareTo(ProtocolVersion.MINECRAFT_1_16) >= 0) {
|
||||
if (version.compareTo(ProtocolVersion.MINECRAFT_1_16) >= 0) {
|
||||
sender = ProtocolUtils.readUuid(buf);
|
||||
}
|
||||
}
|
||||
@ -87,7 +87,7 @@ public class Chat implements MinecraftPacket {
|
||||
if (direction == ProtocolUtils.Direction.CLIENTBOUND) {
|
||||
buf.writeByte(type);
|
||||
if(version.compareTo(ProtocolVersion.MINECRAFT_1_16) >= 0) {
|
||||
ProtocolUtils.writeUuid(buf, sender == null ? new UUID(0,0) : sender);
|
||||
ProtocolUtils.writeUuid(buf, sender == null ? EMPTY_SENDER : sender);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,14 +17,14 @@ public class JoinGame implements MinecraftPacket {
|
||||
private short difficulty;
|
||||
private short maxPlayers;
|
||||
private @Nullable String levelType;
|
||||
private int viewDistance; //1.14+
|
||||
private int viewDistance; // 1.14+
|
||||
private boolean reducedDebugInfo;
|
||||
private boolean showRespawnScreen;
|
||||
private boolean shouldKeepPlayerData;
|
||||
private boolean isDebug;
|
||||
private boolean isFlat;
|
||||
private String dimensionRegistryName;
|
||||
private CompoundTag dimensionRegistry;
|
||||
private boolean shouldKeepPlayerData; // 1.16+
|
||||
private boolean isDebug; // 1.16+
|
||||
private boolean isFlat; // 1.16+
|
||||
private String dimensionRegistryName; // 1.16+
|
||||
private CompoundTag dimensionRegistry; // 1.16+
|
||||
|
||||
public int getEntityId() {
|
||||
return entityId;
|
||||
@ -149,6 +149,10 @@ public class JoinGame implements MinecraftPacket {
|
||||
+ ", levelType='" + levelType + '\''
|
||||
+ ", viewDistance=" + viewDistance
|
||||
+ ", reducedDebugInfo=" + reducedDebugInfo
|
||||
+ ", shouldKeepPlayerData=" + shouldKeepPlayerData
|
||||
+ ", isDebug=" + isDebug
|
||||
+ ", isFlat='" + isFlat
|
||||
+ ", dimensionRegistryName='" + dimensionRegistryName + '\''
|
||||
+ '}';
|
||||
}
|
||||
|
||||
@ -159,13 +163,11 @@ public class JoinGame implements MinecraftPacket {
|
||||
if (version.compareTo(ProtocolVersion.MINECRAFT_1_16) >= 0) {
|
||||
this.dimensionRegistry = ProtocolUtils.readCompoundTag(buf);
|
||||
this.dimensionRegistryName = ProtocolUtils.readString(buf);
|
||||
} else {
|
||||
if (version.compareTo(ProtocolVersion.MINECRAFT_1_9_1) >= 0) {
|
||||
} else if (version.compareTo(ProtocolVersion.MINECRAFT_1_9_1) >= 0) {
|
||||
this.dimension = buf.readInt();
|
||||
} else {
|
||||
this.dimension = buf.readByte();
|
||||
}
|
||||
}
|
||||
if (version.compareTo(ProtocolVersion.MINECRAFT_1_13_2) <= 0) {
|
||||
this.difficulty = buf.readUnsignedByte();
|
||||
}
|
||||
@ -198,13 +200,11 @@ public class JoinGame implements MinecraftPacket {
|
||||
if (version.compareTo(ProtocolVersion.MINECRAFT_1_16) >= 0) {
|
||||
ProtocolUtils.writeCompoundTag(buf, dimensionRegistry);
|
||||
ProtocolUtils.writeString(buf, dimensionRegistryName);
|
||||
} else {
|
||||
if (version.compareTo(ProtocolVersion.MINECRAFT_1_9_1) >= 0) {
|
||||
} else if (version.compareTo(ProtocolVersion.MINECRAFT_1_9_1) >= 0) {
|
||||
buf.writeInt(dimension);
|
||||
} else {
|
||||
buf.writeByte(dimension);
|
||||
}
|
||||
}
|
||||
if (version.compareTo(ProtocolVersion.MINECRAFT_1_13_2) <= 0) {
|
||||
buf.writeByte(difficulty);
|
||||
}
|
||||
|
@ -13,10 +13,10 @@ public class Respawn implements MinecraftPacket {
|
||||
private short difficulty;
|
||||
private short gamemode;
|
||||
private String levelType = "";
|
||||
private boolean shouldKeepPlayerData;
|
||||
private boolean isDebug;
|
||||
private boolean isFlat;
|
||||
private String dimensionRegistryName;
|
||||
private boolean shouldKeepPlayerData; // 1.16+
|
||||
private boolean isDebug; // 1.16+
|
||||
private boolean isFlat; // 1.16+
|
||||
private String dimensionRegistryName; // 1.16+
|
||||
|
||||
public Respawn() {
|
||||
}
|
||||
|
@ -134,6 +134,6 @@ public class ArgumentPropertyRegistry {
|
||||
dummy("minecraft:int_range", DUMMY);
|
||||
dummy("minecraft:float_range", DUMMY);
|
||||
dummy("minecraft:time", DUMMY); // added in 1.14
|
||||
dummy("minecraft:uuid", DUMMY);
|
||||
dummy("minecraft:uuid", DUMMY); // added in 1.16
|
||||
}
|
||||
}
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren