From 2033c726901acfa8bb4ca8f650b8a4c0ab861aee Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Thu, 27 Jun 2024 18:40:28 +0800 Subject: [PATCH] feat: effect command now can remove an effect from entity --- .../server/command/defaults/EffectCommand.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Allay-Server/src/main/java/org/allaymc/server/command/defaults/EffectCommand.java b/Allay-Server/src/main/java/org/allaymc/server/command/defaults/EffectCommand.java index f2d0ea4d8..5223599b8 100644 --- a/Allay-Server/src/main/java/org/allaymc/server/command/defaults/EffectCommand.java +++ b/Allay-Server/src/main/java/org/allaymc/server/command/defaults/EffectCommand.java @@ -30,6 +30,18 @@ public void prepareCommandTree(CommandTree tree) { Collection players = context.getResult(0); EffectType effectType = context.getResult(1); int seconds = context.getResult(2); + if (seconds == 0) { + // Remove effect + players.forEach(player -> { + player.removeEffect(effectType); + context.addOutput( + TrKeys.M_COMMANDS_EFFECT_SUCCESS_REMOVED, + effectType.getIdentifier().path(), // TODO: I18N + player.getDisplayName() + ); + }); + return context.success(); + } int time = seconds * 20; // because effect duration in ticks int amplifier = context.getResult(3); boolean hideParticles = context.getResult(4);