diff --git a/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcAI.java b/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcAI.java index 1abd1cdd1..dd95ceab9 100644 --- a/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcAI.java +++ b/src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcAI.java @@ -141,7 +141,7 @@ public class GuiNpcAI extends GuiNPCInterface2 implements ITextfieldListener, IG } else if (button.id == 17) { ai.tacticalVariant = EnumNavType.values()[button.getValue()]; - ai.directLOS = EnumNavType.values()[button.getValue()] == EnumNavType.Stalk ? false : this.ai.directLOS; + ai.directLOS = EnumNavType.values()[button.getValue()] != EnumNavType.Stalk && this.ai.directLOS; initGui(); } else if (button.id == 22) { diff --git a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java index 2d029b97c..f9419d802 100644 --- a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java +++ b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java @@ -434,7 +434,11 @@ public abstract class EntityNPCInterface extends EntityCreature implements IEnti protected void updateAITasks() { - super.updateAITasks(); + try { + super.updateAITasks(); + } catch (ConcurrentModificationException ignored){ + } + this.getNavigator().onUpdateNavigation(); this.getMoveHelper().onUpdateMoveHelper(); } diff --git a/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java b/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java index 6e5bef216..a777901ae 100644 --- a/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java @@ -613,10 +613,11 @@ public class ScriptNpc extends ScriptLiving imp } public void setTacticalVariant(int variant){ - if(variant > EnumNavType.values().length-1) + if(variant > EnumNavType.values().length-1 || variant < 0) return; npc.ai.tacticalVariant = EnumNavType.values()[variant]; + npc.ai.directLOS = EnumNavType.values()[variant] != EnumNavType.Stalk && npc.ai.directLOS; } public int getTacticalVariant(){