package net.limework.rediskript.skript; import ch.njol.skript.Skript; import ch.njol.skript.SkriptAddon; import ch.njol.skript.lang.ExpressionType; import ch.njol.skript.registrations.EventValues; import ch.njol.skript.util.Date; import ch.njol.skript.util.Getter; import net.limework.rediskript.RediSkript; import net.limework.rediskript.events.RedisMessageEvent; import net.limework.rediskript.skript.elements.EvtRedis; import net.limework.rediskript.skript.elements.ExprChannel; import net.limework.rediskript.skript.elements.ExprMessage; import net.limework.rediskript.skript.elements.ExprMessageDate; import java.io.IOException; public class SkriptHook { private SkriptAddon addon; public SkriptHook(RediSkript plugin) { addon = Skript.registerAddon(plugin); try { addon.loadClasses("net.limework.core.skript", "elements"); Skript.registerEvent("redis message", EvtRedis.class, RedisMessageEvent.class, "redis message"); Skript.registerExpression(ExprChannel.class, String.class, ExpressionType.SIMPLE, "redis channel"); EventValues.registerEventValue(RedisMessageEvent.class, String.class, new Getter() { @Override public String get(RedisMessageEvent e) { return e.getChannelName(); } }, 0); Skript.registerExpression(ExprMessage.class, String.class, ExpressionType.SIMPLE, "redis message"); EventValues.registerEventValue(RedisMessageEvent.class, String.class, new Getter() { @Override public String get(RedisMessageEvent e) { return e.getMessage(); } }, 0); Skript.registerExpression(ExprMessageDate.class, Date.class, ExpressionType.SIMPLE, "redis message date"); EventValues.registerEventValue(RedisMessageEvent.class, Date.class, new Getter() { @Override public Date get(RedisMessageEvent e) { return new Date(e.getDate()); } }, 0); } catch (IOException e) { e.printStackTrace(); } } }