use region scheduler here for safety
This commit is contained in:
parent
b5522121ba
commit
034a20930a
@ -1,5 +1,6 @@
|
||||
package me.xginko.villageroptimizer.models;
|
||||
|
||||
import me.xginko.villageroptimizer.VillagerOptimizer;
|
||||
import me.xginko.villageroptimizer.enums.Keys;
|
||||
import me.xginko.villageroptimizer.enums.OptimizationType;
|
||||
import org.bukkit.entity.Villager;
|
||||
@ -45,11 +46,15 @@ public final class WrappedVillager {
|
||||
public void setOptimization(OptimizationType type) {
|
||||
if (type.equals(OptimizationType.OFF) && isOptimized()) {
|
||||
dataContainer.remove(Keys.OPTIMIZATION_TYPE.key());
|
||||
villager.getScheduler().run(VillagerOptimizer.getInstance(), enableAI -> {
|
||||
villager.setAware(true);
|
||||
villager.setAI(true);
|
||||
}, null);
|
||||
} else {
|
||||
dataContainer.set(Keys.OPTIMIZATION_TYPE.key(), PersistentDataType.STRING, type.name());
|
||||
villager.getScheduler().run(VillagerOptimizer.getInstance(), disableAI -> {
|
||||
villager.setAware(false);
|
||||
}, null);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,8 +68,8 @@ public class LevelVillagers implements VillagerOptimizerModule, Listener {
|
||||
&& wVillager.calculateLevel() > villager.getVillagerLevel()
|
||||
) {
|
||||
villager.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, (int) (20 + (cooldown / 50L)), 120, false, false));
|
||||
villager.setAware(true);
|
||||
villager.getScheduler().runDelayed(plugin, reOptimize -> {
|
||||
villager.getScheduler().run(VillagerOptimizer.getInstance(), enableAI -> villager.setAware(true), null);
|
||||
villager.getScheduler().runDelayed(plugin, disableAI -> {
|
||||
villager.setAware(false);
|
||||
wVillager.saveLastLevelUp();
|
||||
}, null, 100L);
|
||||
|
Loading…
x
Reference in New Issue
Block a user