How to change sign text color in Minecraft?
I have gone through every single website and video to try to make a sign with colored text, but nothing works. Can anyone help me to get a sign to say:
Place Block(dark blue and bold text)
I really want this for a map I am making and I need help.
Solution 1:
What to use
It is common to use /blockdata
for changing placed sign data. So, we will use it for now. The syntax of /blockdata
is /blockdata [x] [y] [z] [dataInJSON]
. Note that we use JSON formatting for text.
Basic for sign
To input a text with /blockdata
, we will use Text1
tag. To write "Hello World" into the first line of the sign, simply just do /blockdata [x] [y] [z] {Text1:"{\"text\":\"Hello World\"}"}
. The quotes is there for JSON formatting.
If you need multiple line to display, use either Text2
, Text3
or Text4
.
Coloring
There is a way to change color of the sign using the color
sub tag. There is a lot selection of color. Here is all of the available one:
- gold
- red
- dark_red
- yellow
- dark_purple
- light_purple
- aqua
- dark_aqua
- black
- white
- green
- dark_green
- blue
- dark_blue
For writing "Hello World" in aqua, you write
/blockdata [x] [y] [z] {Text1:"{\"text\":\"Hello World\",\"color\":\"aqua\"}"}
into a command block. It will change the sign with the first line saying "Hello World" on aqua.
Bold
For bold text, you use bold
sub-tag. This sub-tag is a boolean, meaning the value can be only true
or false
for example:
/blockdata [x] [y] [z] {Text1:"{\"text\":\"Hello World\",\"bold\":true}"}
will give you a sign with text "Hello World" with bold.
The real answer
Type this into a command block changing [x], [y], and [z] into the coords of the sign:
/blockdata [x] [y] [z] {Text1:"{\"text\":\"Place Block\",\"color\":\"dark_blue\",\"bold\":true}"}
Full list for Raw JSON tags
Solution 2:
You can use /give
command too.
by using the BlockEntityTag
You can place a sign down with text.
for example if I wanted a sign with "RedIsCool" with red color I would have to do
/give @p sign 1 0 {BlockEntityTag:{Text2:"{\"text\":\"RedIsCool\",\"color\":\"red\"}"}}
in a command block, and then power it.
Solution 3:
Version Update
1.12−
Above answers apply.
1.13
1.13 changed the command syntax. NBT now goes directly after the block/item ID, without a space. Here are some updated 1.13 commands from the previous answers:
/give @p sign{BlockEntityTag:{Text2:"{\"text\":\"RedIsCool\",\"color\":\"red\"}"}} 1
/setblock ~ ~ ~ sign{Text2:"{\"text\":\"RedIsCool\",\"color\":\"red\"}"}}
In addition, /blockdata
is now a deprecated command, and has been replaced by /data merge block
. Run the following command to change placed block data:
/data merge block ~ ~ ~ {Text1:"{\"text\":\"RedIsCool\",\"color\":\"red\"}"}
1.14+
The 1.13 commands still work in 1.14+, but additional modifications are possible to make the commands easier to read:
-
You can use
/data modify
instead of/data merge
. This allows you to modify one specific tag at a time. This is more useful when performing complex operations with NBT tags, but isn't really needed for simple operations. -
1.14 added support for single quotes
'
to surround NBT string tags instead of double quotes"
. Therefore, you can make the following replacement:{Text1:"{\"text\":\"RedIsCool\",\"color\":\"red\"}"} {Text1:'{"text":"RedIsCool","color":"red"}'}
which will make it much easier to read.