Add authme login location correction

If enabled it will teleport player home or to spawn if his location is
invalid.
This commit is contained in:
Shevchik 2013-09-02 09:59:57 +04:00
parent fe81cd81e1
commit 45f715b786
4 changed files with 26 additions and 0 deletions

View File

@ -32,6 +32,7 @@ public class Chairs extends JavaPlugin {
public boolean autoRotate, signCheck, permissions, notifyplayer, opsOverridePerms; public boolean autoRotate, signCheck, permissions, notifyplayer, opsOverridePerms;
public boolean invertedStairCheck, seatOccupiedCheck, invertedStepCheck, perItemPerms, ignoreIfBlockInHand; public boolean invertedStairCheck, seatOccupiedCheck, invertedStepCheck, perItemPerms, ignoreIfBlockInHand;
public boolean sitEffectsEnabled; public boolean sitEffectsEnabled;
public boolean authmelogincorrection;
public double sittingHeight, sittingHeightAdj, distance; public double sittingHeight, sittingHeightAdj, distance;
public int maxChairWidth; public int maxChairWidth;
public int sitMaxHealth; public int sitMaxHealth;
@ -182,6 +183,8 @@ public class Chairs extends JavaPlugin {
opsOverridePerms = getConfig().getBoolean("ops-override-perms"); opsOverridePerms = getConfig().getBoolean("ops-override-perms");
ignoreIfBlockInHand = getConfig().getBoolean("ignore-if-block-in-hand"); ignoreIfBlockInHand = getConfig().getBoolean("ignore-if-block-in-hand");
authmelogincorrection = getConfig().getBoolean("authme-loginlocation-correction");
sitEffectsEnabled = getConfig().getBoolean("sit-effects.enabled", false); sitEffectsEnabled = getConfig().getBoolean("sit-effects.enabled", false);
sitEffectInterval = getConfig().getInt("sit-effects.interval",20); sitEffectInterval = getConfig().getInt("sit-effects.interval",20);
sitMaxHealth = getConfig().getInt("sit-effects.healing.max-percent",100); sitMaxHealth = getConfig().getInt("sit-effects.healing.max-percent",100);

View File

@ -14,6 +14,7 @@ import org.bukkit.event.Listener;
import org.bukkit.event.block.Action; import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.material.Stairs; import org.bukkit.material.Stairs;
import org.bukkit.material.Step; import org.bukkit.material.Step;
@ -54,6 +55,27 @@ public class EventListener implements Listener {
} }
@EventHandler(priority=EventPriority.LOWEST,ignoreCancelled=true)
public void onJoin(PlayerJoinEvent e)
{
if (!plugin.authmelogincorrection)
{
return;
}
Player player = e.getPlayer();
Location loc = player.getLocation();
if (Double.isNaN(loc.getY()))
{
loc = player.getBedSpawnLocation();
if (loc == null)
{
loc = player.getWorld().getSpawnLocation();
}
player.teleport(loc);
}
}
@EventHandler(priority=EventPriority.LOWEST) @EventHandler(priority=EventPriority.LOWEST)
public void onPlayerQuit(PlayerQuitEvent event) public void onPlayerQuit(PlayerQuitEvent event)
{ {

View File

@ -31,6 +31,7 @@ valid-signs:
- WALL_SIGN - WALL_SIGN
- SIGN_POST - SIGN_POST
- ITEM_FRAME - ITEM_FRAME
authme-loginlocation-correction: false
auto-rotate: true auto-rotate: true
max-chair-width: 3 max-chair-width: 3
sign-check: false sign-check: false

Binary file not shown.