Skip to content

Cannot cancel PlayerTeleportEvent in spectator mode #456

@kokskoksowy

Description

@kokskoksowy

Expected behavior

in console 2 PRINTs
[TPtest] Enabling TPtest v1.0-SNAPSHOT
[TPtest] [STDOUT] TPtest enabled
[TPtest] [STDOUT] EVENT
[TPtest] [STDOUT] CANCEL
and dont let player teleport
(it works on latest paper)

Observed/Actual behavior

nothing just letting player teleport when it shoud be cancelled (yes plugin was working i made simple loop that prints test)

Steps/models to reproduce

Write simple plugin (

package org.kokosowy869.tPtest;

import org.bukkit.GameMode;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.plugin.java.JavaPlugin;

public final class TPtest extends JavaPlugin implements Listener {

@Override
public void onEnable() {

    getServer().getPluginManager().registerEvents(this, this);

    System.out.println("TPtest enabled");
}

@Override
public void onDisable() {

}

@EventHandler
public void onTp(PlayerTeleportEvent event) {
    System.out.println("EVENT");

    if (event.getPlayer().getGameMode() != GameMode.SPECTATOR) {
        return;
    }

    if (event.getCause() == PlayerTeleportEvent.TeleportCause.SPECTATE) {

        System.out.println("CANCEL");

        event.setCancelled(true);
    }
}

}

Plugin and Datapack List

only one plugin with this PlayerTeleportEvent
[19:25:09 INFO]: ℹ Server Plugins (1):
[19:25:09 INFO]: Bukkit Plugins:
[19:25:09 INFO]: - TPtest

Folia version

This server is running Folia version 26.1.2-8-ver/26.1.x@62dc0f2 (2026-05-06T13:45:28Z) (Implementing API version 26.1.2.build.8-stable)

Other

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions