Scoreboard works
This commit is contained in:
@@ -25,7 +25,7 @@ import mc.protocol.packets.ServerSidePacket;
|
||||
public class ScoreboardDisplayPacket implements ServerSidePacket {
|
||||
|
||||
private int position;
|
||||
private String name;
|
||||
private String scoreName;
|
||||
|
||||
public void setPosition(int position) {
|
||||
this.position = (position < 0) ? 0 : (Math.min(position, 18));
|
||||
@@ -33,7 +33,7 @@ public class ScoreboardDisplayPacket implements ServerSidePacket {
|
||||
|
||||
@Override
|
||||
public void writeSelf(NetByteBuf netByteBuf) {
|
||||
netByteBuf.writeByte(position);
|
||||
netByteBuf.writeString(name);
|
||||
netByteBuf.writeByte(this.position);
|
||||
netByteBuf.writeString(this.scoreName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,18 +26,18 @@ import mc.protocol.utils.ScoreboardObjectiveType;
|
||||
@Data
|
||||
public class ScoreboardObjectivePacket implements ServerSidePacket {
|
||||
|
||||
private String name;
|
||||
private String objectiveName;
|
||||
private ScoreboardObjectiveMode mode;
|
||||
private String value;
|
||||
private String objectiveValue;
|
||||
private ScoreboardObjectiveType type;
|
||||
|
||||
@Override
|
||||
public void writeSelf(NetByteBuf netByteBuf) {
|
||||
netByteBuf.writeString(this.name);
|
||||
netByteBuf.writeString(this.objectiveName);
|
||||
netByteBuf.writeByte(this.mode.getCode());
|
||||
|
||||
if (ScoreboardObjectiveMode.CREATE.equals(this.mode) || ScoreboardObjectiveMode.UPDATE.equals(this.mode)) {
|
||||
netByteBuf.writeString(this.value);
|
||||
netByteBuf.writeString(this.objectiveValue);
|
||||
netByteBuf.writeString(this.type.name().toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,14 +27,14 @@ public class ScoreboardUpdateScorePacket implements ServerSidePacket {
|
||||
|
||||
private String entityName;
|
||||
private ScoreboardUpdateScoreAction action;
|
||||
private String entityDisplayName;
|
||||
private String objective;
|
||||
private int value;
|
||||
|
||||
@Override
|
||||
public void writeSelf(NetByteBuf netByteBuf) {
|
||||
netByteBuf.writeString(this.entityName);
|
||||
netByteBuf.writeByte(this.action.getCode());
|
||||
netByteBuf.writeString(this.entityDisplayName);
|
||||
netByteBuf.writeString(this.objective);
|
||||
|
||||
if (ScoreboardUpdateScoreAction.CREATE_OR_UPDATE.equals(this.action)) {
|
||||
netByteBuf.writeVarInt(this.value);
|
||||
|
||||
@@ -127,45 +127,27 @@ public class PacketHandler {
|
||||
|
||||
// --- Эксперименты --- //
|
||||
|
||||
String scoreboardName = "Score::List";
|
||||
|
||||
var scoreboardObjectivePacket = new ScoreboardObjectivePacket();
|
||||
scoreboardObjectivePacket.setName(playerName);
|
||||
scoreboardObjectivePacket.setObjectiveName(scoreboardName);
|
||||
scoreboardObjectivePacket.setMode(ScoreboardObjectiveMode.CREATE);
|
||||
scoreboardObjectivePacket.setValue("Score::List");
|
||||
scoreboardObjectivePacket.setObjectiveValue(scoreboardName);
|
||||
scoreboardObjectivePacket.setType(ScoreboardObjectiveType.INTEGER);
|
||||
|
||||
context.send(scoreboardObjectivePacket);
|
||||
|
||||
var scoreboardDisplayPacket = new ScoreboardDisplayPacket();
|
||||
scoreboardDisplayPacket.setPosition(ScoreboardPosition.LIST);
|
||||
scoreboardDisplayPacket.setName(playerName);
|
||||
scoreboardDisplayPacket.setPosition(ScoreboardPosition.SIDEBAR);
|
||||
scoreboardDisplayPacket.setScoreName(scoreboardName);
|
||||
|
||||
context.send(scoreboardDisplayPacket);
|
||||
|
||||
@SuppressWarnings("java:S117")
|
||||
var teamsPacket_Create = new TeamsPacket();
|
||||
teamsPacket_Create.setMode(TeamsMode.CREATE);
|
||||
teamsPacket_Create.setName("__fakeScore0");
|
||||
teamsPacket_Create.setDisplayName(teamsPacket_Create.getName());
|
||||
teamsPacket_Create.setPrefix("");
|
||||
teamsPacket_Create.setSuffix("");
|
||||
teamsPacket_Create.setNameTagVisibility(TeamsNameTagVisibility.ALWAYS);
|
||||
teamsPacket_Create.setCollisionRule(TeamsCollisionRule.ALWAYS);
|
||||
teamsPacket_Create.setColor(-1/*no color*/);
|
||||
|
||||
context.send(teamsPacket_Create);
|
||||
|
||||
@SuppressWarnings("java:S117")
|
||||
var teamsPacket_Add = new TeamsPacket();
|
||||
teamsPacket_Add.setMode(TeamsMode.ADD_MEMBER);
|
||||
teamsPacket_Add.setName(teamsPacket_Create.getName());
|
||||
teamsPacket_Add.getMembers().add(playerName);
|
||||
|
||||
context.send(teamsPacket_Add);
|
||||
|
||||
var scoreboardUpdateScorePacket = new ScoreboardUpdateScorePacket();
|
||||
scoreboardUpdateScorePacket.setEntityName(teamsPacket_Create.getPrefix() + playerName + teamsPacket_Create.getSuffix());
|
||||
scoreboardUpdateScorePacket.setEntityDisplayName(playerName);
|
||||
scoreboardUpdateScorePacket.setEntityName(playerName);
|
||||
scoreboardUpdateScorePacket.setAction(ScoreboardUpdateScoreAction.CREATE_OR_UPDATE);
|
||||
scoreboardUpdateScorePacket.setObjective(scoreboardName);
|
||||
scoreboardUpdateScorePacket.setValue(100500);
|
||||
|
||||
context.send(scoreboardUpdateScorePacket);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user