diff --git a/src/main/java/com/songoda/epicfarming/tasks/FarmTask.java b/src/main/java/com/songoda/epicfarming/tasks/FarmTask.java index 09481dc..d0a83ab 100644 --- a/src/main/java/com/songoda/epicfarming/tasks/FarmTask.java +++ b/src/main/java/com/songoda/epicfarming/tasks/FarmTask.java @@ -20,7 +20,7 @@ public class FarmTask extends BukkitRunnable { private static EpicFarming plugin; public static FarmTask startTask(EpicFarming pl) { - if (instance != null && !instance.isCancelled()) { + if (instance != null) { instance.cancel(); } instance = new FarmTask(); diff --git a/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java b/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java index 0e74f5f..7e19c3e 100644 --- a/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java +++ b/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java @@ -8,8 +8,11 @@ import com.songoda.epicfarming.settings.Settings; import com.songoda.epicfarming.utils.CropType; import org.bukkit.Location; import org.bukkit.scheduler.BukkitRunnable; - -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; public class GrowthTask extends BukkitRunnable { @@ -20,7 +23,7 @@ public class GrowthTask extends BukkitRunnable { private static final Random random = new Random(); public static GrowthTask startTask(EpicFarming plugin) { - if (instance != null && !instance.isCancelled()) { + if (instance != null) { instance.cancel(); } instance = new GrowthTask(); @@ -33,15 +36,9 @@ public class GrowthTask extends BukkitRunnable { List toRemove = new ArrayList<>(); for (Crop crop : liveCrops.values()) { - if (crop.getFarm().getFarmType() == FarmType.LIVESTOCK) continue; - Location cropLocation = crop.getLocation(); - - int x = cropLocation.getBlockX() >> 4; - int z = cropLocation.getBlockZ() >> 4; - - if (cropLocation.getWorld() == null || !cropLocation.getWorld().isChunkLoaded(x, z)) { + if (crop.getFarm().getFarmType() == FarmType.LIVESTOCK + || !crop.getFarm().isInLoadedChunk()) continue; - } if (!CropType.isGrowableCrop(crop.getLocation().getBlock().getType())) { toRemove.add(crop); diff --git a/src/main/java/com/songoda/epicfarming/tasks/HopperTask.java b/src/main/java/com/songoda/epicfarming/tasks/HopperTask.java index a02919a..4b56a73 100644 --- a/src/main/java/com/songoda/epicfarming/tasks/HopperTask.java +++ b/src/main/java/com/songoda/epicfarming/tasks/HopperTask.java @@ -24,11 +24,12 @@ public class HopperTask extends BukkitRunnable { public static HopperTask startTask(EpicFarming plugin) { - if (instance == null) { - instance = new HopperTask(plugin); - instance.runTaskTimer(plugin, 0, 8); + if (instance != null) { + instance.cancel(); } + instance = new HopperTask(plugin); + instance.runTaskTimer(plugin, 0, 8); return instance; }