cabaletta / baritone

google maps for block game
GNU Lesser General Public License v3.0
7.1k stars 1.42k forks source link

Bug: Baritone Cannot Place Ender Chests because of a problem with standing in the correct orientation to lay them #2039

Open HoratioGamer opened 3 years ago

HoratioGamer commented 3 years ago

What do you need help with?

Why Can't Baritone Place Ender Chests ?

Final checklist

HoratioGamer commented 3 years ago

Details:
baritone-standalone-forge-1.2.13.jar Minecraft 1.12.2 both Vanilla Single Player Creative and Multiplayer 2B2T

[10:46:53] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] > buildrepeat 1,0,1 [10:46:53] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Successfully set buildRepeat to -1,0,-1 [10:46:53] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Old value: -1,0,1 [10:47:16] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] > build PosPosEChestObsidian.schematic ~ ~ ~ [10:47:16] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Successfully loaded schematic for building [10:47:16] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Origin: BetterBlockPos{x=2015,y=4,z=987} [10:47:21] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Unable to do it. Pausing. resume to resume, cancel to cancel [10:47:39] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Saving and pausing game... [10:47:39] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'New World'/overworld

The structure I created from which I saved the schematic:

2020-09-27_13 34 04

The original on the right, the unsuccessful Baritone build on the left. No Ender Chests were placed in the duplicate structures (two separate attempts).

2020-09-27_13 34 54

The purpose of this schematic, is, as it advances, it breaks an Ender Chest from the last lay of the schematic netting 8 Obsidian. Incrementally, the schematic requires 7 obsidian, so, one's hotbar will be slowly converted from Ender Chests to Obsidian while one is laying a diagonal nether highway in 2B2T -- using 8 spaces on the hotbar represents 512 blocks of advancement, plus 73 blocks of advancement laying the surplus obsidian using a different schematic.

It won't work if Baritone will not lay Ender Chests.

ZacSharp commented 3 years ago

A solution for your special case (but not for this issue) is KAMI-Blues AutoObsidian. It can use shulkers so it has a higher range (12094 blocks instead of 512) and it should be more reliable.

HoratioGamer commented 3 years ago

This schematic was created specifically because KAMI-Blues AutoObsidian leads me to get kicked out of the game. The first time this happened it was dismissed as perhaps just 2B2T being random, but the second time made it not a coincidence. To be clear, after hours doing baritone, I turn on Auto-Obsidian and less than 2 minutes later I am out of the game. This does not happen to everyone, but it does affect at least one other player. I have been unable to determine what the cause is. I am assuming there is some interaction, or something about a lag in my net connection, or something. Another player literally posted me a screenshot of his AutoObsidian settings and I duplicated them. He uses it all the time, for hours, with no problem. Within a minute or two of my activating AutoObsidian, the process seems to stall, and I find myself turfed out of the game -- I was watching carefully the second time, posted logs to KAMI.

It bothers me that AutoObsidian takes a different period of time to break an echest by hand than by AutoObsidian, and there are no game sounds of either picking or breaking the chest. It has happened twice, and with the Q wait, I am not eager to experiment without a good idea that I have narrowed down the cause. If I just start guessing I could spend nearly all my time in Q. At the same time, I have Baritoned for hours and not been kicked out, so, I was looking for a baritone solution to this problem. This schematic seemed like an elegant solution.

One can extend range with #allowinventory true also. Some people report that the shulker mod does not work for them. I turned it on, I did not notice it working, but I can't say it did not work, because I turned it on at the same time as AutoObsidian and got kicked out.

5HT2 commented 3 years ago

It bothers me that AutoObsidian takes a different period of time to break an echest by hand than by AutoObsidian

Well I told you that the packet doesn't respect TPS sync, it'll be fixed in the future

HoratioGamer commented 3 years ago

I did not want to make this about KAMI, it is a question about Baritone. The sound and speed of AutoObsidian merely make me suspicious as to how I might narrow down the cause of being kicked from the server. When three odd things are happening at once, I wonder if considering a connection might be a way to explain the one that is causing me trouble. I would not care about the speed or sound if it was not for being kicked. I have confidence in time it either I or l1ving will puzzle out something, and test an hypothesis. This schematic was merely a way to get the work done in the meantime.

It seems reasonable that Baritone be able to lay echests, and if it is an unintended glitch no one noticed before, then now it has been noticed.

5HT2 commented 3 years ago

I believe it can't place them since it's not allowed to walk safely on them? No idea

CDAGaming commented 3 years ago

I believe it can't place them since it's not allowed to walk safely on them? No idea

Then https://github.com/cabaletta/baritone/pull/1961 can potentially fix that

wagyourtail commented 3 years ago

Then https://github.com/cabaletta/baritone/pull/1961 can potentially fix that

Nope. Thats part of canWalkOn and still hardcoded to return true. that pr doesnt effect echests

CDAGaming commented 3 years ago

rip.

CDAGaming commented 3 years ago

Can we make it part of 1961?

HoratioGamer commented 3 years ago

I am going to assume there are two collections of modules, one collection plans the path before placing a block, and the second collection places blocks. Could it be that ender chests can be placed in one of 4 orientations, and when the pathing to get to a spot to place the chest indicates it has arrived, the placing mechanism recognizes that it cannot create a chest of the desired orientation from the location it is at? It would mean the pathing to place a block does not recognize the limits of from which direction a particular block can be placed ? At least for ender chests? Alternately, the pathing does correctly understand the orientation limits, but the placing does not, and misbelieves that it is unable to place the chest in the correct orientation ?

Alternately, is there a setting to make baritone spit out more information than just the "unable to do it" exception, to better understand why it thinks it cannot do it ?

5HT2 commented 3 years ago

Alternately, is there a setting to make baritone spit out more information than just the "unable to do it" exception, to better understand why it thinks it cannot do it ?

#chatDebug

HoratioGamer commented 3 years ago

Here is the latest.log with the #chatDebug turned on.... The schematic successfully built I think 2 times, failed on the 3rd repeat when it tried to lay an echest:

[15:52:08] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] > chatDebug [15:52:08] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Toggled setting chatDebug to true [15:52:08] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Old value: false [15:52:37] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] > build LayEChest.schematic ~ 4 ~ [15:52:37] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Successfully loaded schematic for building [15:52:37] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Origin: BetterBlockPos{x=2000,y=4,z=990} [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=2000,y=4,z=990} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2002,y=4,z=993}, GoalBlock{x=2001,y=5,z=991}, GoalBlock{x=2001,y=5,z=990}, GoalGetToBlock{x=2001,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=991}, GoalGetToBlock{x=2003,y=4,z=990}, GoalBlock{x=2000,y=5,z=991}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=992}, GoalGetToBlock{x=2000,y=4,z=993}, GoalBlock{x=2000,y=5,z=990}] Fallback: GoalComposite[] [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 21ms, 220 movements considered [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=2000,y=4,z=990} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2002,y=4,z=993}, GoalBlock{x=2001,y=5,z=991}, GoalBlock{x=2001,y=5,z=990}, GoalGetToBlock{x=2001,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=991}, GoalGetToBlock{x=2003,y=4,z=990}, GoalBlock{x=2000,y=5,z=991}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=992}, GoalGetToBlock{x=2000,y=4,z=993}, GoalBlock{x=2000,y=5,z=990}] Fallback: GoalComposite[]. 11 nodes considered [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=2000,y=4,z=991} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2002,y=4,z=993}, GoalGetToBlock{x=2001,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=991}, GoalGetToBlock{x=2003,y=4,z=990}, GoalBlock{x=2000,y=5,z=991}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=992}, GoalGetToBlock{x=2000,y=4,z=993}, GoalBlock{x=2000,y=5,z=990}] Fallback: GoalComposite[] [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 1ms, 88 movements considered [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=2000,y=4,z=991} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2002,y=4,z=993}, GoalGetToBlock{x=2001,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=991}, GoalGetToBlock{x=2003,y=4,z=990}, GoalBlock{x=2000,y=5,z=991}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=992}, GoalGetToBlock{x=2000,y=4,z=993}, GoalBlock{x=2000,y=5,z=990}] Fallback: GoalComposite[]. 5 nodes considered [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=1999,y=4,z=991} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2003,y=4,z=991}, GoalGetToBlock{x=2002,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=990}, GoalBlock{x=2000,y=5,z=991}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=992}, GoalGetToBlock{x=2001,y=4,z=993}, GoalGetToBlock{x=2000,y=4,z=993}] Fallback: GoalComposite[] [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 1ms, 66 movements considered [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:38] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=1999,y=4,z=991} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2003,y=4,z=991}, GoalGetToBlock{x=2002,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=990}, GoalBlock{x=2000,y=5,z=991}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=992}, GoalGetToBlock{x=2001,y=4,z=993}, GoalGetToBlock{x=2000,y=4,z=993}] Fallback: GoalComposite[]. 4 nodes considered [15:52:39] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:39] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=1999,y=4,z=991} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2003,y=4,z=991}, GoalGetToBlock{x=2002,y=4,z=993}, GoalGetToBlock{x=2000,y=5,z=993}, GoalGetToBlock{x=2003,y=4,z=990}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=992}, GoalGetToBlock{x=2001,y=4,z=993}] Fallback: GoalComposite[] [15:52:39] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 2ms, 220 movements considered [15:52:39] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:39] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=1999,y=4,z=991} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2003,y=4,z=991}, GoalGetToBlock{x=2002,y=4,z=993}, GoalGetToBlock{x=2000,y=5,z=993}, GoalGetToBlock{x=2003,y=4,z=990}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=993}, GoalGetToBlock{x=2003,y=4,z=992}, GoalGetToBlock{x=2001,y=4,z=993}] Fallback: GoalComposite[]. 11 nodes considered [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=1999,y=4,z=993} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2003,y=4,z=991}, GoalGetToBlock{x=2000,y=5,z=993}, GoalGetToBlock{x=2003,y=4,z=990}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=992}] Fallback: GoalComposite[] [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 4ms, 462 movements considered [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=1999,y=4,z=993} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2003,y=4,z=991}, GoalGetToBlock{x=2000,y=5,z=993}, GoalGetToBlock{x=2003,y=4,z=990}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=992}] Fallback: GoalComposite[]. 22 nodes considered [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=1999,y=4,z=993} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2003,y=4,z=991}, GoalBlock{x=2000,y=6,z=993}, GoalGetToBlock{x=2003,y=4,z=990}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=992}] Fallback: GoalComposite[] [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 5ms, 638 movements considered [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=1999,y=4,z=993} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2003,y=4,z=991}, GoalBlock{x=2000,y=6,z=993}, GoalGetToBlock{x=2003,y=4,z=990}, GoalGetToBlock{x=2002,y=4,z=992}, GoalGetToBlock{x=2003,y=4,z=992}] Fallback: GoalComposite[]. 30 nodes considered [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=2000,y=5,z=993} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2003,y=4,z=991}, GoalBlock{x=2000,y=6,z=993}, GoalGetToBlock{x=2003,y=4,z=990}, GoalGetToBlock{x=2003,y=4,z=992}] Fallback: GoalComposite[] [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 1ms, 110 movements considered [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:40] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=2000,y=5,z=993} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2003,y=4,z=991}, GoalBlock{x=2000,y=6,z=993}, GoalGetToBlock{x=2003,y=4,z=990}, GoalGetToBlock{x=2003,y=4,z=992}] Fallback: GoalComposite[]. 6 nodes considered [15:52:42] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Repeating build in vector Vec3i{x=-1, y=0, z=-1}, new origin is BlockPos{x=1999, y=4, z=989} [15:52:42] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:42] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=2001,y=5,z=993} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=1999,y=4,z=990}, GoalGetToBlock{x=1999,y=4,z=991}, GoalGetToBlock{x=2002,y=4,z=989}, GoalGetToBlock{x=1999,y=4,z=992}, GoalGetToBlock{x=2000,y=4,z=989}, GoalGetToBlock{x=2001,y=4,z=989}] Fallback: GoalComposite[GoalGetToBlock{x=2001,y=4,z=991}] [15:52:42] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 1ms, 66 movements considered [15:52:42] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:42] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=2001,y=5,z=993} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=1999,y=4,z=990}, GoalGetToBlock{x=1999,y=4,z=991}, GoalGetToBlock{x=2002,y=4,z=989}, GoalGetToBlock{x=1999,y=4,z=992}, GoalGetToBlock{x=2000,y=4,z=989}, GoalGetToBlock{x=2001,y=4,z=989}] Fallback: GoalComposite[GoalGetToBlock{x=2001,y=4,z=991}]. 4 nodes considered [15:52:43] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:43] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=2001,y=5,z=992} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2002,y=4,z=989}, GoalGetToBlock{x=2000,y=4,z=989}, GoalGetToBlock{x=2001,y=4,z=989}] Fallback: GoalComposite[GoalGetToBlock{x=2001,y=4,z=991}] [15:52:43] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 0ms, 66 movements considered [15:52:43] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:43] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=2001,y=5,z=992} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2002,y=4,z=989}, GoalGetToBlock{x=2000,y=4,z=989}, GoalGetToBlock{x=2001,y=4,z=989}] Fallback: GoalComposite[GoalGetToBlock{x=2001,y=4,z=991}]. 4 nodes considered [15:52:43] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:43] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=2001,y=5,z=991} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2002,y=4,z=989}, GoalGetToBlock{x=2000,y=4,z=989}, GoalGetToBlock{x=2001,y=4,z=989}] Fallback: GoalComposite[GoalGetToBlock{x=2001,y=4,z=991}] [15:52:43] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 0ms, 44 movements considered [15:52:43] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:43] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=2001,y=5,z=991} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2002,y=4,z=989}, GoalGetToBlock{x=2000,y=4,z=989}, GoalGetToBlock{x=2001,y=4,z=989}] Fallback: GoalComposite[GoalGetToBlock{x=2001,y=4,z=991}]. 3 nodes considered [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=2001,y=5,z=991} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2002,y=4,z=989}] Fallback: GoalComposite[GoalGetToBlock{x=2001,y=4,z=991}] [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 0ms, 66 movements considered [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=2001,y=5,z=991} to JankyComposite Primary: GoalComposite[GoalGetToBlock{x=2002,y=4,z=989}] Fallback: GoalComposite[GoalGetToBlock{x=2001,y=4,z=991}]. 4 nodes considered [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=2001,y=5,z=991} to GoalComposite[GoalGetToBlock{x=2001,y=4,z=991}] [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 16ms, 16302 movements considered [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=2001,y=5,z=991} to GoalComposite[GoalGetToBlock{x=2001,y=4,z=991}]. 742 nodes considered [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Favoring size: 0 [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Starting to search for path from BetterBlockPos{x=2001,y=4,z=991} to JankyComposite Primary: GoalComposite[GoalBlock{x=2001,y=5,z=991}] Fallback: GoalComposite[] [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Took 1ms, 22 movements considered [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Path ends within loaded chunks [15:52:44] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Finished finding a path from BetterBlockPos{x=2001,y=4,z=991} to JankyComposite Primary: GoalComposite[GoalBlock{x=2001,y=5,z=991}] Fallback: GoalComposite[]. 2 nodes considered [15:52:45] [Client thread/INFO] [net.minecraft.client.gui.GuiNewChat]: [CHAT] [Baritone] Unable to do it. Pausing. resume to resume, cancel to cancel [15:53:21] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Saving and pausing game...

HoratioGamer commented 3 years ago

Is there a higher level of debugging output than #chatDebug ? Something even more verbose ?

HoratioGamer commented 3 years ago

It is definitely an orientation thing. I created a schematic that contains exactly one echest. I set a build repeat, so it would lay a diagonal line. If I stand in the right spot, where I would stand to place an echest by hand and invoke the build, it places the first and second chest, however, when the angle to place the next chest is improper to make the chest face the direction in the schematic, then it says "Unable to do it. Pausing." ... If I go stand again where I would stand to place the echest by hand like this:

2020-10-24_16 15 51

and #resume, it immediately lays two more echests, and then when the angle on the next location would not lay the chest in the correct orientation, it again says "Unable to do it. Pausing." This is what it looks like when it fails:

2020-10-24_16 15 58

When I move to the left side of the chest, 90 degrees from the direction to properly lay the chest, and type "#resume" I get this:

2020-10-24_16 14 53

Note, it is claiming it is not paused, but if I stand on the correct side, it behaves as though it was paused and resumes.

When I move to the right side of the chest, 90 degrees from the direction to properly lay the chest and type "#resume" I get this:

2020-10-24_16 15 25

Note again, it is claiming it is not paused, but if I stand on the correct side, it behaves as though it was paused and resumes.

When I move to the back of the chest, 180 degrees from from the direction to properly lay the chest and type "#resume" I get this:

2020-10-24_16 30 07

Note again, it is claiming it is not paused, but if I stand on the correct side, it behaves as though it was paused and resumes.

I then stood on the correct side of the chest did "#resume" and it properly laid 2 chests, then again said "Unable to do it. Pausing."

At no time after typing "#resume" does baritone attempt to change the location of the player. At no time after typing "#build JustEChest.schematic {coordinates}" does baritone attempt to change the location of the player. It seems when it goes to lay an echest, it merely checks to see if the lay location is in range, and then attempts to lay it, only then recognizing that it would be in the wrong orientation. At no time does it try to correct the location to make the lay orientation correct.

HoratioGamer commented 3 years ago

Can we make it part of 1961?

No CDAGaming, It is my opinion that #1961 does not address orientation, and this bug is entirely about positioning to get the correct orientation. This is a completely different bug than 1961.

HoratioGamer commented 3 years ago

I tried this with a regular chest and got an entirely different set of results.

When I stood on the correct side to place the chest, it never laid even one chest (the one you see there is my model to show the orientation that the new chest on the netherrack should be in), it just said it could not do it immediately.... I tried the other 3 directions, and came back to this one with #resume and it said it Unable to do it.

2020-10-24_16 46 24

Same with the left side:

2020-10-24_16 46 11

Same with the right side:

2020-10-24_16 45 59

But when I went around the back side, 180 degrees from where one should stand to lay the chest, it did lay the chest in the backwards orientation, then immediately broke the chest, then immediately laid the chest, and broke it, and laid it and broke it, etc, never advancing:

2020-10-24_16 45 26

In all tests, be it the regular chest or echest, the correct orientation for the chest is facing west, or, one should place the chest when west of the chest, facing east.

I did not attempt chests facing in the other 3 cardinal directions. I believe this will be enough to figure out what the error is.

5HT2 commented 3 years ago

Is there a higher level of debugging output than #chatDebug ? Something even more verbose ?

There used to be, in Baritone's original showcase videos. Maybe it's still in the code