Baritone AI pathfinder

Baritone AI pathfinder

72.7k Downloads

java.lang.NullPointerException with pathing

Argonius-Angelus opened this issue ยท 5 comments

commented

Some information

Operating system: Windows 10 Pro (64-bit)
Java version: Version 8 Update 271
Minecraft version: 1.12.2
Baritone version: 1.2.14
Forge mods (if used): Pixelmon Reforged
BiblioCraft
Dynamic Trees
Dynamic Trees Biomes O'Plenty
Dynamic Trees Pam's HarvestCraft
MrCrayfish's Furniture Mod
Pam's HarvestCraft
Cooking for Blockhead
Waystones
Nature's Compass
Comforts
Storage Drawers
Iron Chests
Chisel
Unlimited Chisel Works
JEI
Journeymaps
Hwyla
CraftingTweaks
InventoryTweaks
MouseTweaks
MoreOverlays

Exception, error or logs

https://paste.ee/p/PGape

How to reproduce

This happens somewhat sporadically, but is easy to reproduce when you find a 'problem area' so to speak. I have noticed it is easiest to reproduce inside or near dense forest areas filled with Dynamic Trees.

I believe that Dynamic Trees is the main cause for this, as it is a common part of the stack traces for the null pointers.

Modified settings

None

Final checklist

  • I know how to properly use check boxes
  • I have included the version of Minecraft I'm running, baritone's version and forge mods (if used).
  • I have included logs, exceptions and / or steps to reproduce the issue.
  • I have not used any OwO's or UwU's in this issue.
commented

The issue is centered in their getBlockHardness override, however the actual issue is this line no-one on this repo will help you further than this.

commented

This is a problem with dynamic trees, go to them and ask them to fix it.

commented

This is a problem with dynamic trees, go to them and ask them to fix it.

Will do, but what exactly is causing this issue to occur? I can be more accurate about making the mod more compatible with baritone if I can explain it to them.

commented

Thank you. I will pass this along.

commented

So it turns out this was caused by the fact that this line passes null twice when trying to get the hardness of a block. Dynamic Trees actually uses the getBlockHardness's parameters and the fact that baritone isn't passing any is resulting in null pointers down the line. The fact that Dynamic Trees actually uses those parameters is somewhat out of the norm, but you should always expect a parameter to be used so this is no excuse.