This is an example datapack for ComputerCraft, which can be used as a skeleton for your own pack.
Datapacks can be used to add or overwrite files in ComputerCraft's own rom, allowing you to add new programs or modules, or adjust the behaviour of existing ones. This pack comes with several features:
apis/my_api.lua
: Example of a old-style API with a single methodmy_api.do_something()
.programs/api_program.lua
: A new programapi_program
, which just calls the above function.modules/main/my_module.lua
: A new module with a single methoddo_something()
.programs/my_program.lua
: A new programmy_program
, which just callsdo_something
frommy_module
.modules/turtle/helpers.lua
: A new module with adigColumn
method.programs/turtle/demo.lua
: A new turtle program that uses thehelpers
module to dig 3x3 openings.autorun/my-pack.lua
: A basic program which is run whenever a computer turns on. This may be used to perform additional setup, such as registering autocompletion for your programs.
(Note: files in turtle
folders will only be visible to turtles!)
Datapacks can also be used to add or change the behaviour of specific bits of CC: Tweaked. For example:
- Add new turtle tools. This pack adds a netherite sword (
data/minecraft/computercraft/turtle_upgrades/netherite_sword.json
). See the netherite-tools datapack for more complete example. - Allow items or blocks to be interacted with via
turtle.place()
. This pack extendsdata/computercraft/tags/blocks/turtle_can_use.json
to allow pressing buttons viaturtle.place()
.
The contents of this project should be placed in the datapacks
folder in your world's save folder. You may need to
zip1 the folder for Minecraft to recognize it. The resulting file structure should look something like this:
datapacks
└─my-pack(.zip)
├ pack.mcmeta
└─data
└─computercraft
└─<your files go here>
For more information on datapacks, see the Minecraft wiki.
Obviously this is just a skeleton, so is designed to be forked and used for your own programs!
Footnotes
-
The
pack.mcmeta
file should be in the root of the resulting zip. Using 7-Zip on Windows go into themy-pack
folder, select all,RMB
>7-Zip
>Add to "my-pack.zip"
, then move todatapacks
folder. ↩