Crashing in thebumblezone_bzStringCurtainBlockingBees() mixin
noncom opened this issue · 8 comments
Crashing when approaching a pillager outpost with
- Improved mobs 1.11.0
- Savage and Ravage 5.0.2
- The Bumblezone 6.6.3
Log: https://gist.github.com/noncom/1d968db181f0250894a579026e1c84ce
If the mob
is null
when in https://github.com/TelepathicGrunt/Bumblezone/blob/latest-released-Forge/src/main/java/com/telepathicgrunt/the_bumblezone/mixin/entities/FlyNodeEvaluatorMixin.java#L24 the first condition this.mob instanceof Bee
evaluates to false and the second one is tested, which causes the NPE.
Just to point out something, this is a snippet of FlyNodeEvaluator vanilla code. Notice all the calls to this.mob. If the mob is null, vanilla code would also crash.
This looks more like a savage and ravage bug as node evaluators should never have null mobs. I can add a workaround but this should be put onto their github
May be related. A different part of their mixin to the goal crashing due to null. team-abnormals/savage-and-ravage#120
What may be happening is a mob is spawned and before the mob’s own pathfinding is ran, this ImprovedCrossbowGoal line below is ran. The mob’s pathfinding calls a pathfinding method in the node evaluator called prepare and in there, it sets this.mob to the mob that is doing the pathfinding. Savage and ravage should be calling the node’s prepare method themselves before they try to get the path block type to make sure this.mob is always set.
That will make it safe for anyone in that path block type method and ultimately stop the issue (hopefully) Forge is looking to add a method to pass in the mob into the method so more mods can change the pathing type of blocks based on what mob is doing the pathfinding. So savage and ravage should call prepare method to shield against crashing more mods when forge adds the change
Yeah I agree, the mob
being null there is the weird part. I had originally risen an issue for them: team-abnormals/savage-and-ravage#132 but after looking and their code for that thing I didn't find the problem...
However it is of course not a problem originally made by Bumblezone. It must be descending from somewhere else.
From the stack trace you've linked I can at least see that "Biome Makeover", "Faction Craft", "Bookshelf" and "Buzzier Bees", at least, are present in my case as well. It could be that in one of their mixins something happens with the mob
.
That actually sounds very much like it should be the source of the problem, and an important notice as well.
I will create another issue on Savage and Ravage, mentioning this, then.