mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2024-09-28 23:27:27 +02:00
Move GameMode check to onPlayerChangeWorld, fix difficulty case settings
This commit is contained in:
parent
c566ead9ef
commit
091c5a9621
@ -743,7 +743,7 @@ public class MVWorld {
|
||||
|
||||
public boolean setDifficulty(String difficulty) {
|
||||
try {
|
||||
World.Difficulty worlddiff = World.Difficulty.valueOf(difficulty);
|
||||
World.Difficulty worlddiff = World.Difficulty.valueOf(difficulty.toUpperCase());
|
||||
this.getCBWorld().setDifficulty(worlddiff);
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
|
@ -204,6 +204,7 @@ public class MultiverseCore extends JavaPlugin implements LoggablePlugin {
|
||||
pm.registerEvent(Event.Type.PLAYER_RESPAWN, this.playerListener, Priority.Low, this); // Let plugins which specialize in (re)spawning carry more weight.
|
||||
pm.registerEvent(Event.Type.PLAYER_CHAT, this.playerListener, Priority.Normal, this); // To prepend the world name
|
||||
pm.registerEvent(Event.Type.PLAYER_PORTAL, this.playerListener, Priority.Monitor, this); // To switch gamemode
|
||||
pm.registerEvent(Event.Type.PLAYER_CHANGED_WORLD, this.playerListener, Priority.Monitor, this); // To switch gamemode
|
||||
|
||||
pm.registerEvent(Event.Type.ENTITY_REGAIN_HEALTH, this.entityListener, Priority.Normal, this);
|
||||
pm.registerEvent(Event.Type.ENTITY_DAMAGE, this.entityListener, Priority.Normal, this); // To Allow/Disallow fake PVP
|
||||
|
@ -63,10 +63,6 @@ public class MVPlayerListener extends PlayerListener {
|
||||
}
|
||||
|
||||
if (event.isBedSpawn() && this.plugin.getConfig().getBoolean("bedrespawn", true)) {
|
||||
// Handle the Players GameMode setting for the new world.
|
||||
if (this.plugin.getConfig().getBoolean("enforcegamemodes", true)) {
|
||||
this.handleGameMode(event.getPlayer(), event.getRespawnLocation().getWorld());
|
||||
}
|
||||
this.plugin.log(Level.FINE, "Spawning " + event.getPlayer().getName() + " at their bed");
|
||||
return;
|
||||
}
|
||||
@ -90,11 +86,6 @@ public class MVPlayerListener extends PlayerListener {
|
||||
MVRespawnEvent respawnEvent = new MVRespawnEvent(respawnLocation, event.getPlayer(), "compatability");
|
||||
this.plugin.getServer().getPluginManager().callEvent(respawnEvent);
|
||||
event.setRespawnLocation(respawnEvent.getPlayersRespawnLocation());
|
||||
|
||||
// Handle the Players GameMode setting for the new world.
|
||||
if (this.plugin.getConfig().getBoolean("enforcegamemodes", true)) {
|
||||
this.handleGameMode(event.getPlayer(), respawnEvent.getPlayersRespawnLocation().getWorld());
|
||||
}
|
||||
}
|
||||
|
||||
private Location getMostAccurateRespawnLocation(World w) {
|
||||
@ -119,6 +110,14 @@ public class MVPlayerListener extends PlayerListener {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerChangedWorld(PlayerChangedWorldEvent event) {
|
||||
// Handle the Players GameMode setting for the new world.
|
||||
if (this.plugin.getConfig().getBoolean("enforcegamemodes", true)) {
|
||||
this.handleGameMode(event.getPlayer(), event.getPlayer().getWorld());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||
this.plugin.removePlayerSession(event.getPlayer());
|
||||
@ -129,10 +128,6 @@ public class MVPlayerListener extends PlayerListener {
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
// Handle the Players GameMode setting for the new world.
|
||||
if (this.plugin.getConfig().getBoolean("enforcegamemodes", true)) {
|
||||
this.handleGameMode(event.getPlayer(), event.getTo().getWorld());
|
||||
}
|
||||
MVWorld fromWorld = this.worldManager.getMVWorld(event.getFrom().getWorld().getName());
|
||||
MVWorld toWorld = this.worldManager.getMVWorld(event.getTo().getWorld().getName());
|
||||
event.setCancelled(checkWorldPermissions(fromWorld, toWorld, event.getPlayer()));
|
||||
@ -144,10 +139,6 @@ public class MVPlayerListener extends PlayerListener {
|
||||
if (event.isCancelled() || event.getTo() == null || event.getFrom() == null) {
|
||||
return;
|
||||
}
|
||||
// Handle the Players GameMode setting for the new world.
|
||||
if (this.plugin.getConfig().getBoolean("enforcegamemodes", true)) {
|
||||
this.handleGameMode(event.getPlayer(), event.getTo().getWorld());
|
||||
}
|
||||
MVWorld fromWorld = this.worldManager.getMVWorld(event.getFrom().getWorld().getName());
|
||||
MVWorld toWorld = this.worldManager.getMVWorld(event.getTo().getWorld().getName());
|
||||
event.setCancelled(checkWorldPermissions(fromWorld, toWorld, event.getPlayer()));
|
||||
|
Loading…
Reference in New Issue
Block a user