Skip to content

Teleport and Fill

For: advanced users moving players and blocks.

Teleport players and fill cuboids across dimensions. The one-line forms live in the cheatsheet.

Teleport

Tag Meaning
<pteleport:player,loc> Teleport one online player, empty.
<rteleport:role,loc> Teleport every member of a role (ALL covers both), empty.
<gteleport:loc> Teleport every hunter and speedrunner, empty.

Locations are [x, y, z, world] or [x, y, z, world, pitch, yaw], pitch before yaw; the world is mandatory.

<pteleport:Alex,[100,64,-30,world]> teleports one online player, <rteleport:hunter,[100,64,-30,world]> teleports every member of the named role (ALL covers hunters and speedrunners), and <gteleport:[100,64,-30,world]> teleports every hunter and speedrunner in the match. All three leave nothing behind. The location is [x, y, z, world] or [x, y, z, world, pitch, yaw], pitch before yaw, the same shape <plocation> prints, so its output feeds straight back in. The world is mandatory: a raw name, or nether and end for those dimensions. Pitch and yaw come as a pair or not at all; without them each player keeps their current view. Offline players, unknown worlds, and malformed locations warn and move nothing. Spectators never move on <gteleport> (their holds and watch spawns stay intact); name them with <pteleport> when that is really wanted.

Fill

Tag Meaning
<fill:world,pos1,pos2,material,mode> Fill a cuboid, empty (set, or replace_non_block with WorldEdit).
<replace:world,pos1,pos2,source,target> Replace source with target in a cuboid, empty.

<fill:world,[0,60,0],[2,62,2],lava,set> fills one cuboid in the named world and leaves nothing behind. The world is a raw name or the nether and end aliases, the same refs <pworld> prints, so <fill:<pworld:<p>>,...> fills where the player stands. Corners are [x, y, z] lists of whole numbers in any order; the material takes any Material name (lava, minecraft:lava, LAVA); the mode is set or replace_non_block, case-blind. set fills every block in the cuboid, while replace_non_block only touches blocks that are not full cubes, so dirt and ores survive a lava floor but doors, slabs, stairs, water, and air do not. The masked mode needs WorldEdit or FastAsyncWorldEdit: without either, the tag warns once per modifier and fills with set instead, since per-block masking outside those plugins would be too laggy. If the installed build lacks the mask class (some FAWE builds), the tag warns once per modifier and runs a native unmasked set through the same API instead.

When a WorldEdit-compatible plugin is installed it serves cuboids up to 500000 blocks through the API with no permissions or selections needed; larger cuboids shrink evenly, centered, down to the 32768 direct-fill limit and run through an in-house block loop instead. Without one every fill takes the direct path with the same shrink. The active path logs once per match. Unknown materials, out-of-world coords, unloaded corners, and malformed args all warn and fill nothing. Unknown worlds warn naming the ref. The tag carries its own world, so it works in any list, console included.

<replace:world,[0,60,0],[2,62,2],air,water> swaps one material for another across a cuboid and leaves nothing behind. It takes the same world and corner shapes as <fill>, plus a source and a target Material name. Unlike the masked fill mode, the source match runs natively on both paths: WorldEdit masks on the source block through the API, and the direct loop compares block types, so a build without the mask class falls back to the direct loop instead of an unmasked set. Caps, shrinking, path logging, and warnings mirror <fill> (500000 through WorldEdit, 32768 direct, once per match).

Next Steps