1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
package dev.mayaqq.ygasi.registry;
import com.mojang.brigadier.arguments.IntegerArgumentType;
import dev.mayaqq.ygasi.gui.*;
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
import net.minecraft.command.argument.EntityArgumentType;
import net.minecraft.server.command.CommandManager;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.stat.Stats;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import static dev.mayaqq.ygasi.registry.StatRegistry.SKILL_POINTS;
import static dev.mayaqq.ygasi.registry.StatRegistry.SKILL_POINTS_TOTAL;
import static net.minecraft.server.command.CommandManager.literal;
public class CommandRegistry {
public static void register() {
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> dispatcher.register(literal("skilltree")
.executes(context -> {
ServerPlayerEntity player = context.getSource().getPlayer();
BranchGui.gui(player);
return 1;
})
.then(literal("Mercenary")
.executes(context -> {
ServerPlayerEntity player = context.getSource().getPlayer();
MercenaryGui.gui(player);
return 1;
})
)
.then(literal("Wizardry")
.executes(context -> {
ServerPlayerEntity player = context.getSource().getPlayer();
WizardryGui.gui(player);
return 1;
})
)
.then(literal("Druidry")
.executes(context -> {
ServerPlayerEntity player = context.getSource().getPlayer();
DruidryGui.gui(player);
return 1;
})
)
));
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> dispatcher.register(literal("ygasi")
.requires(source -> source.hasPermissionLevel(4))
.then(literal("skillpoints")
.then(literal("reset")
.then(CommandManager.argument("targets", EntityArgumentType.players())
.executes(context -> {
for (int i = 0; i <= EntityArgumentType.getPlayers(context, "targets").size(); i++) {
ServerPlayerEntity[] players = EntityArgumentType.getPlayers(context, "targets").toArray(new ServerPlayerEntity[0]);
ResetGui.reset(players[i]);
}
String players;
if (EntityArgumentType.getPlayers(context, "targets").size() == 1) {
players = EntityArgumentType.getPlayers(context, "targets").toArray()[0].toString();
} else {
players = EntityArgumentType.getPlayers(context, "targets").size() + " players";
}
context.getSource().sendMessage(Text.translatable("commands.ygasi.skillpoints.reset", players).formatted(Formatting.GREEN));
return 1;
})))
.then(literal("add")
.then(CommandManager.argument("target", EntityArgumentType.player())
.then(CommandManager.argument("amount", IntegerArgumentType.integer())
.executes(context -> {
int amount = IntegerArgumentType.getInteger(context, "amount");
ServerPlayerEntity player = EntityArgumentType.getPlayer(context, "target");
player.increaseStat(SKILL_POINTS, amount);
player.increaseStat(SKILL_POINTS_TOTAL, amount);
context.getSource().sendMessage(Text.translatable("commands.ygasi.skillpoints.add", amount, player.getName()).formatted(Formatting.GREEN));
return 1;
}))))
.then(literal("get")
.then(CommandManager.argument("target", EntityArgumentType.player())
.executes(context -> {
ServerPlayerEntity player = EntityArgumentType.getPlayer(context, "target");
context.getSource().sendMessage(Text.translatable("commands.ygasi.skillpoints.get", player.getEntityName(), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)), player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS_TOTAL))).formatted(Formatting.GREEN));
return 1;
}))))
.then(literal("config")
.executes(context -> {
ConfigGui.gui(context.getSource().getPlayer());
return 1;
})
.then(literal("reload")
.executes(context -> {
ConfigRegistry.load();
context.getSource().sendMessage(Text.translatable("commands.ygasi.config.reload").formatted(Formatting.GREEN));
return 1;
})))
)
);
}
}
|