Fix auto-team not sending in the right order, #699

This commit is contained in:
Myles 2017-06-29 20:04:40 +01:00
parent 634f92b5cd
commit 4d58c717cd
3 changed files with 8 additions and 12 deletions

View File

@ -136,15 +136,11 @@ public class PlayerPackets {
if (entityTracker.isAutoTeam() && player.equalsIgnoreCase(myName)) {
if (mode == 4) {
// since removing add to auto team
Via.getPlatform().runSync(new Runnable() {
@Override
public void run() {
entityTracker.sendTeamPacket(true);
}
});
entityTracker.sendTeamPacket(true, false);
} else {
// since adding remove from auto team
entityTracker.sendTeamPacket(false);
entityTracker.sendTeamPacket(false, true);
}
}
}

View File

@ -217,7 +217,7 @@ public class WorldPackets {
if (Via.getConfig().isAutoTeam()) {
EntityTracker entityTracker = wrapper.user().get(EntityTracker.class);
entityTracker.setAutoTeam(true);
entityTracker.sendTeamPacket(true);
entityTracker.sendTeamPacket(true, true);
}
}
});

View File

@ -241,10 +241,10 @@ public class EntityTracker extends StoredObject {
return null;
}
public void sendTeamPacket(boolean b) {
public void sendTeamPacket(boolean add, boolean now) {
PacketWrapper wrapper = new PacketWrapper(0x41, null, getUser());
wrapper.write(Type.STRING, "viaversion"); // Use viaversion as name
if (b) {
if (add) {
// add
if (!teamExists) {
wrapper.write(Type.BYTE, (byte) 0); // make team
@ -263,9 +263,9 @@ public class EntityTracker extends StoredObject {
} else {
wrapper.write(Type.BYTE, (byte) 1); // remove team
}
teamExists = b;
teamExists = add;
try {
wrapper.send(Protocol1_9TO1_8.class);
wrapper.send(Protocol1_9TO1_8.class, true, now);
} catch (Exception e) {
e.printStackTrace();
}