MineColonies

MineColonies

53M Downloads

Immersive Engineering Scaffolding Blocks cause Pathfinding NPEs

NachtRaveVL opened this issue · 2 comments

commented

Minecolonies version

Version: minecolonies-1.12.2-0.10.68-RELEASE-universal.jar

Expected behavior

When pathfinding is performed, if an Immersive Engineering (IE) scaffolding block (which acts like a ladder) is encountered, the system correctly treats it as a ladder (and a block).

Actual behaviour

When pathfinding is performed, if an IE scaffolding block (which acts like a ladder) is encountered, the following error message is produced:

[11:50:44] [pool-7-thread-1/WARN] [minecolonies]: Pathfinding Exception
java.lang.NullPointerException: null
        at blusunrize.immersiveengineering.common.blocks.BlockIEScaffoldSlab.isLadder(BlockIEScaffoldSlab.java:106) ~[BlockIEScaffoldSlab.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.isLadder(AbstractPathJob.java:1015) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.isLadder(AbstractPathJob.java:1020) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.onLadderGoingDown(AbstractPathJob.java:510) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.walkCurrentNode(AbstractPathJob.java:478) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.search(AbstractPathJob.java:424) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.PathJobMoveToLocation.search(PathJobMoveToLocation.java:61) ~[PathJobMoveToLocation.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.call(AbstractPathJob.java:364) [AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.call(AbstractPathJob.java:33) [AbstractPathJob.class:?]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_191]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]
[11:52:15] [pool-7-thread-1/WARN] [minecolonies]: Pathfinding Exception
java.lang.NullPointerException: null
        at blusunrize.immersiveengineering.common.blocks.BlockIEScaffoldSlab.isLadder(BlockIEScaffoldSlab.java:106) ~[BlockIEScaffoldSlab.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.isLadder(AbstractPathJob.java:1015) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.isLadder(AbstractPathJob.java:1020) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.onLadderGoingDown(AbstractPathJob.java:510) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.walkCurrentNode(AbstractPathJob.java:478) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.search(AbstractPathJob.java:424) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.PathJobMoveToLocation.search(PathJobMoveToLocation.java:61) ~[PathJobMoveToLocation.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.call(AbstractPathJob.java:364) [AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.call(AbstractPathJob.java:33) [AbstractPathJob.class:?]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_191]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]
[11:52:22] [pool-7-thread-1/WARN] [minecolonies]: Pathfinding Exception
java.lang.NullPointerException: null
        at blusunrize.immersiveengineering.common.blocks.BlockIEScaffoldSlab.isLadder(BlockIEScaffoldSlab.java:106) ~[BlockIEScaffoldSlab.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.isLadder(AbstractPathJob.java:1015) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.isLadder(AbstractPathJob.java:1020) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.onLadderGoingDown(AbstractPathJob.java:510) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.walkCurrentNode(AbstractPathJob.java:478) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.search(AbstractPathJob.java:424) ~[AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.PathJobMoveToLocation.search(PathJobMoveToLocation.java:61) ~[PathJobMoveToLocation.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.call(AbstractPathJob.java:364) [AbstractPathJob.class:?]
        at com.minecolonies.coremod.entity.pathfinding.AbstractPathJob.call(AbstractPathJob.java:33) [AbstractPathJob.class:?]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_191]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]

Steps to reproduce the problem

  1. Place down a series of IE scaffolding blocks along common pathfinding routes.

  2. Notice server console output.

Notes

  1. Also note that IE scaffolding blocks come in various forms (steel, treated wood, etc) and also in slab form (as the error message above reports). All of these blocks work the same (act as ladders).
commented
commented

Thank you @Raycoms for your hard work on this. =)