From cb0e612badf28b25b8d09ddfff332fe4b7c9e1f3 Mon Sep 17 00:00:00 2001 From: hotpoc Date: Thu, 11 Jun 2026 23:46:47 -0400 Subject: [PATCH 1/6] Fix Feed Effect --- .../java/ch/njol/skript/effects/EffFeed.java | 78 ++++++++++--------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/main/java/ch/njol/skript/effects/EffFeed.java b/src/main/java/ch/njol/skript/effects/EffFeed.java index 0fda08e422a..01b081c1728 100644 --- a/src/main/java/ch/njol/skript/effects/EffFeed.java +++ b/src/main/java/ch/njol/skript/effects/EffFeed.java @@ -1,17 +1,18 @@ package ch.njol.skript.effects; -import ch.njol.skript.Skript; import ch.njol.skript.doc.Description; import ch.njol.skript.doc.Example; import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; import ch.njol.skript.lang.Effect; import ch.njol.skript.lang.Expression; -import ch.njol.skript.lang.SkriptParser; +import ch.njol.skript.lang.SkriptParser.ParseResult; import ch.njol.util.Kleenean; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.jetbrains.annotations.Nullable; +import org.skriptlang.skript.registration.SyntaxInfo; +import org.skriptlang.skript.registration.SyntaxRegistry; @Name("Feed") @Description("Feeds the specified players.") @@ -20,41 +21,44 @@ @Since("2.2-dev34") public class EffFeed extends Effect { - static { - Skript.registerEffect(EffFeed.class, "feed [the] %players% [by %-number% [beef[s]]]"); - } - - @SuppressWarnings("null") - private Expression players; - @Nullable - private Expression beefs; - - @Override - public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) { - players = (Expression) exprs[0]; - beefs = (Expression) exprs[1]; - return true; - } - - @Override - protected void execute(Event e) { - int level = 20; - - if (beefs != null) { - Number n = beefs.getSingle(e); - if (n == null) - return; - level = n.intValue(); - } - for (Player player : players.getArray(e)) { - player.setFoodLevel(player.getFoodLevel() + level); - } - } - - @Override - public String toString(@Nullable Event e, boolean debug) { - return "feed " + players.toString(e, debug) + (beefs != null ? " by " + beefs.toString(e, debug) : ""); - } + public static void register(SyntaxRegistry registry) { + registry.register(SyntaxRegistry.EFFECT, SyntaxInfo.builder(EffFeed.class) + .addPatterns("feed [the] %players% [by %-number% [beef[s]]]") + .supplier(EffFeed::new) + .build()); + } + + @SuppressWarnings("null") + private Expression players; + @Nullable + private Expression beefs; + + @Override + public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { + players = (Expression) exprs[0]; + beefs = (Expression) exprs[1]; + return true; + } + + @Override + protected void execute(Event e) { + int foodAmount = 20; + + if (beefs != null) { + Number n = beefs.getSingle(e); + if (n != null) + foodAmount = n.intValue(); + } + for (Player player : players.getArray(e)) { + int newFoodLevel = player.getFoodLevel() + foodAmount; + player.setFoodLevel(beefs == null ? Math.min(newFoodLevel, 20) : newFoodLevel); + } + } + + @Override + public String toString(@Nullable Event e, boolean debug) { + return "feed " + players.toString(e, debug) + (beefs != null ? " by " + beefs.toString(e, debug) : ""); + } } From 8ec0eb31a47380d2ab199d05fa6f3761cad3c276 Mon Sep 17 00:00:00 2001 From: hotpoc Date: Fri, 12 Jun 2026 00:06:01 -0400 Subject: [PATCH 2/6] Fix Feed Effect --- src/main/java/ch/njol/skript/effects/EffFeed.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/main/java/ch/njol/skript/effects/EffFeed.java b/src/main/java/ch/njol/skript/effects/EffFeed.java index 01b081c1728..a8a17cab917 100644 --- a/src/main/java/ch/njol/skript/effects/EffFeed.java +++ b/src/main/java/ch/njol/skript/effects/EffFeed.java @@ -1,5 +1,6 @@ package ch.njol.skript.effects; +import ch.njol.skript.Skript; import ch.njol.skript.doc.Description; import ch.njol.skript.doc.Example; import ch.njol.skript.doc.Name; @@ -11,8 +12,6 @@ import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.jetbrains.annotations.Nullable; -import org.skriptlang.skript.registration.SyntaxInfo; -import org.skriptlang.skript.registration.SyntaxRegistry; @Name("Feed") @Description("Feeds the specified players.") @@ -21,11 +20,8 @@ @Since("2.2-dev34") public class EffFeed extends Effect { - public static void register(SyntaxRegistry registry) { - registry.register(SyntaxRegistry.EFFECT, SyntaxInfo.builder(EffFeed.class) - .addPatterns("feed [the] %players% [by %-number% [beef[s]]]") - .supplier(EffFeed::new) - .build()); + static { + Skript.registerEffect(EffFeed.class, "feed [the] %players% [by %-number% [beef[s]]]"); } @SuppressWarnings("null") From 74536cb0d818b2e9456a82784d4fd105636671d4 Mon Sep 17 00:00:00 2001 From: hotpoc Date: Fri, 12 Jun 2026 00:09:47 -0400 Subject: [PATCH 3/6] Fix Feed Effect --- src/main/java/ch/njol/skript/effects/EffFeed.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/ch/njol/skript/effects/EffFeed.java b/src/main/java/ch/njol/skript/effects/EffFeed.java index a8a17cab917..0847e16d9c7 100644 --- a/src/main/java/ch/njol/skript/effects/EffFeed.java +++ b/src/main/java/ch/njol/skript/effects/EffFeed.java @@ -46,8 +46,7 @@ protected void execute(Event e) { foodAmount = n.intValue(); } for (Player player : players.getArray(e)) { - int newFoodLevel = player.getFoodLevel() + foodAmount; - player.setFoodLevel(beefs == null ? Math.min(newFoodLevel, 20) : newFoodLevel); + player.setFoodLevel(beefs == null ? 20 : player.getFoodLevel() + foodAmount); } } From ba917ab99e7d9aa76727367abc4b5d4159c368c0 Mon Sep 17 00:00:00 2001 From: hotpoc Date: Fri, 12 Jun 2026 21:18:01 -0400 Subject: [PATCH 4/6] Fix Feed Effect --- src/main/java/ch/njol/skript/effects/EffFeed.java | 12 ++++++++---- .../skript/bukkit/entity/player/PlayerModule.java | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/ch/njol/skript/effects/EffFeed.java b/src/main/java/ch/njol/skript/effects/EffFeed.java index 0847e16d9c7..d8381f86a56 100644 --- a/src/main/java/ch/njol/skript/effects/EffFeed.java +++ b/src/main/java/ch/njol/skript/effects/EffFeed.java @@ -1,6 +1,5 @@ package ch.njol.skript.effects; -import ch.njol.skript.Skript; import ch.njol.skript.doc.Description; import ch.njol.skript.doc.Example; import ch.njol.skript.doc.Name; @@ -12,6 +11,8 @@ import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.jetbrains.annotations.Nullable; +import org.skriptlang.skript.registration.SyntaxInfo; +import org.skriptlang.skript.registration.SyntaxRegistry; @Name("Feed") @Description("Feeds the specified players.") @@ -20,8 +21,11 @@ @Since("2.2-dev34") public class EffFeed extends Effect { - static { - Skript.registerEffect(EffFeed.class, "feed [the] %players% [by %-number% [beef[s]]]"); + public static void register(SyntaxRegistry registry) { + registry.register(SyntaxRegistry.EFFECT, SyntaxInfo.builder(EffFeed.class) + .addPatterns("feed %players% [by %-number% [beef[s]]]") + .supplier(EffFeed::new) + .build()); } @SuppressWarnings("null") @@ -38,7 +42,7 @@ public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelaye @Override protected void execute(Event e) { - int foodAmount = 20; + int foodAmount = 0; if (beefs != null) { Number n = beefs.getSingle(e); diff --git a/src/main/java/org/skriptlang/skript/bukkit/entity/player/PlayerModule.java b/src/main/java/org/skriptlang/skript/bukkit/entity/player/PlayerModule.java index 74bf611cbc9..560e246032e 100644 --- a/src/main/java/org/skriptlang/skript/bukkit/entity/player/PlayerModule.java +++ b/src/main/java/org/skriptlang/skript/bukkit/entity/player/PlayerModule.java @@ -1,6 +1,7 @@ package org.skriptlang.skript.bukkit.entity.player; import ch.njol.skript.Skript; +import ch.njol.skript.effects.EffFeed; import ch.njol.skript.lang.util.SimpleEvent; import io.papermc.paper.event.player.AsyncChatEvent; import org.skriptlang.skript.addon.AddonModule; @@ -23,6 +24,7 @@ protected void loadSelf(SkriptAddon addon) { register(addon, EffBan::register, EffKick::register, + EffFeed::register, ExprChatFormat::register, ExprChatMessage::register, ExprChatRecipients::register, From 2cd1018973c596ed91f1f3b3f37c824e30516fd4 Mon Sep 17 00:00:00 2001 From: hotpoc Date: Fri, 19 Jun 2026 18:19:14 -0400 Subject: [PATCH 5/6] Absolutionism's Requested Changes --- src/main/java/ch/njol/skript/effects/EffFeed.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/ch/njol/skript/effects/EffFeed.java b/src/main/java/ch/njol/skript/effects/EffFeed.java index d8381f86a56..c4fb95fba56 100644 --- a/src/main/java/ch/njol/skript/effects/EffFeed.java +++ b/src/main/java/ch/njol/skript/effects/EffFeed.java @@ -28,10 +28,8 @@ public static void register(SyntaxRegistry registry) { .build()); } - @SuppressWarnings("null") private Expression players; - @Nullable - private Expression beefs; + private @Nullable Expression beefs; @Override public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) { @@ -41,15 +39,15 @@ public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelaye } @Override - protected void execute(Event e) { + protected void execute(Event event) { int foodAmount = 0; if (beefs != null) { - Number n = beefs.getSingle(e); + Number n = beefs.getSingle(event); if (n != null) foodAmount = n.intValue(); } - for (Player player : players.getArray(e)) { + for (Player player : players.getArray(event)) { player.setFoodLevel(beefs == null ? 20 : player.getFoodLevel() + foodAmount); } } From 7018aaadec526d49c7dba8a2ce7fd0475998edaa Mon Sep 17 00:00:00 2001 From: hotpoc Date: Sun, 28 Jun 2026 10:42:42 -0400 Subject: [PATCH 6/6] Absolutionism's Requested Changes Again --- src/main/java/ch/njol/skript/effects/EffFeed.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/ch/njol/skript/effects/EffFeed.java b/src/main/java/ch/njol/skript/effects/EffFeed.java index c4fb95fba56..9caf51012a5 100644 --- a/src/main/java/ch/njol/skript/effects/EffFeed.java +++ b/src/main/java/ch/njol/skript/effects/EffFeed.java @@ -53,8 +53,8 @@ protected void execute(Event event) { } @Override - public String toString(@Nullable Event e, boolean debug) { - return "feed " + players.toString(e, debug) + (beefs != null ? " by " + beefs.toString(e, debug) : ""); + public String toString(@Nullable Event event, boolean debug) { + return "feed " + players.toString(event, debug) + (beefs != null ? " by " + beefs.toString(event, debug) : ""); }