Baritone AI pathfinder

Baritone AI pathfinder

72.7k Downloads

#okifthrowaway setting suggestion

ThebesAndSound opened this issue ยท 11 comments

commented

#okifwater is cool, and the same thing for throwaways would also be cool. When using buildinlayers and when its not really important if throwaways are placed inside the build area instead of air; sometimes skeleton or zombie can knock you off so baritone uses throwaways to stair/pillar back up, but then gets caught in a loop of trying to go down and mine the stairs.. then stair back up.

#okifthrowaway would solve this by accepting any throwaways that were used to pillar back up to the top, and continue building where it left off.

  • I have not used any OwO's or UwU's in this issue.
commented

'#buildignoreexisting true' will make you not want to mine any existing blocks in your schematic area, it will only build where there was air before. if you are ok with that then this works for you.

commented

but you could still use #buildignoreblocks it doesn't matter if you are building out of blocks you have ignored, it only ignores the ones in the world afaik not in the schematic

commented

Was having an issue with schematica printer where it would constantly try to break everything surrounding the build I wanted to place. It was a giant snake that would wrap around the mountain.
In the end, I had to download a copy of the server's map and use worldedit to create a modified schematica with the mountain added into it.
Unfortunately I didn't account for the grass underneath the blocks, so the bot would constantly freak out at the fact that dirt was underneath cobblestone when there should've been grass there, so it kept breaking up a lot of random dirt.

Would #buildIgnoreExisting have fixed all of this?

commented

you would do '#buildignoreblocks dirt,stone,(etc)' list all of the blocks the mountain is made of and #build will only build the snake

commented

you can also load and position the snake with schematica and do #schematica instead of working out where to do #build

commented

you can also load and position the snake with schematica and do #schematica instead of working out where to do #build

I did this.

you would do '#buildignoreblocks dirt,stone,(etc)' list all of the blocks the mountain is made of and #build will only build the snake

Sucks, 'cause snake was built out of things also made in the mountain. Guess #buildignoreblocks doesn't help me. What about #buildignoreexisting?

commented

but you could still use #buildignoreblocks it doesn't matter if you are building out of blocks you have ignored, it only ignores the ones in the world afaik not in the schematic

Not entirely sure if you're correct here. Pretty sure #buildignoreblocks ignores throwaway blocks. As in, if you build a house with schematica and the bot needs to tower up to place a block, it won't immediately try and break it's cobblestone tower it just made. It'll leave the cobblestone, in fact.

What I was doing was making a giant snake out of cobblestone. #buildignoreblocks would result in the snake having random cobblestone towers leading up to it (if the bot chose to tower up instead of walk along the snake) which is undesired.

#buildignoreexisting would mean that I wouldn't have to download a tool to download the world, download mcedit, then manually place the schematica into the world, account for grass, and load that schematica up with baritone. It would just mean that all I have to do is place the schematica and then it's done, that's that.

I suppose one of the main issues with doing this is that most schematica builds you can find end up having a bunch of unecessary blocks, such a actual grass/cobblestone/iron/bedrock etc.
With that in mind, if you were to lower the build roperly so that all of the unecessary stuff is hidden underground, would #buildignoreexisting also delete blocks?

@leijurv If I made a schematica that is essentially a tower of cobblestone, and put it half-way in the ground, the bot would build the top half and nothing else with #buildignoreexisting. Could we have a setting where it would also dig down to place the cobblestone underground, but not clear the whole area with air? This is for a situation where the schematica is nothing but the build with air around it.

For example, if I make a perfect schematica of a house with a basement, and the basement is underground, I'd like for the bot to dig out the walls for the basement but not the air around it.

Actually, now that I think about it, wouldn't #buildignoreblocks air essentially do this?

commented

i wrote this setting to thebes specifications, listen to him he knows what hes talking about

commented

you list the blocks in #buildignoreblocks for example '#buildignoreblocks dirt,stone' baritone would mark any dirt and stone in the schematic area as completed unless the schematic asks for a block that is not air, it is not based on your throwaway blocks.

commented

the best thing for you to do is to test it yourself since you don't seem to understand the explanation, it can make basement walls fine, building structures into the ground is exactly what its for.

commented

okay I get it jesus fuck