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.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.util.PacketByteBuf;
|
import net.minecraft.util.PacketByteBuf;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class ServerNetworkHandler
|
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 Set<ServerPlayerEntity> validCarpetPlayers = new HashSet<>();
|
||||||
|
|
||||||
public static void handleData(PacketByteBuf data, ServerPlayerEntity player)
|
public static void handleData(PacketByteBuf data, ServerPlayerEntity player)
|
||||||
@@ -46,9 +48,10 @@ public class ServerNetworkHandler
|
|||||||
|
|
||||||
public static void onHello(ServerPlayerEntity playerEntity, PacketByteBuf packetData)
|
public static void onHello(ServerPlayerEntity playerEntity, PacketByteBuf packetData)
|
||||||
{
|
{
|
||||||
remoteCarpetPlayers.add(playerEntity);
|
|
||||||
validCarpetPlayers.add(playerEntity);
|
validCarpetPlayers.add(playerEntity);
|
||||||
String clientVersion = packetData.readString(64);
|
String clientVersion = packetData.readString(64);
|
||||||
|
remoteCarpetPlayers.put(playerEntity, clientVersion);
|
||||||
if (clientVersion.equals(CarpetSettings.carpetVersion))
|
if (clientVersion.equals(CarpetSettings.carpetVersion))
|
||||||
CarpetSettings.LOG.info("Player "+playerEntity.getName().getString()+" joined with a matching carpet client");
|
CarpetSettings.LOG.info("Player "+playerEntity.getName().getString()+" joined with a matching carpet client");
|
||||||
else
|
else
|
||||||
@@ -60,7 +63,7 @@ public class ServerNetworkHandler
|
|||||||
|
|
||||||
public static void updateRuleWithConnectedClients(ParsedRule<?> rule)
|
public static void updateRuleWithConnectedClients(ParsedRule<?> rule)
|
||||||
{
|
{
|
||||||
for (ServerPlayerEntity player : remoteCarpetPlayers)
|
for (ServerPlayerEntity player : remoteCarpetPlayers.keySet())
|
||||||
{
|
{
|
||||||
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
|
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
|
||||||
CarpetClient.CARPET_CHANNEL,
|
CarpetClient.CARPET_CHANNEL,
|
||||||
@@ -71,7 +74,7 @@ public class ServerNetworkHandler
|
|||||||
|
|
||||||
public static void updateTickSpeedToConnectedPlayers()
|
public static void updateTickSpeedToConnectedPlayers()
|
||||||
{
|
{
|
||||||
for (ServerPlayerEntity player : remoteCarpetPlayers)
|
for (ServerPlayerEntity player : remoteCarpetPlayers.keySet())
|
||||||
{
|
{
|
||||||
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
|
player.networkHandler.sendPacket(new CustomPayloadS2CPacket(
|
||||||
CarpetClient.CARPET_CHANNEL,
|
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)
|
for (ServerPlayerEntity player : validCarpetPlayers)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user