Conflict with Performant Mod
DeliciousTea opened this issue ยท 6 comments
Not sure if there's anything to be done about this, but running Performant alongside Eidolon seems to conflict with the new Witch AI that allows one to pick up the Ars Eclesia and add the Wicked Sign to it.
Removing Performant allows it to occur, but it's kind of annoying, especially on a server with multiple people.
Definitely annoying. This has been reported in the Performant repository here someaddons/performant_issues#56. I'm still not sure if it's Eidolon's or Performant's fault, but I'm hoping the Performant dev will be better informed to answer that question.
ye I see what the issue is, performant does not check shouldExecute each tick, but every 4 ticks like 1.12 minecraft used to do aswell. Now that works fine until you've got sth like eidolon where you got a check for entity.ticksExisted % 20 != 0
which in itself is a fine check/good idea to limit the execution rate(props for that, most mods do not do this). But since the ticksExisted keeps getting advanced we're always skipping the %20 == 0 tick for when the AI tries to start. I think the only solution is to either make performant check the goals each tick, or to adjust the Eidolon AI a bit and use a counter instead of the tickExisted % 20, could e.g.
do this:
if (--cooldown > 0 || progress > 0)
{
return false;
}
cooldown = 20;
ye I see what the issue is, performant does not check shouldExecute each tick, but every 4 ticks like 1.12 minecraft used to do aswell. Now that works fine until you've got sth like eidolon where you got a check for
entity.ticksExisted % 20 != 0
which in itself is a fine check/good idea to limit the execution rate(props for that, most mods do not do this). But since the ticksExisted keeps getting advanced we're always skipping the %20 == 0 tick for when the AI tries to start. I think the only solution is to either make performant check the goals each tick, or to adjust the Eidolon AI a bit and use a counter instead of the tickExisted % 20, could e.g.
do this:if (--cooldown > 0 || progress > 0) { return false; } cooldown = 20;
Sounds like a good way to fix this.
btw for a temp thing you can also set the goalSelectorTickRate config in performants config to 1