Added some commands from request 946

This commit is contained in:
Khyperia 2011-12-02 19:00:29 -05:00
commit 91be153474
53 changed files with 986 additions and 180 deletions

View File

@ -61,7 +61,7 @@ import org.yaml.snakeyaml.error.YAMLException;
public class Essentials extends JavaPlugin implements IEssentials
{
public static final int BUKKIT_VERSION = 1534;
public static final int BUKKIT_VERSION = 1538;
private static final Logger LOGGER = Logger.getLogger("Minecraft");
private transient ISettings settings;
private final transient TNTExplodeListener tntListener = new TNTExplodeListener(this);

View File

@ -28,69 +28,9 @@ public class EssentialsBlockListener extends BlockListener
final User user = ess.getUser(event.getPlayer());
// Do not rely on getItemInHand();
// http://leaky.bukkit.org/issues/663
final ItemStack is = new ItemStack(event.getBlockPlaced().getType(), 1, (short)0, event.getBlockPlaced().getData());
switch (is.getType())
final ItemStack is = Util.convertBlockToItem(event.getBlockPlaced());
if (is == null)
{
case WOODEN_DOOR:
is.setType(Material.WOOD_DOOR);
is.setDurability((short)0);
break;
case IRON_DOOR_BLOCK:
is.setType(Material.IRON_DOOR);
is.setDurability((short)0);
break;
case SIGN_POST:
case WALL_SIGN:
is.setType(Material.SIGN);
is.setDurability((short)0);
break;
case CROPS:
is.setType(Material.SEEDS);
is.setDurability((short)0);
break;
case CAKE_BLOCK:
is.setType(Material.CAKE);
is.setDurability((short)0);
break;
case BED_BLOCK:
is.setType(Material.BED);
is.setDurability((short)0);
break;
case REDSTONE_WIRE:
is.setType(Material.REDSTONE);
is.setDurability((short)0);
break;
case REDSTONE_TORCH_OFF:
case REDSTONE_TORCH_ON:
is.setType(Material.REDSTONE_TORCH_ON);
is.setDurability((short)0);
break;
case DIODE_BLOCK_OFF:
case DIODE_BLOCK_ON:
is.setType(Material.DIODE);
is.setDurability((short)0);
break;
case DOUBLE_STEP:
is.setType(Material.STEP);
break;
case TORCH:
case RAILS:
case LADDER:
case WOOD_STAIRS:
case COBBLESTONE_STAIRS:
case LEVER:
case STONE_BUTTON:
case FURNACE:
case DISPENSER:
case PUMPKIN:
case JACK_O_LANTERN:
case WOOD_PLATE:
case STONE_PLATE:
case PISTON_STICKY_BASE:
case PISTON_BASE:
is.setDurability((short)0);
break;
case FIRE:
return;
}
boolean unlimitedForUser = user.hasUnlimited(is);
@ -99,7 +39,7 @@ public class EssentialsBlockListener extends BlockListener
ess.scheduleSyncDelayedTask(
new Runnable()
{
@Override
@Override
public void run()
{
user.getInventory().addItem(is);

View File

@ -1,7 +1,7 @@
package com.earth2me.essentials;
import com.earth2me.essentials.craftbukkit.SetBed;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.craftbukkit.SetBed;
import com.earth2me.essentials.textreader.IText;
import com.earth2me.essentials.textreader.KeywordReplacer;
import com.earth2me.essentials.textreader.TextInput;

View File

@ -138,4 +138,6 @@ public interface ISettings extends IConf
Set<String> getNoGodWorlds();
boolean getUpdateBedAtDaytime();
boolean getRepairEnchanted();
}

View File

@ -1,10 +1,10 @@
package com.earth2me.essentials;
import com.earth2me.essentials.craftbukkit.OfflineBedLocation;
import static com.earth2me.essentials.I18n._;
import java.net.InetSocketAddress;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import lombok.Delegate;
@ -741,7 +741,7 @@ public class OfflinePlayer implements Player
@Override
public Location getBedSpawnLocation()
{
throw new UnsupportedOperationException("Not supported yet.");
return OfflineBedLocation.getBedLocation(base.getName(), ess);
}
@Override
@ -785,4 +785,22 @@ public class OfflinePlayer implements Player
{
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void giveExp(int i)
{
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public float getExp()
{
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void setExp(float f)
{
throw new UnsupportedOperationException("Not supported yet.");
}
}

View File

@ -3,13 +3,7 @@ package com.earth2me.essentials;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.commands.IEssentialsCommand;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.ChatColor;
@ -555,4 +549,8 @@ public class Settings implements ISettings
{
this.debug = debug;
}
public boolean getRepairEnchanted() {
return config.getBoolean("repair-enchanted", true);
}
}

View File

@ -10,8 +10,6 @@ import java.util.Collections;
import java.util.Locale;
import java.util.Set;
import java.util.concurrent.ExecutionException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.entity.Player;

View File

@ -12,6 +12,7 @@ import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.entity.LivingEntity;
import org.bukkit.inventory.ItemStack;
public class Util
@ -331,6 +332,88 @@ public class Util
}
return isBlockAboveAir(world, x, y, z);
}
public static ItemStack convertBlockToItem(final Block block)
{
final ItemStack is = new ItemStack(block.getType(), 1, (short)0, block.getData());
switch (is.getType())
{
case WOODEN_DOOR:
is.setType(Material.WOOD_DOOR);
is.setDurability((short)0);
break;
case IRON_DOOR_BLOCK:
is.setType(Material.IRON_DOOR);
is.setDurability((short)0);
break;
case SIGN_POST:
case WALL_SIGN:
is.setType(Material.SIGN);
is.setDurability((short)0);
break;
case CROPS:
is.setType(Material.SEEDS);
is.setDurability((short)0);
break;
case CAKE_BLOCK:
is.setType(Material.CAKE);
is.setDurability((short)0);
break;
case BED_BLOCK:
is.setType(Material.BED);
is.setDurability((short)0);
break;
case REDSTONE_WIRE:
is.setType(Material.REDSTONE);
is.setDurability((short)0);
break;
case REDSTONE_TORCH_OFF:
case REDSTONE_TORCH_ON:
is.setType(Material.REDSTONE_TORCH_ON);
is.setDurability((short)0);
break;
case DIODE_BLOCK_OFF:
case DIODE_BLOCK_ON:
is.setType(Material.DIODE);
is.setDurability((short)0);
break;
case DOUBLE_STEP:
is.setType(Material.STEP);
break;
case TORCH:
case RAILS:
case LADDER:
case WOOD_STAIRS:
case COBBLESTONE_STAIRS:
case LEVER:
case STONE_BUTTON:
case FURNACE:
case DISPENSER:
case PUMPKIN:
case JACK_O_LANTERN:
case WOOD_PLATE:
case STONE_PLATE:
case PISTON_STICKY_BASE:
case PISTON_BASE:
case IRON_FENCE:
case THIN_GLASS:
case TRAP_DOOR:
case FENCE:
case FENCE_GATE:
case NETHER_FENCE:
is.setDurability((short)0);
break;
case FIRE:
return null;
case PUMPKIN_STEM:
is.setType(Material.PUMPKIN_SEEDS);
break;
case MELON_STEM:
is.setType(Material.MELON_SEEDS);
break;
}
return is;
}
private static DecimalFormat df = new DecimalFormat("#0.00", DecimalFormatSymbols.getInstance(Locale.US));
public static String formatCurrency(final double value, final IEssentials ess)

View File

@ -0,0 +1,40 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.User;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.block.Block;
import org.bukkit.event.block.BlockBreakEvent;
public class Commandbreak extends EssentialsCommand
{
public Commandbreak()
{
super("break");
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
{
Block block = user.getTargetBlock(null, 20);
if (block.getType() == Material.AIR)
{
throw new NoChargeException();
}
if (block.getType() == Material.BEDROCK && !user.isAuthorized("essentials.break.bedrock"))
{
throw new NoChargeException();
}
BlockBreakEvent event = new BlockBreakEvent(block, user);
server.getPluginManager().callEvent(event);
if (event.isCancelled())
{
throw new NoChargeException();
}
else
{
block.setType(Material.AIR);
}
}
}

View File

@ -0,0 +1,146 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.Mob;
import static com.earth2me.essentials.I18n._;
import java.util.Collections;
import org.bukkit.Chunk;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Animals;
import org.bukkit.entity.ComplexLivingEntity;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Flying;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster;
import org.bukkit.entity.NPC;
import org.bukkit.entity.Player;
import org.bukkit.entity.Slime;
import org.bukkit.entity.Snowman;
import org.bukkit.entity.WaterMob;
import org.bukkit.entity.Wolf;
import org.bukkit.event.entity.EntityDeathEvent;
public class Commandbutcher extends EssentialsCommand
{
public Commandbutcher()
{
super("butcher");
}
@Override
public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
{
String type = "all";
int radius = -1;
World world;
if (sender instanceof Player)
{
world = ((Player)sender).getWorld();
if (args.length == 1)
{
try
{
radius = Integer.parseInt(args[0]);
}
catch (NumberFormatException e1)
{
type = args[0];
}
}
else if (args.length > 1)
{
type = args[0];
try
{
radius = Integer.parseInt(args[1]);
}
catch (NumberFormatException e)
{
throw new Exception(_("numberRequired"));
}
}
}
else
{
if (args.length == 0)
{
throw new NotEnoughArgumentsException();
}
else if (args.length == 1)
{
world = ess.getWorld(args[0]);
}
else
{
type = args[0];
world = ess.getWorld(args[1]);
}
}
String killType = type.toLowerCase();
int numKills = 0;
for (Chunk chunk : world.getLoadedChunks())
{
for (Entity entity : chunk.getEntities())
{
if (sender instanceof Player)
{
if (((Player)sender).getLocation().distance(entity.getLocation()) > radius && radius >= 0)
{
continue;
}
}
if (entity instanceof LivingEntity == false || entity instanceof HumanEntity)
{
continue;
}
if (entity instanceof Wolf)
{
if (((Wolf)entity).isTamed())
{
continue;
}
}
if (killType.contains("animal"))
{
if (entity instanceof Animals || entity instanceof NPC || entity instanceof Snowman || entity instanceof WaterMob)
{
EntityDeathEvent event = new EntityDeathEvent(entity, Collections.EMPTY_LIST);
ess.getServer().getPluginManager().callEvent(event);
entity.remove();
numKills++;
}
}
else if (killType.contains("monster"))
{
if (entity instanceof Monster || entity instanceof ComplexLivingEntity || entity instanceof Flying || entity instanceof Slime)
{
EntityDeathEvent event = new EntityDeathEvent(entity, Collections.EMPTY_LIST);
ess.getServer().getPluginManager().callEvent(event);
entity.remove();
numKills++;
}
}
else if (killType.contains("all"))
{
EntityDeathEvent event = new EntityDeathEvent(entity, Collections.EMPTY_LIST);
ess.getServer().getPluginManager().callEvent(event);
entity.remove();
numKills++;
}
else
{
if (Mob.fromName(killType).getType().getEntityClass().isAssignableFrom(entity.getClass()))
{
EntityDeathEvent event = new EntityDeathEvent(entity, Collections.EMPTY_LIST);
ess.getServer().getPluginManager().callEvent(event);
entity.remove();
numKills++;
}
}
}
}
sender.sendMessage(_("kill", numKills));
}
}

View File

@ -1,17 +1,13 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import java.util.*;
import java.util.regex.Pattern;
import org.bukkit.Server;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import static com.earth2me.essentials.I18n._;
public class Commandenchant extends EssentialsCommand

View File

@ -44,7 +44,7 @@ public class Commandessentials extends EssentialsCommand
{
sender.sendMessage("Essentials " + ess.getDescription().getVersion());
sender.sendMessage("/<command> <reload/debug>");
sender.sendMessage("Essentials blocked the following commands, due to command conflicts:");
sender.sendMessage(_("blockList"));
final StringBuilder disabledCommands = new StringBuilder();
for (Map.Entry<String, String> entry : ess.getAlternativeCommandsHandler().disabledCommands().entrySet())
{

View File

@ -0,0 +1,37 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.User;
import org.bukkit.Server;
import org.bukkit.entity.Player;
public class Commandfeed extends EssentialsCommand
{
public Commandfeed()
{
super("feed");
}
@Override
protected void run(Server server, User user, String commandLabel, String[] args) throws Exception
{
if (args.length > 0)
{
Player player = ess.getServer().getPlayer(args[0]);
if (player != null)
{
player.setFoodLevel(20);
player.setSaturation(10);
}
else
{
throw new NotEnoughArgumentsException(); // TODO: Translate "Player not found"
}
}
else
{
user.setFoodLevel(20);
user.setSaturation(10); // 10 because 20 seems way overpowered
}
}
}

View File

@ -30,7 +30,7 @@ public class Commandgamemode extends EssentialsCommand
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
if (args.length > 0 && user.isAuthorized("essentials.gamemode.others"))
if (args.length > 0 && !args[0].trim().isEmpty() && user.isAuthorized("essentials.gamemode.others"))
{
gamemodeOtherPlayers(server, user, args[0]);
return;

View File

@ -28,7 +28,7 @@ public class Commandgod extends EssentialsCommand
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
if (args.length > 0 && user.isAuthorized("essentials.god.others"))
if (args.length > 0 && !args[0].trim().isEmpty() && user.isAuthorized("essentials.god.others"))
{
godOtherPlayers(server, user, args[0]);
return;

View File

@ -48,6 +48,7 @@ public class Commandhome extends EssentialsCommand
if (bed != null)
{
user.getTeleport().teleport(bed, charge);
return;
}
}
user.getTeleport().home(player, homeName.toLowerCase(Locale.ENGLISH), charge);

View File

@ -0,0 +1,50 @@
package com.earth2me.essentials.commands;
import com.earth2me.essentials.User;
import static com.earth2me.essentials.I18n._;
import java.util.Locale;
import org.bukkit.Server;
import org.bukkit.inventory.ItemStack;
public class Commandmore extends EssentialsCommand
{
public Commandmore()
{
super("more");
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
{
ItemStack stack = user.getItemInHand();
if (stack == null)
{
throw new Exception(_("cantSpawnItem", "Air"));
}
if (stack.getAmount() >= ((user.isAuthorized("essentials.oversizedstacks"))
? ess.getSettings().getOversizedStackSize() : stack.getMaxStackSize()))
{
throw new NoChargeException();
}
final String itemname = stack.getType().toString().toLowerCase(Locale.ENGLISH).replace("_", "");
if (ess.getSettings().permissionBasedItemSpawn()
? (!user.isAuthorized("essentials.itemspawn.item-all")
&& !user.isAuthorized("essentials.itemspawn.item-" + itemname)
&& !user.isAuthorized("essentials.itemspawn.item-" + stack.getTypeId()))
: (!user.isAuthorized("essentials.itemspawn.exempt")
&& !user.canSpawnItem(stack.getTypeId())))
{
throw new Exception(_("cantSpawnItem", itemname));
}
if (user.isAuthorized("essentials.oversizedstacks"))
{
stack.setAmount(ess.getSettings().getOversizedStackSize());
}
else
{
stack.setAmount(stack.getMaxStackSize());
}
user.updateInventory();
}
}

View File

@ -0,0 +1,64 @@
package com.earth2me.essentials.commands;
import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import org.bukkit.Location;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.entity.Player;
public class Commandnear extends EssentialsCommand
{
public Commandnear()
{
super("near");
}
@Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
long radius = 100;
if (args.length > 0)
{
try
{
radius = Long.parseLong(args[0]);
}
catch (NumberFormatException e)
{
}
}
user.sendMessage(_("nearbyPlayers", getLocal(server, user, radius)));
}
private String getLocal(final Server server, final User user, long radius)
{
final Location loc = user.getLocation();
final World world = loc.getWorld();
final StringBuilder output = new StringBuilder();
radius *= radius;
for (Player onlinePlayer : server.getOnlinePlayers())
{
final User player = ess.getUser(onlinePlayer);
if (!player.equals(user) && !player.isHidden())
{
final Location playerLoc = player.getLocation();
if (playerLoc.getWorld() != world) { continue; }
final long delta = (long)playerLoc.distanceSquared(loc);
if (delta < radius)
{
if (output.length() > 0)
{
output.append(", ");
}
output.append(player.getDisplayName()).append("§f(§4").append(Math.sqrt(delta)).append("m§f)");
}
}
}
return output.length() > 1 ? output.toString() : _("none");
}
}

View File

@ -17,18 +17,18 @@ public class Commandr extends EssentialsCommand
}
@Override
public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
throw new NotEnoughArgumentsException();
}
String message = getFinalArg(args, 0);
IReplyTo replyTo = sender instanceof Player ? ess.getUser((Player)sender) : Console.getConsoleReplyTo();
String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
CommandSender target = replyTo.getReplyTo();
String targetName = target instanceof Player ? ((Player)target).getDisplayName() : Console.NAME;
final String message = getFinalArg(args, 0);
final IReplyTo replyTo = sender instanceof Player ? ess.getUser((Player)sender) : Console.getConsoleReplyTo();
final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
final CommandSender target = replyTo.getReplyTo();
final String targetName = target instanceof Player ? ((Player)target).getDisplayName() : Console.NAME;
if (target == null)
{
@ -38,8 +38,8 @@ public class Commandr extends EssentialsCommand
sender.sendMessage(_("msgFormat", _("me"), targetName, message));
if (target instanceof Player)
{
User u = ess.getUser(target);
if (u.isIgnoredPlayer(sender instanceof Player ? ((Player)sender).getName() : Console.NAME))
User player = ess.getUser(target);
if (player.isIgnoredPlayer(sender instanceof Player ? ((Player)sender).getName() : Console.NAME))
{
return;
}

View File

@ -17,16 +17,16 @@ public class Commandrealname extends EssentialsCommand
}
@Override
protected void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
throw new NotEnoughArgumentsException();
}
final String whois = args[0].toLowerCase(Locale.ENGLISH);
for (Player p : server.getOnlinePlayers())
for (Player onlinePlayer : server.getOnlinePlayers())
{
final User u = ess.getUser(p);
final User u = ess.getUser(onlinePlayer);
if (u.isHidden())
{
continue;

View File

@ -0,0 +1,138 @@
package com.earth2me.essentials.commands;
import java.util.Locale;
import static com.earth2me.essentials.I18n._;
import org.bukkit.Chunk;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Boat;
import org.bukkit.entity.Entity;
import org.bukkit.entity.ExperienceOrb;
import org.bukkit.entity.Item;
import org.bukkit.entity.Minecart;
import org.bukkit.entity.Painting;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
public class Commandremove extends EssentialsCommand
{
public Commandremove()
{
super("remove");
}
private enum ToRemove
{
DROPS,
ARROWS,
BOATS,
MINECARTS,
XP,
PAINTINGS
}
@Override
protected void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
{
if (args.length < 2)
{
throw new NotEnoughArgumentsException();
}
World world;
int radius = -1;
if (sender instanceof Player)
{
world = ((Player)sender).getWorld();
try
{
radius = Integer.parseInt(args[1]);
}
catch (NumberFormatException e)
{
throw new Exception(_("numberRequired"));
}
}
else
{
world = ess.getWorld(args[1]);
}
if (world == null)
{
throw new Exception(_("invalidWorld"));
}
ToRemove toRemove;
try
{
toRemove = ToRemove.valueOf(args[0].toUpperCase(Locale.ENGLISH));
}
catch (IllegalArgumentException e)
{
throw new NotEnoughArgumentsException(); //TODO: translate and list types
}
int removed = 0;
for (Chunk chunk : world.getLoadedChunks())
{
for (Entity e : chunk.getEntities())
{
if (sender instanceof Player)
{
if (((Player)sender).getLocation().distance(e.getLocation()) > radius && radius >= 0)
{
continue;
}
}
else if (toRemove == ToRemove.DROPS)
{
if (e instanceof Item)
{
e.remove();
removed++;
}
}
else if (toRemove == ToRemove.ARROWS)
{
if (e instanceof Projectile)
{
e.remove();
removed++;
}
}
else if (toRemove == ToRemove.BOATS)
{
if (e instanceof Boat)
{
e.remove();
removed++;
}
}
else if (toRemove == ToRemove.DROPS)
{
if (e instanceof Minecart)
{
e.remove();
removed++;
}
}
else if (toRemove == ToRemove.XP)
{
if (e instanceof ExperienceOrb)
{
e.remove();
removed++;
}
}
else if (toRemove == ToRemove.PAINTINGS)
{
if (e instanceof Painting)
{
e.remove();
removed++;
}
}
}
}
sender.sendMessage(_("kill", removed));
}
}

View File

@ -32,6 +32,14 @@ public class Commandrepair extends EssentialsCommand
{
throw new Exception(_("repairInvalidType"));
}
if (!item.getEnchantments().isEmpty()
&& !ess.getSettings().getRepairEnchanted()
&& !user.isAuthorized("essentials.repair.enchanted"))
{
throw new Exception(_("repairEnchanted"));
}
final String itemName = item.getType().toString().toLowerCase(Locale.ENGLISH);
final Trade charge = new Trade("repair-" + itemName.replace('_', '-'), ess);
@ -104,6 +112,12 @@ public class Commandrepair extends EssentialsCommand
user.sendMessage(ex.getMessage());
continue;
}
if (!item.getEnchantments().isEmpty()
&& !ess.getSettings().getRepairEnchanted()
&& !user.isAuthorized("essentials.repair.enchanted"))
{
continue;
}
try
{

View File

@ -16,7 +16,7 @@ public class Commandrules extends EssentialsCommand
}
@Override
public void run(final Server server, final CommandSender sender, final String commandLabel, String[] args) throws Exception
public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
final IText input = new TextInput(sender, "rules", true, ess);
final IText output = new KeywordReplacer(input, sender, ess);

View File

@ -15,7 +15,7 @@ public class Commandseen extends EssentialsCommand
}
@Override
protected void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
protected void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{

View File

@ -20,7 +20,7 @@ public class Commandsell extends EssentialsCommand
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{

View File

@ -14,7 +14,7 @@ public class Commandsethome extends EssentialsCommand
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(final Server server, final User user, final String commandLabel, String[] args) throws Exception
{
if (args.length > 0)
{

View File

@ -13,7 +13,7 @@ public class Commandsetjail extends EssentialsCommand
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{

View File

@ -14,14 +14,14 @@ public class Commandsetwarp extends EssentialsCommand
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
throw new NotEnoughArgumentsException();
}
Location loc = user.getLocation();
final Location loc = user.getLocation();
ess.getWarps().setWarp(args[0], loc);
user.sendMessage(_("warpSet", args[0]));
}

View File

@ -14,7 +14,7 @@ public class Commandsetworth extends EssentialsCommand
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 2)
{

View File

@ -13,7 +13,7 @@ public class Commandsocialspy extends EssentialsCommand
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
user.sendMessage("§7SocialSpy " + (user.toggleSocialSpy() ? _("enabled") : _("disabled")));
}

View File

@ -8,7 +8,6 @@ import java.util.Locale;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.block.Block;
import org.bukkit.block.CreatureSpawner;
@ -20,7 +19,7 @@ public class Commandspawner extends EssentialsCommand
}
@Override
protected void run(Server server, User user, String commandLabel, String[] args) throws Exception
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1 || args[0].length() < 2)
{

View File

@ -22,7 +22,7 @@ public class Commandspawnmob extends EssentialsCommand
}
@Override
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{
if (args.length < 1)
{
@ -30,7 +30,7 @@ public class Commandspawnmob extends EssentialsCommand
}
String[] mountparts = args[0].split(",");
final String[] mountparts = args[0].split(",");
String[] parts = mountparts[0].split(":");
String mobType = parts[0];
String mobData = null;
@ -64,11 +64,11 @@ public class Commandspawnmob extends EssentialsCommand
if (ess.getSettings().getProtectPreventSpawn(mob.getType().toString().toLowerCase(Locale.ENGLISH)))
{
throw new Exception(_("unableToSpawnMob"));
throw new Exception(_("disabledToSpawnMob"));
}
if (!user.isAuthorized("essentials.spawnmob." + mob.name.toLowerCase()))
{
throw new Exception(_("unableToSpawnMob"));
throw new Exception(_("noPermToSpawnMob"));
}
final Block block = Util.getTarget(user).getBlock();
@ -76,8 +76,8 @@ public class Commandspawnmob extends EssentialsCommand
{
throw new Exception(_("unableToSpawnMob"));
}
Location loc = block.getLocation();
Location sloc = Util.getSafeDestination(loc);
final Location loc = block.getLocation();
final Location sloc = Util.getSafeDestination(loc);
try
{
spawnedMob = mob.spawn(user, server, sloc);
@ -98,11 +98,11 @@ public class Commandspawnmob extends EssentialsCommand
if (ess.getSettings().getProtectPreventSpawn(mobMount.getType().toString().toLowerCase(Locale.ENGLISH)))
{
throw new Exception(_("unableToSpawnMob"));
throw new Exception(_("disabledToSpawnMob"));
}
if (!user.isAuthorized("essentials.spawnmob." + mobMount.name.toLowerCase()))
{
throw new Exception(_("unableToSpawnMob"));
throw new Exception(_("noPermToSpawnMob"));
}
try
{
@ -179,7 +179,7 @@ public class Commandspawnmob extends EssentialsCommand
}
}
private void changeMobData(CreatureType type, Entity spawned, String data, User user) throws Exception
private void changeMobData(final CreatureType type, final Entity spawned, final String data, final User user) throws Exception
{
if (type == CreatureType.SLIME || type == CreatureType.MAGMA_CUBE)
{

View File

@ -0,0 +1,52 @@
package com.earth2me.essentials.craftbukkit;
import com.earth2me.essentials.IEssentials;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.server.NBTTagCompound;
import net.minecraft.server.WorldNBTStorage;
import org.bukkit.Location;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
public class OfflineBedLocation
{
public static Location getBedLocation(final String playername, final IEssentials ess)
{
try
{
final CraftServer cserver = (CraftServer)ess.getServer();
if (cserver == null)
{
return null;
}
final WorldNBTStorage wnbtStorage = (WorldNBTStorage)cserver.getHandle().playerFileData;
if (wnbtStorage == null)
{
return null;
}
final NBTTagCompound playerStorage = wnbtStorage.getPlayerData(playername);
if (playerStorage == null)
{
return null;
}
if (playerStorage.hasKey("SpawnX") && playerStorage.hasKey("SpawnY") && playerStorage.hasKey("SpawnZ"))
{
String spawnWorld = playerStorage.getString("SpawnWorld");
if ("".equals(spawnWorld))
{
spawnWorld = cserver.getWorlds().get(0).getName();
}
return new Location(cserver.getWorld(spawnWorld), playerStorage.getInt("SpawnX"), playerStorage.getInt("SpawnY"), playerStorage.getInt("SpawnZ"));
}
return null;
}
catch (Throwable ex)
{
Logger.getLogger("Minecraft").log(Level.SEVERE, null, ex);
return null;
}
}
}

View File

@ -10,11 +10,7 @@ import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.material.MaterialData;
import org.yaml.snakeyaml.constructor.Constructor;
import org.yaml.snakeyaml.nodes.MappingNode;
import org.yaml.snakeyaml.nodes.Node;
import org.yaml.snakeyaml.nodes.NodeId;
import org.yaml.snakeyaml.nodes.NodeTuple;
import org.yaml.snakeyaml.nodes.ScalarNode;
import org.yaml.snakeyaml.nodes.*;
public class BukkitConstructor extends Constructor

View File

@ -22,6 +22,7 @@ public class YamlStorageReader implements IStorageReader
this.reader = reader;
}
@Override
public <T extends StorageObject> T load(final Class<? extends T> clazz)
{
Yaml yaml = preparedYamls.get(clazz);

View File

@ -30,6 +30,7 @@ public class YamlStorageWriter implements IStorageWriter
this.writer = writer;
}
@Override
public void save(final StorageObject object)
{
try

View File

@ -44,7 +44,7 @@ public class KeywordReplacer implements IText
}
else
{
displayName = ipAddress = balance = mails = world = worldTime12 = worldTime24= worldDate = "";
displayName = ipAddress = balance = mails = world = worldTime12 = worldTime24 = worldDate = "";
}
int playerHidden = 0;

View File

@ -4,12 +4,7 @@ import com.earth2me.essentials.storage.ListType;
import com.earth2me.essentials.storage.MapKeyType;
import com.earth2me.essentials.storage.MapValueType;
import com.earth2me.essentials.storage.StorageObject;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bukkit.Location;

View File

@ -20,8 +20,6 @@
############################################################
# +------------------------------------------------------+ #
# | Essentials (Global) | #
@ -227,6 +225,11 @@ no-god-in-worlds:
# How many items should be in a oversized stack?
oversized-stacksize: 64
# Do you allow to repair enchanted weapons and armor?
# If you set this to false, you can still allow it for certain players using the permission
# essentials.repair.enchanted
repair-enchanted: true
############################################################
# +------------------------------------------------------+ #
# | EssentialsHome | #
@ -303,24 +306,28 @@ hide-permissionless-help: true
# +------------------------------------------------------+ #
############################################################
# If EssentialsChat is installed, this will define how far a player's voice travels, in blocks. Set to 0 to make all chat global.
# Note that users with the "essentials.chat.spy" permission will hear everything, regardless of this setting.
# Users with essentials.chat.shout can override this by prefixing text with an exclamation mark (!)
# Or with essentials.chat.question can override this by prefixing text with a question mark (?)
# You can add command costs for shout/question by adding chat-shout and chat-question to the command costs section."
chat:
# If EssentialsChat is installed, this will define how far a player's voice travels, in blocks. Set to 0 to make all chat global.
# Note that users with the "essentials.chat.spy" permission will hear everything, regardless of this setting.
# Users with essentials.chat.shout can override this by prefixing text with an exclamation mark (!)
# Or with essentials.chat.question can override this by prefixing text with a question mark (?)
# You can add command costs for shout/question by adding chat-shout and chat-question to the command costs section."
radius: 0
# Chat formatting can be done in two ways, you can either define a standard format for all chat
# Or you can give a group specific chat format, to give some extra variation.
# If set to the default chat format which "should" be compatible with ichat.
# For more information of chat formatting, check out the wiki: http://ess.khhq.net/wiki/Chat_Formatting
format: '<{DISPLAYNAME}> {MESSAGE}'
#format: '&7[{GROUP}]&f {DISPLAYNAME}&7:&f {MESSAGE}'
# You can also have group-specific formats, uncomment to enable:
group-formats:
# Default: '{WORLDNAME} {DISPLAYNAME}&7:&f {MESSAGE}'
# Admins: '{WORLDNAME} &c[{GROUP}]&f {DISPLAYNAME}&7:&c {MESSAGE}'
# If your using group formats make sure to remove the '#' to allow the setting to be read.

View File

@ -5,8 +5,7 @@ users:
groups:
Default:
permissions:
permissions.build: true
essentials.build: false
permissions.build: false
essentials.spawn: true
essentials.rules: true
essentials.motd: true
@ -16,7 +15,6 @@ groups:
Builder:
permissions:
permissions.build: true
essentials.build: true
essentials.afk: true
essentials.back: true
essentials.back.ondeath: true

View File

@ -32,4 +32,10 @@ WORLD: {WORLD}
WORLDS: {WORLDS}
ONLINE: {ONLINE}
UNIQUE: {UNIQUE}
PLAYERLIST: {PLAYERLIST}
PLAYERLIST: {PLAYERLIST}
TIME: {TIME}
DATE: {DATE}
WORLDTIME12: {WORLDTIME12}
WORLDTIME24: {WORLDTIME24}
WORLDDATE: {WORLDDATE}
PLUGINS: {PLUGINS}

View File

@ -1269,10 +1269,10 @@ mossystonebrick,98,1
mossystonebricks,98,1
mossystonebrickblock,98,1
mossystonebb,98,1
crackedstonebrick,98,1
crackedstonebricks,98,1
crackedstonebrickblock,98,1
crackedstonebb,98,1
crackedstonebrick,98,2
crackedstonebricks,98,2
crackedstonebrickblock,98,2
crackedstonebb,98,2
hugeredmushroom,99,0
bigredmushroom,99,0
brmushroom,99,0
@ -1341,18 +1341,104 @@ cementbstairs,109,0
greybrickstairs,109,0
greybstairs,109,0
mycel,110,0
mycelium,110,0
swampgrass,110,0
sgrass,110,0
waterlily,111,0
lilypad,111,0
lily,111,0
swamppad,111,0
lpad,111,0
wlily,111,0
netherbrick,112,0
nbrick,112,0
hellbrick,112,0
deathbrick,112,0
dbrick,112,0
hbrick,112,0
netherfence,113,0
nfence,113,0
hellfence,113,0
deathfence,113,0
dfence,113,0
hfence,113,0
netherbrickstairs,114,0
nbrickstairs,114,0
hellbrickstairs,114,0
deathbrickstairs,114,0
dbrickstairs,114,0
hbrickstais,114,0
netherwarts,115,0
netherwart,115,0
netherplant,115,0
nethercrop,115,0
hellwarts,115,0
hellwart,115,0
hellplant,115,0
hellcrop,115,0
deathwarts,115,0
deathwart,115,0
deathplant,115,0
deathcrop,115,0
nwarts,115,0
nwart,115,0
ncrop,115,0
nplant,115,0
hwarts,115,0
hwart,115,0
hplant,115,0
hcrop,115,0
dwarts,115,0
dwart,115,0
dplant,115,0
dcrop,115,0
enchantmenttable,116,0
magictable,116,0
etable,116,0
booktable,116,0
magicdesk,116,0
enchantmentdesk,116,0
edesk,116,0
btable,116,0
bdesk,116,0
mtable,116,0
mdesk,116,0
brewingstand,117,0
brewer,117,0
potionstand,117,0
potionbrewer,117,0
pstand,117,0
bstand,117,0
pbrewer,117,0
cauldron,118,0
steelcauldron,118,0
ironcauldron,118,0
icauldron,118,0
scauldron,118,0
potioncauldron,118,0
pcauldron,118,0
enderportal,119,0
endergoo,119,0
endgoo,119,0
endportal,119,0
egoo,119,0
eportal,119,0
enderportalframe,120,0
endportalframe,120,0
endgooframe,120,0
endergooframe,120,0
egooframe,120,0
eportalframe,120,0
enderstone,121,0
endstone,121,0
endrock,121,0
enderrock,121,0
erock,121,0
estone,121,0
dragonegg,122,0
degg,122,0
bossegg,122,0
begg,122,0
ironshovel,256,0
ironspade,256,0
ishovel,256,0
@ -2224,19 +2310,101 @@ epearl,368,0
bluepearl,368,0
endergem,368,0
blazerod,369,0
goldenrod,369,0
goldrod,369,0
blazestick,369,0
goldstick,369,0
brod,369,0
grod,369,0
bstick,369,0
gstick,369,0
ghasttear,370,0
ghastdrop,370,0
ghosttear,370,0
ghostdrop,370,0
gtear,370,0
gdrop,370,0
goldnugget,371,0
gnugget,371,0
goldball,371,0
goldpebble,371,0
gball,371,0
gpebble,371,0
pigzombienugget,371,0
pigzombieball,371,0
pigzombiepebble,371,0
netherstalk,372,0
deathstalk,372,0
hellstalk,372,0
nstalk,372,0
dstalk,372,0
hstalk,372,0
potion,373,0
mixture,373,0
potions,373,0
glassbottle,374,0
bottle,374,0
gbottle,374,0
gvase,374,0
vase,374,0
glassvase,374,0
emptypotion,374,0
spidereye,375,0
eyeofspider,375,0
spiderseye,375,0
spiderball,375,0
spidernugget,375,0
spidersball,375,0
spidersnugget,375,0
seye,375,0
sball,375,0
snugget,375,0
fermentedspidereye,376,0
craftedspidereye,376,0
fermentedeyeofspider,376,0
craftedeyeofspider,376,0
fspidereye,376,0
feyeofspider,376,0
ceyeofspider,376,0
cspidereye,376,0
blazepowder,377,0
blazedust,377,0
goldpowder,377,0
golddust,377,0
gdust,377,0
gpowder,377,0
bpowder,377,0
bdust,377,0
magmacream,378,0
brewingsstanditem,379,0
goldcream,378,0
blazecream,378,0
mcream,378,0
gcream,378,0
bcream,378,0
combinedcream,378,0
ccream,378,0
brewingstanditem,379,0
potionstanditem,379,0
cauldronitem,380,0
ironcauldronitem,380,0
steelcauldronitem,380,0
icauldronitem,380,0
scauldronitem,380,0
eyeofender,381,0
endereye,381,0
evilendereye,381,0
evileyeofender,381,0
evilenderpearl,381,0
eeye,381,0
eofender,381,0
speckledmelon,382,0
goldmelon,382,0
sparklymelon,382,0
glisteningmelon,382,0
glisteringmelon,382,0
shiningmelon,382,0
gmelon,382,0
smelon,382,0
goldmusicrecord,2256,0
goldmusicdisk,2256,0
goldmusiccd,2256,0
@ -2255,6 +2423,7 @@ goldcd,2256,0
gorecord,2256,0
godisk,2256,0
gocd,2256,0
record1,2256,0
greenmusicrecord,2257,0
greenmusicdisk,2257,0
greenmusiccd,2257,0
@ -2273,6 +2442,7 @@ greencd,2257,0
grrecord,2257,0
grdisk,2257,0
grcd,2257,0
record2,2257,0
record3,2258,0
record4,2259,0
record5,2260,0

1 #version: TeamCity
1269 mossystonebricks,98,1
1270 mossystonebrickblock,98,1
1271 mossystonebb,98,1
1272 crackedstonebrick,98,1 crackedstonebrick,98,2
1273 crackedstonebricks,98,1 crackedstonebricks,98,2
1274 crackedstonebrickblock,98,1 crackedstonebrickblock,98,2
1275 crackedstonebb,98,1 crackedstonebb,98,2
1276 hugeredmushroom,99,0
1277 bigredmushroom,99,0
1278 brmushroom,99,0
1341 greybrickstairs,109,0
1342 greybstairs,109,0
1343 mycel,110,0
1344 mycelium,110,0
1345 swampgrass,110,0
1346 sgrass,110,0
1347 waterlily,111,0
1348 lilypad,111,0
1349 lily,111,0
1350 swamppad,111,0
1351 lpad,111,0
1352 wlily,111,0
1353 netherbrick,112,0
1354 nbrick,112,0
1355 hellbrick,112,0
1356 deathbrick,112,0
1357 dbrick,112,0
1358 hbrick,112,0
1359 netherfence,113,0
1360 nfence,113,0
1361 hellfence,113,0
1362 deathfence,113,0
1363 dfence,113,0
1364 hfence,113,0
1365 netherbrickstairs,114,0
1366 nbrickstairs,114,0
1367 hellbrickstairs,114,0
1368 deathbrickstairs,114,0
1369 dbrickstairs,114,0
1370 hbrickstais,114,0
1371 netherwarts,115,0
1372 netherwart,115,0
1373 netherplant,115,0
1374 nethercrop,115,0
1375 hellwarts,115,0
1376 hellwart,115,0
1377 hellplant,115,0
1378 hellcrop,115,0
1379 deathwarts,115,0
1380 deathwart,115,0
1381 deathplant,115,0
1382 deathcrop,115,0
1383 nwarts,115,0
1384 nwart,115,0
1385 ncrop,115,0
1386 nplant,115,0
1387 hwarts,115,0
1388 hwart,115,0
1389 hplant,115,0
1390 hcrop,115,0
1391 dwarts,115,0
1392 dwart,115,0
1393 dplant,115,0
1394 dcrop,115,0
1395 enchantmenttable,116,0
1396 magictable,116,0
1397 etable,116,0
1398 booktable,116,0
1399 magicdesk,116,0
1400 enchantmentdesk,116,0
1401 edesk,116,0
1402 btable,116,0
1403 bdesk,116,0
1404 mtable,116,0
1405 mdesk,116,0
1406 brewingstand,117,0
1407 brewer,117,0
1408 potionstand,117,0
1409 potionbrewer,117,0
1410 pstand,117,0
1411 bstand,117,0
1412 pbrewer,117,0
1413 cauldron,118,0
1414 steelcauldron,118,0
1415 ironcauldron,118,0
1416 icauldron,118,0
1417 scauldron,118,0
1418 potioncauldron,118,0
1419 pcauldron,118,0
1420 enderportal,119,0
1421 endergoo,119,0
1422 endgoo,119,0
1423 endportal,119,0
1424 egoo,119,0
1425 eportal,119,0
1426 enderportalframe,120,0
1427 endportalframe,120,0
1428 endgooframe,120,0
1429 endergooframe,120,0
1430 egooframe,120,0
1431 eportalframe,120,0
1432 enderstone,121,0
1433 endstone,121,0
1434 endrock,121,0
1435 enderrock,121,0
1436 erock,121,0
1437 estone,121,0
1438 dragonegg,122,0
1439 degg,122,0
1440 bossegg,122,0
1441 begg,122,0
1442 ironshovel,256,0
1443 ironspade,256,0
1444 ishovel,256,0
2310 bluepearl,368,0
2311 endergem,368,0
2312 blazerod,369,0
2313 goldenrod,369,0
2314 goldrod,369,0
2315 blazestick,369,0
2316 goldstick,369,0
2317 brod,369,0
2318 grod,369,0
2319 bstick,369,0
2320 gstick,369,0
2321 ghasttear,370,0
2322 ghastdrop,370,0
2323 ghosttear,370,0
2324 ghostdrop,370,0
2325 gtear,370,0
2326 gdrop,370,0
2327 goldnugget,371,0
2328 gnugget,371,0
2329 goldball,371,0
2330 goldpebble,371,0
2331 gball,371,0
2332 gpebble,371,0
2333 pigzombienugget,371,0
2334 pigzombieball,371,0
2335 pigzombiepebble,371,0
2336 netherstalk,372,0
2337 deathstalk,372,0
2338 hellstalk,372,0
2339 nstalk,372,0
2340 dstalk,372,0
2341 hstalk,372,0
2342 potion,373,0
2343 mixture,373,0
2344 potions,373,0
2345 glassbottle,374,0
2346 bottle,374,0
2347 gbottle,374,0
2348 gvase,374,0
2349 vase,374,0
2350 glassvase,374,0
2351 emptypotion,374,0
2352 spidereye,375,0
2353 eyeofspider,375,0
2354 spiderseye,375,0
2355 spiderball,375,0
2356 spidernugget,375,0
2357 spidersball,375,0
2358 spidersnugget,375,0
2359 seye,375,0
2360 sball,375,0
2361 snugget,375,0
2362 fermentedspidereye,376,0
2363 craftedspidereye,376,0
2364 fermentedeyeofspider,376,0
2365 craftedeyeofspider,376,0
2366 fspidereye,376,0
2367 feyeofspider,376,0
2368 ceyeofspider,376,0
2369 cspidereye,376,0
2370 blazepowder,377,0
2371 blazedust,377,0
2372 goldpowder,377,0
2373 golddust,377,0
2374 gdust,377,0
2375 gpowder,377,0
2376 bpowder,377,0
2377 bdust,377,0
2378 magmacream,378,0
2379 brewingsstanditem,379,0 goldcream,378,0
2380 blazecream,378,0
2381 mcream,378,0
2382 gcream,378,0
2383 bcream,378,0
2384 combinedcream,378,0
2385 ccream,378,0
2386 brewingstanditem,379,0
2387 potionstanditem,379,0
2388 cauldronitem,380,0
2389 ironcauldronitem,380,0
2390 steelcauldronitem,380,0
2391 icauldronitem,380,0
2392 scauldronitem,380,0
2393 eyeofender,381,0
2394 endereye,381,0
2395 evilendereye,381,0
2396 evileyeofender,381,0
2397 evilenderpearl,381,0
2398 eeye,381,0
2399 eofender,381,0
2400 speckledmelon,382,0
2401 goldmelon,382,0
2402 sparklymelon,382,0
2403 glisteningmelon,382,0
2404 glisteringmelon,382,0
2405 shiningmelon,382,0
2406 gmelon,382,0
2407 smelon,382,0
2408 goldmusicrecord,2256,0
2409 goldmusicdisk,2256,0
2410 goldmusiccd,2256,0
2423 gorecord,2256,0
2424 godisk,2256,0
2425 gocd,2256,0
2426 record1,2256,0
2427 greenmusicrecord,2257,0
2428 greenmusicdisk,2257,0
2429 greenmusiccd,2257,0
2442 grrecord,2257,0
2443 grdisk,2257,0
2444 grcd,2257,0
2445 record2,2257,0
2446 record3,2258,0
2447 record4,2259,0
2448 record5,2260,0

View File

@ -24,6 +24,7 @@ bannedPlayersFileError=Error reading banned-players.txt
bannedPlayersFileNotFound=banned-players.txt not found
bigTreeFailure=\u00a7cBig tree generation failure. Try again on grass or dirt.
bigTreeSuccess= \u00a77Big tree spawned.
blockList=Essentials blocked the following commands, due to command conflicts:
broadcast=[\u00a7cBroadcast\u00a7f]\u00a7a {0}
buildAlert=\u00a7cYou are not permitted to build
bukkitFormatChanged=Bukkit version format changed. Version not checked.
@ -63,6 +64,7 @@ depthBelowSea=\u00a77You are {0} block(s) below sea level.
destinationNotSet=Destination not set
disableUnlimited=\u00a77Disabled unlimited placing of {0} for {1}.
disabled=disabled
disabledToSpawnMob=Spawning this mob was disabled in the config file.
dontMoveMessage=\u00a77Teleportation will commence in {0}. Don''t move.
downloadingGeoIp=Downloading GeoIP database ... this might take a while (country: 0.6 MB, city: 20MB)
duplicatedUserdata=Duplicated userdata: {0} and {1}
@ -151,8 +153,8 @@ jumpError=That would hurt your computer''s brain.
kickDefault=Kicked from server
kickExempt=\u00a7cYou can not kick that person.
kill=\u00a77Killed {0}.
kitError=\u00a7cThere are no valid kits.
kitError2=\u00a7cThat kit does not exist or is improperly defined.
kitError=\u00a7cThere are no valid kits.
kitErrorHelp=\u00a7cPerhaps an item is missing a quantity in the configuration?
kitGive=\u00a77Giving kit {0}.
kitInvFull=\u00a7cYour inventory was full, placing kit on the floor
@ -195,6 +197,7 @@ muteExempt=\u00a7cYou may not mute that player.
mutedPlayer=Player {0} muted.
mutedPlayerFor=Player {0} muted for {1}.
mutedUserSpeaks={0} tried to speak, but is muted.
nearbyPlayers=Players nearby: {0}
needTpohere=You need access to /tpohere to teleport other players.
negativeBalanceError=User is not allowed to have a negative balance.
nickChanged=Nickname changed.
@ -218,6 +221,7 @@ noMailSendPerm=\u00a7cYou do not have the \u00a7fessentials.mail.send\u00a7c per
noMotd=\u00a7cThere is no message of the day.
noNewMail=\u00a77You have no new mail.
noPendingRequest=You do not have a pending request.
noPermToSpawnMob=\u00a7cYou don''t have permission to spawn this mob.
noPlacePermission=\u00a7cYou do not have permission to place a block near that sign.
noPowerTools=You have no power tools assigned.
noRules=\u00a7cThere are no rules specified yet.
@ -275,6 +279,7 @@ readNextPage=Type /{0} {1} to read the next page
reloadAllPlugins=\u00a77Reloaded all plugins.
repair=You have successfully repaired your: \u00a7e{0}.
repairAlreadyFixed=\u00a77This item does not need repairing.
repairEnchanted=\u00a77You are not allowed to repair enchanted items.
repairInvalidType=\u00a7cThis item cannot be repaired.
repairNone=There were no items that needing repairing.
requestAccepted=\u00a77Teleport request accepted.
@ -363,7 +368,7 @@ versionMismatch=Version mismatch! Please update {0} to the same version.
versionMismatchAll=Version mismatch! Please update all Essentials jars to the same version.
voiceSilenced=\u00a77Your voice has been silenced
warpDeleteError=Problem deleting the warp file.
warpListPermission=\u00a7cYou do not have Permission to list that warps.
warpListPermission=\u00a7cYou do not have Permission to list warps.
warpNotExist=That warp does not exist.
warpSet=\u00a77Warp {0} set.
warpUsePermission=\u00a7cYou do not have Permission to use that warp.

View File

@ -24,6 +24,7 @@ bannedPlayersFileError=Fejl i l\u00e6sning af banned-players.txt
bannedPlayersFileNotFound=banned-players.txt ikke fundet
bigTreeFailure=\u00a7cStort tr\u00e6 genererings fejl. Pr\u00f8v igen p\u00e5 gr\u00e6s eller jord.
bigTreeSuccess= \u00a77Stort tr\u00e6 fremkaldt.
blockList=Essentials blocked the following commands, due to command conflicts:
broadcast=[\u00a7cMeddelelse\u00a7f]\u00a7a {0}
buildAlert=\u00a7cDu er ikke tilladt at bygge!
bukkitFormatChanged=Bukkit version format \u00e6ndret. Version er ikke checket.
@ -63,6 +64,7 @@ depthBelowSea=\u00a77Du er {0} blok(ke) under havoverfladen.
destinationNotSet=Destination er ikke sat
disableUnlimited=\u00a77Deaktiverede ubergr\u00e6nset placering af {0} for {1}.
disabled=deaktiveret
disabledToSpawnMob=Spawning this mob was disabled in the config file.
dontMoveMessage=\u00a77Teleportering vil begynde om {0}. Bev\u00e6g dig ikke.
downloadingGeoIp=Downloader GeoIP database ... det her kan tage et stykke tid (land: 0.6 MB, by: 20MB)
duplicatedUserdata=Duplikerede userdata: {0} og {1}
@ -151,8 +153,8 @@ jumpError=Det ville skade din computer''s hjerne.
kickDefault=Kicket fra serveren
kickExempt=\u00a77Du kan ikke sparke denne spiller.
kill=\u00a77Dr\u00e6bte {0}.
kitError=\u00a7cDer er ikke nogen gyldige pakker.
kitError2=\u00a7cDen pakke eksisterer ikke eller er forkert defineret.
kitError=\u00a7cDer er ikke nogen gyldige pakker.
kitErrorHelp=\u00a7cM\u00e5ske mangler et element en m\u00e6ngde i konfigurationen?
kitGive=\u00a77Giver pakke {0}.
kitInvFull=\u00a7cDin inventory var fuld, placere pakken p\u00e5 gulvet
@ -195,6 +197,7 @@ muteExempt=\u00a7cYou may not mute that player.
mutedPlayer=Spiller {0} d\u00e6mpet.
mutedPlayerFor=Spiller {0} d\u00e6mpet for {1}.
mutedUserSpeaks={0} pr\u00f8vede at snakke, men er muted.
nearbyPlayers=Players nearby: {0}
needTpohere=Du skal have adgang til /tpohere for at teleporter andre spillere.
negativeBalanceError=Brugeren er ikke tilladt at have en negativ saldo.
nickChanged=Kaldenavn \u00e6ndret.
@ -207,8 +210,8 @@ nickSet=\u00a77Dit kaldenavn er nu \u00a7c{0}
noAccessCommand=\u00a7cDu har ikke adgang til den kommando.
noAccessPermission=\u00a7cDu har ikke tilladelse til at f\u00e5 adgang til det {0}.
noDestroyPermission=\u00a7cDu har ikke tilladelse til at \u00f8del\u00e6gge det {0}.
noHelpFound=\u00a7cNo matching commands.
noGodWorldWarning=\u00a7cWarning! God mode in this world disabled.
noHelpFound=\u00a7cNo matching commands.
noHomeSet=Du har sat et nyt hjem.
noHomeSetPlayer=Spiller har ikke sat et hjem.
noKitPermission=\u00a7cDu har brug for \u00a7c{0}\u00a7c tilladelsen for at bruge den pakke.
@ -218,6 +221,7 @@ noMailSendPerm=\u00a7cDu har ikke \u00a7fessentials.mail.send\u00a7c tilladelsen
noMotd=\u00a7cDer er ikke nogen besked for dagen.
noNewMail=\u00a77Du har ingen ny post.
noPendingRequest=Du har ikke en ventende anmodning.
noPermToSpawnMob=\u00a7cYou don''t have permission to spawn this mob.
noPlacePermission=\u00a7cYou do not have permission to place a block near that sign.
noPowerTools= You have no power tools assigned.
noRules=\u00a7cDer er ingen regler fastsat endnu.
@ -275,6 +279,7 @@ readNextPage=Type /{0} {1} to read the next page
reloadAllPlugins=\u00a77Genindl\u00e6ste alle tilf\u00f8jelser.
repair=You have successfully repaired your: \u00a7e{0}.
repairAlreadyFixed=\u00a77This item does not need repairing.
repairEnchanted=\u00a77You are not allowed to repair enchanted items.
repairInvalidType=\u00a7cThis item cannot be repaired.
repairNone=There were no items that needing repairing.
requestAccepted=\u00a77Teleporterings anmodning n\u00e6gtet.

View File

@ -24,6 +24,7 @@ bannedPlayersFileError=Fehler beim Lesen von banned-players.txt
bannedPlayersFileNotFound=banned-players.txt nicht gefunden
bigTreeFailure=\u00a7cFehler beim Pflanzen eines grossen Baums. Versuch es auf Gras oder Dreck.
bigTreeSuccess= \u00a77Grosser Baum gepflanzt.
blockList=Essentials blocked the following commands, due to command conflicts:
broadcast=[\u00a7cRundruf\u00a7f]\u00a7a {0}
buildAlert=\u00a7cDu hast keine Rechte zum Bauen.
bukkitFormatChanged=Bukkit-Versionsformat hat sich ge\u00e4ndert. Version nicht kontrolliert.
@ -63,6 +64,7 @@ depthBelowSea=\u00a77Du bist {0} Bl\u00f6cke unter Meeresh\u00f6he.
destinationNotSet=Ziel nicht gesetzt
disableUnlimited=\u00a77Deaktiviere unendliches Platzieren von {0} f\u00fcr {1}.
disabled=deaktiviert
disabledToSpawnMob=Spawning this mob was disabled in the config file.
dontMoveMessage=\u00a77Teleportvorgang startet in {0}. Beweg dich nicht.
downloadingGeoIp=Lade GeoIP-Datenbank ... dies kann etwas dauern (country: 0.6 MB, city: 20MB)
duplicatedUserdata=Doppelte Datei in userdata: {0} und {1}
@ -151,8 +153,8 @@ jumpError=Das w\u00fcrde deinen Computer \u00fcberlasten.
kickDefault=Vom Server geworfen
kickExempt=\u00a7cDu kannst diesen Spieler nicht rauswerfen.
kill=\u00a77{0} get\u00f6tet.
kitError=\u00a7cEs gibt keine g\u00fcltigen Ausr\u00fcstungen.
kitError2=\u00a7cDiese Ausr\u00fcstung existiert nicht oder ist ung\u00fcltig.
kitError=\u00a7cEs gibt keine g\u00fcltigen Ausr\u00fcstungen.
kitErrorHelp=\u00a7cEventuell fehlt bei einem Gegenstand die Menge?
kitGive=\u00a77Gebe Ausr\u00fcstung {0}.
kitInvFull=\u00a7cDein Inventar ist voll, lege Ausr\u00fcstung auf den Boden
@ -195,6 +197,7 @@ muteExempt=\u00a7cDu darfst diesen Spieler nicht stumm machen.
mutedPlayer=Player {0} ist nun stumm.
mutedPlayerFor=Player {0} ist nun stumm f\u00fcr {1}.
mutedUserSpeaks={0} versuchte zu sprechen, aber ist stumm geschaltet.
nearbyPlayers=Players nearby: {0}
needTpohere=Du brauchst Zugriff auf /tpohere um andere Spieler teleportieren zu k\u00f6nnen.
negativeBalanceError=Spieler darf keine Schulden machen.
nickChanged=Nickname ge\u00e4ndert.
@ -218,6 +221,7 @@ noMailSendPerm=\u00a7cDu hast die Rechte \u00a7fessentials.mail.send\u00a7c nich
noMotd=\u00a7cEs existiert keine Willkommensnachricht.
noNewMail=\u00a77Du hast keine Nachrichten.
noPendingRequest=Du hast keine Teleportierungsanfragen.
noPermToSpawnMob=\u00a7cYou don''t have permission to spawn this mob.
noPlacePermission=\u00a7cDu hast keine Rechte, einen Block in der N\u00e4he des Schildes zu platzieren.
noPowerTools=Du hast keine Powertools zugewiesen.
noRules=\u00a7cEs wurden keine Regeln definiert.
@ -275,6 +279,7 @@ readNextPage=Type /{0} {1} to read the next page
reloadAllPlugins=\u00a77Alle plugins neu geladen.
repair=Du hast erfolgreich deine {0} repariert.
repairAlreadyFixed=\u00a77Dieser Gegenstand ben\u00f6tigt keine Reparatur.
repairEnchanted=\u00a77You are not allowed to repair enchanted items.
repairInvalidType=\u00a7cDieser Gegenstand kann nicht repariert werden.
repairNone=Es sind keine Gegenst\u00e4nde vorhanden, die repariert werden k\u00f6nnen.
requestAccepted=\u00a77Teleportierungsanfrage akzeptiert.

View File

@ -24,6 +24,7 @@ bannedPlayersFileError=Error reading banned-players.txt
bannedPlayersFileNotFound=banned-players.txt not found
bigTreeFailure=\u00a7cBig tree generation failure. Try again on grass or dirt.
bigTreeSuccess= \u00a77Big tree spawned.
blockList=Essentials blocked the following commands, due to command conflicts:
broadcast=[\u00a7cBroadcast\u00a7f]\u00a7a {0}
buildAlert=\u00a7cYou are not permitted to build
bukkitFormatChanged=Bukkit version format changed. Version not checked.
@ -63,6 +64,7 @@ depthBelowSea=\u00a77You are {0} block(s) below sea level.
destinationNotSet=Destination not set
disableUnlimited=\u00a77Disabled unlimited placing of {0} for {1}.
disabled=disabled
disabledToSpawnMob=Spawning this mob was disabled in the config file.
dontMoveMessage=\u00a77Teleportation will commence in {0}. Don''t move.
downloadingGeoIp=Downloading GeoIP database ... this might take a while (country: 0.6 MB, city: 20MB)
duplicatedUserdata=Duplicated userdata: {0} and {1}
@ -151,8 +153,8 @@ jumpError=That would hurt your computer''s brain.
kickDefault=Kicked from server
kickExempt=\u00a7cYou can not kick that person.
kill=\u00a77Killed {0}.
kitError=\u00a7cThere are no valid kits.
kitError2=\u00a7cThat kit does not exist or is improperly defined.
kitError=\u00a7cThere are no valid kits.
kitErrorHelp=\u00a7cPerhaps an item is missing a quantity in the configuration?
kitGive=\u00a77Giving kit {0}.
kitInvFull=\u00a7cYour inventory was full, placing kit on the floor
@ -195,6 +197,7 @@ muteExempt=\u00a7cYou may not mute that player.
mutedPlayer=Player {0} muted.
mutedPlayerFor=Player {0} muted for {1}.
mutedUserSpeaks={0} tried to speak, but is muted.
nearbyPlayers=Players nearby: {0}
needTpohere=You need access to /tpohere to teleport other players.
negativeBalanceError=User is not allowed to have a negative balance.
nickChanged=Nickname changed.
@ -218,6 +221,7 @@ noMailSendPerm=\u00a7cYou do not have the \u00a7fessentials.mail.send\u00a7c per
noMotd=\u00a7cThere is no message of the day.
noNewMail=\u00a77You have no new mail.
noPendingRequest=You do not have a pending request.
noPermToSpawnMob=\u00a7cYou don''t have permission to spawn this mob.
noPlacePermission=\u00a7cYou do not have permission to place a block near that sign.
noPowerTools=You have no power tools assigned.
noRules=\u00a7cThere are no rules specified yet.
@ -275,6 +279,7 @@ readNextPage=Type /{0} {1} to read the next page
reloadAllPlugins=\u00a77Reloaded all plugins.
repair=You have successfully repaired your: \u00a7e{0}.
repairAlreadyFixed=\u00a77This item does not need repairing.
repairEnchanted=\u00a77You are not allowed to repair enchanted items.
repairInvalidType=\u00a7cThis item cannot be repaired.
repairNone=There were no items that needing repairing.
requestAccepted=\u00a77Teleport request accepted.

View File

@ -24,6 +24,7 @@ bannedPlayersFileError=Error leyendo banned-players.txt
bannedPlayersFileNotFound=banned-players.txt no encontrado
bigTreeFailure=\u00a7cBig Generacion de arbol fallida. Prueba de nuevo en hierba o arena.
bigTreeSuccess= \u00a77Big Arbol generado.
blockList=Essentials blocked the following commands, due to command conflicts:
broadcast=[\u00a7cBroadcast\u00a7f]\u00a7a {0}
buildAlert=\u00a7cNo tienes permisos para construir
bukkitFormatChanged=Version de formato de Bukkit cambiado. Version no comprobada.
@ -63,6 +64,7 @@ depthBelowSea=\u00a77Estas {0} bloque(s) por debajo del mar.
destinationNotSet=Destino no establecido.
disableUnlimited=\u00a77Desactivando colocacion ilimitada de {0} para {1}.
disabled=desactivado
disabledToSpawnMob=Spawning this mob was disabled in the config file.
dontMoveMessage=\u00a77Teletransporte comenzara en {0}. No te muevas.
downloadingGeoIp=Descargando base de datos de GeoIP ... puede llevar un tiempo (pais: 0.6 MB, ciudad: 20MB)
duplicatedUserdata=Datos de usuario duplicados: {0} y {1}
@ -151,8 +153,8 @@ jumpError=Eso es demasiado para tu ordenador!
kickDefault=Echado del servidor.
kickExempt=\u00a7cNo puedes echar a esa persona.
kill=\u00a77ha matado a {0}.
kitError=\u00a7cNo hay ningun kit valido.
kitError2=\u00a7cEse kit no existe o esta mal escrito.
kitError=\u00a7cNo hay ningun kit valido.
kitErrorHelp=\u00a7cPerhaps an item is missing a quantity in the configuration?
kitGive=\u00a77Dando kit a {0}.
kitInvFull=\u00a7cTu inventario esta lleno, su kit se pondra en el suelo
@ -195,6 +197,7 @@ muteExempt=\u00a7cNo puedes silenciar a ese jugador.
mutedPlayer=Player {0} silenciado.
mutedPlayerFor=Player {0} silenciado durante {1}.
mutedUserSpeaks={0} intento hablar, pero esta silenciado.
nearbyPlayers=Players nearby: {0}
needTpohere=Necesitas acceso a /tpohere para teletransportar a otros jugadores.
negativeBalanceError=El usuario no tiene permitido tener un saldo negativo.
nickChanged=Nombre de jugador cambiado.
@ -218,6 +221,7 @@ noMailSendPerm=\u00a7cNo tienes el permiso de \u00a7fessentials.mail.send\u00a7c
noMotd=\u00a7cNo hay ningun mensaje del dia.
noNewMail=\u00a77No tienes ningun correo nuevo.
noPendingRequest=No tienes ninguna peticion pendiente.
noPermToSpawnMob=\u00a7cYou don''t have permission to spawn this mob.
noPlacePermission=\u00a7cNo tienes permiso para situar ese bloque en ese lugar.
noPowerTools=You have no power tools assigned.
noRules=\u00a7cNo hay reglas especificadas todavia.
@ -275,6 +279,7 @@ readNextPage=Type /{0} {1} to read the next page
reloadAllPlugins=\u00a77Todos los plugins recargados.
repair=Has reparado satisfactoriamente tu: \u00a7e{0}.
repairAlreadyFixed=\u00a77Este objeto no necesita de reparado.
repairEnchanted=\u00a77You are not allowed to repair enchanted items.
repairInvalidType=\u00a7cEste objeto no puede ser reparado.
repairNone=No habia objetos que necesitasen ser reparados.
requestAccepted=\u00a77Peticion de teletransporte aceptada.

View File

@ -24,6 +24,7 @@ bannedPlayersFileError=Erreur lors de la lecture de banned-players.txt
bannedPlayersFileNotFound=banned-players.txt introuvable.
bigTreeFailure=\u00a7c\u00c9chec de la g\u00e9n\u00e9ration du gros arbre. Essayez de nouveau sur de la terre ou de l''herbe.
bigTreeSuccess=\u00a77Gros arbre cr\u00e9e.
blockList=Essentials blocked the following commands, due to command conflicts:
broadcast=[\u00a7cMessage\u00a7f]\u00a7a {0}
buildAlert=\u00a7cVous n''avez pas la permission de construire.
bukkitFormatChanged=Le format de la version de Bukkit a \u00e9t\u00e9 chang\u00e9. La version n''a pas \u00e9t\u00e9 v\u00e9rifi\u00e9e.
@ -63,6 +64,7 @@ depthBelowSea=\u00a77Vous \u00eates \u00e0 {0} bloc(s) en-dessous du niveau de l
destinationNotSet=Destination non d\u00e9finie
disableUnlimited=\u00a77D\u00e9sactivation du placement illimit\u00e9 de {0} pour {1}.
disabled=d\u00e9sactiv\u00e9
disabledToSpawnMob=Spawning this mob was disabled in the config file.
dontMoveMessage=\u00a77La t\u00e9l\u00e9portation commence dans {0}. Ne bougez pas.
downloadingGeoIp=T\u00e9l\u00e9chargement de la base de donn\u00e9es GeoIP ... Cela peut prendre un moment (campagne : 0.6 Mo, ville : 20Mo)
duplicatedUserdata=Donn\u00e9e utilisateur dupliqu\u00e9e : {0} et {1}
@ -151,8 +153,8 @@ jumpError=\u00c7a aurait pu faire mal au cerveau de votre ordinateur.
kickDefault=Kick\u00e9 du serveur
kickExempt=\u00a77Vous ne pouvez pas lancer ce joueur.
kill=\u00a77Tu\u00e9 {0}.
kitError=\u00a7cIl n''y a pas de kits valides.
kitError2=\u00a7cCe kit n''existe pas ou a \u00e9t\u00e9 mal d\u00e9fini.
kitError=\u00a7cIl n''y a pas de kits valides.
kitErrorHelp=\u00a7cPeut-\u00eatre qu''un objet manque d''une quantit\u00e9 dans la configuration ?
kitGive=\u00a77Donner le kit {0}.
kitInvFull=\u00a7cVotre inventaire \u00e9tait plein, le kit est parre-terre.
@ -195,6 +197,7 @@ muteExempt=\u00a7cVous ne pouvez pas r\u00e9duire ce joueur au silence.
mutedPlayer=Le joueur {0} est d\u00e9sormais muet.
mutedPlayerFor={0} a \u00e9t\u00e9 muet pour {1}.
mutedUserSpeaks={0} a essay\u00e9 de parler mais est muet.
nearbyPlayers=Players nearby: {0}
needTpohere=Vous avez besoin de l''acc\u00c3\u00a8s \u00e0 /tpohere pour t\u00e9l\u00e9porter d''autres joueurs.
negativeBalanceError=L''utilisateur n''est pas autoris\u00e9 \u00e0 avoir un solde n\u00e9gatif.
nickChanged=surnom modifi\u00e9.
@ -218,6 +221,7 @@ noMailSendPerm=\u00a7cVous n''avez pas la permission \u00a7fessentials.mail.send
noMotd=\u00a7cIl n''y a pas de message su jour.
noNewMail=\u00a77Vous n''avez pas de courrier.
noPendingRequest=Vous n''avez pas de requ\u00eate non lue.
noPermToSpawnMob=\u00a7cYou don''t have permission to spawn this mob.
noPlacePermission=\u00a7cVous n''avez pas la permission de placer un bloc pr\u00c3\u00a8 de cette pancarte.
noPowerTools=Vous n''avez pas d''outil automatique associ\u00e9.
noRules=\u00a7cIl n''y a pas encore de r\u00c3\u00a8gles d\u00e9finies.
@ -275,6 +279,7 @@ readNextPage=Type /{0} {1} to read the next page
reloadAllPlugins=\u00a77Toutes les extensions ont \u00e9t\u00e9 recharg\u00e9es.
repair=Vous avez r\u00e9par\u00e9 votre : \u00a7e{0}.
repairAlreadyFixed=\u00a77Cet objet n''a pas besoin de r\u00e9paration.
repairEnchanted=\u00a77You are not allowed to repair enchanted items.
repairInvalidType=\u00a7cCet objet ne peut \u00eatre r\u00e9par\u00e9.
repairNone=Aucun objet n''a besoin d''\u00eatre r\u00e9par\u00e9.
requestAccepted=\u00a77Demande de t\u00e9l\u00e9portation accept\u00e9e.
@ -391,4 +396,4 @@ worthSet=Valeur cr\u00e9e
year=ann\u00e9e
years=ann\u00e9es
youAreHealed=\u00a77Vous avez \u00e9t\u00e9 soign\u00e9.
youHaveNewMail=\u00a7cVous avez {0} messages ! \u00a7fEntrez \u00a77/mail read\u00a7f pour voir votre courrier.
youHaveNewMail=\u00a7cVous avez {0} messages ! \u00a7fEntrez \u00a77/mail read\u00a7f pour voir votre courrier.

View File

@ -24,6 +24,7 @@ bannedPlayersFileError=Fout bij het lezen van banned-players.txt
bannedPlayersFileNotFound=banned-players.txt werd niet gevonden
bigTreeFailure=\u00a7cMaken van een grote boom is mislukt. Probeer het opnieuw op gras of dirt.
bigTreeSuccess= \u00a77Grote boom gemaakt.
blockList=Essentials blocked the following commands, due to command conflicts:
broadcast=[\u00a7cBroadcast\u00a7f]\u00a7a {0}
buildAlert=\u00a7cJe bent niet bevoegd om te bouwen
bukkitFormatChanged=Bukkit versie formaat veranderd. Versie niet nagekeken.
@ -63,6 +64,7 @@ depthBelowSea=\u00a77Je zit {0} blok(ken) onder zeeniveau.
destinationNotSet=Bestemming niet ingesteld
disableUnlimited=\u00a77Oneindig plaatsen van {0} uitgeschakeld voor {1}.
disabled=uitgeschakeld
disabledToSpawnMob=Spawning this mob was disabled in the config file.
dontMoveMessage=\u00a77Beginnen met teleporteren in {0}. Niet bewegen.
downloadingGeoIp=Bezig met downloaden van GeoIP database ... Dit kan een tijdje duren (country: 0.6 MB, city: 20MB)
duplicatedUserdata=Dubbele userdata: {0} en {1}.
@ -151,8 +153,8 @@ jumpError=Dat zou je computers hersenen beschadigen.
kickDefault=Gekicked van de server
kickExempt=\u00a77Je kunt die speler niet schoppen.
kill=\u00a77Jij doodde {0}.
kitError=\u00a7cEr zijn geen geldige kits.
kitError2=\u00a7cDie kit bestaat niet of is verkeerde beschreven.
kitError=\u00a7cEr zijn geen geldige kits.
kitErrorHelp=\u00a7cMisschien mist er een hoeveelheid van het item in de configuratie?
kitGive=\u00a77Kit {0} wordt gegeven.
kitInvFull=\u00a7cJe inventory was vol, de kit wordt op de grond geplaatst
@ -195,6 +197,7 @@ muteExempt=\u00a7cJe kan deze speler niet muten.
mutedPlayer=Speler {0} gemute.
mutedPlayerFor=Speler {0} is gemute voor {1}.
mutedUserSpeaks={0} probeerde te praten, maar is gemute.
nearbyPlayers=Players nearby: {0}
needTpohere=Je moet toegang krijgen tot /tpohere om naar andere spelers te teleporteren.
negativeBalanceError=Speler is niet toegestaan om een negatief saldo te hebben.
nickChanged=Nickname veranderd.
@ -218,6 +221,7 @@ noMailSendPerm=\u00a7cJe hebt de \u00a7fessentials.mail.send\u00a7c toestemming
noMotd=\u00a7cEr is geen bericht van de dag.
noNewMail=\u00a77Je hebt geen nieuwe berichten.
noPendingRequest=Je hebt geen aanvragen.
noPermToSpawnMob=\u00a7cYou don''t have permission to spawn this mob.
noPlacePermission=\u00a7cJe hebt geen toestemming om een blok naast die sign te plaatsen.
noPowerTools=You have no power tools assigned.
noRules=\u00a7cEr zijn nog geen regels gegeven.
@ -275,6 +279,7 @@ readNextPage=Type /{0} {1} to read the next page
reloadAllPlugins=\u00a77Alle plugins zijn herladen.
repair=You have successfully repaired your: \u00a7e{0}.
repairAlreadyFixed=\u00a77This item does not need repairing.
repairEnchanted=\u00a77You are not allowed to repair enchanted items.
repairInvalidType=\u00a7cThis item cannot be repaired.
repairNone=There were no items that needing repairing.
requestAccepted=\u00a77Teleporteer aanvraag geaccepteerd.

View File

@ -39,6 +39,10 @@ commands:
description: Bans an IP address.
usage: /<command> <address>
aliases: [ebanip]
break:
description: Breaks the block you are looking at.
usage: /<command>
aliases: [ebreak]
broadcast:
description: Broadcasts a message to the entire server.
usage: /<command> <msg>
@ -51,6 +55,10 @@ commands:
description: Set a player on fire.
usage: /<command> <player> <seconds>
aliases: [eburn]
butcher:
description: Kill all mobs in a world.
usage: /<command> <mobType> <radius>
aliases: [ebutcher]
clearinventory:
description: Clear all items in your inventory.
usage: /<command>
@ -82,7 +90,7 @@ commands:
enchant:
description: Enchants the item the user is holding.
usage: /<command> <enchantmentname> [level]
aliases: [enchantment]
aliases: [enchantment,eenchant,eenchantment]
essentials:
description: Reloads essentials.
usage: /<command>
@ -90,6 +98,10 @@ commands:
description: Extinguish players.
usage: /<command> [player]
aliases: [extinguish,eext,eextinguish]
feed:
description: Shove food down someone's throat.
usage: /<command> <player>
aliases: [efeed]
fireball:
description: Throw a fireball.
usage: /<command> [small]
@ -186,6 +198,10 @@ commands:
description: Describes an action in the context of the player.
usage: /<command> <description>
aliases: [action,describe,eme,eaction,edescribe]
more:
description: Fills the item stack in hand to maximum size.
usage: /<command>
aliases: [emore]
motd:
description: Views the Message Of The Day.
usage: /<command>
@ -198,6 +214,10 @@ commands:
description: Mutes or unmutes a player.
usage: /<command> <player> [datediff]
aliases: [emute]
near:
description: Lists the players near by.
usage: /<command> [radius]
aliases: [nearby,enear,enearby]
nick:
description: Change your nickname or that of another player.
usage: /<command> [player] <nickname|off>
@ -234,6 +254,10 @@ commands:
description: Displays the username of a user based on nickname.
usage: /<command> <nickname>
aliases: [erealname]
remove:
description: Removes entities in your world
usage: /<command> <drops|arrows|boats|minecarts|xp|paintings> <radius>
aliases: [eremove]
repair:
description: Repairs the durability of all or one item.
usage: /<command> <hand|all>
@ -309,7 +333,7 @@ commands:
tp:
description: Teleport to a player.
usage: /<command> <player> [otherplayer]
aliases: [etp]
aliases: [tele,etele,etp,tp2p,etp2p]
tpa:
description: Request to teleport to the specified player.
usage: /<command> <player>
@ -389,4 +413,4 @@ commands:
worth:
description: Calculates the worth of items in hand or as specified.
usage: /<command> [item] [amount]
aliases: [eworth]
aliases: [eworth]

View File

@ -15,7 +15,7 @@ import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.PlayerListener;
//TODO: Translate the local/spy tags
public abstract class EssentialsChatPlayer extends PlayerListener
{
protected transient IEssentials ess;
@ -112,34 +112,31 @@ public abstract class EssentialsChatPlayer extends PlayerListener
logger.info(_("localFormat", sender.getName(), event.getMessage()));
final Location loc = sender.getLocation();
final World world = loc.getWorld();
final int x = loc.getBlockX();
final int y = loc.getBlockY();
final int z = loc.getBlockZ();
for (Player p : server.getOnlinePlayers())
for (Player onlinePlayer : server.getOnlinePlayers())
{
String type = "[L]";
final User u = ess.getUser(p);
final User user = ess.getUser(onlinePlayer);
//TODO: remove reference to op
if (u.isIgnoredPlayer(sender.getName()) && !sender.isOp())
if (user.isIgnoredPlayer(sender.getName()) && !sender.isOp())
{
continue;
}
if (!u.equals(sender))
{
final Location l = u.getLocation();
final int dx = x - l.getBlockX();
final int dy = y - l.getBlockY();
final int dz = z - l.getBlockZ();
final long delta = dx * dx + dy * dy + dz * dz;
if (delta > radius || world != l.getWorld())
if (!user.equals(sender))
{
final Location playerLoc = user.getLocation();
if (playerLoc.getWorld() != world) { continue; }
final double delta = playerLoc.distanceSquared(loc);
if (delta > radius)
{
if (!u.isAuthorized("essentials.chat.spy"))
if (user.isAuthorized("essentials.chat.spy"))
{
continue;
type = type.concat("[Spy]");
}
else
{
type = type.concat("[Spy]");
continue;
}
}
}
@ -147,9 +144,9 @@ public abstract class EssentialsChatPlayer extends PlayerListener
String message = String.format(event.getFormat(), type.concat(sender.getDisplayName()), event.getMessage());
for (IEssentialsChatListener listener : listeners.values())
{
message = listener.modifyMessage(event, p, message);
message = listener.modifyMessage(event, onlinePlayer, message);
}
u.sendMessage(message);
user.sendMessage(message);
}
}
}

Binary file not shown.

Binary file not shown.