2020-10-29 08:01:36 +00:00
|
|
|
package net.limework.rediskript.skript.elements;
|
2020-05-10 06:52:06 +00:00
|
|
|
|
|
|
|
import ch.njol.skript.Skript;
|
|
|
|
import ch.njol.skript.lang.Effect;
|
|
|
|
import ch.njol.skript.lang.Expression;
|
|
|
|
import ch.njol.skript.lang.SkriptParser;
|
|
|
|
import ch.njol.util.Kleenean;
|
2020-10-29 08:01:36 +00:00
|
|
|
import net.limework.rediskript.RediSkript;
|
2020-05-10 06:52:06 +00:00
|
|
|
import org.bukkit.Bukkit;
|
|
|
|
import org.bukkit.ChatColor;
|
|
|
|
import org.bukkit.event.Event;
|
2020-06-08 13:53:23 +00:00
|
|
|
|
2020-05-10 06:52:06 +00:00
|
|
|
public class EffSendMessage extends Effect {
|
|
|
|
static {
|
2020-11-25 11:53:52 +00:00
|
|
|
Skript.registerEffect(EffSendMessage.class, "send redis message[s] %strings% to [channel] %string%");
|
2020-05-10 06:52:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private Expression<String> channel;
|
|
|
|
private Expression<String> message;
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void execute(Event event) {
|
2020-10-23 11:34:30 +00:00
|
|
|
|
2020-10-22 10:30:41 +00:00
|
|
|
RediSkript plugin = (RediSkript) Bukkit.getPluginManager().getPlugin("RediSkript");
|
2020-10-23 11:34:30 +00:00
|
|
|
|
2020-11-25 11:53:52 +00:00
|
|
|
String[] message = this.message.getAll(event);
|
2020-05-10 06:52:06 +00:00
|
|
|
String channel = this.channel.getSingle(event);
|
2020-11-25 11:53:52 +00:00
|
|
|
if (message[0] == null) {
|
2020-10-23 11:34:30 +00:00
|
|
|
Bukkit.getLogger().warning(ChatColor.translateAlternateColorCodes('&', "&2[&aRediSkript&a] &cRedis message was empty. Please check your code."));
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (channel == null) {
|
|
|
|
Bukkit.getLogger().warning(ChatColor.translateAlternateColorCodes('&', "&2[&aRediSkript&a] &cChannel was empty. Please check your code."));
|
2020-05-10 06:52:06 +00:00
|
|
|
return;
|
|
|
|
}
|
2020-12-23 17:04:23 +00:00
|
|
|
plugin.getRC().sendMessage(message, channel);
|
2020-05-10 06:52:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2020-10-24 14:59:48 +00:00
|
|
|
public String toString(Event event, boolean debug) {
|
2020-10-27 07:06:36 +00:00
|
|
|
return "send redis message " + message.toString(event, debug) + " to channel " + channel.toString(event, debug);
|
2020-05-10 06:52:06 +00:00
|
|
|
}
|
2020-06-30 07:45:14 +00:00
|
|
|
|
2020-05-10 06:52:06 +00:00
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
@Override
|
2020-10-24 14:59:48 +00:00
|
|
|
public boolean init(final Expression<?>[] expressions, final int matchedPattern, final Kleenean isDelayed, final SkriptParser.ParseResult parser) {
|
2020-10-24 10:29:49 +00:00
|
|
|
this.message = (Expression<String>) expressions[0];
|
|
|
|
this.channel = (Expression<String>) expressions[1];
|
2020-05-10 06:52:06 +00:00
|
|
|
return true;
|
|
|
|
}
|
2020-05-10 19:10:45 +00:00
|
|
|
|
|
|
|
}
|