Overview

Each Allay project resembles one or more coherent packs. For example adding a new block into the game requires both a behavior pack for the behavior of the block and a resource pack for the textures. If two or more packs are not coherent they should not belong to the same Allay project.

Allay is a command-line application which can be used to create add-ons for Minecraft: Bedrock Edition. It’s goal is to take over the boring work you would do when manually developing an add-on such as generating UUIDs and handling localization.

Allay is a command-line tool which is controlled from a terminal. We expect that you know how to navigate between files in a terminal and how to edit files.

Tip

You can use an editor like Visual Studio Code which lets you use a terminal within the editor. This means you can easily navigate between files and edit them in a comfortable way while using the terminal to run simple commands like allay build.

Warning

This project is in a work-in-progress status. Many features as well as links might not work yet. Consider waiting for a stable release if you want to use this program.

Philosophy

  • allay build and double-click on the built add-on. It can be that simple.
  • We believe that the JSON format should be used by machines and not humans. Therefore TOML is used for configuartion and scripts can be used to easily convert formats like YAML into JSON which can be read by Minecraft. The manifest.json is generated automatically by Allay.
  • Generating UUIDs over and over again can be troublesome so Allay fully takes care of managing them in your project. For instance the allay uuid command can be used to get a nice overview of used UUIDs.
  • Built-in advanced handling of languages: Translate your project to mexican spanish (es-mx) and it will be available for spanish spanish (es-es) as well. Allay extends your existing .lang file (or creates new ones until each language is covered) by adding the appropiate name and description of the pack.
  • Written in the Rust programming language which is blazingly fast.1

Glossary

To avoid misconception between interchangably used terms, Allay strictly defines the following terms. They are used this way in the documentation and projects related to Allay.

TermMeaning
Add-onAn add-on might be either a built behavior pack, resource pack, skin pack or world template.
DirectoryWindows users might not be familar with this word. Throughout the documentation we will use this term which basically just means “folder”.
PackSame as an add-on but not the built version.

Scripts

Scripts enable a powerful way of automating several tasks. The script templating provides support for ERB enabling a way of flow control and generation.

allay add templating
<%# using erb %>
<% 10.times do |i| %>
scoreboard objectives add position<%= i %> dummy
<% end %>
[scripts]
base-path = "scripts"
pre = [
  { run = "templating.rb", with = "ruby" }
]

What’s next?

There is much more to discover and we hope this tool makes your Minecraft developing experience more confortable. You can continue reading through the documentation to learn how to use Allay.