Sketch Dimension

Provides a custom dimension with the name wishlist:sketch

Requirements

Usage

The sketch dimension is a superflat dimension whose biome is minecraft:the_void and is supposed to be used as a creative area for survival or adventure servers.

When a player enters the sketch, a lot of their state is recorded:

And then their gamemode is set to creative and their respawn point to the position in the sketch dimension where they entered.

When a player exits the sketch, their state is restored to what whas recorded in entry, and every effect is cleared from them.

The datapack tries to disable end frame portals in the sketch to prevent players from using them to dupe items.

Overhead

Uses advancements to determine if a player changed dimensions and entered or exited the sketch.

Uses an advancement to check if a player uses an eye of ender in an end portal frame in the sketch and if so the frame is reset to be eyeless.

Known Issues

There is at least one teleportation plugin (HuskHomes) that plays havoc with the system when you use their teleportation commands to enter or leave the sketch: in particular, minecraft will be notified that a player exiting the sketch is both entering and exiting it. This will cause them to appear outside the sketch, in creative mode, but with all their inventory destroyed. This also applies to the situation where a player dies in the sketch and uses the "teleport to where they died" option, so if you want to use such a system you will have to patch several holes:

Our test cases used WorldGuard to patch most of the issues

If you are in doubt about your current teleportation system playing badly with the sketch datapack, you can add to your player the wishlist.debug tag and then try to teleport inside or outside the sketch. You should see only one message saying that you entered or exited the sketch. If you got more than one, you are in trouble.