diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2025-10-13 14:43:47 +0200 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2025-10-13 14:43:47 +0200 |
| commit | d91434be7102b84ed87fe5851d22d7801f9618fb (patch) | |
| tree | 02857c2ed1ce3ab11cc0a6bba5c81c8b63571b1c /src | |
| parent | 9f0ec65c646f7b2d34a6740173f577092680de74 (diff) | |
feat(commands): get hearts for operators
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/world/anhgelus/lifesteal/Commands.java | 18 | ||||
| -rw-r--r-- | src/main/java/world/anhgelus/lifesteal/LifeSteal.java | 1 |
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 -> { |
