Skip to content
Merged
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
28004b4
Add kick message expr
nopeless Mar 1, 2025
a2dae9b
Add proper placeholder for version
nopeless Mar 1, 2025
6e83db1
Code clean up
nopeless Mar 1, 2025
892b09b
Update src/main/java/ch/njol/skript/expressions/ExprKickMessage.java
nopeless Mar 1, 2025
d73e203
We only support 1.19.4+
nopeless Mar 1, 2025
6dcda26
Merge branch 'master' of https://github.com/nopeless/Skript
nopeless Mar 1, 2025
f37986e
use deprecated api
nopeless Mar 1, 2025
1affe07
resolve suggestions
nopeless Mar 1, 2025
bdc5d3e
mark method as nullable
nopeless Mar 1, 2025
da82cd6
remove minimessage entirely
nopeless Mar 1, 2025
6659594
Update src/main/java/ch/njol/skript/expressions/ExprKickMessage.java
nopeless Mar 2, 2025
d4c88a1
Update src/main/java/ch/njol/skript/expressions/ExprKickMessage.java
nopeless Mar 2, 2025
bf8f9f3
Update src/main/java/ch/njol/skript/expressions/ExprKickMessage.java
nopeless Mar 2, 2025
b2552ee
Update src/main/java/ch/njol/skript/expressions/ExprKickMessage.java
nopeless Mar 2, 2025
7d2f9c6
shorter import
nopeless Mar 2, 2025
8066fc8
implement EventRestrictedSyntax
nopeless Mar 2, 2025
b8b2574
Merge branch 'dev/feature' into master
nopeless Mar 2, 2025
bc2e1ad
Update src/main/java/ch/njol/skript/expressions/ExprKickMessage.java
nopeless Mar 3, 2025
87cf659
apply changes
nopeless Mar 25, 2025
26421cd
Merge branch 'dev/feature' into master
erenkarakal Mar 28, 2025
afb034b
implement suggestions
nopeless Apr 3, 2025
e334a4f
Merge branch 'master' of https://github.com/nopeless/Skript
nopeless Apr 3, 2025
233226a
Update src/main/java/ch/njol/skript/expressions/ExprOnScreenKickMessa…
nopeless Apr 8, 2025
fe1dbc9
Update src/main/java/ch/njol/skript/expressions/ExprOnScreenKickMessa…
nopeless Apr 8, 2025
fc13c6d
Merge branch 'dev/feature' into master
sovdeeth Apr 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
package ch.njol.skript.expressions;

import ch.njol.skript.classes.Changer.ChangeMode;
import ch.njol.skript.lang.EventRestrictedSyntax;
import ch.njol.skript.lang.Expression;
import ch.njol.skript.lang.ExpressionType;
import ch.njol.skript.lang.SkriptParser.ParseResult;
import ch.njol.skript.lang.util.SimpleExpression;
import ch.njol.util.Kleenean;
import ch.njol.util.coll.CollectionUtils;
import org.bukkit.event.Event;
import org.bukkit.event.player.PlayerKickEvent;
import ch.njol.skript.Skript;
import ch.njol.skript.doc.*;
import org.jetbrains.annotations.Nullable;

@Name("On-screen Kick Message")
@Description("The kick message that is displayed on-screen when a player is kicked.")
@Examples({
"on kick:",
"\ton-screen kick message is \"Invalid hotbar selection (Hacking?)\"",
"\tcancel event"
})
@Since("INSERT VERSION")
@Events("Kick")
public class ExprOnScreenKickMessage extends SimpleExpression<String> implements EventRestrictedSyntax {

static {
Skript.registerExpression(ExprOnScreenKickMessage.class, String.class, ExpressionType.SIMPLE, "[the] on-screen kick message");
}

@Override
public boolean init(Expression<?>[] expressions, int matchedPattern, Kleenean isDelayed, ParseResult parseResult) {
return true;
}

@Override
protected String @Nullable [] get(Event event) {
if (event instanceof PlayerKickEvent playerKickEvent) {
return new String[] { playerKickEvent.getReason() };
}
return null;
}

@Override
public Class<?> @Nullable [] acceptChange(ChangeMode mode) {
return mode == ChangeMode.SET ? CollectionUtils.array(String.class) : null;
}

@Override
public void change(Event event, Object @Nullable [] delta, ChangeMode mode) {
assert delta != null;
assert delta.length == 1;
if (event instanceof PlayerKickEvent kickEvent && delta[0] instanceof String text) {
kickEvent.setReason(text);
}
}

@Override
public boolean isSingle() {
return true;
}

@Override
public Class<? extends String> getReturnType() {
return String.class;
}

@Override
public String toString(@Nullable Event event, boolean debug) {
return "the on-screen kick message";
}

@Override
public Class<? extends Event>[] supportedEvents() {
return CollectionUtils.array(PlayerKickEvent.class);
}

}