Portal Creation

Last updated Jul 6, 2026

Portal Creation

Create, connect, move, and remove portals on your server.


The Portal Wand

/st wand

Permission: st.command.wand (also accepts st.command.tool).

Action Result
Left-click block Set position 1
Right-click block Set position 2
Shift+right-click (no selection) Enter custom shape mode
Shift+right-click in custom mode Toggle blocks or exit mode

Alternative without the wand item:

/st set p1
/st set p2

Both positions must be in the same world. Cross-world selections show an error with the existing and current world names.

After both corners are set, the plugin shows wand hints for shape preview commands.


Creating a Portal

/st add <name>

Permission: st.command.add

  • Names must be unique (case-insensitive).
  • Overlapping portal regions are rejected.
  • Size must be within portals.limits.min-size and max-size from config.
  • Chunk and per-player limits apply when configured.

On success you see particle type, sound, direction, orientation, and the assigned permission node.

Custom shape portals

  1. Shift+right-click with the wand to enter custom shape mode.
  2. Right-click blocks to add them to the selection (minimum 2 blocks).
  3. Run /st add <name>.

Shape Preview Workflow

Plan portal frames before committing blocks:

/st shapepreview rectangle
/st shapepreview circle
/st shapepreview triangle
/st shapepreview hexagon
/st shapepreview random_rift
/st shapepreview rotate
/st shapepreview mirror
/st shapepreview undo
/st shapepreview place [material]

Permission: st.command.shapepreview

  1. Set pos1 and pos2 with the wand first.
  2. Generate a preset shape.
  3. Rotate, mirror, or undo preview changes.
  4. Run place to build the frame (default material from portals.shape-preview.default-frame-material, usually OBSIDIAN).
  5. Run /st add <name> to register the portal.

Valid presets include: rectangle, square, circle, oval, triangle, hexagon, octagon, random_rift.


Connecting Portals

/st connect <source> <target>

Permission: st.command.connect

Creates a standard two-way link. Rules:

  • Cannot link a portal to itself.
  • A portal can only have one primary connection at a time (unlink first if needed).
  • Cross-world links work when safety.cross-world is true.
/st unlink <portal>

Permission: st.command.unlink


Multi-Destination Routing

Since 1.0.1, one portal can route to multiple destinations:

/st setrouting <portal> <fixed|random|weighted|permission>
/st setdestinations <portal> <dest1,dest2,...>

Permissions: st.command.setrouting, st.command.setdestinations

Examples:

/st setrouting hub random
/st setdestinations hub shops,pvp,farm

Weighted routing:

/st setrouting hub weighted
/st setdestinations hub shops|3,pvp|1,farm|2

Removing, Renaming, and Resetting

Command Description
/st remove <portal> Permanently delete portal data (blocks in the world remain)
/st rename <portal> <newname> Rename while keeping settings and links
/st reset <portal> Reset portal settings to defaults (position and connection kept)

Moving a Portal

/st move <portal>

Permission: st.command.move

  1. Enter move mode.
  2. Select two new corners with the wand.
  3. The portal relocates with all settings preserved.

Cancel:

/st move cancel

Portal Orientation

Type Detection Player interaction
Vertical Taller than ~1 block Walk through like a doorway
Horizontal Flat floor selection Step onto the pad

Direction note: Horizontal portals always face players UP after teleport. Direction overrides do not apply to horizontal portals.


Information Commands

/st list
/st info <portal> [page]
/st tp <portal>

/st info spans multiple pages (particles, sounds, conditions, costs, permissions, and more). Use page numbers for additional detail.


Next Steps

Discord