mirror of
https://github.com/SunNetservers/MiniGames.git
synced 2025-07-20 23:14:43 +02:00
Implements #27 among other things
It was found that the Spigot API's methods for cancelling player collisions won't work without changing the scoreboard. Because of that, the normal option has been disabled. The invisibility option has also been removed, as that's a bad idea if players can still push each-other. The toggle player option which is implemented in this commit does disable player collision, so that's the only working way right now. A potential ConcurrentModificationException has been fixed. The parkourCheckpoint command has been removed, as the functionality is now available through the API.
This commit is contained in:
@ -3,6 +3,7 @@ package net.knarcraft.minigames;
|
||||
import net.knarcraft.knargui.GUIListener;
|
||||
import net.knarcraft.minigames.arena.ArenaPlayerRegistry;
|
||||
import net.knarcraft.minigames.arena.ArenaSession;
|
||||
import net.knarcraft.minigames.arena.PlayerVisibilityManager;
|
||||
import net.knarcraft.minigames.arena.dropper.DropperArena;
|
||||
import net.knarcraft.minigames.arena.dropper.DropperArenaData;
|
||||
import net.knarcraft.minigames.arena.dropper.DropperArenaGameMode;
|
||||
@ -41,7 +42,6 @@ import net.knarcraft.minigames.command.parkour.EditParkourArenaTabCompleter;
|
||||
import net.knarcraft.minigames.command.parkour.JoinParkourArenaCommand;
|
||||
import net.knarcraft.minigames.command.parkour.JoinParkourArenaTabCompleter;
|
||||
import net.knarcraft.minigames.command.parkour.ListParkourArenaCommand;
|
||||
import net.knarcraft.minigames.command.parkour.ParkourCheckpointCommand;
|
||||
import net.knarcraft.minigames.command.parkour.ParkourGroupListCommand;
|
||||
import net.knarcraft.minigames.command.parkour.ParkourGroupSetCommand;
|
||||
import net.knarcraft.minigames.command.parkour.ParkourGroupSwapCommand;
|
||||
@ -87,6 +87,7 @@ public final class MiniGames extends JavaPlugin {
|
||||
private ParkourRecordExpansion parkourRecordExpansion;
|
||||
private ParkourArenaHandler parkourArenaHandler;
|
||||
private ArenaPlayerRegistry<ParkourArena> parkourArenaPlayerRegistry;
|
||||
private PlayerVisibilityManager playerVisibilityManager;
|
||||
|
||||
/**
|
||||
* Gets an instance of this plugin
|
||||
@ -162,6 +163,15 @@ public final class MiniGames extends JavaPlugin {
|
||||
return this.parkourConfiguration;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the manager keeping track of player visibility
|
||||
*
|
||||
* @return <p>The player visibility manager</p>
|
||||
*/
|
||||
public PlayerVisibilityManager getPlayerVisibilityManager() {
|
||||
return this.playerVisibilityManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the current session of the given player
|
||||
*
|
||||
@ -288,6 +298,7 @@ public final class MiniGames extends JavaPlugin {
|
||||
this.parkourArenaPlayerRegistry = new ParkourArenaPlayerRegistry();
|
||||
this.parkourArenaHandler = new ParkourArenaHandler(this.parkourArenaPlayerRegistry);
|
||||
this.parkourArenaHandler.load();
|
||||
this.playerVisibilityManager = new PlayerVisibilityManager();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -360,7 +371,6 @@ public final class MiniGames extends JavaPlugin {
|
||||
registerCommand("parkourGroupSet", new ParkourGroupSetCommand(), null);
|
||||
registerCommand("parkourGroupSwap", new ParkourGroupSwapCommand(), null);
|
||||
registerCommand("parkourGroupList", new ParkourGroupListCommand(), null);
|
||||
registerCommand("parkourCheckpoint", new ParkourCheckpointCommand(), null);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user