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
|
package dev.mayaqq.ygasi.registry;
import com.mojang.brigadier.arguments.IntegerArgumentType;
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 static dev.mayaqq.ygasi.registry.StatRegistry.SKILL_POINTS;
import static net.minecraft.server.command.CommandManager.literal;
public class CommandRegistry {
public static void RegisterCommands() {
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> dispatcher.register(literal("skilltree")
.executes(context -> {
context.getSource().sendMessage(Text.literal("Surely this opened a skilltree that is definitely implemented..."));
return 1;
})));
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> dispatcher.register(literal("ygasi")
.requires(source -> source.hasPermissionLevel(4))
.then(literal("reset")
.then(CommandManager.argument("target", EntityArgumentType.player())
.executes(context -> {
ServerPlayerEntity player = EntityArgumentType.getPlayer(context, "target");
player.resetStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS));
context.getSource().sendMessage(Text.literal("§aSkill Points reset to 0 for " + player.getEntityName() + "."));
return 1;
})))
.then(literal("add")
.then(CommandManager.argument("target", EntityArgumentType.player())
.then(CommandManager.argument("amount", IntegerArgumentType.integer())
.executes(context -> {
ServerPlayerEntity player = EntityArgumentType.getPlayer(context, "target");
player.increaseStat(SKILL_POINTS, IntegerArgumentType.getInteger(context, "amount"));
context.getSource().sendMessage(Text.literal("§aSkill Points increased by " + IntegerArgumentType.getInteger(context, "amount") + " for " + player.getEntityName() + "."));
return 1;
}))))
.then(literal("get")
.then(CommandManager.argument("target", EntityArgumentType.player())
.executes(context -> {
ServerPlayerEntity player = EntityArgumentType.getPlayer(context, "target");
context.getSource().sendMessage(Text.literal("§a" + player.getEntityName() + " has " + player.getStatHandler().getStat(Stats.CUSTOM.getOrCreateStat(SKILL_POINTS)) + " Unspent Skill Points."));
return 1;
})))
));
}
}
|