Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ A plugin the lets players spawn at different locations, depending on their permi

* _multispawn.spawn.SPAWNNAMEHERE_ - allows player to spawn at that spawn
* _multispawn.noteleport_ - players don't teleport when they join
* _multispawn.noteleportondeath_ - players don't teleport when they die
* _multispawn.bycommand_ - allows usage of /spawn
* _multispawn.removespawn_ - allows usage of /removespawn
* _multispawn.others_ - allows you to teleport others to spawn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,24 @@
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.player.PlayerRespawnEvent;

public class PlayerDeath implements Listener {
private final MultiSpawn plugin = MultiSpawn.getPlugin();

@EventHandler
@SuppressWarnings("unused")
public void onPlayerDeath(PlayerDeathEvent ev) {
final Player p = ev.getEntity();
if (p.hasPermission("multispawn.noteleport") // If player is excluded
public void onPlayerDeath(PlayerRespawnEvent ev) {
final Player p = ev.getPlayer();
if (p.hasPermission("multispawn.noteleportondeath") // If player is excluded
|| plugin.getSpawnUtils().getSpawns(p, false).isEmpty()) return; // If spawns are empty

if (plugin.getSpawnUtils().getSpawns(p, true).size() == 1
&& plugin.getSpawnUtils().getSpawns(p, true).contains("default")
&& !plugin.getConfig().getBoolean("useDefaultAsFallback", true)) return;

plugin.getSpawnUtils().sendPlayerToSpawn(p); // Teleport player if spawn list isn't empty

if (!plugin.getSpawnUtils().getSpawns(p, false).isEmpty()) {
ev.setRespawnLocation(plugin.getSpawnUtils().getSpawnLocation(plugin.getSpawnUtils().getRandomSpawn(p)));
}
}
}
2 changes: 2 additions & 0 deletions src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ permissions:
default: false
multispawn.noteleport:
default: op
multispawn.noteleportondeath:
default: false
multispawn.bycommand.*:
default: op
multispawn.removespawn:
Expand Down