How to add custom signs

In this guide we'll cover how to:

  • Adding custom paddock sign
  • Adding custom facility sign

Folder Structure

You could use a plain datapack + resource-pack, but for simplicity we'll use a JS-addon.

[addon_name]/
addon_data/
data/
data/
[addon_name]/
pack.mcmeta
resources/
assets/
[addon_name]/
pack.mcmeta

We'll not use the addon_data/ folder here, so you can leave it out.

Inside the data folder we'll start adding the necessary folders.

[addon_name]/
addon_data/
data/
data/
[addon_name]/
paddock_signs/
custom/
[paddock_sign_name].json
facility_signs/
custom/
[facility_sign_name].json
resources/

We're using the custom folder inside the data to avoid confusion

Paddock Sign Colors

ValueColor
0BLUE
1GREEN
2PURPLE
3RED
4WHITE
5HYBRID
6YELLOW
7FACILITY (Pure White)
{
"name": "[Facility Sign Name]",
"location": "[addon_name]:[facility_sign_name]"
}

The name here is the display name in the designated items

That's all for data, lets move on to resources.

Resources

No model files are needed, the signs are generated from their textures.

The texture names have to be equal to the path of the location set in the data files, and they go in the namespace of that location (here [addon_name]).

Every sign needs two textures: one for the sign in the world, and one for the preview in the sign screen.

[addon_name]/
addon_data/
data/
resources/
assets/
[addon_name]/
textures/
signs/
facility/
custom/
[facility_sign_name].png
paddock/
custom/
[paddock_sign_name].png
block/
facility_sign/
[facility_sign_name].png
paddock_sign/
[paddock_sign_name].png

The paddock signs still need one extra thing! (You can skip this for the facility sign)

Let's add the coin, this is the icon shown in the paddock sign list.

[addon_name]/
addon_data/
data/
resources/
assets/
[addon_name]/
textures/
signs/
block/
gui/
icon/
[paddock_sign_name].png

And that should be all for the signs!

Translation file

Let's add the default language file:

[addon_name]/
addon_data/
data/
resources/
assets/
[addon_name]/
textures/
lang/
en_us.json

en_us.json is the main JSON file used by Minecraft.

Inside this file:

{
"[addon_name].[facility_sign_name]": "[Facility Sign Name]",
"[addon_name].[paddock_sign_name]": "[Paddock Sign Name]"
}

That should be all!