Baritone: Pathing marks non-solid objects as solid, avoiding the whole block

Created on 18 Jul 2019  路  8Comments  路  Source: cabaletta/baritone

Some information

Operating system: Windows 10 Build 1903
Java version: 1.8.0_211 64-bit
Minecraft version: 1.12.2
Baritone version: 1.2.7
Forge mods (if used):

Exception, error or logs

Not applicable

How to reproduce

1) Set allowBreak to false
2) sethome on one side of a snow layer (not snow block) then go home from the other side.
The expected behavior would be to walk through the snow layer, but Baritone will path to avoid the block altogether. The same behavior can be exhibited with torches placed on the ground.

Final checklist

  • [X] I have included the version of Minecraft I'm running, baritone's version and forge mods (if used).
  • [X] I have included logs, exceptions and / or steps to reproduce the issue.
  • [X] I have not used any OwO's or UwU's in this issue.
bug

Most helpful comment

It also won't walk over pressure plates. You should add a setting in which you can change which blocks to ignore when pathing

All 8 comments

Baritone should probably use two metrics to define if it can step over a block:

  • Whether the player can actually step up onto the block (like its collision box being at most 0.5 blocks higher than the previous block's), and
  • Whether or not the player can actually fit there

It also won't walk over pressure plates. You should add a setting in which you can change which blocks to ignore when pathing

This would be a great feature. Especially since when I'm traveling while fending off mobs it's counterproductive for baritone to switch to an empty slot to break some grass.

Could you please not comment "oh I want this feature as well", just leave a thumbs up or something, as commenting that doesn't benefit anyone and just fills up threads with spam.

this needs to be implemented with a list of Blocks that are completely traversable and do not need to be broken. travelling through strip mines causes it to break all torches and walking over fields causes it to leave a valley of destroyed leaves behind it. using a array of allowed blocks and just ignoring any block that is allowed should do the trick but making it user editable could give rise to accidentally marking full blocks traversable and stopping the path from working.

using a array of allowed blocks and just ignoring any block that is allowed should do the trick

It should be easy to do this automatically since those blocks (torches, grass, flowers, etc.) literally have blank collision shapes. It would also work with mods if you checked the collision shapes only. The blank collision shape is usually a singular value (VoxelShape.EMPTY on Fabric) that you can use in an equality check, but there's also a method on VoxelShape that lets you check if it's empty (IIRC - I don't remember).

Needs a couple special cases for cobwebs though, and maybe that one bush that hurts you too (don't remember the name)

@LoganDark Wither Rose and the Berry Bush. Are Magma Blocks considered and is there a list of non traversable blocks that cannot be walked on? Cobwebs would need to be disallowed if mobs are in range so the player doesn't die

Are Magma Blocks considered and is there a list of non traversable blocks that cannot be walked on?

Sorry, I stopped working on Baritone due to harassment so I can't answer this. But if Baritone currently paths around magma blocks I'd imagine that's a special case.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

RealIndrit picture RealIndrit  路  3Comments

Hackerokuz picture Hackerokuz  路  3Comments

SirJosh3917 picture SirJosh3917  路  3Comments

Daenges picture Daenges  路  3Comments

AlexandreFinne picture AlexandreFinne  路  3Comments