Docs / Start here
Your first pack
poplar new hello_packcd hello_packpoplar buildpoplar new creates this folder:
hello_pack/├── poplar.json the project config├── poplar.schema.json lets your editor check poplar.json├── src/main.poplar starts with `namespace hello_pack;`└── .gitignore ignores poplar-out/src/main.poplar has one function:
namespace hello_pack;
mcfun load() { /say Hello from hello_pack!;}mcfun load runs every time the pack loads. poplar build writes the datapack to poplar-out/hello_pack/, and a zip of it to poplar-out/hello_pack.zip for sharing:
✓ Built hello_pack in 20 ms → poplar-out/hello_pack (1 function, zip)Copy the folder or the zip into a world’s datapacks folder, open the world and run /reload.
While you work, poplar watch can build and copy the pack for you:
poplar watch --world ~/.minecraft/saves/"My World"It builds every time you save a file and copies the pack into the world’s datapacks/ folder. Run /reload in the game to load the latest build.
To avoid typing --world each time, put the world in a .env file in the project folder. poplar new adds .env to .gitignore, because the path is specific to your machine:
POPLAR_WORLD="~/.minecraft/saves/My World"MIT licensed. The standard library is MIT-0.Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft.