You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: FEATURES.md
+8-2Lines changed: 8 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
1
# Pathing features
2
+
2
3
-**Long distance pathing and splicing** Baritone calculates paths in segments, and precalculates the next segment when the current one is about to end, so that it's moving towards the goal at all times.
3
4
-**Chunk caching** Baritone simplifies chunks to a compacted internal 2-bit representation (AIR, SOLID, WATER, AVOID) and stores them in RAM for better very-long-distance pathing. There is also an option to save these cached chunks to disk. <ahref="https://www.youtube.com/watch?v=dyfYKSubhdc">Example</a>
4
5
-**Block breaking** Baritone considers breaking blocks as part of its path. It also takes into account your current tool set and hot bar. For example, if you have a Eff V diamond pick, it may choose to mine through a stone barrier, while if you only had a wood pick it might be faster to climb over it.
@@ -14,7 +15,8 @@
14
15
-**Pigs** It can sort of control pigs. I wouldn't rely on it though.
15
16
16
17
# Pathing method
17
-
Baritone uses A*, with some modifications:
18
+
19
+
Baritone uses A*, with some modifications:
18
20
19
21
-**Segmented calculation** Traditional A* calculates until the most promising node is in the goal, however in the environment of Minecraft with a limited render distance, we don't know the environment all the way to our goal. Baritone has three possible ways for path calculation to end: finding a path all the way to the goal, running out of time, or getting to the render distance. In the latter two scenarios, the selection of which segment to actually execute falls to the next item (incremental cost backoff). Whenever the path calculation thread finds that the best / most promising node is at the edge of loaded chunks, it increments a counter. If this happens more than 50 times (configurable), path calculation exits early. This happens with very low render distances. Otherwise, calculation continues until the timeout is hit (also configurable) or we find a path all the way to the goal.
20
22
-**Incremental cost backoff** When path calculation exits early without getting all the way to the goal, Baritone it needs to select a segment to execute first (assuming it will calculate the next segment at the end of this one). It uses incremental cost backoff to select the best node by varying metrics, then paths to that node. This is unchanged from MineBot and I made a <ahref="https://docs.google.com/document/d/1WVHHXKXFdCR1Oz__KtK8sFqyvSwJN_H4lftkHFgmzlc/edit">write-up</a> that still applies. In essence, it keeps track of the best node by various increasing coefficients, then picks the node with the least coefficient that goes at least 5 blocks from the starting position.
@@ -27,7 +29,9 @@ Baritone uses A*, with some modifications:
27
29
-[Baritone chat control usage](USAGE.md)
28
30
29
31
# Goals
32
+
30
33
The pathing goal can be set to any of these options:
34
+
31
35
-**GoalBlock** one specific block that the player should stand inside at foot level
32
36
-**GoalXZ** an X and a Z coordinate, used for long distance pathing
33
37
-**GoalYLevel** a Y coordinate
@@ -38,14 +42,16 @@ The pathing goal can be set to any of these options:
38
42
39
43
And finally `GoalComposite`. `GoalComposite` is a list of other goals, any one of which satisfies the goal. For example, `mine diamond_ore` creates a `GoalComposite` of `GoalTwoBlocks`s for every diamond ore location it knows of.
40
44
41
-
42
45
# Future features
46
+
43
47
Things it doesn't have yet
48
+
44
49
- Trapdoors
45
50
- Sprint jumping in a 1x2 corridor
46
51
47
52
See <ahref="https://github.com/cabaletta/baritone/issues">issues</a> for more.
48
53
49
54
Things it may not ever have, from most likely to least likely =(
Copy file name to clipboardExpand all lines: README.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
1
# Baritone
2
+
2
3
<palign="center">
3
4
<ahref="https://github.com/cabaletta/baritone/releases/"><imgsrc="https://img.shields.io/github/downloads/cabaletta/baritone/total.svg"alt="GitHub All Releases"/></a>
4
5
</p>
@@ -111,15 +112,14 @@ Here are some links to help to get started:
111
112
# API
112
113
113
114
The API is heavily documented, you can find the Javadocs for the latest release [here](https://baritone.leijurv.com/).
114
-
Please note that usage of anything located outside of the ``baritone.api`` package is not supported by the API release
115
+
Please note that usage of anything located outside of the `baritone.api` package is not supported by the API release
115
116
jar.
116
117
117
118
Below is an example of basic usage for changing some settings, and then pathing to an X/Z goal.
Any official release will be GPG signed by leijurv (44A3EA646EADAC6A). Please verify that the hash of the file you download is in `checksums.txt` and that `checksums_signed.asc` is a valid signature by that public keys of `checksums.txt`.
20
+
Any official release will be GPG signed by leijurv (44A3EA646EADAC6A). Please verify that the hash of the file you download is in `checksums.txt` and that `checksums_signed.asc` is a valid signature by that public keys of `checksums.txt`.
19
21
20
22
The build is fully deterministic and reproducible, and you can verify that by running `docker build --no-cache -t cabaletta/baritone .` yourself and comparing the shasum. This works identically on Travis, Mac, and Linux (if you have docker on Windows, I'd be grateful if you could let me know if it works there too).
21
23
22
-
23
24
## Artifacts
24
25
25
26
Building Baritone will create the final artifacts in the ``dist`` directory. These are the same as the artifacts created in the [releases](https://github.com/cabaletta/baritone/releases).
@@ -31,6 +32,7 @@ If you want to report a bug and spare us some effort, you want `baritone-unoptim
31
32
Otherwise, you want `baritone-standalone-*-VERSION.jar`
32
33
33
34
Here's what the various qualifiers mean
35
+
34
36
-**API**: Only the non-api packages are obfuscated. This should be used in environments where other mods would like to use Baritone's features.
35
37
-**Standalone**: Everything is obfuscated. Other mods cannot use Baritone, but you get a bit of extra performance.
36
38
-**Unoptimized**: Nothing is obfuscated. This shouldn't be used in production, but is really helpful for crash reports.
@@ -41,24 +43,27 @@ Here's what the various qualifiers mean
41
43
If you build from source you will also find mapping files in the `dist` directory. These contain the renamings done by ProGuard and are useful if you want to read obfuscated stack traces.
42
44
43
45
## Build it yourself
46
+
44
47
- Clone or download Baritone
45
48
46
49

47
50
- If you choose to download, make sure you download the correct branch and extract the ZIP archive.
48
51
- Follow one of the instruction sets below, based on your preference
49
52
50
53
## Command Line
54
+
51
55
On Mac OSX and Linux, use `./gradlew` instead of `gradlew`.
52
56
53
57
The recommended Java versions by Minecraft version are
58
+
54
59
| Minecraft version | Java version |
55
60
|-------------------------------|---------------|
56
61
| 1.12.2 - 1.16.5 | 8 |
57
62
| 1.17.1 | 16 |
58
63
| 1.18.2 - 1.20.4 | 17 |
59
64
| 1.20.5 - 1.21.8 | 21 |
60
65
61
-
Download java: https://adoptium.net/
66
+
Download java: <https://adoptium.net/>
62
67
63
68
To check which java version you are using do `java -version` in a command prompt or terminal.
Copy file name to clipboardExpand all lines: USAGE.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Try `#help` I promise it won't just send you back here =)
16
16
17
17
"wtf where is cleararea" -> look at `#help sel`
18
18
19
-
"wtf where is goto death, goto waypoint" -> look at `#help wp`
19
+
"wtf where is goto death, goto waypoint" -> look at `#help wp`
20
20
21
21
just look at `#help` lmao
22
22
@@ -33,6 +33,7 @@ Watch this [showcase video](https://youtu.be/CZkLXWo4Fg4)!
33
33
To toggle a boolean setting, just say its name in chat (for example saying `allowBreak` toggles whether Baritone will consider breaking blocks). For a numeric setting, say its name then the new value (like `primaryTimeoutMS 250`). It's case insensitive. To reset a setting to its default value, say `acceptableThrowawayItems reset`. To reset all settings, say `reset`. To see all settings that have been modified from their default values, say `modified`.
34
34
35
35
Commands in Baritone:
36
+
36
37
-`thisway 1000` then `path` to go in the direction you're facing for a thousand blocks
37
38
-`goal x y z` or `goal x z` or `goal y`, then `path` to set a goal to a certain coordinate then path to it
38
39
-`goto x y z` or `goto x z` or `goto y` to go to a certain coordinate (in a single step, starts going immediately)
@@ -47,7 +48,7 @@ Commands in Baritone:
47
48
-`build` to build a schematic. `build blah.schematic` will load `schematics/blah.schematic` and build it with the origin being your player feet. `build blah.schematic x y z` to set the origin. Any of those can be relative to your player (`~ 69 ~-420` would build at x=player x, y=69, z=player z-420).
48
49
-`schematica` to build the schematic that is currently open in schematica
49
50
-`tunnel` to dig and make a tunnel, 1x2. It will only deviate from the straight line if necessary such as to avoid lava. For a dumber tunnel that is really just cleararea, you can `tunnel 3 2 100`, to clear an area 3 high, 2 wide, and 100 deep.
50
-
-`farm` to automatically harvest, replant, or bone meal crops. Use `farm <range>` or `farm <range> <waypoint>` to limit the max distance from the starting point or a waypoint.
51
+
-`farm` to automatically harvest, replant, or bone meal crops. Use `farm <range>` or `farm <range> <waypoint>` to limit the max distance from the starting point or a waypoint.
51
52
-`axis` to go to an axis or diagonal axis at y=120 (`axisHeight` is a configurable setting, defaults to 120).
52
53
-`explore x z` to explore the world from the origin of x,z. Leave out x and z to default to player feet. This will continually path towards the closest chunk to the origin that it's never seen before. `explorefilter filter.json` with optional invert can be used to load in a list of chunks to load.
53
54
-`invert` to invert the current goal and path. This gets as far away from it as possible, instead of as close as possible. For example, do `goal` then `invert` to run as far as possible from where you're standing at the start.
@@ -67,6 +68,7 @@ Commands in Baritone:
67
68
All the settings and documentation are <ahref="https://github.com/cabaletta/baritone/blob/master/src/api/java/baritone/api/Settings.java">here</a>. If you find HTML easier to read than Javadoc, you can look <ahref="https://baritone.leijurv.com/baritone/api/Settings.html#field.detail">here</a>.
68
69
69
70
There are about a hundred settings, but here are some fun / interesting / important ones that you might want to look at changing in normal usage of Baritone. The documentation for each can be found at the above links.
71
+
70
72
-`allowBreak`
71
73
-`allowSprint`
72
74
-`allowPlace`
@@ -86,12 +88,10 @@ There are about a hundred settings, but here are some fun / interesting / import
86
88
-`mineScanDroppedItems`
87
89
-`allowDiagonalAscend`
88
90
89
-
90
-
91
-
92
91
# Troubleshooting / common issues
93
92
94
93
## Why doesn't Baritone respond to any of my chat commands?
94
+
95
95
This could be one of many things.
96
96
97
97
First, make sure it's actually installed. An easy way to check is seeing if it created the folder `baritone` in your Minecraft folder.
@@ -101,7 +101,7 @@ Second, make sure that you're using the prefix properly, and that chat control i
101
101
For example, Impact disables direct chat control. (i.e. anything typed in chat without a prefix will be ignored and sent publicly). **This is a saved setting**, so if you run Impact once, `chatControl` will be off from then on, **even in other clients**.
102
102
So you'll need to use the `#` prefix or edit `baritone/settings.txt` in your Minecraft folder to undo that (specifically, remove the line `chatControl false` then restart your client).
103
103
104
-
105
104
## Why can I do `.goto x z` in Impact but nowhere else? Why can I do `-path to x z` in KAMI but nowhere else?
105
+
106
106
These are custom commands that they added; those aren't from Baritone.
0 commit comments