1 parent
7d8bf9789f
commit
333f1bca4f
3 files changed
+41
No files matched your search
@@ -93,6 +93,7 @@ public class MQTTClient {
|
||||
client.subscribe("loon/player/+/position/request");
|
||||
client.subscribe("loon/world/chunks/+/+/request");
|
||||
client.subscribe("loon/server/info/request");
|
||||
client.subscribe("loon/playerlist/sync/request");
|
||||
|
||||
if (reconnect)
|
||||
Loon.LOGGER.info("MQTT reconnected");
|
||||
@@ -175,6 +176,10 @@ public class MQTTClient {
|
||||
if (topic.equals("loon/server/info/request")) {
|
||||
RequestManager.addRequest(new ServerInfoRequest());
|
||||
}
|
||||
|
||||
if (topic.equals("loon/playerlist/sync/request")) {
|
||||
RequestManager.addRequest(new PlayerListSyncRequest());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package ciomek.loon.mqtt.payload.player.list;
|
||||
|
||||
import ciomek.loon.mqtt.payload.Payload;
|
||||
import ciomek.loon.mqtt.payload.data.PlayerIdentity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record PlayerListSyncPayload(
|
||||
List<PlayerIdentity> players
|
||||
) implements Payload {
|
||||
@Override
|
||||
public List<String> topics() {
|
||||
return List.of("loon/playerlist/sync");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package ciomek.loon.mqtt.request;
|
||||
|
||||
import ciomek.loon.mqtt.payload.data.PlayerIdentity;
|
||||
import ciomek.loon.mqtt.payload.player.list.PlayerListSyncPayload;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public record PlayerListSyncRequest() implements IRequest {
|
||||
@Override
|
||||
public void handle(MinecraftServer server) {
|
||||
List<PlayerIdentity> players = server.playerList.playerEntities.stream()
|
||||
.map(player -> new PlayerIdentity(player.uuid, player.username))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
PlayerListSyncPayload payload = new PlayerListSyncPayload(players);
|
||||
|
||||
payload.send();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user