From c89f3ea4687a2e42460fef866a1d16df0e088602 Mon Sep 17 00:00:00 2001 From: Andrew Steinborn Date: Mon, 24 Sep 2018 02:04:12 -0400 Subject: [PATCH] Remove scoreboard packets We don't use these any more, and to be frank, it's kind of scary to update anyway. --- .../proxy/protocol/StateRegistry.java | 24 -- .../protocol/packet/ScoreboardDisplay.java | 47 ---- .../protocol/packet/ScoreboardObjective.java | 93 -------- .../protocol/packet/ScoreboardSetScore.java | 77 ------- .../proxy/protocol/packet/ScoreboardTeam.java | 215 ------------------ .../protocol/util/ScoreboardProtocolUtil.java | 24 -- 6 files changed, 480 deletions(-) delete mode 100644 proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardDisplay.java delete mode 100644 proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardObjective.java delete mode 100644 proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardSetScore.java delete mode 100644 proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardTeam.java delete mode 100644 proxy/src/main/java/com/velocitypowered/proxy/protocol/util/ScoreboardProtocolUtil.java diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/StateRegistry.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/StateRegistry.java index 3c92cfe4c..8e6d1fe78 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/StateRegistry.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/protocol/StateRegistry.java @@ -112,30 +112,6 @@ public enum StateRegistry { map(0x49, MINECRAFT_1_12, true), map(0x4A, MINECRAFT_1_12_1, true), map(0x4E, MINECRAFT_1_13, true)); - CLIENTBOUND.register(ScoreboardDisplay.class, ScoreboardDisplay::new, - map(0x3D, MINECRAFT_1_8, true), - map(0x38, MINECRAFT_1_9, true), - map(0x3A, MINECRAFT_1_12, true), - map(0x3B, MINECRAFT_1_12_1, true), - map(0x3E, MINECRAFT_1_13, true)); - CLIENTBOUND.register(ScoreboardObjective.class, ScoreboardObjective::new, - map(0x3B, MINECRAFT_1_8, true), - map(0x3F, MINECRAFT_1_9, true), - map(0x41, MINECRAFT_1_12, true), - map(0x42, MINECRAFT_1_12_1, true), - map(0x45, MINECRAFT_1_13, true)); - CLIENTBOUND.register(ScoreboardTeam.class, ScoreboardTeam::new, - map(0x3E, MINECRAFT_1_8, true), - map(0x41, MINECRAFT_1_9, true), - map(0x43, MINECRAFT_1_12, true), - map(0x44, MINECRAFT_1_12_1, true), - map(0x47, MINECRAFT_1_13, true)); - CLIENTBOUND.register(ScoreboardSetScore.class, ScoreboardSetScore::new, - map(0x3C, MINECRAFT_1_8, true), - map(0x42, MINECRAFT_1_9, true), - map(0x44, MINECRAFT_1_12, true), - map(0x45, MINECRAFT_1_12_1, true), - map(0x48, MINECRAFT_1_13, true)); CLIENTBOUND.register(TitlePacket.class, TitlePacket::new, map(0x45, MINECRAFT_1_8, true), map(0x45, MINECRAFT_1_9, true), diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardDisplay.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardDisplay.java deleted file mode 100644 index 8f22abeb5..000000000 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardDisplay.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.velocitypowered.proxy.protocol.packet; - -import com.velocitypowered.proxy.protocol.MinecraftPacket; -import com.velocitypowered.proxy.protocol.ProtocolConstants; -import com.velocitypowered.proxy.protocol.ProtocolUtils; -import io.netty.buffer.ByteBuf; - -public class ScoreboardDisplay implements MinecraftPacket { - private byte position; - private String displayName; - - public byte getPosition() { - return position; - } - - public void setPosition(byte position) { - this.position = position; - } - - public String getDisplayName() { - return displayName; - } - - public void setDisplayName(String displayName) { - this.displayName = displayName; - } - - @Override - public String toString() { - return "ScoreboardDisplay{" + - "position=" + position + - ", displayName='" + displayName + '\'' + - '}'; - } - - @Override - public void decode(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { - this.position = buf.readByte(); - this.displayName = ProtocolUtils.readString(buf, 16); - } - - @Override - public void encode(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { - buf.writeByte(position); - ProtocolUtils.writeString(buf, displayName); - } -} diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardObjective.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardObjective.java deleted file mode 100644 index 1234e0831..000000000 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardObjective.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.velocitypowered.proxy.protocol.packet; - -import com.velocitypowered.proxy.protocol.MinecraftPacket; -import com.velocitypowered.proxy.protocol.ProtocolConstants; -import com.velocitypowered.proxy.protocol.ProtocolUtils; -import com.velocitypowered.proxy.protocol.util.ScoreboardProtocolUtil; -import io.netty.buffer.ByteBuf; -import net.kyori.text.Component; - -public class ScoreboardObjective implements MinecraftPacket { - public static final byte ADD = (byte) 0; - public static final byte REMOVE = (byte) 1; - public static final byte CHANGE = (byte) 2; - private String id; - private byte mode; - private Component displayName; - private ObjectiveMode type; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public byte getMode() { - return mode; - } - - public void setMode(byte mode) { - this.mode = mode; - } - - public Component getDisplayName() { - return displayName; - } - - public void setDisplayName(Component displayName) { - this.displayName = displayName; - } - - public ObjectiveMode getType() { - return type; - } - - public void setType(ObjectiveMode type) { - this.type = type; - } - - @Override - public String toString() { - return "ScoreboardObjective{" + - "id='" + id + '\'' + - ", mode=" + mode + - ", displayName='" + displayName + '\'' + - ", type='" + type + '\'' + - '}'; - } - - @Override - public void decode(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { - this.id = ProtocolUtils.readString(buf, 16); - this.mode = buf.readByte(); - if (this.mode != REMOVE) { - this.displayName = ProtocolUtils.readScoreboardTextComponent(buf, protocolVersion); - if (protocolVersion >= ProtocolConstants.MINECRAFT_1_13) { - this.type = ScoreboardProtocolUtil.getMode(ProtocolUtils.readVarInt(buf)); - } else { - this.type = ScoreboardProtocolUtil.getMode(ProtocolUtils.readString(buf)); - } - } - } - - @Override - public void encode(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { - ProtocolUtils.writeString(buf, id); - buf.writeByte(mode); - if (this.mode != REMOVE) { - ProtocolUtils.writeScoreboardTextComponent(buf, protocolVersion, displayName); - if (protocolVersion >= ProtocolConstants.MINECRAFT_1_13) { - ProtocolUtils.writeVarInt(buf, type.ordinal()); - } else { - ProtocolUtils.writeString(buf, type.name().toLowerCase()); - } - } - } - - public enum ObjectiveMode { - INTEGER, - HEARTS - } -} diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardSetScore.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardSetScore.java deleted file mode 100644 index 264d9eec2..000000000 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardSetScore.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.velocitypowered.proxy.protocol.packet; - -import com.velocitypowered.proxy.protocol.MinecraftPacket; -import com.velocitypowered.proxy.protocol.ProtocolConstants; -import com.velocitypowered.proxy.protocol.ProtocolUtils; -import io.netty.buffer.ByteBuf; - -public class ScoreboardSetScore implements MinecraftPacket { - public static final byte CHANGE = (byte) 0; - public static final byte REMOVE = (byte) 1; - private String entity; - private byte action; - private String objective; - private int value; - - public String getEntity() { - return entity; - } - - public void setEntity(String entity) { - this.entity = entity; - } - - public byte getAction() { - return action; - } - - public void setAction(byte action) { - this.action = action; - } - - public String getObjective() { - return objective; - } - - public void setObjective(String objective) { - this.objective = objective; - } - - public int getValue() { - return value; - } - - public void setValue(int value) { - this.value = value; - } - - @Override - public String toString() { - return "ScoreboardSetScore{" + - "entity='" + entity + '\'' + - ", action=" + action + - ", objective='" + objective + '\'' + - ", value=" + value + - '}'; - } - - @Override - public void decode(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { - this.entity = ProtocolUtils.readString(buf, 40); - this.action = buf.readByte(); - this.objective = ProtocolUtils.readString(buf, 16); - if (this.action != REMOVE) { - value = ProtocolUtils.readVarInt(buf); - } - } - - @Override - public void encode(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { - ProtocolUtils.writeString(buf, entity); - buf.writeByte(action); - ProtocolUtils.writeString(buf, objective); - if (this.action != REMOVE) { - ProtocolUtils.writeVarInt(buf, value); - } - } -} diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardTeam.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardTeam.java deleted file mode 100644 index e6a3d7421..000000000 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ScoreboardTeam.java +++ /dev/null @@ -1,215 +0,0 @@ -package com.velocitypowered.proxy.protocol.packet; - -import com.velocitypowered.proxy.protocol.MinecraftPacket; -import com.velocitypowered.proxy.protocol.ProtocolConstants; -import com.velocitypowered.proxy.protocol.ProtocolUtils; -import io.netty.buffer.ByteBuf; -import net.kyori.text.Component; - -import java.util.ArrayList; -import java.util.List; - -public class ScoreboardTeam implements MinecraftPacket { - public static final byte ADD = (byte) 0; - public static final byte REMOVE = (byte) 1; - public static final byte UPDATE = (byte) 2; - public static final byte ADD_PLAYER = (byte) 3; - public static final byte REMOVE_PLAYER = (byte) 4; - private String id; - private byte mode; - - private Component displayName; - private Component prefix; - private Component suffix; - private byte flags; - private String nameTagVisibility; - private String collisionRule; - private int color; - private List entities; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public byte getMode() { - return mode; - } - - public void setMode(byte mode) { - this.mode = mode; - } - - public Component getDisplayName() { - return displayName; - } - - public void setDisplayName(Component displayName) { - this.displayName = displayName; - } - - public Component getPrefix() { - return prefix; - } - - public void setPrefix(Component prefix) { - this.prefix = prefix; - } - - public Component getSuffix() { - return suffix; - } - - public void setSuffix(Component suffix) { - this.suffix = suffix; - } - - public byte getFlags() { - return flags; - } - - public void setFlags(byte flags) { - this.flags = flags; - } - - public String getNameTagVisibility() { - return nameTagVisibility; - } - - public void setNameTagVisibility(String nameTagVisibility) { - this.nameTagVisibility = nameTagVisibility; - } - - public String getCollisionRule() { - return collisionRule; - } - - public void setCollisionRule(String collisionRule) { - this.collisionRule = collisionRule; - } - - public int getColor() { - return color; - } - - public void setColor(int color) { - this.color = color; - } - - public List getEntities() { - return entities; - } - - public void setEntities(List entities) { - this.entities = entities; - } - - @Override - public String toString() { - return "ScoreboardTeam{" + - "id='" + id + '\'' + - ", mode=" + mode + - ", displayName='" + displayName + '\'' + - ", prefix='" + prefix + '\'' + - ", suffix='" + suffix + '\'' + - ", flags=" + flags + - ", nameTagVisibility='" + nameTagVisibility + '\'' + - ", collisionRule='" + collisionRule + '\'' + - ", color=" + color + - ", entities=" + entities + - '}'; - } - - @Override - public void decode(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { - this.id = ProtocolUtils.readString(buf, 16); - this.mode = buf.readByte(); - - switch (mode) { - case ADD: - case UPDATE: - this.displayName = ProtocolUtils.readScoreboardTextComponent(buf, protocolVersion); - if (protocolVersion <= ProtocolConstants.MINECRAFT_1_12_2) { - this.prefix = ProtocolUtils.readScoreboardTextComponent(buf, protocolVersion); - this.suffix = ProtocolUtils.readScoreboardTextComponent(buf, protocolVersion); - } - this.flags = buf.readByte(); - this.nameTagVisibility = ProtocolUtils.readString(buf, 32); - if (protocolVersion >= ProtocolConstants.MINECRAFT_1_9) { - this.collisionRule = ProtocolUtils.readString(buf, 32); - } - this.color = protocolVersion <= ProtocolConstants.MINECRAFT_1_12_2 ? buf.readByte() : - ProtocolUtils.readVarInt(buf); - if (protocolVersion >= ProtocolConstants.MINECRAFT_1_13) { - this.prefix = ProtocolUtils.readScoreboardTextComponent(buf, protocolVersion); - this.suffix = ProtocolUtils.readScoreboardTextComponent(buf, protocolVersion); - } - if (mode == ADD) { - this.entities = readEntities(buf); - } - break; - case REMOVE: // remove - break; - case ADD_PLAYER: // add player - case REMOVE_PLAYER: // remove player - this.entities = readEntities(buf); - break; - } - } - - @Override - public void encode(ByteBuf buf, ProtocolConstants.Direction direction, int protocolVersion) { - ProtocolUtils.writeString(buf, id); - buf.writeByte(mode); - switch (mode) { - case ADD: - case UPDATE: - ProtocolUtils.writeScoreboardTextComponent(buf, protocolVersion, displayName); - if (protocolVersion <= ProtocolConstants.MINECRAFT_1_12_2) { - ProtocolUtils.writeScoreboardTextComponent(buf, protocolVersion, prefix); - ProtocolUtils.writeScoreboardTextComponent(buf, protocolVersion, suffix); - } - buf.writeByte(flags); - ProtocolUtils.writeString(buf, nameTagVisibility); - if (protocolVersion >= ProtocolConstants.MINECRAFT_1_9) { - ProtocolUtils.writeString(buf, collisionRule); - } - if (protocolVersion >= ProtocolConstants.MINECRAFT_1_13) { - ProtocolUtils.writeVarInt(buf, color); - ProtocolUtils.writeScoreboardTextComponent(buf, protocolVersion, prefix); - ProtocolUtils.writeScoreboardTextComponent(buf, protocolVersion, suffix); - } else { - buf.writeByte(color); - } - if (mode == ADD) { - writeEntities(buf, entities); - } - break; - case REMOVE: - break; - case ADD_PLAYER: - case REMOVE_PLAYER: - writeEntities(buf, entities); - break; - } - } - - private static List readEntities(ByteBuf buf) { - List entities = new ArrayList<>(); - int size = ProtocolUtils.readVarInt(buf); - for (int i = 0; i < size; i++) { - entities.add(ProtocolUtils.readString(buf, 40)); - } - return entities; - } - - private static void writeEntities(ByteBuf buf, List entities) { - ProtocolUtils.writeVarInt(buf, entities.size()); - for (String entity : entities) { - ProtocolUtils.writeString(buf, entity); - } - } -} diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/util/ScoreboardProtocolUtil.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/util/ScoreboardProtocolUtil.java deleted file mode 100644 index 0cc15a61b..000000000 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/util/ScoreboardProtocolUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.velocitypowered.proxy.protocol.util; - -import com.velocitypowered.proxy.protocol.packet.ScoreboardObjective; - -public class ScoreboardProtocolUtil { - private ScoreboardProtocolUtil() { - throw new AssertionError(); - } - - public static ScoreboardObjective.ObjectiveMode getMode(String mode) { - return ScoreboardObjective.ObjectiveMode.valueOf(mode.toUpperCase()); - } - - public static ScoreboardObjective.ObjectiveMode getMode(int enumVal) { - switch (enumVal) { - case 0: - return ScoreboardObjective.ObjectiveMode.INTEGER; - case 1: - return ScoreboardObjective.ObjectiveMode.HEARTS; - default: - throw new IllegalStateException("Unknown mode " + enumVal); - } - } -}