Fixed a typo.

This commit is contained in:
Tobias Ottenweller 2013-05-18 19:54:17 +02:00
parent 040377cb36
commit f1d623df60
2 changed files with 1 additions and 112 deletions

View File

@ -18,7 +18,7 @@ public class CommandInfo extends BaseCommand
requiredParameters.add("id"); requiredParameters.add("id");
helpDescription = "Print detailed informations about a certain gate."; helpDescription = "Print detailed information about a certain gate.";
requiredPermission = Plugin.permissionInfo; requiredPermission = Plugin.permissionInfo;

View File

@ -1,111 +0,0 @@
package de.craftinc.gates.listeners;
import java.util.Calendar;
import java.util.HashMap;
import java.util.logging.Level;
import org.bukkit.ChatColor;
import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import de.craftinc.gates.Gate;
import de.craftinc.gates.GatesManager;
import de.craftinc.gates.Plugin;
public class PluginPlayerListener implements Listener
{
protected HashMap<String, Long> lastBorderMessage = new HashMap<String, Long>();
@EventHandler(priority = EventPriority.NORMAL)
public void onPlayerMove(PlayerMoveEvent event)
{
if (event.isCancelled()) {
return;
}
GatesManager gateManager = Plugin.getPlugin().getGatesManager();
Gate gateAtLocation = gateManager.getGateAtLocation(event.getTo());
if (gateAtLocation == null) {
return;
}
// Check for permission
if (!hasPermission(event.getPlayer(), gateAtLocation)) {
String playerName = event.getPlayer().getName();
if (playerName == null) {
return;
}
// get the current time
Long now = Calendar.getInstance().getTimeInMillis();
// do not display messages more often than once per second
if (!this.lastBorderMessage.containsKey(playerName) || this.lastBorderMessage.get(playerName) < now - 10000L) {
event.getPlayer().sendMessage(ChatColor.RED + "You are not allowed to use this gate!");
this.lastBorderMessage.put(playerName, now);
}
return;
}
// Teleport the player
checkChunkLoad(gateAtLocation.getLocation().getBlock());
Location gateExit = gateAtLocation.getExit();
Location gateLocation = gateAtLocation.getLocation();
Location playerLocation = event.getPlayer().getLocation();
Float newYaw = gateExit.getYaw() - gateLocation.getYaw() + playerLocation.getYaw();
Location teleportToLocation = new Location( gateExit.getWorld(),
gateExit.getX(),
gateExit.getY(),
gateExit.getZ(),
newYaw,
playerLocation.getPitch() );
event.getPlayer().teleport(teleportToLocation);
event.setTo(teleportToLocation);
event.getPlayer().sendMessage(ChatColor.DARK_AQUA + "Thank you for traveling with Craft Inc. Gates.");
}
private void checkChunkLoad(Block b)
{
World w = b.getWorld();
Chunk c = b.getChunk();
if (!w.isChunkLoaded(c))
{
Plugin.log(Level.FINE, "Loading chunk: " + c.toString() + " on: " + w.toString());
w.loadChunk(c);
}
}
protected boolean hasPermission(Player player, Gate gate)
{
if (Plugin.getPermission() == null) // fallback: use the standard bukkit permission system
{
return player.hasPermission(Plugin.permissionUse);
}
else {
boolean permAtLocation = Plugin.getPermission().has(gate.getLocation().getWorld(), player.getName(), Plugin.permissionUse);
boolean permAtExit = Plugin.getPermission().has(gate.getExit().getWorld(), player.getName(), Plugin.permissionUse);
return permAtLocation && permAtExit;
}
}
}