| Total Complexity | 2 |
| Total Lines | 23 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | package de.pewpewproject.lasertag.networking.server.callbacks; |
||
| 16 | public class ClientTriggerPlayerJoinTeamCallback implements ServerPlayNetworking.PlayChannelHandler { |
||
| 17 | @Override |
||
| 18 | public void receive(MinecraftServer server, ServerPlayerEntity player, ServerPlayNetworkHandler handler, PacketByteBuf buf, PacketSender responseSender) { |
||
| 19 | |||
| 20 | try { |
||
| 21 | |||
| 22 | // Get the game managers |
||
| 23 | var gameManager = server.getOverworld().getServerLasertagManager(); |
||
| 24 | var teamsManager = gameManager.getTeamsManager(); |
||
| 25 | var syncedState = gameManager.getSyncedState(); |
||
| 26 | var teamsConfigState = syncedState.getTeamsConfigState(); |
||
| 27 | |||
| 28 | // Read team id |
||
| 29 | var teamId = buf.readInt(); |
||
| 30 | |||
| 31 | // Get the team |
||
| 32 | var teamOptional = teamsConfigState.getTeamOfId(teamId); |
||
| 33 | |||
| 34 | // Join team |
||
| 35 | teamOptional.ifPresent(teamDto -> teamsManager.playerJoinTeam(player, teamDto)); |
||
| 36 | } catch (Exception ex) { |
||
| 37 | LasertagMod.LOGGER.error("Error in ClientTriggerPlayerJoinTeamCallback", ex); |
||
| 38 | throw ex; |
||
| 39 | } |
||
| 42 |