Coder Social home page Coder Social logo

baritone's Introduction

Baritone

Build Status Release License Codacy Badge HitCount GitHub All Releases Minecraft Minecraft Minecraft Code of Conduct Known Vulnerabilities Contributions welcome Issues GitHub issues-closed Pull Requests Code size GitHub repo size Lines of Code GitHub contributors GitHub commits Impact integration ForgeHax integration Aristois add-on integration rootNET integration WWE integration Future integration forthebadge forthebadge

A Minecraft pathfinder bot.

Baritone is the pathfinding system used in Impact since 4.4. There's a showcase video made by @Adovin#3153 on Baritone's integration into Impact. Here's a video I made showing off what it can do.

The easiest way to install Baritone is to install Impact, which comes with Baritone. The second easiest way (for 1.12.2 only) is to install the v1.2.* forge api jar from releases. Otherwise, see Installation & setup. Once Baritone is installed, look here for instructions on how to use it.

This project is an updated version of MineBot, the original version of the bot for Minecraft 1.8.9, rebuilt for 1.12.2 and 1.13.2. Baritone focuses on reliability and particularly performance (it's over 30x faster than MineBot at calculating paths).

Have committed at least once a day from Aug 1 2018 to Aug 1 2019.

1Leijurv3DWTrGAfmmiTphjhXLvQiHg7K2

Getting Started

Here are some links to help to get started:

API

The API is heavily documented, you can find the Javadocs for the latest release here. Please note that usage of anything located outside of the baritone.api package is not supported by the API release jar.

Below is an example of basic usage for changing some settings, and then pathing to a X/Z goal.

BaritoneAPI.getSettings().allowSprint.value = true;
BaritoneAPI.getSettings().primaryTimeoutMS.value = 2000L;

BaritoneAPI.getProvider().getPrimaryBaritone().getCustomGoalProcess().setGoalAndPath(new GoalXZ(10000, 20000));

FAQ

Can I use Baritone as a library in my custom utility client?

That's what it's for, sure! (As long as usage is in compliance with the LGPL 3.0 License)

How is it so fast?

Magic. (Hours of leijurv enduring excruciating pain)

Why is it called Baritone?

It's named for FitMC's deep sultry voice.

baritone's People

Contributors

0-x-2-2 avatar 5ht2 avatar averycowan avatar babbaj avatar bddvlpr avatar c0nn3r avatar cdagaming avatar evilsourcerer avatar ftc55 avatar graicc avatar ironexception avatar joerez avatar leijurv avatar logandark avatar nacgarg avatar oldgalileo avatar orinion avatar reb0rt avatar scribblefoxx avatar superop535 avatar sylveonbottle avatar zakme avatar zeromemes avatar

Stargazers

 avatar

Watchers

 avatar

baritone's Issues

workflow

startes:
(- goto start pos)

goto next waypoint
goto container
goto lost chunks

tick:
test for state ->
(- goto start pos: if(reached point) goto next waypoint)

goto next waypoint: if(new containers) go there : if(got there) if(got lost chunks) go there : goto next waypoint
goto container: if(reached) continue w/ waypoint state (maybefaster to search for more containters immediatly)
goto lost chunks: if(got all chunks) waypoint state

maybe its easier if waypoint is more like an area that needs to be loaded. therefor it first goes to the other side. When there are still chunks missing it goes back. (when there are containers this prly wont happen). So then it can directly goto next waypoint. The main managing happens in waypoint state therefor. So there is always a tick in between where baritone goes to next waypoint althoguh it still has another task... maybe a task list?

// TODO

  • add IChunkLoader
  • add ChunkLoader
  • add the starting in ExampleBaritoneControl

FunctionBuild

Describe your suggestion

like in world edit you can input a function or a file with a function (if the 255 letter limit is stopping you) and baritone builds that. Unlike in world edit you can also do it to infinity (have no bound to your function build)

Settings

any function should be possible. each function must define where a specified block shall be. Maybe also a function for the block id if you want to go crazy. undefined blocks wont be touched.

Context

When you want to build something really big that can be defined by a function (actually anything can be described with a function lol) it might be much better to not go through the trouble of making a schematic.

Final checklist

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.