aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorAnhgelus Morhtuuzh <william@herges.fr>2025-10-13 14:43:47 +0200
committerAnhgelus Morhtuuzh <william@herges.fr>2025-10-13 14:43:47 +0200
commitd91434be7102b84ed87fe5851d22d7801f9618fb (patch)
tree02857c2ed1ce3ab11cc0a6bba5c81c8b63571b1c /src/main/java
parent9f0ec65c646f7b2d34a6740173f577092680de74 (diff)
feat(commands): get hearts for operators
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/world/anhgelus/lifesteal/Commands.java18
-rw-r--r--src/main/java/world/anhgelus/lifesteal/LifeSteal.java1
2 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/world/anhgelus/lifesteal/Commands.java b/src/main/java/world/anhgelus/lifesteal/Commands.java
index 5bf10c5..6accf8d 100644
--- a/src/main/java/world/anhgelus/lifesteal/Commands.java
+++ b/src/main/java/world/anhgelus/lifesteal/Commands.java
@@ -34,4 +34,22 @@ public class Commands {
dispatcher.register(cmd);
}
+
+ public static void registerGetHearts(CommandDispatcher<ServerCommandSource> dispatcher) {
+ final var cmd = literal("gethearts")
+ .requires(s -> s.hasPermissionLevel(3))
+ .then(argument("hearts", IntegerArgumentType.integer(1))
+ .executes(context -> {
+ final var source = context.getSource();
+ final var hearts = IntegerArgumentType.getInteger(context, "hearts");
+ final var p = source.getPlayerOrThrow();
+ final var lifeStealer = LifeStealer.Manager.getLifeStealer(p);
+ p.giveOrDropStack(lifeStealer.getHeart().copyWithCount(hearts));
+ source.sendFeedback(() -> Text.of("Hearts given."), false);
+ return Command.SINGLE_SUCCESS;
+ })
+ );
+
+ dispatcher.register(cmd);
+ }
}
diff --git a/src/main/java/world/anhgelus/lifesteal/LifeSteal.java b/src/main/java/world/anhgelus/lifesteal/LifeSteal.java
index cc1b4eb..7fb5b33 100644
--- a/src/main/java/world/anhgelus/lifesteal/LifeSteal.java
+++ b/src/main/java/world/anhgelus/lifesteal/LifeSteal.java
@@ -78,6 +78,7 @@ public class LifeSteal implements ModInitializer {
CommandRegistrationCallback.EVENT.register((CommandDispatcher<ServerCommandSource> dispatcher, CommandRegistryAccess registryAccess, CommandManager.RegistrationEnvironment environment) -> {
Commands.registerWithdraw(dispatcher);
+ Commands.registerGetHearts(dispatcher);
});
ServerLifecycleEvents.SERVER_STARTED.register(server -> {