keeping versions of connected clients
This commit is contained in:
1 parent
2e8ebc402e
commit
1c3d017e01
1 file changed
+8
-5
@@ -11,12 +11,14 @@ import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public class ServerNetworkHandler
|
||||
{
|
||||
public static Set<ServerPlayerEntity> remoteCarpetPlayers = new HashSet<>();
|
||||
public static Map<ServerPlayerEntity, String> remoteCarpetPlayers = new HashMap<>();
|
||||
public static Set<ServerPlayerEntity> validCarpetPlayers = new HashSet<>();
|
||||
|
||||
public static void handleData(PacketByteBuf data, ServerPlayerEntity player)
|
||||
@@ -46,9 +48,10 @@ public class ServerNetworkHandler
|
||||
|
||||
public static void onHello(ServerPlayerEntity playerEntity, PacketByteBuf packetData)
|
||||
{
|
||||
remoteCarpetPlayers.add(playerEntity);
|
||||
|
||||
validCarpetPlayers.add(playerEntity);
|
||||
String clientVersion = packetData.readString(64);
|
||||
remoteCarpetPlayers.put(playerEntity, clientVersion);
|
||||
if (clientVersion.equals(CarpetSettings.carpetVersion))
|
||||
CarpetSettings.LOG.info("Player "+playerEntity.getName().getString()+" joined with a matching carpet client");
|
||||
else
|
||||
@@ -60,7 +63,7 @@ public class ServerNetworkHandler
|
||||
|
||||
public static void updateRuleWithConnectedClients(ParsedRule<?> rule)
|
||||
{
|
||||
for (ServerPlayerEntity player : remoteCarpetPlayers)
|
||||
for (ServerPlayerEntity player : remoteCarpetPlayers.keySet())
|
||||
{
|
||||
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
|
||||
CarpetClient.CARPET_CHANNEL,
|
||||
@@ -71,7 +74,7 @@ public class ServerNetworkHandler
|
||||
|
||||
public static void updateTickSpeedToConnectedPlayers()
|
||||
{
|
||||
for (ServerPlayerEntity player : remoteCarpetPlayers)
|
||||
for (ServerPlayerEntity player : remoteCarpetPlayers.keySet())
|
||||
{
|
||||
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
|
||||
CarpetClient.CARPET_CHANNEL,
|
||||
@@ -80,7 +83,7 @@ public class ServerNetworkHandler
|
||||
}
|
||||
}
|
||||
|
||||
public static void sendCustomCommand(String command, Tag data)
|
||||
public static void broadcastCustomCommand(String command, Tag data)
|
||||
{
|
||||
for (ServerPlayerEntity player : validCarpetPlayers)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user