ever wondered how this mess works? mysticfork for chipmc
  • TypeScript 87.1%
  • JavaScript 9.8%
  • CSS 1.7%
  • HTML 1.3%
Find a file
2026-03-25 21:22:27 -04:00
chatParsers Fix more eslint errors (28 left) 2026-03-20 05:22:25 -04:00
commands Several adjustments to the music system 2026-03-25 16:50:14 -04:00
lang Commit language file 2026-03-25 16:49:00 -04:00
plugins Make cspy use command blocks 2026-03-25 17:23:32 -04:00
util Add more usernames 2026-03-25 21:22:27 -04:00
.gitignore Add data directory 2026-02-08 00:01:40 -05:00
eslint.config.mjs Fix more eslint errors (16 left) 2026-03-20 05:24:26 -04:00
index.ts Rename version_mc to minecraftVersion 2026-03-25 13:25:10 -04:00
launch.cmd Wix Findows launcher 2026-02-01 17:33:50 -05:00
launch.sh Add process.argv parser 2025-11-15 22:50:39 -05:00
LICENSE Change license to AGPL v3 2025-08-23 19:28:19 -04:00
package-lock.json nbsjs 6.1.0 support 2026-03-25 16:45:24 -04:00
package.json Add the thing 2026-03-20 05:11:31 -04:00
README.md 26.1, but broken 2026-03-25 16:48:29 -04:00
settings_example.js Rename version_mc to minecraftVersion 2026-03-25 13:25:10 -04:00
tsconfig.json Port mariadb database support 2026-02-01 16:42:34 -05:00
version.ts Rename version_mc to minecraftVersion 2026-03-25 13:25:10 -04:00

botv12

botv12 is a Minecraft bot originally designed for Kaboom and its clones.

It supports all Minecraft server versions from 1.20 to 1.21.11 that are supported by node-minecraft-protocol. It is primarily developed using Kaboom or clones, but it should work on other servers with reduced functionality. The mainline version will also soon function on version 26.1. To use botv12 on version 26.1, minecraft-data and node-minecraft-protocol need to be patched, since support for 26.1 isn't available in the stable releases. Currently there are several major issues with the 26.1 protocol that prevent the bot from working correctly.

  1. After installing required packages with npm, navigate to the node_modules directory, then to minecraft-data.
  2. Remove the directory named minecraft-data in that directory. Do not touch minecraft-data in node_modules.
  3. Download the version of minecraft-data with 26.1 protocol support. This can be done with Git by running: git clone -b pc_26_1 https://github.com/PrismarineJS/minecraft-data --depth 1.
  4. Run node bin/generate_data.js.
  5. Navigate back to node_modules.
  6. Remove the directory named minecraft-protocol.
  7. Download the version of minecraft-protocol with 26.1 protocol support. This can be done with Git by running: git clone -b pc26_1 https://github.com/PrismarineJS/node-minecraft-protocol --depth 1 minecraft-protocol. At this point, the needed modules should have been replaced with versions that work on 26.1.
  8. Replace minecraftVersion in settings with 26.1. Also remove any overrides for servers that you wish to connect to with a 26.1 protocol.

How to install?

  1. Install Node.js for your operating system.
  2. Download the latest release, or alternatively, download the latest development version using the latest source archive or running the command git clone https://codeberg.org/7cc5c4f330d47060/botv12 with Git installed.
  3. Extract the files if necessary.
  4. Run npm install in the bot's directory. If it doesn't work, try using the Node.js command prompt, or adding Node.js to your PATH.
  5. Copy the reference configuration (settings_example.js in the root) to settings.js, and adjust the settings to fit your needs. The secrets are also contained in this file as well.
  6. (Optional) If you plan to use a database with the bot, set dbEnabled in settings.js to true and fill in the appropriate fields. Currently, MySQL, MariaDB and SQLite are supported, with more to come.
  7. Compile the TypeScript code to JavaScript by running npx tsc. If it displays an error saying npx is not a command, please make sure Node.js is on your PATH.
  8. Run ./launch.sh (macOS, Linux, FreeBSD) or ./launch.cmd (Windows). This will start a bot launcher, which will restart the bot when the process closes. Alternatively, you can run node dist/index.js to start the bot only once (it will still rejoin when kicked).

License

Copyright © 2020-2026 7cc5c4f330d47060. This project is free software licensed under the GNU Affero General Public License, version 3 or later. Using, modifying, and distributing this code is allowed, even for commercial purposes. If you make any copies of this software, you must link back to this repository. If you make any changes to the software, you must make your changes free as well. See the License file for the full terms and conditions.