Add AntiPlayerCollision

This commit is contained in:
2026-08-18 10:48:16 +02:00
parent 227f63c9ff
commit cb744f6aa0
@@ -20,34 +20,22 @@
package de.steamwar.bausystem.features.world; package de.steamwar.bausystem.features.world;
import de.steamwar.linkage.Linked; import de.steamwar.linkage.Linked;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team; import org.bukkit.scoreboard.Team;
@Linked @Linked
public class AntiPlayerCollision implements Listener { public class AntiPlayerCollision implements Listener {
private static Team TEAM = getTeam(); @EventHandler(priority = EventPriority.MONITOR)
public void onPlayerJoin(PlayerJoinEvent event) {
private static Team getTeam() { Scoreboard board = event.getPlayer().getScoreboard();
Scoreboard board = Bukkit.getScoreboardManager().getMainScoreboard();
Team team = board.getTeam("players"); Team team = board.getTeam("players");
if (team == null) team = board.registerNewTeam("players"); if (team == null) team = board.registerNewTeam("players");
team.setOption(Team.Option.COLLISION_RULE, Team.OptionStatus.NEVER); team.setOption(Team.Option.COLLISION_RULE, Team.OptionStatus.NEVER);
return team; team.addPlayer(event.getPlayer());
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
TEAM.addPlayer(event.getPlayer());
}
@EventHandler
public void onPlayerQuit(PlayerQuitEvent event) {
TEAM.removePlayer(event.getPlayer());
} }
} }