diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/RedisTask.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/RedisTask.java index b214ccb..37dd460 100644 --- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/RedisTask.java +++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/RedisTask.java @@ -1,6 +1,7 @@ package com.imaginarycode.minecraft.redisbungee.internal.util; import com.imaginarycode.minecraft.redisbungee.RedisBungeeAPI; +import com.imaginarycode.minecraft.redisbungee.internal.RedisBungeePlugin; import com.imaginarycode.minecraft.redisbungee.internal.summoners.ClusterJedisSummoner; import com.imaginarycode.minecraft.redisbungee.internal.summoners.JedisSummoner; import com.imaginarycode.minecraft.redisbungee.internal.summoners.Summoner; @@ -14,6 +15,8 @@ public abstract class RedisTask implements Runnable, Callable { private final Summoner summoner; private final RedisBungeeAPI api; + private RedisBungeePlugin plugin; + @Override public V call() throws Exception { return execute(); @@ -24,6 +27,12 @@ public abstract class RedisTask implements Runnable, Callable { this.summoner = api.getSummoner(); } + public RedisTask(RedisBungeePlugin plugin) { + this.plugin = plugin; + this.api = plugin.getApi(); + this.summoner = api.getSummoner(); + } + public abstract V singleJedisTask(Jedis jedis); public abstract V clusterJedisTask(JedisCluster jedisCluster); @@ -47,4 +56,10 @@ public abstract class RedisTask implements Runnable, Callable { return null; } + public RedisBungeePlugin getPlugin() { + if (plugin == null) { + throw new NullPointerException("Plugin is null in the task"); + } + return plugin; + } }