Operating system: Linux 5.8.13-arch1-1
Java version:
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
Minecraft version: 1.15.2
Baritone version: v1.5.3
Forge mods (if used): Forge is not installed; using Impact client
Can't really tell more than using this schematic file
allowInventory
assumeStep
buildInLayers
simplifyUnloadedYCoord
Your log file doesn't seem to include the error, is it possible that you could upload another with the error in it.
Oh my bad here's the latest.log. Hope this isn't a duplicate or a dumb issue :smile:
I should add: the build started fine. A bit "loopy", in that it would glitch a bit when it found water but that was fixable by just moving around and resuming.
But every time I start it back up in the same position I previously started building (not resume) and it goes for build layer 6, the whole game crashes. When I try again, it also crashes.
setting simplifyUnloadedYCoord to false seems to fix it.
That problem seems to have fixed itself but I still get a lot of "looping" while building. It will put down a necessary block for the schematic and then break it to go somewhere and when that location is reached it builds back a path to where it put the necessary block, breaks it, and repeats this process.
I tried toggling buildInLayers as I read in another issue, to no avail.
Shouldn't "don't break positionally correct blocks for the build" be a rule?
It is already penalized by having ten times the cost by default
/**
* Multiply the cost of breaking a block that's correct in the builder's schematic by this coefficient
*/
public final Setting<Double> breakCorrectBlockPenaltyMultiplier = new Setting<>(10d);
Oh ok I didn't know about that setting. I'm still kinda confused why it loops so much though. It happens quite frequently.
are the blocks it breaks and places repeatedly orientation specific (e.g. chests or doors)?
No, it's dirt, which belongs to the acceptableThrowawayItems setting
and it places it in a spot where the schematic wants dirt?
No, dirt is not a part of this schematic
It places the dirt to get somewhere, breaks it as a wrong block and needs to go there again?
It places the dirt to get somewhere
Yes
breaks it as a wrong block and needs to go there again?
I'm not able to tell. Dirt is definitely a "wrong block", but I'm not sure if it breaks it _as such_ or if it needs to go there again. But it do
the dirt doesn't belong there so it is a wrong block. What I meant is: it breaks the dirt before it is where it wanted to go to and then starts over
Yes that's the behavior I'm seeing
don't think there is a good way to prevent that right now.
Maybe try allowBreak, buildIgnoreExisting or bridging with materials it can't break with the available tools
But I doubt that any of those will work well
Thanks I'm going to try that.
Can you try enabling breakFromAbove? That's for standing on it not breaking from above in general, crap.
Didn't work :/
at least it didn't waste glass.
buildIgnoreBlocks is my last hope. It should make baritone completely ignore the dirt
Let me try that one
That actually seems to work great! It leaves behind the dirt blocks but that's nothing that mine can't solve. Thanks a lot @ZacSharp
I think this issue can be closed now
that solution is just a workaround, it should be possible to build schematics in one step
Ok so I'm gonna change the title so it's not misleading
I've had this behavior too, happened while buildinlayers was set to true or false, only unique thing i can think of was that the schematic material was among the throwaway material. In addition to this behavior, it also had a certain spot that it just pathfinded to for no reason every now and then, a block in the middle of the schematic it would get to no matter the cost, jump at, and then leave, sometimes getting stuck in the loop of doing that 30-40 times before just going back to normal.