include diagonals, and better settings
This commit is contained in:
parent
4868ed7560
commit
bb000c4e3f
@ -40,6 +40,8 @@ Here are some links to help to get started:
|
|||||||
|
|
||||||
- [Javadocs](https://baritone.leijurv.com/)
|
- [Javadocs](https://baritone.leijurv.com/)
|
||||||
|
|
||||||
|
- [Settings](https://baritone.leijurv.com/baritone/api/Settings.html)
|
||||||
|
|
||||||
# Chat control
|
# Chat control
|
||||||
|
|
||||||
- [Baritone chat control usage](USAGE.md)
|
- [Baritone chat control usage](USAGE.md)
|
||||||
|
2
USAGE.md
2
USAGE.md
@ -43,7 +43,7 @@ Some common examples:
|
|||||||
|
|
||||||
For the rest of the commands, you can take a look at the code [here](https://github.com/cabaletta/baritone/blob/master/src/main/java/baritone/utils/ExampleBaritoneControl.java).
|
For the rest of the commands, you can take a look at the code [here](https://github.com/cabaletta/baritone/blob/master/src/main/java/baritone/utils/ExampleBaritoneControl.java).
|
||||||
|
|
||||||
All the settings and documentation are <a href="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 <a href="https://baritone.leijurv.com/">here</a> and navigate to Settings in the left sidebar.
|
All the settings and documentation are <a href="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 <a href="https://baritone.leijurv.com/baritone/api/Settings.html">here</a>.
|
||||||
|
|
||||||
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.
|
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.
|
||||||
- `allowBreak`
|
- `allowBreak`
|
||||||
|
@ -563,6 +563,19 @@ public final class Settings {
|
|||||||
*/
|
*/
|
||||||
public final Setting<Integer> legitMineYLevel = new Setting<>(11);
|
public final Setting<Integer> legitMineYLevel = new Setting<>(11);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Magically see ores that are separated diagonally from existing ores. Basically like mining around the ores that it finds
|
||||||
|
* in case there's one there touching it diagonally, except it checks it un-legit-ly without having the mine blocks to see it.
|
||||||
|
* You can decide whether this looks plausible or not.
|
||||||
|
* <p>
|
||||||
|
* This is disabled because it results in some weird behavior. For example, it can """see""" the top block of a vein of iron_ore
|
||||||
|
* through a lava lake. This isn't an issue normally since it won't consider anything touching lava, so it just ignores it.
|
||||||
|
* However, this setting expands that and allows it to see the entire vein so it'll mine under the lava lake to get the iron that
|
||||||
|
* it can reach without mining blocks adjacent to lava. This really defeats the purpose of legitMine since a player could never
|
||||||
|
* do that lol, so thats one reason why its disabled
|
||||||
|
*/
|
||||||
|
public final Setting<Boolean> legitMineIncludeDiagonals = new Setting<>(false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When mining block of a certain type, try to mine two at once instead of one.
|
* When mining block of a certain type, try to mine two at once instead of one.
|
||||||
* If the block above is also a goal block, set GoalBlock instead of GoalTwoBlocks
|
* If the block above is also a goal block, set GoalBlock instead of GoalTwoBlocks
|
||||||
|
@ -228,7 +228,7 @@ public final class MineProcess extends BaritoneProcessHelper implements IMinePro
|
|||||||
return prune(ctx, locs, mining, max);
|
return prune(ctx, locs, mining, max);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addNearby() {
|
private void addNearby() {
|
||||||
knownOreLocations.addAll(droppedItemsScan(mining, ctx.world()));
|
knownOreLocations.addAll(droppedItemsScan(mining, ctx.world()));
|
||||||
BlockPos playerFeet = ctx.playerFeet();
|
BlockPos playerFeet = ctx.playerFeet();
|
||||||
BlockStateInterface bsi = new BlockStateInterface(ctx);
|
BlockStateInterface bsi = new BlockStateInterface(ctx);
|
||||||
@ -239,8 +239,11 @@ public final class MineProcess extends BaritoneProcessHelper implements IMinePro
|
|||||||
for (int z = playerFeet.getZ() - searchDist; z <= playerFeet.getZ() + searchDist; z++) {
|
for (int z = playerFeet.getZ() - searchDist; z <= playerFeet.getZ() + searchDist; z++) {
|
||||||
// crucial to only add blocks we can see because otherwise this
|
// crucial to only add blocks we can see because otherwise this
|
||||||
// is an x-ray and it'll get caught
|
// is an x-ray and it'll get caught
|
||||||
if (mining.contains(bsi.get0(x, y, z).getBlock()) && RotationUtils.reachable(ctx.player(), new BlockPos(x, y, z), fakedBlockReachDistance).isPresent()) {
|
if (mining.contains(bsi.get0(x, y, z).getBlock())) {
|
||||||
knownOreLocations.add(new BlockPos(x, y, z));
|
BlockPos pos = new BlockPos(x, y, z);
|
||||||
|
if ((Baritone.settings().legitMineIncludeDiagonals.get() && knownOreLocations.stream().anyMatch(ore -> ore.distanceSq(pos) <= 2 /* sq means this is pytha dist <= sqrt(2) */)) || RotationUtils.reachable(ctx.player(), pos, fakedBlockReachDistance).isPresent()) {
|
||||||
|
knownOreLocations.add(pos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -263,7 +266,6 @@ public final class MineProcess extends BaritoneProcessHelper implements IMinePro
|
|||||||
.distinct()
|
.distinct()
|
||||||
|
|
||||||
// remove any that are within loaded chunks that aren't actually what we want
|
// remove any that are within loaded chunks that aren't actually what we want
|
||||||
|
|
||||||
.filter(pos -> !ctx.bsi.worldContainsLoadedChunk(pos.getX(), pos.getZ()) || mining.contains(ctx.getBlock(pos.getX(), pos.getY(), pos.getZ())) || dropped.contains(pos))
|
.filter(pos -> !ctx.bsi.worldContainsLoadedChunk(pos.getX(), pos.getZ()) || mining.contains(ctx.getBlock(pos.getX(), pos.getY(), pos.getZ())) || dropped.contains(pos))
|
||||||
|
|
||||||
// remove any that are implausible to mine (encased in bedrock, or touching lava)
|
// remove any that are implausible to mine (encased in bedrock, or touching lava)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user