Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stylextv/maple
🍁👾 Minecraft path-finding bot.
https://github.com/stylextv/maple
fabric java maple maple-bot minecraft minecraft-mod pathfinder
Last synced: about 1 month ago
JSON representation
🍁👾 Minecraft path-finding bot.
- Host: GitHub
- URL: https://github.com/stylextv/maple
- Owner: stylextv
- License: gpl-3.0
- Created: 2021-07-05T14:58:57.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-16T15:00:47.000Z (over 1 year ago)
- Last Synced: 2024-10-01T08:23:34.186Z (about 1 month ago)
- Topics: fabric, java, maple, maple-bot, minecraft, minecraft-mod, pathfinder
- Language: Java
- Homepage: https://maplemc.github.io/
- Size: 1010 KB
- Stars: 26
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
🍁 Source code of the Maple bot, made with ❤️ in Java.
## Overview
[Maple](https://maplemc.github.io/) is a free and powerful path-finding bot that lets you navigate the vast landscapes of [Minecraft](https://www.minecraft.net/) without any user intervention.Additionally, Maple focuses on efficiency and performance, while also paying attention to reliability and an unobtrusive look.
The bot is mainly controlled by [chat input](https://github.com/StylexTV/Maple#commands) and the underlying pathing algorithm is called [A*](https://en.wikipedia.org/wiki/A*_search_algorithm), a perfect algorithm for navigating voxel worlds like Minecraft.If you simply want to use Maple, you can download the latest version from the [download page](https://maplemc.github.io/). With the appropriate version of [Fabric](https://fabricmc.net/use/) installed, you should be good to go.
This project is heavily inspired by Baritone, another pathfinder for Minecraft. Check out their repository at this [link](https://github.com/cabaletta/baritone).
## Features
Maple is equipped with many useful features that allow it to find the way to any destination and overcome any obstacle.### 🌎 Long distance travel
Maple is able to travel for thousands of blocks without any user input, i.e. completely autonomously. It achieves this by using path segmentation and calculating the next segments when they are needed. Moreover, Maple is so reliable that it can walk for miles without slipping even once.### 📚 Caching
To convert the Minecraft world into a more manageable format and to remember chunks even when they are no longer loaded, Maple makes use of caching. The software automatically converts the blocks around you into either `AIR, SOLID, WATER` or `DANGER`, making pathfinding much easier, for example.### 📍 Waypoints
Waypoints are a way to remember important places in your Minecraft world. You can create them manually using `wp create [x y z]`, but Maple also automatically generates waypoints when you die or sleep in a bed. When created, a marker will appear showing you the location of the waypoint. If you want to travel back to a specific waypoint, use the command `wp goto `. For more information on waypoints, see the [Commands section](https://github.com/StylexTV/Maple/#commands).### 🧱 Breaking/Placing blocks
Maple is not only able to traverse the world, but also knows how to interact with it. It will automatically destroy blocks that are in its way or place blocks to create a more efficient path. These functions can be deactivated if desired (see [Options section](https://github.com/StylexTV/Maple/#options)).### 🔥 Avoiding dangers
Maple knows which blocks are safe to walk on and which blocks can cause damage (e.g. lava, fire, cacti, ...). It will never choose a path that can hurt the player in any way (this includes fall damage).## Commands
All your interactions with the bot take place via the in-game chat functionality.In order for Maple to recognize your command, it must start with a `#`.
You can use the following list as a guide or simply use the ingame command `#help`.Name | Usages | Aliases | Description
--- | --- | --- | ---
help | help [page]
help [command] | - | Gives useful information about commands.
goto | goto \ \ \ [radius]
goto \ \
goto \
goto \ | - | Starts moving to a custom goal.
mine | mine \ | - | Starts mining a specified block type.
farm | - | - | Starts harvesting nearby crops.
follow | follow \
follow \ | - | Starts following a specified entity.
stop | - | cancel | Stops the current task.
pause | - | - | Pauses the current task.
resume | - | - | Resumes the current task.
waypoint | waypoint create \ [x y z]
waypoint delete \
waypoint list [page]
waypoint info \
waypoint goto \ | wp | Used to create and travel to waypoints.
home | - | h | Travel to the nearest waypoint marked as *HOME*.
lost | - | - | Travel to the nearest waypoint.
tunnel | - | - | Tunnel in the direction you are looking.
thisway | thisway [distance] | forward | Move a specified number of blocks in the direction you are facing.
axis | - | - | Travel to the nearest axis.
eta | - | - | Displays the estimated time to reach the current destination.
modified | modified [page] | - | Shows all modified options.
version | - | ver, v | Shows the installed version of Maple.## Options
With the help of options you can better customize the behavior and functionality of Maple to your personal needs.Use the command `#help option` in combination with the table of available options below to start customizing the bot.
* #### allowBreak
Whether or not the bot should be allowed to break blocks in order to get to the specified goal.
Disabling could lead to the possibility of the bot not being able to reach the destination.* #### allowPlace
Whether or not the bot should be allowed to place blocks in order to get to the specified goal.
Disabling could lead to the possibility of the bot not being able to reach the destination.## Progress
Below is a table showing the progress of systems, functions and features in Maple:Name | Progress | Included in latest build
--- | --- | ---
Walking | 🟢 Stable | ✔️
Swimming | 🟢 Stable | ✔️
Jumping | 🟢 Stable | ✔️
Breaking blocks | 🟢 Stable | ✔️
Placing blocks | 🟢 (somewhat) Stable | ✔️
Avoiding blocks | 🟢 Stable | ✔️
Avoiding mobs | 🟡 Unstable | ✔️
Parkour | 🟢 Stable | ✔️
MLGs | 🟢 Stable | ✔️
Path segmentation | 🟢 Implemented | ✔️
Backtracking | 🟢 Implemented | ✔️## Including
Feel free to include Maple in your projects/clients as long as your use of this project complies with our [license](https://github.com/StylexTV/Maple/blob/main/LICENSE).## API
TODO## Installation & setup
Before installing the Maple project on your PC, make sure that you are using at least [JDK 16](https://www.oracle.com/java/technologies/javase-jdk16-downloads.html). To check your Java version, open a command prompt or your terminal and enter `java -version`.> **Note:** This guide is for installing the Maple project to **modify/build** it. If you just want to use Maple, you can find the latest build on the [download page](https://maplemc.github.io/).
#### Download
Clone or download the project using the button at the top of this page. Make sure to unzip the contents of the ZIP file if you have chosen to download the project.#### Generating Sources
If you wish, you can generate the Minecraft source code for reference using `gradlew genSources`. However, this step is purely optional.#### Eclipse
If your IDE of choice is Eclipse, run `gradlew eclipse`.
Then open Eclipse and select `Import > Existing Gradle Project > Select Folder`. Follow the wizard instructions and click *Finish*.#### IntelliJ
If you prefer to use IntelliJ, open IDEA, select `File | Open` and select the `build.gradle` file.
After Gradle is done setting up, close and re-open the project to fix run configurations not displaying correctly.