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, but it needs to be there for the parser

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
5YELLOW
6FACILITY (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

[addon_name]/
addon_data/
data/
resources/
[addon_name]/
models/
signs/

We're going to add the JSON files for the signs first!

Texture name has to be equal to the location set in the data files.

...
models/
signs/
facility/
custom/
[facility_sign_name].json
paddock/
custom/
[paddock_sign_name].json

{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "[addon_name]:block/facility_sign/[facility_sign_name]"
}
}

Now let's add the textures!

[addon_name]/
addon_data/
data/
resources/
[addon_name]/
models/
textures/
block/
facility_sign/
[facility_sign_name].png
paddock_sign/
[paddock_sign_name].png

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

Let's add the coin.

[addon_name]/
addon_data/
data/
resources/
[addon_name]/
models/
textures/
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/
[addon_name]/
models/
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!