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

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 100 %

Importance

Changes 0
Metric Value
eloc 11
dl 18
loc 18
rs 10
c 0
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A receive(MinecraftServer,ServerPlayerEntity,ServerPlayNetworkHandler,PacketByteBuf,PacketSender) 17 17 2

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

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 setting reset network event
13
 *
14
 * @author Étienne Muser
15
 */
16 View Code Duplication
public class ClientTriggerSettingResetCallback implements ServerPlayNetworking.PlayChannelHandler {
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
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 settingsManager = gameManager.getSettingsManager();
25
26
            // Get setting name
27
            var settingName = buf.readString();
28
29
            // Reset the setting
30
            settingsManager.reset(settingName);
31
        } catch (Exception ex) {
32
            LasertagMod.LOGGER.error("Error in ClientTriggerSettingResetCallback", ex);
33
            throw ex;
34
        }
35
    }
36
}
37