de.pewpewproject.lasertag.networking.server.callbacks.ClientTriggerSavePresetCallback   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 19
rs 10
c 0
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A receive(MinecraftServer,ServerPlayerEntity,ServerPlayNetworkHandler,PacketByteBuf,PacketSender) 0 18 2
1
package de.pewpewproject.lasertag.networking.server.callbacks;
2
3
import de.pewpewproject.lasertag.LasertagMod;
4
import net.fabricmc.fabric.api.networking.v1.PacketSender;
5
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
6
import net.minecraft.network.PacketByteBuf;
7
import net.minecraft.server.MinecraftServer;
8
import net.minecraft.server.network.ServerPlayNetworkHandler;
9
import net.minecraft.server.network.ServerPlayerEntity;
10
11
/**
12
 * Callback for the client trigger save settings preset network event
13
 *
14
 * @author Étienne Muser
15
 */
16
public class ClientTriggerSavePresetCallback 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 settingsPresetsManager = gameManager.getSettingsPresetsManager();
25
            var settingsPresetsNamesManger = gameManager.getSettingsPresetsNameManager();
26
27
            // Read name from buffer
28
            var presetName = buf.readString();
29
30
            settingsPresetsManager.savePreset(presetName);
31
            settingsPresetsNamesManger.addPresetName(presetName);
32
        } catch (Exception ex) {
33
            LasertagMod.LOGGER.error("Error in ClientTriggerSavePresetCallback", ex);
34
            throw ex;
35
        }
36
    }
37
}
38