mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-11-18 00:25:32 +01:00
Added some commands from request 946
This commit is contained in:
commit
91be153474
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -138,4 +138,6 @@ public interface ISettings extends IConf
|
||||
Set<String> getNoGodWorlds();
|
||||
|
||||
boolean getUpdateBedAtDaytime();
|
||||
|
||||
boolean getRepairEnchanted();
|
||||
}
|
||||
|
@ -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.");
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
@ -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));
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -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())
|
||||
{
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
@ -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
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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]));
|
||||
}
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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")));
|
||||
}
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -30,6 +30,7 @@ public class YamlStorageWriter implements IStorageWriter
|
||||
this.writer = writer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(final StorageObject object)
|
||||
{
|
||||
try
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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}
|
||||
|
@ -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
|
||||
|
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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]
|
||||
|
@ -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.
Loading…
Reference in New Issue
Block a user