Code Patterns

Copy-paste examples for common plugin tasks. Commands, events, ECS, GUI, and more.

← Back to Patterns
teleport

Warp System

Use the built-in warp system to create and teleport to warps.

Example Code

java
// Create a new warp at player location
TransformComponent transform = store.getComponent(ref, TransformComponent.getComponentType());
Warp warp = new Warp(
    transform.getTransform(),  // Position and rotation
    "spawn",                   // Warp ID
    player.getWorld(),         // World name
    playerRef.getUsername(),   // Creator
    Instant.now()              // Creation date
);
TeleportPlugin.get().getWarps().put(warp.getId(), warp);
TeleportPlugin.get().saveWarps();

// Teleport to a warp
Warp warp = TeleportPlugin.get().getWarps().get("spawn");
if (warp != null) {
    // Add to teleport history
    store.ensureAndGetComponent(ref, TeleportHistory.getComponentType())
        .append(player.getWorld(), currentPos, currentRot, "Warp to spawn");

    // Teleport
    store.addComponent(ref, Teleport.getComponentType(), warp.toTeleport());
}

Thread Safety

Run on world thread.

Common Mistakes

Forgetting to save warps after creating. Not checking if warp exists.