Merge branch 'master' into release

This commit is contained in:
snowleo 2011-07-23 02:39:37 +02:00
commit 57bee443b1
18 changed files with 106 additions and 54 deletions

View File

@ -130,4 +130,6 @@ public interface ISettings extends IConf
boolean isPlayerCommand(String string);
public boolean useBukkitPermissions();
public boolean addPrefixSuffix();
}

View File

@ -468,4 +468,9 @@ public class Settings implements ISettings
{
return config.getBoolean("use-bukkit-permissions", false);
}
public boolean addPrefixSuffix()
{
return config.getBoolean("add-prefix-suffix", false);
}
}

View File

@ -246,14 +246,17 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
}
}
final String prefix = ess.getPermissionsHandler().getPrefix(this).replace('&', '§').replace("{WORLDNAME}", this.getWorld().getName());
final String suffix = ess.getPermissionsHandler().getSuffix(this).replace('&', '§').replace("{WORLDNAME}", this.getWorld().getName());
nickname.insert(0, prefix);
nickname.append(suffix);
if (suffix.length() < 2 || !suffix.substring(suffix.length() - 2, suffix.length() - 1).equals("§"))
if (ess.getSettings().addPrefixSuffix())
{
nickname.append("§f");
final String prefix = ess.getPermissionsHandler().getPrefix(this).replace('&', '§').replace("{WORLDNAME}", this.getWorld().getName());
final String suffix = ess.getPermissionsHandler().getSuffix(this).replace('&', '§').replace("{WORLDNAME}", this.getWorld().getName());
nickname.insert(0, prefix);
nickname.append(suffix);
if (suffix.length() < 2 || !suffix.substring(suffix.length() - 2, suffix.length() - 1).equals("§"))
{
nickname.append("§f");
}
}
return nickname.toString();

View File

@ -216,21 +216,21 @@ public class Util
return c.getTimeInMillis();
}
public static Location getSafeDestination(Location loc) throws Exception
public static Location getSafeDestination(final Location loc) throws Exception
{
if (loc == null || loc.getWorld() == null)
{
throw new Exception(Util.i18n("destinationNotSet"));
}
World world = loc.getWorld();
double x = Math.floor(loc.getX()) + 0.5;
double y = Math.floor(loc.getY());
double z = Math.floor(loc.getZ()) + 0.5;
final World world = loc.getWorld();
int x = loc.getBlockX();
int y = loc.getBlockY();
int z = loc.getBlockZ();
while (isBlockAboveAir(world, x, y, z))
{
y -= 1.0D;
if (y < 0.0D)
y -= 1;
if (y < 0)
{
throw new Exception(Util.i18n("holeInFloor"));
}
@ -238,33 +238,33 @@ public class Util
while (isBlockUnsafe(world, x, y, z))
{
y += 1.0D;
if (y >= 110.0D)
y += 1;
if (y >= 127)
{
x += 1.0D;
x += 1;
break;
}
}
while (isBlockUnsafe(world, x, y, z))
{
y -= 1.0D;
if (y <= 1.0D)
y -= 1;
if (y <= 1)
{
y = 110.0D;
x += 1.0D;
y = 127;
x += 1;
}
}
return new Location(world, x, y, z, loc.getYaw(), loc.getPitch());
return new Location(world, x + 0.5D, y, z + 0.5D, loc.getYaw(), loc.getPitch());
}
private static boolean isBlockAboveAir(World world, double x, double y, double z)
private static boolean isBlockAboveAir(final World world, final int x, final int y, final int z)
{
return world.getBlockAt((int)Math.floor(x), (int)Math.floor(y - 1.0D), (int)Math.floor(z)).getType() == Material.AIR;
return world.getBlockAt(x, y - 1, z).getType() == Material.AIR;
}
public static boolean isBlockUnsafe(World world, double x, double y, double z)
public static boolean isBlockUnsafe(final World world, final int x, final int y, final int z)
{
Block below = world.getBlockAt((int)Math.floor(x), (int)Math.floor(y - 1.0D), (int)Math.floor(z));
final Block below = world.getBlockAt(x, y - 1, z);
if (below.getType() == Material.LAVA || below.getType() == Material.STATIONARY_LAVA)
{
return true;
@ -275,8 +275,8 @@ public class Util
return true;
}
if ((world.getBlockAt((int)Math.floor(x), (int)Math.floor(y), (int)Math.floor(z)).getType() != Material.AIR)
|| (world.getBlockAt((int)Math.floor(x), (int)Math.floor(y + 1.0D), (int)Math.floor(z)).getType() != Material.AIR))
if ((world.getBlockAt(x, y, z).getType() != Material.AIR)
|| (world.getBlockAt(x, y + 1, z).getType() != Material.AIR))
{
return true;
}
@ -294,7 +294,7 @@ public class Util
return str;
}
public static double roundDouble(double d)
public static double roundDouble(final double d)
{
return Math.round(d * 100.0) / 100.0;
}

View File

@ -53,6 +53,13 @@ public class Commandban extends EssentialsCommand
}
player.kickPlayer(banReason);
ess.getBans().banByName(player.getName());
server.broadcastMessage(Util.format("playerBanned", player.getName(), banReason));
for(Player p : server.getOnlinePlayers())
{
User u = ess.getUser(p);
if(u.isAuthorized("essentials.ban.notify"))
{
p.sendMessage(Util.format("playerBanned", player.getName(), banReason));
}
}
}
}

View File

@ -173,7 +173,7 @@ public class Commandhelp extends EssentialsCommand
{
if (!reported)
{
logger.log(Level.WARNING, "Error getting help for:" + pluginName, ex);
logger.log(Level.WARNING, Util.format("commandHelpFailedForPlugin", pluginName), ex);
}
reported = true;
continue;

View File

@ -102,6 +102,7 @@ public class Commandlist extends EssentialsCommand
groupString.append("§7[HIDDEN]§f");
}
groupString.append(user.getDisplayName());
groupString.append("§f");
}
sender.sendMessage(groupString.toString());
}
@ -142,6 +143,7 @@ public class Commandlist extends EssentialsCommand
onlineUsers.append("§7[HIDDEN]§f");
}
onlineUsers.append(user.getDisplayName());
onlineUsers.append("§f");
}
sender.sendMessage(onlineUsers.toString());
}

View File

@ -164,7 +164,7 @@ public class Commandspawnmob extends EssentialsCommand
changeMobData(mobMount.name, spawnedMount, mountData, user);
}
}
user.sendMessage(args[1] + " " + mob.name.toLowerCase() + mob.suffix + Util.i18n("spawned"));
user.sendMessage(args[1] + " " + mob.name.toLowerCase() + mob.suffix + " " + Util.i18n("spawned"));
}
catch (MobException e1)
{

View File

@ -56,7 +56,7 @@ public class Commandunlimited extends EssentialsCommand
}
final ItemStack stack = ess.getItemDb().get(args[0], 1);
stack.setAmount(stack.getType().getMaxStackSize());
stack.setAmount(Math.min(stack.getType().getMaxStackSize(), 2));
String itemname = stack.getType().toString().toLowerCase().replace("_", "");
if (!user.isAuthorized("essentials.unlimited.item-all")

View File

@ -9,6 +9,7 @@ import java.util.EnumSet;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
@ -157,7 +158,7 @@ public class SignProtection extends EssentialsSign
return SignProtectionState.ALLOWED;
}
}
if (sign.getLine(3).substring(2).equalsIgnoreCase(username))
if (ChatColor.stripColor(sign.getLine(3)).equalsIgnoreCase(username))
{
return SignProtectionState.OWNER;
}

View File

@ -37,6 +37,11 @@ nickname-prefix: '~'
# Disable this if you have any other plugin, that modifies the displayname of a user.
change-displayname: true
# Adds the prefix and suffix to the displayname of the player, so it will be displayed in messages and lists.
# The prefix/suffix can be set using Permissions, Group Manager or PermissionsEx.
# The value of change-displayname (above) has to be true.
add-prefix-suffix: false
# The delay, in seconds, required between /home, /tp, etc.
teleport-cooldown: 0
@ -117,7 +122,8 @@ disabled-commands:
# Restricted commands have been removed.
# Now we have a whitelist, all commands not on this list are only available to ops.
# These will have NO EFFECT if you have Permissions installed!
# These are here only if you want something simpler than Permissions.
# They are here only if you want something simpler than Permissions.
# These are the permissions without the "essentials." part.
player-commands:
- afk
- back
@ -127,6 +133,7 @@ player-commands:
- compass
- depth
- getpos
- geoip.show
- help
- helpop
- home
@ -143,13 +150,31 @@ player-commands:
- nick
- pay
- ping
- portal
- powertool
- protect
- r
- rules
- seen
- sell
- sethome
- setxmpp
- signs.create.protection
- signs.create.trade
- signs.break.protection
- signs.break.trade
- signs.use.balance
- signs.use.buy
- signs.use.disposal
- signs.use.free
- signs.use.heal
- signs.use.mail
- signs.use.protection
- signs.use.sell
- signs.use.time
- signs.use.trade
- signs.use.warp
- signs.use.weather
- spawn
- suicide
- tpa
@ -157,6 +182,7 @@ player-commands:
- tpahere
- tpdeny
- warp
- warp.list
- world
- worth
- xmpp

View File

@ -30,6 +30,7 @@ cantFindGeoIpDB = Can''t find GeoIP database!
cantReadGeoIpDB = Failed to read GeoIP database!
cantSpawnItem = \u00a7cYou are not allowed to spawn the item {0}
commandFailed = Command {0} failed:
commandHelpFailedForPlugin = Error getting help for: {0}
commandNotLoaded = \u00a7cCommand {0} is improperly loaded.
compassBearing = \u00a77Bearing: {0} ({1} degrees).
configFileMoveError = Failed to move config.yml to backup location.
@ -190,7 +191,7 @@ noKitPermission = \u00a7cYou need the \u00a7c{0}\u00a7c permission to use that k
noKits = \u00a77There are no kits available yet
noMail = You do not have any mail
noMailSendPerm = \u00a7cYou do not have the \u00a7fessentials.mail.send\u00a7c permission.
noMotd = \u00a7cThere is no message of the day."
noMotd = \u00a7cThere is no message of the day.
noNewMail = \u00a77You have no new mail.
noPendingRequest = You do not have a pending request.
noPlacePermission = \u00a7cYou do not have permission to place a block near that sign.
@ -219,7 +220,7 @@ playerMuted = \u00a77You have been muted
playerMutedFor = \u00a77You have been muted for {0}
playerNeverOnServer = \u00a7cPlayer {0} was never on this server.
playerNotFound = \u00a7cPlayer not found.
playerUnmuted = "\u00a77You have been unmuted"
playerUnmuted = \u00a77You have been unmuted
pong = Pong!
possibleWorlds = \u00a77Possible worlds are the numbers 0 through {0}.
powerToolAir = Command can''t be attached to air.

View File

@ -32,6 +32,7 @@ cantFindGeoIpDB = Kan ikke finde GeoIP database!
cantReadGeoIpDB = Fejl ved l\u00e6sning af GeoIP database!
cantSpawnItem = \u00a7cDu er ikke tilladt at spawne elementet {0}
commandFailed = Kommando {0} fejlede:
commandHelpFailedForPlugin=Fejl ved at f\u00e5 hj\u00e6lp til: {0}
commandNotLoaded = \u00a7cCommand {0} er ikke indl\u00e6st korrekt.
compassBearing = \u00a77B\u00e6rer: {0} ({1} grader).
configFileMoveError = Kunne ikke flytte config.yml til backup placering.
@ -192,7 +193,7 @@ noKitPermission = \u00a7cDu har brug for \u00a7c{0}\u00a7c tilladelsen for at br
noKits = \u00a77Der er ikke nogen pakker tilg\u00e6ngelig endnu
noMail = Du har ikke noget post
noMailSendPerm = \u00a7cDu har ikke \u00a7fessentials.mail.send\u00a7c tilladelsen.
noMotd = \u00a7cDer er ikke nogen besked for dagen."
noMotd = \u00a7cDer er ikke nogen besked for dagen.
noNewMail = \u00a77Du har ingen ny post.
noPendingRequest = Du har ikke en ventende anmodning.
noPlacePermission = \u00a7cYou do not have permission to place a block near that sign.
@ -221,7 +222,7 @@ playerMuted = \u00a77You have been muted
playerMutedFor = \u00a77You have been muted for {0}
playerNeverOnServer = \u00a7cSpiller {0} var aldrig p\u00e5 denne server.
playerNotFound = \u00a7cSpiller ikke fundet.
playerUnmuted = "\u00a77You have been unmuted"
playerUnmuted = \u00a77You have been unmuted
pong = Pong!
possibleWorlds = \u00a77Mulige verdener er numrene 0 igennem {0}.
powerToolAir = Kommando kan ikke blive tildelt luft.

View File

@ -30,6 +30,7 @@ cantFindGeoIpDB = Kann GeoIP-Datenbank nicht finden!
cantReadGeoIpDB = Fehler beim Einlesen der GeoIP-Datenbank!
cantSpawnItem = \u00a7cDu darfst {0} nicht erzeugen.
commandFailed = Befehl {0} scheiterte:
commandHelpFailedForPlugin=Fehler beim Abrufen der Hilfe f\u00fcr: {0}
commandNotLoaded = \u00a7cBefehl {0} ist nicht richtig geladen.
compassBearing = \u00a77Peilung: {0} ({1} Grad).
configFileMoveError = Verschieben von config.yml zu einer Sicherheitskopie gescheitert.
@ -190,7 +191,7 @@ noKitPermission = \u00a7cDu brauchst die Berechtigung \u00a7c{0}\u00a7c um diese
noKits = \u00a77Es sind keine Ausr\u00fcstungen verf\u00fcgbar.
noMail = Du hast keine Nachrichten
noMailSendPerm = \u00a7cDu hast die Rechte \u00a7fessentials.mail.send\u00a7c nicht.
noMotd = \u00a7cEs existiert keine Willkommensnachricht."
noMotd = \u00a7cEs existiert keine Willkommensnachricht.
noNewMail = \u00a77Du hast keine Nachrichten.
noPendingRequest = Du hast keine Teleportierungsanfragen.
noPlacePermission = \u00a7cDu hast keine Rechte, einen Block in der N\u00e4he des Schildes zu platzieren.
@ -219,7 +220,7 @@ playerMuted = \u00a77You have been muted
playerMutedFor = \u00a77You have been muted for {0}
playerNeverOnServer = \u00a7cSpieler {0} war niemals auf diesem Server.
playerNotFound = \u00a7cSpieler nicht gefunden.
playerUnmuted = "\u00a77You have been unmuted"
playerUnmuted = \u00a77Du bist nicht mehr stumm.
pong = Pong!
possibleWorlds = \u00a77M\u00f6gliche Welten sind nummeriet von 0 bis {0}.
powerToolAir = Befehl kann nicht mit Luft verbunden werden.

View File

@ -30,6 +30,7 @@ cantFindGeoIpDB = Can''t find GeoIP database!
cantReadGeoIpDB = Failed to read GeoIP database!
cantSpawnItem = \u00a7cYou are not allowed to spawn the item {0}
commandFailed = Command {0} failed:
commandHelpFailedForPlugin=Error getting help for: {0}
commandNotLoaded = \u00a7cCommand {0} is improperly loaded.
compassBearing = \u00a77Bearing: {0} ({1} degrees).
configFileMoveError = Failed to move config.yml to backup location.
@ -190,7 +191,7 @@ noKitPermission = \u00a7cYou need the \u00a7c{0}\u00a7c permission to use that k
noKits = \u00a77There are no kits available yet
noMail = You do not have any mail
noMailSendPerm = \u00a7cYou do not have the \u00a7fessentials.mail.send\u00a7c permission.
noMotd = \u00a7cThere is no message of the day."
noMotd = \u00a7cThere is no message of the day.
noNewMail = \u00a77You have no new mail.
noPendingRequest = You do not have a pending request.
noPlacePermission = \u00a7cYou do not have permission to place a block near that sign.
@ -219,7 +220,7 @@ playerMuted = \u00a77You have been muted
playerMutedFor = \u00a77You have been muted for {0}
playerNeverOnServer = \u00a7cPlayer {0} was never on this server.
playerNotFound = \u00a7cPlayer not found.
playerUnmuted = "\u00a77You have been unmuted"
playerUnmuted = \u00a77You have been unmuted
pong = Pong!
possibleWorlds = \u00a77Possible worlds are the numbers 0 through {0}.
powerToolAir = Command can''t be attached to air.

View File

@ -30,6 +30,7 @@ cantFindGeoIpDB = N''arrive pas \u00e0 trouver la base de donn\u00e9es GeoIP!
cantReadGeoIpDB = Echec de la lecture de la base de donn\u00e9s GeoIP!
cantSpawnItem = \u00a7cVous n''avez pas le droit de faire apparaitre {0}
commandFailed = \u00c9chec de la commande {0}:
commandHelpFailedForPlugin=Erreur d'obtention d'aider \u00e0: {0}
commandNotLoaded = \u00a7cLa commande {0} a \u00e9t\u00e9 mal charg\u00e9e.
compassBearing = \u00a77Orientation: {0} ({1} degr\u00e9s).
configFileMoveError = \u00c9chec du d\u00e9placement de config.yml vers l''emplacement de backup.
@ -219,7 +220,7 @@ playerMuted = \u00a77You have been muted
playerMutedFor = \u00a77You have been muted for {0}
playerNeverOnServer = \u00a7cLe joueur {0} n''a jamais \u00e9t\u00e9 sur le serveur.
playerNotFound = \u00a7cLe joueur est introuvable.
playerUnmuted = "\u00a77You have been unmuted"
playerUnmuted = \u00a77You have been unmuted
pong = Pong!
possibleWorlds = \u00a77Les mondes possibles sont les nombres 0 par {0}.
powerToolAir = La commande ne peut pas \u00eatre attach\u00e9e \u00e0 l''air.

View File

@ -31,6 +31,7 @@ cantFindGeoIpDB = De GeoIP database kon niet gevonden worden!
cantReadGeoIpDB = Fout bij het lezen van de GeoIP database!
cantSpawnItem = \u00a7cJe bent niet bevoegd om {0} te spawnen.
commandFailed = Opdracht {0} mislukt:
commandHelpFailedForPlugin=Fout bij het \u200b\u200bkrijgen van hulp voor: {0}
commandNotLoaded = \u00a7cOpdracht {0} is fout geladen.
compassBearing = \u00a77Ligging: {0} ({1} graden).
configFileMoveError = Het verplaatsen van config.yml naar de backup locatie is mislukt.
@ -191,7 +192,7 @@ noKitPermission = \u00a7cJe hebt de \u00a7c{0}\u00a7c toestemming nodig om die k
noKits = \u00a77Er zijn nog geen kits beschikbaar
noMail = Je hebt geen berichten
noMailSendPerm = \u00a7cJe hebt de \u00a7fessentials.mail.send\u00a7c toestemming niet.
noMotd = \u00a7cEr is geen bericht van de dag."
noMotd = \u00a7cEr is geen bericht van de dag.
noNewMail = \u00a77Je hebt geen nieuwe berichten.
noPendingRequest = Je hebt geen aanvragen.
noPlacePermission = \u00a7cYou do not have permission to place a block near that sign.
@ -220,7 +221,7 @@ playerMuted = \u00a77You have been muted
playerMutedFor = \u00a77You have been muted for {0}
playerNeverOnServer = \u00a7cSpeler {0} is nooit op deze server geweest.
playerNotFound = \u00a7cSpeler niet gevonden.
playerUnmuted = "\u00a77You have been unmuted"
playerUnmuted = \u00a77You have been unmuted
pong = Pong!
possibleWorlds = \u00a77Mogelijk zijn de werelden de nummer 0 tot en met {0}.
powerToolAir = Command kan niet worden bevestigd aan de lucht.

View File

@ -101,7 +101,7 @@ public class EssentialsChatPlayerListener extends PlayerListener
{
continue;
}
if (!u.isAuthorized("essentials.chat.spy"))
if (!u.equals(user) && !u.isAuthorized("essentials.chat.spy"))
{
final Location l = u.getLocation();
final int dx = x - l.getBlockX();