CODICE
package ziocroc.dtp;
import org.bukkit.Location;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
public class DeathTeleport extends JavaPlugin {
DTPPlayerListener l;
@Override
public void onDisable() {
saveConfig();
}
@Override
public void onEnable() {
PluginManager pm = this.getServer().getPluginManager();
l = new DTPPlayerListener(this);
pm.registerEvent(Event.Type.PLAYER_CHAT, l, Event.Priority.High, this);
pm.registerEvent(Event.Type.PLAYER_RESPAWN, l, Event.Priority.High, this);
}
@Override
public boolean onCommand(CommandSender sender, Command command,
String label, String[] args) {
Player player;
String nick;
if (sender instanceof Player)
player = (Player) sender;
else
return false;
nick = player.getDisplayName().toLowerCase();
if (command.getName().equalsIgnoreCase("pret")) {
String arg;
if (args.length < 1)
arg = "death";
else
arg = args[0];
if (getConfig().getBoolean(nick + "." + arg + ".exists", false) == true || arg.equals("home")) {
if (arg.equals("home")) {
if (player.getBedSpawnLocation() != null)
player.teleport(player.getBedSpawnLocation());
else
player.sendMessage("Non hai una casa, barbone.");
} else {
player.teleport(new Location(getServer().getWorld(getConfig().getString(nick + "." + arg + ".world")),
getConfig().getDouble(nick + "." + arg + ".x"),
getConfig().getDouble(nick + "." + arg + ".y"),
getConfig().getDouble(nick + "." + arg + ".z"),
(float) getConfig().getDouble(nick + "." + arg + ".yaw"),
(float) getConfig().getDouble(nick + "." + arg + ".pitch")));
}
} else {
if (arg.equals("death"))
player.sendMessage("Non sei morto (tranquillo: morirai fra poco).");
else
player.sendMessage("\"" + args[0] + "\" non esiste, proprio come il tuo pene.");
}
return true;
} else if (command.getName().equalsIgnoreCase("pset")) {
if (args.length < 1)
return false;
if (args[0].equals("home") || args[0].equals("death"))
return false;
addPoint(player, args[0]);
player.sendMessage("Posizione \"" + args[0] + "\" salvata (forse).");
}
return true;
}
public void addPoint(Player player, String name) {
Location l = player.getLocation();
String nick = player.getDisplayName().toLowerCase();
getConfig().set(nick + "." + name + ".exists", true);
getConfig().set(nick + "." + name + ".world", l.getWorld().getName());
getConfig().set(nick + "." + name + ".x", l.getX());
getConfig().set(nick + "." + name + ".y", l.getY());
getConfig().set(nick + "." + name + ".z", l.getZ());
getConfig().set(nick + "." + name + ".yaw", (double) l.getYaw());
getConfig().set(nick + "." + name + ".pitch", (double) l.getPitch());
saveConfig();
reloadConfig();
}
}
CODICE
package ziocroc.dtp;
import org.bukkit.event.player.PlayerListener;
import org.bukkit.event.player.PlayerRespawnEvent;
public class DTPPlayerListener extends PlayerListener {
private DeathTeleport plugin;
public DTPPlayerListener(DeathTeleport plugin) {
this.plugin = plugin;
}
@Override
public void onPlayerRespawn(PlayerRespawnEvent event) {
plugin.addPoint(event.getPlayer(), "death");
}
}
Last comments