btw, "Impossible" is not an answer. This just shows you aren't thinking outside the box.
With that said, here's the question:

So, what I want to do is make a "ghost" or "floating" sign. Something that looks like this:

A sign on a barrier block (hidden)

However, it's not as easy as that, since I've cheated and went ahead and used a Barrier Block:

A sign on a barrier block (shown)

What I want to do however, is make a true "ghost" or "floating" sign; one that does not need to rest on any sort of block as you cannot walk through that (unless it's water*, lava* or other signs).

It's possible to do so using WorldEdit by selecting a region and then doing //set wall_sign. However, this sign is rather blank.

*You can't rest a sign against any liquids anyway.

I used WorldEdit... Only that the sign is blank.

I remembered there was a trick that you could use to delete/add/modify blocks without triggering a block update (which is what causes a sign to break when it has no resting block). Any ideas?

You're free to use any server plugin (existing or a pointer in coding a new one) or a vanilla method. Just pop minecraft: to the front of your command... So /tp is now /minecraft:tp.

Bonus points if you can figure out a way that allows multiple signs side-by-side.

  • 1
    In WorldEdit you should be able to set signs with text: //set wall_sign|Line1_with_spaces|Line2|Line3 (Spaces are not allowed and need to be replaced with underscores.) ..I'm not on the right computer to test it though.
    – dly
    Dec 21, 2017 at 8:37
  • @dly Just to confirm: It's correct.
    – aytimothy
    Dec 21, 2017 at 10:35

2 Answers 2


This is a so-called "invalid state", because the sign is not meant to be there in a normal situation. So you always have to abuse a bug or external editor to get it there and then be careful to not change anything on any of the six adjacent blocks ever again.

With commands, you can just use /setblock, because it doesn't update the block (MC-31100). But you have to specify everything about the sign. The one in your example can be set like this:

/setblock ~ ~ ~ oak_wall_sign[facing=north]{Text1:"{\"text\":\"\"}",Text2:"{\"text\":\"This is a\"}",Text3:"{\"text\":\"floating sign\"}",Text4:"{\"text\":\"\"}"}

You have to replace the north with south, east or west for the other directions.

Without commands, you'll likely have to use stack overflows for update suppression, since most other bugs that do it are fixed. For that, you can for example use a machine like this one.


If you're on 1.13, you could use the debug stick to set the sign to 'wall'

  • 1
    Nice try, but how would I place it, to begin with? Also, if I was to place a block (because it's one above the ground), place a ground sign, debug stick it and destroyed that block... It'll still break due to block update.
    – aytimothy
    Dec 21, 2017 at 7:59
  • this is not yet possible, sure there are snapshots, but let's say the map is for 1.12, how will he downgrade? Dec 21, 2017 at 17:02
  • @Diriector_Doc I don't. I just upgrade.
    – aytimothy
    Dec 22, 2017 at 0:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .