
Xhaelan's Turtles
Link turtles together to create large-scale automation projects with ease.
- Загрузки
- 21
- Подписчики
- 0
- Обновлён
- 13 января 2026 г.
- Лицензия
- MIT
Опубликован 13 января 2026 г.
Xhaelan's Turtles
You shall move turtles (referring to turtle graphics) around with the use of functions and playlists.
- Access all functionality through
/function xhaelan:turtles/... - Use playlists to automate path creation and run other commands
- Change blocks, positions and edit playlists mid-run
- Move turtles with:
xhaelan:turtles/controls/forwardxhaelan:turtles/controls/backwardxhaelan:turtles/controls/teleport
Accessing Functionality
- Turtles are accessible through the
/functioncommand, with the following categories (the last of which is for advanced users):controlspaint- functions under here must be ran as/function <function> with storage xhaelan:turtles <id>manageplaylists
- Each turtle is fully independent and identified by its ID. Create a turtle with
/function xhaelan:turtles/manage/create {id: <id>}. Note that these IDs are not namespaced (e.g. usemy_turtleinstead ofmypack:my_turtle).
Using Playlists
- Playlists store commands in a list per turtle.
They can be run with
/function xhaelan:turtles/playlists/play {id: <id>}. They can be loaded with manymovementandcommands as well asjumpingandresettingthe turtle's position. Commands may be removed if desired. - Here are all of the playlist functions (mode refers to the method for inserting the command into the playlist):
/function xhaelan:turtles/playlists/add_command {command: '<command>', mode: [append|prepend], id: <id>}/function xhaelan:turtles/playlists/add_movement {direction: [forward|backward], mode: [append|prepend], id: <id>}/function xhaelan:turtles/playlists/add_teleport {x: <x>, y: <y>, z: <z>, mode: [append|prepend], id: <id>}/function xhaelan:turtles/playlists/end {report_completion: [1b|0b], id: <id>}/function xhaelan:turtles/playlists/play {id: <id>}/function xhaelan:turtles/playlists/remove_command {index: <index>, id: <id>}
Changing Blocks and Positions
- Blocks can be changed with
/function xhaelan:turtles/manage/set_block {id: <id>, block: "<block_id>"} - Turtle positions can be changed with
/function xhaelan:turtles/manage/set_xyz {x: <x>, y: <y>, z: <z>, id: <id>}. For painting, this represents the first vertex of thecuboid. - Second-selection positions can be changed with
/function xhaelan:turtles/manage/set_next_xyz {x: <x>, y: <y>, z: <z>, id: <id>}. As expected, this is the other vertex of thecuboid.
Moving Turtles
- This is the most important but least noticeable part of turtles. Use either of these functions to move the turtle backward or forward in the specified axis:
/function xhaelan:turtles/controls/forward {axis: <axis>, id: <id>}/function xhaelan:turtles/controls/backward {axis: <axis>, id: <id>}/function xhaelan:turtles/controls/teleport {x: <x>, y: <y>, z: <z>, id: <id>}- The
teleportfunction does not draw anything, even whenpen_downis set to1b.
- The
Turtle Management
- Other than creating turtles, there are a few other functions that can modify turtles:
/function xhaelan:turtles/manage/remove {id: <id>}- removes the turtle scoreboards and storage data/function xhaelan:turtles/manage/reset {id: <id>}- completely refreshes all data and scoreboards of the turtle while keeping the ID/function xhaelan:turtles/manage/set_block {block: "<block_id>", id: <id>}- does not set a block at the turtles position like the/setblockcommand. Instead, it changes the block it is currently using- [
set_xyzandset_next_xyzfrom earlier]
Videos
- For version 1.0: https://youtu.be/aFknzl9HlTU
Optimisations!
- Unlike some turtle implementations, this pack does not use entities
- It avoids tick-based functions entirely
- These optimisations make the pack suitable for large-scale turtle projects, which is the purpose of this data pack.
Ченджлог
1.1Альфа1.21.11 · 13 января 2026 г.
Turtles now require a position to be set upon creation and reset. The "reset_xyz" or similar function is now "teleport" and has its respective function in the playlists folder. Also, commands are always ran relative to the position of the turtle it is ran from, instead of to the world origin.
1.0Релиз1.21.11 · 13 января 2026 г.
Added many functions for moving and painting with turtles :) 🐢
Комментарии
Загружаем…