Skip to content

Commit

Permalink
Handle 'FriedlyFire' byte as distinct friendly fire (0x1) and visibil…
Browse files Browse the repository at this point in the history
…ity of invisible team members (0x2) flags
  • Loading branch information
Johni0702 committed Mar 25, 2015
1 parent 3c01b4d commit 90ff098
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 21 deletions.
Expand Up @@ -332,10 +332,6 @@ public class MagicValues {
register(TeamAction.ADD_PLAYER, 3);
register(TeamAction.REMOVE_PLAYER, 4);

register(FriendlyFire.OFF, 0);
register(FriendlyFire.ON, 1);
register(FriendlyFire.FRIENDLY_INVISIBLES_VISIBLE, 3);

register(ScoreboardAction.ADD_OR_UPDATE, 0);
register(ScoreboardAction.REMOVE, 1);

Expand Down

This file was deleted.

@@ -1,7 +1,6 @@
package org.spacehq.mc.protocol.packet.ingame.server.scoreboard;

import org.spacehq.mc.protocol.data.game.values.MagicValues;
import org.spacehq.mc.protocol.data.game.values.scoreboard.FriendlyFire;
import org.spacehq.mc.protocol.data.game.values.scoreboard.NameTagVisibility;
import org.spacehq.mc.protocol.data.game.values.scoreboard.TeamAction;
import org.spacehq.mc.protocol.data.game.values.scoreboard.TeamColor;
Expand All @@ -10,7 +9,6 @@
import org.spacehq.packetlib.packet.Packet;

import java.io.IOException;
import java.util.UUID;

public class ServerTeamPacket implements Packet {

Expand All @@ -19,7 +17,8 @@ public class ServerTeamPacket implements Packet {
private String displayName;
private String prefix;
private String suffix;
private FriendlyFire friendlyFire;
private boolean friendlyFire;
private boolean seeFriendlyInvisibles;
private NameTagVisibility nameTagVisibility;
private TeamColor color;
private String players[];
Expand All @@ -43,23 +42,25 @@ public ServerTeamPacket(String name, TeamAction action, String players[]) {
this.players = players;
}

public ServerTeamPacket(String name, String displayName, String prefix, String suffix, FriendlyFire friendlyFire, NameTagVisibility nameTagVisibility, TeamColor color) {
public ServerTeamPacket(String name, String displayName, String prefix, String suffix, boolean friendlyFire, boolean seeFriendlyInvisibles, NameTagVisibility nameTagVisibility, TeamColor color) {
this.name = name;
this.displayName = displayName;
this.prefix = prefix;
this.suffix = suffix;
this.friendlyFire = friendlyFire;
this.seeFriendlyInvisibles = seeFriendlyInvisibles;
this.nameTagVisibility = nameTagVisibility;
this.color = color;
this.action = TeamAction.UPDATE;
}

public ServerTeamPacket(String name, String displayName, String prefix, String suffix, FriendlyFire friendlyFire, NameTagVisibility nameTagVisibility, TeamColor color, String players[]) {
public ServerTeamPacket(String name, String displayName, String prefix, String suffix, boolean friendlyFire, boolean seeFriendlyInvisibles, NameTagVisibility nameTagVisibility, TeamColor color, String players[]) {
this.name = name;
this.displayName = displayName;
this.prefix = prefix;
this.suffix = suffix;
this.friendlyFire = friendlyFire;
this.seeFriendlyInvisibles = seeFriendlyInvisibles;
this.nameTagVisibility = nameTagVisibility;
this.color = color;
this.players = players;
Expand All @@ -86,10 +87,14 @@ public String getSuffix() {
return this.suffix;
}

public FriendlyFire getFriendlyFire() {
public boolean getFriendlyFire() {
return this.friendlyFire;
}

public boolean getSeeFriendlyInvisibles() {
return seeFriendlyInvisibles;
}

public NameTagVisibility getNameTagVisibility() {
return this.nameTagVisibility;
}
Expand All @@ -110,7 +115,9 @@ public void read(NetInput in) throws IOException {
this.displayName = in.readString();
this.prefix = in.readString();
this.suffix = in.readString();
this.friendlyFire = MagicValues.key(FriendlyFire.class, in.readByte());
byte flags = in.readByte();
this.friendlyFire = (flags & 0x1) != 0;
this.seeFriendlyInvisibles = (flags & 0x2) != 0;
this.nameTagVisibility = MagicValues.key(NameTagVisibility.class, in.readString());
this.color = MagicValues.key(TeamColor.class, in.readByte());
}
Expand All @@ -131,7 +138,14 @@ public void write(NetOutput out) throws IOException {
out.writeString(this.displayName);
out.writeString(this.prefix);
out.writeString(this.suffix);
out.writeByte(MagicValues.value(Integer.class, this.friendlyFire));
byte flags = 0;
if (this.friendlyFire) {
flags |= 0x1;
}
if (this.seeFriendlyInvisibles) {
flags |= 0x2;
}
out.writeByte(flags);
out.writeString(MagicValues.value(String.class, this.nameTagVisibility));
out.writeByte(MagicValues.value(Integer.class, this.color));
}
Expand Down

0 comments on commit 90ff098

Please sign in to comment.