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