1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-09-25 21:59:08 +02:00

2.1 prerelease, part 2 of 3

git-svn-id: https://svn.java.net/svn/essentials~svn/trunk2.1@1015 e251c2fe-e539-e718-e476-b85c1f46cddb
This commit is contained in:
Zenexer
2011-03-30 04:03:21 +00:00
commit 71c5e8c54e
223 changed files with 28819 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
package com.earth2me.essentials.spawn;
import org.bukkit.Server;
import com.earth2me.essentials.Essentials;
import com.earth2me.essentials.User;
import com.earth2me.essentials.commands.EssentialsCommand;
public class Commandsetspawn extends EssentialsCommand
{
public Commandsetspawn()
{
super("setspawn");
}
@Override
public void run(Server server, Essentials parent, User user, String commandLabel, String[] args) throws Exception
{
user.charge(this);
String group = args.length > 0 ? getFinalArg(args, 0) : "default";
parent.spawn.setSpawn(user.getLocation(), group);
user.sendMessage("§7Spawn location set for group \"" + group + "\".");
}
}

View File

@@ -0,0 +1,23 @@
package com.earth2me.essentials.spawn;
import org.bukkit.Server;
import com.earth2me.essentials.Essentials;
import com.earth2me.essentials.User;
import com.earth2me.essentials.commands.EssentialsCommand;
public class Commandspawn extends EssentialsCommand
{
public Commandspawn()
{
super("spawn");
}
@Override
public void run(Server server, Essentials parent, User user, String commandLabel, String[] args) throws Exception
{
user.canAfford(this);
user.teleportCooldown();
user.respawn(Essentials.getStatic().spawn, this.getName());
}
}

View File

@@ -0,0 +1,65 @@
package com.earth2me.essentials.spawn;
import java.io.*;
import java.util.logging.*;
import com.earth2me.essentials.*;
import org.bukkit.command.*;
import org.bukkit.event.Event.Priority;
import org.bukkit.event.Event.Type;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.*;
public class EssentialsSpawn extends JavaPlugin
{
public static final String AUTHORS = Essentials.AUTHORS;
private static final Logger logger = Logger.getLogger("Minecraft");
public EssentialsSpawn() throws IOException
{
}
@SuppressWarnings("LoggerStringConcat")
public void onEnable()
{
Plugin p = this.getServer().getPluginManager().getPlugin("Essentials");
if (p != null) {
if (!this.getServer().getPluginManager().isPluginEnabled(p)) {
this.getServer().getPluginManager().enablePlugin(p);
}
}
EssentialsSpawnPlayerListener playerListener = new EssentialsSpawnPlayerListener();
getServer().getPluginManager().registerEvent(Type.PLAYER_RESPAWN, playerListener, Priority.Low, this);
getServer().getPluginManager().registerEvent(Type.PLAYER_JOIN, playerListener, Priority.Low, this);
if (!this.getDescription().getVersion().equals(Essentials.getStatic().getDescription().getVersion())) {
logger.log(Level.WARNING, "Version mismatch! Please update all Essentials jars to the same version.");
}
logger.info("Loaded " + this.getDescription().getName() + " build " + this.getDescription().getVersion() + " maintained by " + AUTHORS);
}
public void onDisable()
{
}
@SuppressWarnings(
{
"LoggerStringConcat", "CallToThreadDumpStack"
})
@Override
public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args)
{
try
{
Essentials.loadClasses();
Essentials.previewCommand(sender, command, commandLabel, args);
return EssentialsSpawnWorker.onCommand(sender, command, commandLabel, args);
}
catch (Throwable ex)
{
ex.printStackTrace();
return true;
}
}
}

View File

@@ -0,0 +1,51 @@
package com.earth2me.essentials.spawn;
import com.earth2me.essentials.Essentials;
import com.earth2me.essentials.User;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerListener;
import org.bukkit.event.player.PlayerRespawnEvent;
public class EssentialsSpawnPlayerListener extends PlayerListener
{
@Override
public void onPlayerRespawn(PlayerRespawnEvent event)
{
Essentials.loadClasses();
User user = User.get(event.getPlayer());
try
{
if (Essentials.getSettings().getRespawnAtHome())
{
event.setRespawnLocation(user.getHome());
return;
}
}
catch (Throwable ex)
{
}
event.setRespawnLocation(Essentials.getStatic().spawn.getSpawn(user.getGroup()));
}
@Override
public void onPlayerJoin(PlayerJoinEvent event)
{
Essentials.loadClasses();
User user = User.get(event.getPlayer());
if (!user.isNew()) return;
user.clearNewFlag();
try {
user.teleportToNow(Essentials.getStatic().spawn.getSpawn(Essentials.getSettings().getNewbieSpawn()));
} catch (Exception ex) {
Logger.getLogger("Minecraft").log(Level.WARNING, "Failed to teleport new player", ex);
}
if (Essentials.getSettings().getAnnounceNewPlayers())
Essentials.getStatic().getServer().broadcastMessage(Essentials.getSettings().getAnnounceNewPlayerFormat(user));
}
}

View File

@@ -0,0 +1,56 @@
package com.earth2me.essentials.spawn;
import java.util.logging.*;
import com.earth2me.essentials.*;
import com.earth2me.essentials.commands.IEssentialsCommand;
import org.bukkit.command.*;
public class EssentialsSpawnWorker
{
private static final Logger logger = Logger.getLogger("Minecraft");
@SuppressWarnings(
{
"LoggerStringConcat", "CallToThreadDumpStack"
})
public static boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args)
{
User user = User.get(sender);
IEssentialsCommand cmd;
try
{
cmd = (IEssentialsCommand)EssentialsSpawn.class.getClassLoader().loadClass("com.earth2me.essentials.spawn.Command" + command.getName()).newInstance();
}
catch (Exception ex)
{
sender.sendMessage("§cThat command is improperly loaded.");
ex.printStackTrace();
return true;
}
// Check authorization
if (user != null && !user.isAuthorized(cmd))
{
logger.warning(user.getName() + " was denied access to command.");
user.sendMessage("§cYou do not have access to that command.");
return true;
}
// Run the command
try
{
if (user == null)
cmd.run(Essentials.getStatic().getServer(), Essentials.getStatic(), sender, commandLabel, command, args);
else
cmd.run(Essentials.getStatic().getServer(), Essentials.getStatic(), user, commandLabel, command, args);
return true;
}
catch (Exception ex)
{
sender.sendMessage((user == null ? "" : "§c") + "Error: " + ex.getMessage());
return true;
}
}
}

View File

@@ -0,0 +1,15 @@
# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.)
name: EssentialsSpawn
main: com.earth2me.essentials.spawn.EssentialsSpawn
# Note to developers: This next line cannot change, or the automatic versioning system will break.
version: TeamCity
website: http://www.earth2me.net:8001/
description: Provides spawn control commands, utilizing Essentials.
authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo]
commands:
setspawn:
description: Set the spawnpoint to your current position.
usage: /<command> <group>
spawn:
description: Teleport to the spawnpoint.
usage: /<command>