Test ghost mode is a state the player can get in by performing certain actions, that will be explained later. It was first shown in a video by test137e29, and commented with the words "Not sure why this is happening or if it is reproducible." It is reproducible. Test ghost mode is currently not understood, and therefore there is currently no real theory about how it might work. This page will describe how to get into test ghost mode, and what effects it has. Please feel free to add anything you found, while experimenting with this state, because the more information is publicly available on this bug, the faster it will be understood.
Getting into test ghost mode Edit
According to the current understanding of the bug, to get into test ghost mode, the following things have to be done:
A chunk C in the Nether must be left through a nether portal, while a chunk D in the overworld, that is not a spawnchunk, and which has exactly the same coordinates as the chunk C, is loaded (using some kind of chunk loader). After that it is necessary to wait, until the game tries to unload chunks. However this method can sometimes randomly fail. It is recommended to just watch test137e29´s video.
Effects of Test ghost mode Edit
The precise effects heavily depend on the minecraft version.
In 1.12.2 the following things happen:
All other entities become invisible, because they will be removed from the clientside world. They will however still be there serverside.
The player gets removed from the playerlist of the MinecraftServer class. This means that the player can no longer be targeted by "@e" in commands, and certain kinds of packets will no longer be send to the player. For example the player will no longer be able to use ghost block elevators, and will be unable to leave a bed.
Furthermore, the player will be removed from the entitylist of the chunk he was in when he entered test mode. If the player enters a new chunk he will again be added to the entitylist of the new chunks, removing the weird effects coming from that.
As long as the player is not in the entitylist of the chunk he´s in, he will be immune to projectiles, explosions, and lingering potions. Pistons that have been made invisible with ghost block technology will not be able to push the player (however visible pistons will be able to push the player; the client has enough control over the players position to do that)
The following is a random sample of effects in 1.8 (aka I´ll just leave a previous version of the page here):
The player will no longer be able to activate tripwire or pressure plates.
If the player takes damage, that is less than any amount of damage previously taken in test ghost mode, the damage will not be applied.
In test ghost mode, there are sometimes graphical errors concerning other entities.
Only blocks, that can be broken instantly, can be broken.
If a player uses a bed, while in test ghost mode, the "leave bed" button will stay on the screen, and the player will remain in chat, even after leaving the bed. This makes the player unable to move or do anything except chatting.
Changes in movement speed (speed effects or speed attribute modifiers) will not be applied while in test ghost mode. If a player enters test ghost mode with modified speed, he will keep it, and will be unable to get rid of it while in test ghost mode.
While a player is in test ghost mode, he will not be able to use ghost motion based elevators. However the player will still be able to have serverside motion, which will get stored in the nbt data upon relogging. So test ghost mode does not disable ghost motion, but it disables the ghost motion damage bug.
If a player goes away from the nether portal by an certain amount of chunks, that depends on the renderdistance of the player, there will be chunks, that are loaded for the server as long as the player is nearby, but which will not be loaded for the client.
In a chunk, that is loaded for the server, but not for the client, all blocks will initially be invisible. While the player is inside a chunk, that is not loaded for the client, he will not be able to have any clientside motion. Additionally, ghost blocks that are pushed into chunks, that are not loaded for the client, will disappear instantly.
If the player starts riding an entity while in test ghost mode, the test ghost mode will kind of restart: The player will still be in test ghost mode, but he will be able to take damage again, and the position, around which the chunks are loaded for the client, will no longer be the nether portal, but the position at which the player started riding an entity. Also graphical errors will reset.