mirror of
https://github.com/EssentialsX/Essentials.git
synced 2025-01-15 12:41:24 +01:00
Merge branch 'master' of github.com:essentials/Essentials
This commit is contained in:
commit
8249a961f6
@ -1,6 +1,8 @@
|
||||
package com.earth2me.essentials;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@ -19,12 +21,12 @@ import org.bukkit.util.config.Configuration;
|
||||
|
||||
public class EssentialsConf extends Configuration
|
||||
{
|
||||
private static final Logger logger = Logger.getLogger("Minecraft");
|
||||
private File configFile;
|
||||
private String templateName = null;
|
||||
private Class<?> resourceClass = EssentialsConf.class;
|
||||
private static final Logger LOGGER = Logger.getLogger("Minecraft");
|
||||
private transient File configFile;
|
||||
private transient String templateName = null;
|
||||
private transient Class<?> resourceClass = EssentialsConf.class;
|
||||
|
||||
public EssentialsConf(File configFile)
|
||||
public EssentialsConf(final File configFile)
|
||||
{
|
||||
super(configFile);
|
||||
this.configFile = configFile;
|
||||
@ -42,38 +44,84 @@ public class EssentialsConf extends Configuration
|
||||
{
|
||||
if (!configFile.getParentFile().mkdirs())
|
||||
{
|
||||
logger.log(Level.SEVERE, Util.format("failedToCreateConfig", configFile.toString()));
|
||||
LOGGER.log(Level.SEVERE, Util.format("failedToCreateConfig", configFile.toString()));
|
||||
}
|
||||
}
|
||||
if (configFile.exists() && configFile.length() == 0 && !configFile.delete())
|
||||
{
|
||||
LOGGER.log(Level.SEVERE, "Could not delete file " + configFile.toString());
|
||||
}
|
||||
|
||||
// This will delete files where the first character is 0. In most cases they are broken.
|
||||
if (configFile.exists() && configFile.length() != 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
final InputStream input = new FileInputStream(configFile);
|
||||
try
|
||||
{
|
||||
if (input.read() == 0)
|
||||
{
|
||||
input.close();
|
||||
configFile.delete();
|
||||
}
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
LOGGER.log(Level.SEVERE, null, ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
input.close();
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
LOGGER.log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (FileNotFoundException ex)
|
||||
{
|
||||
LOGGER.log(Level.SEVERE, null, ex);
|
||||
}
|
||||
}
|
||||
|
||||
if (!configFile.exists())
|
||||
{
|
||||
if (templateName != null)
|
||||
{
|
||||
logger.log(Level.INFO, Util.format("creatingConfigFromTemplate", configFile.toString()));
|
||||
LOGGER.log(Level.INFO, Util.format("creatingConfigFromTemplate", configFile.toString()));
|
||||
createFromTemplate();
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
logger.log(Level.INFO, Util.format("creatingEmptyConfig", configFile.toString()));
|
||||
LOGGER.log(Level.INFO, Util.format("creatingEmptyConfig", configFile.toString()));
|
||||
if (!configFile.createNewFile())
|
||||
{
|
||||
logger.log(Level.SEVERE, Util.format("failedToCreateConfig", configFile.toString()));
|
||||
LOGGER.log(Level.SEVERE, Util.format("failedToCreateConfig", configFile.toString()));
|
||||
}
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
logger.log(Level.SEVERE, Util.format("failedToCreateConfig", configFile.toString()), ex);
|
||||
LOGGER.log(Level.SEVERE, Util.format("failedToCreateConfig", configFile.toString()), ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
|
||||
try
|
||||
{
|
||||
super.load();
|
||||
} catch(RuntimeException e) {
|
||||
logger.log(Level.INFO, "File: " + configFile.toString());
|
||||
}
|
||||
catch (RuntimeException e)
|
||||
{
|
||||
LOGGER.log(Level.INFO, "File: " + configFile.toString());
|
||||
throw e;
|
||||
}
|
||||
|
||||
if (this.root == null)
|
||||
{
|
||||
this.root = new HashMap<String, Object>();
|
||||
@ -89,7 +137,7 @@ public class EssentialsConf extends Configuration
|
||||
istr = resourceClass.getResourceAsStream(templateName);
|
||||
if (istr == null)
|
||||
{
|
||||
logger.log(Level.SEVERE, Util.format("couldNotFindTemplate", templateName));
|
||||
LOGGER.log(Level.SEVERE, Util.format("couldNotFindTemplate", templateName));
|
||||
return;
|
||||
}
|
||||
ostr = new FileOutputStream(configFile);
|
||||
@ -104,7 +152,7 @@ public class EssentialsConf extends Configuration
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
logger.log(Level.SEVERE, Util.format("failedToWriteConfig", configFile.toString()), ex);
|
||||
LOGGER.log(Level.SEVERE, Util.format("failedToWriteConfig", configFile.toString()), ex);
|
||||
return;
|
||||
}
|
||||
finally
|
||||
@ -129,12 +177,12 @@ public class EssentialsConf extends Configuration
|
||||
}
|
||||
catch (IOException ex)
|
||||
{
|
||||
logger.log(Level.SEVERE, Util.format("failedToCloseConfig", configFile.toString()), ex);
|
||||
LOGGER.log(Level.SEVERE, Util.format("failedToCloseConfig", configFile.toString()), ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setTemplateName(String templateName)
|
||||
public void setTemplateName(final String templateName)
|
||||
{
|
||||
this.templateName = templateName;
|
||||
}
|
||||
@ -144,48 +192,48 @@ public class EssentialsConf extends Configuration
|
||||
return configFile;
|
||||
}
|
||||
|
||||
public void setTemplateName(String templateName, Class<?> resClass)
|
||||
public void setTemplateName(final String templateName, final Class<?> resClass)
|
||||
{
|
||||
this.templateName = templateName;
|
||||
this.resourceClass = resClass;
|
||||
}
|
||||
|
||||
public boolean hasProperty(String path)
|
||||
public boolean hasProperty(final String path)
|
||||
{
|
||||
return getProperty(path) != null;
|
||||
}
|
||||
|
||||
public Location getLocation(String path, Server server) throws Exception
|
||||
public Location getLocation(final String path, final Server server) throws Exception
|
||||
{
|
||||
String worldName = getString((path != null ? path + "." : "") + "world");
|
||||
final String worldName = getString((path == null ? "" : path + ".") + "world");
|
||||
if (worldName == null || worldName.isEmpty())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
World world = server.getWorld(worldName);
|
||||
final World world = server.getWorld(worldName);
|
||||
if (world == null)
|
||||
{
|
||||
throw new Exception(Util.i18n("invalidWorld"));
|
||||
}
|
||||
return new Location(world,
|
||||
getDouble((path != null ? path + "." : "") + "x", 0),
|
||||
getDouble((path != null ? path + "." : "") + "y", 0),
|
||||
getDouble((path != null ? path + "." : "") + "z", 0),
|
||||
(float)getDouble((path != null ? path + "." : "") + "yaw", 0),
|
||||
(float)getDouble((path != null ? path + "." : "") + "pitch", 0));
|
||||
getDouble((path == null ? "" : path + ".") + "x", 0),
|
||||
getDouble((path == null ? "" : path + ".") + "y", 0),
|
||||
getDouble((path == null ? "" : path + ".") + "z", 0),
|
||||
(float)getDouble((path == null ? "" : path + ".") + "yaw", 0),
|
||||
(float)getDouble((path == null ? "" : path + ".") + "pitch", 0));
|
||||
}
|
||||
|
||||
public void setProperty(String path, Location loc)
|
||||
public void setProperty(final String path, final Location loc)
|
||||
{
|
||||
setProperty((path != null ? path + "." : "") + "world", loc.getWorld().getName());
|
||||
setProperty((path != null ? path + "." : "") + "x", loc.getX());
|
||||
setProperty((path != null ? path + "." : "") + "y", loc.getY());
|
||||
setProperty((path != null ? path + "." : "") + "z", loc.getZ());
|
||||
setProperty((path != null ? path + "." : "") + "yaw", loc.getYaw());
|
||||
setProperty((path != null ? path + "." : "") + "pitch", loc.getPitch());
|
||||
setProperty((path == null ? "" : path + ".") + "world", loc.getWorld().getName());
|
||||
setProperty((path == null ? "" : path + ".") + "x", loc.getX());
|
||||
setProperty((path == null ? "" : path + ".") + "y", loc.getY());
|
||||
setProperty((path == null ? "" : path + ".") + "z", loc.getZ());
|
||||
setProperty((path == null ? "" : path + ".") + "yaw", loc.getYaw());
|
||||
setProperty((path == null ? "" : path + ".") + "pitch", loc.getPitch());
|
||||
}
|
||||
|
||||
public ItemStack getItemStack(String path)
|
||||
public ItemStack getItemStack(final String path)
|
||||
{
|
||||
return new ItemStack(
|
||||
Material.valueOf(getString(path + ".type", "AIR")),
|
||||
@ -194,9 +242,9 @@ public class EssentialsConf extends Configuration
|
||||
(byte)getInt(path + ".data", 0)*/);
|
||||
}
|
||||
|
||||
public void setProperty(String path, ItemStack stack)
|
||||
public void setProperty(final String path, final ItemStack stack)
|
||||
{
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
final Map<String, Object> map = new HashMap<String, Object>();
|
||||
map.put("type", stack.getType().toString());
|
||||
map.put("amount", stack.getAmount());
|
||||
map.put("damage", stack.getDurability());
|
||||
@ -205,40 +253,30 @@ public class EssentialsConf extends Configuration
|
||||
setProperty(path, map);
|
||||
}
|
||||
|
||||
public long getLong(String path, long def)
|
||||
public long getLong(final String path, final long def)
|
||||
{
|
||||
Number num;
|
||||
try
|
||||
{
|
||||
num = (Number)getProperty(path);
|
||||
final Number num = (Number)getProperty(path);
|
||||
return num == null ? def : num.longValue();
|
||||
}
|
||||
catch(ClassCastException ex)
|
||||
catch (ClassCastException ex)
|
||||
{
|
||||
return def;
|
||||
}
|
||||
if (num == null)
|
||||
{
|
||||
return def;
|
||||
}
|
||||
return num.longValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getDouble(String path, double def)
|
||||
public double getDouble(final String path, final double def)
|
||||
{
|
||||
Number num;
|
||||
try
|
||||
{
|
||||
num = (Number)getProperty(path);
|
||||
Number num = (Number)getProperty(path);
|
||||
return num == null ? def : num.doubleValue();
|
||||
}
|
||||
catch(ClassCastException ex)
|
||||
catch (ClassCastException ex)
|
||||
{
|
||||
return def;
|
||||
}
|
||||
if (num == null)
|
||||
{
|
||||
return def;
|
||||
}
|
||||
return num.doubleValue();
|
||||
}
|
||||
}
|
||||
|
@ -73,11 +73,7 @@ public class EssentialsPlayerListener extends PlayerListener
|
||||
it.remove();
|
||||
}
|
||||
}
|
||||
if (user.isAfk())
|
||||
{
|
||||
user.setAfk(false);
|
||||
ess.broadcastMessage(user.getName(), Util.format("userIsNotAway", user.getDisplayName()));
|
||||
}
|
||||
user.updateActivity();
|
||||
if (ess.getSettings().changeDisplayName())
|
||||
{
|
||||
user.setDisplayName(user.getNick());
|
||||
@ -93,12 +89,26 @@ public class EssentialsPlayerListener extends PlayerListener
|
||||
}
|
||||
final User user = ess.getUser(event.getPlayer());
|
||||
|
||||
if (user.isAfk())
|
||||
if (user.isAfk() && ess.getSettings().getFreezeAfkPlayers())
|
||||
{
|
||||
user.setAfk(false);
|
||||
ess.broadcastMessage(user.getName(), Util.format("userIsNotAway", user.getDisplayName()));
|
||||
final Location from = event.getFrom();
|
||||
final Location to = event.getTo().clone();
|
||||
to.setX(from.getX());
|
||||
to.setY(from.getY());
|
||||
to.setZ(from.getZ());
|
||||
try
|
||||
{
|
||||
event.setTo(Util.getSafeDestination(to));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
event.setTo(to);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
user.updateActivity();
|
||||
|
||||
if (!ess.getSettings().getNetherPortalsEnabled())
|
||||
{
|
||||
return;
|
||||
@ -216,6 +226,7 @@ public class EssentialsPlayerListener extends PlayerListener
|
||||
user.getInventory().setContents(user.getSavedInventory());
|
||||
user.setSavedInventory(null);
|
||||
}
|
||||
user.updateActivity();
|
||||
user.dispose();
|
||||
if (!ess.getSettings().getReclaimSetting())
|
||||
{
|
||||
@ -304,7 +315,8 @@ public class EssentialsPlayerListener extends PlayerListener
|
||||
return;
|
||||
}
|
||||
User user = ess.getUser(event.getPlayer());
|
||||
if (user == null) {
|
||||
if (user == null)
|
||||
{
|
||||
user = new User(event.getPlayer(), ess);
|
||||
}
|
||||
user.setNPC(false);
|
||||
@ -436,7 +448,7 @@ public class EssentialsPlayerListener extends PlayerListener
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// We need to loop through each command and execute
|
||||
for (String command : commandList)
|
||||
{
|
||||
@ -479,10 +491,9 @@ public class EssentialsPlayerListener extends PlayerListener
|
||||
}
|
||||
}
|
||||
}
|
||||
if (user.isAfk())
|
||||
if (!cmd.equalsIgnoreCase("afk"))
|
||||
{
|
||||
user.setAfk(false);
|
||||
ess.broadcastMessage(user.getName(), Util.format("userIsNotAway", user.getDisplayName()));
|
||||
user.updateActivity();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -24,16 +24,17 @@ public class EssentialsTimer implements Runnable
|
||||
{
|
||||
final User user = ess.getUser(player);
|
||||
onlineUsers.add(user);
|
||||
user.setLastActivity(currentTime);
|
||||
user.setLastOnlineActivity(currentTime);
|
||||
user.checkActivity();
|
||||
}
|
||||
|
||||
final Iterator<User> iterator = onlineUsers.iterator();
|
||||
while (iterator.hasNext())
|
||||
{
|
||||
final User user = iterator.next();
|
||||
if (user.getLastActivity() < currentTime && user.getLastActivity() > user.getLastLogout())
|
||||
if (user.getLastOnlineActivity() < currentTime && user.getLastOnlineActivity() > user.getLastLogout())
|
||||
{
|
||||
user.setLastLogout(user.getLastActivity());
|
||||
user.setLastLogout(user.getLastOnlineActivity());
|
||||
iterator.remove();
|
||||
continue;
|
||||
}
|
||||
|
@ -109,8 +109,6 @@ public interface ISettings extends IConf
|
||||
|
||||
boolean permissionBasedItemSpawn();
|
||||
|
||||
void reloadConfig();
|
||||
|
||||
boolean showNonEssCommandsInHelp();
|
||||
|
||||
boolean spawnIfNoHome();
|
||||
@ -136,4 +134,10 @@ public interface ISettings extends IConf
|
||||
boolean addPrefixSuffix();
|
||||
|
||||
boolean isUpdateEnabled();
|
||||
|
||||
long getAutoAfk();
|
||||
|
||||
long getAutoAfkKick();
|
||||
|
||||
boolean getFreezeAfkPlayers();
|
||||
}
|
||||
|
@ -485,4 +485,22 @@ public class Settings implements ISettings
|
||||
{
|
||||
return config.getBoolean("update-check", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getAutoAfk()
|
||||
{
|
||||
return config.getLong("auto-afk", 300);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getAutoAfkKick()
|
||||
{
|
||||
return config.getLong("auto-afk-kick", -1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getFreezeAfkPlayers()
|
||||
{
|
||||
return config.getBoolean("freeze-afk-players", false);
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,9 @@
|
||||
package com.earth2me.essentials;
|
||||
|
||||
import com.earth2me.essentials.commands.IEssentialsCommand;
|
||||
import com.earth2me.essentials.commands.NotEnoughArgumentsException;
|
||||
import com.earth2me.essentials.register.payment.Method;
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.logging.Logger;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@ -14,38 +12,43 @@ import org.bukkit.entity.Player;
|
||||
|
||||
public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
{
|
||||
private static final Logger logger = Logger.getLogger("Minecraft");
|
||||
private boolean justPortaled = false;
|
||||
private CommandSender replyTo = null;
|
||||
private User teleportRequester;
|
||||
private boolean teleportRequestHere;
|
||||
private final Teleport teleport;
|
||||
private long lastActivity;
|
||||
private transient User teleportRequester;
|
||||
private transient boolean teleportRequestHere;
|
||||
private transient final Teleport teleport;
|
||||
private transient long lastOnlineActivity = System.currentTimeMillis();;
|
||||
private transient long lastActivity;
|
||||
private boolean hidden = false;
|
||||
private transient boolean godStateBeforeAfk;
|
||||
|
||||
User(Player base, IEssentials ess)
|
||||
User(final Player base, final IEssentials ess)
|
||||
{
|
||||
super(base, ess);
|
||||
teleport = new Teleport(this, ess);
|
||||
godStateBeforeAfk = isGodModeEnabled();
|
||||
}
|
||||
|
||||
User update(Player base)
|
||||
User update(final Player base)
|
||||
{
|
||||
setBase(base);
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isAuthorized(IEssentialsCommand cmd)
|
||||
@Override
|
||||
public boolean isAuthorized(final IEssentialsCommand cmd)
|
||||
{
|
||||
return isAuthorized(cmd, "essentials.");
|
||||
}
|
||||
|
||||
public boolean isAuthorized(IEssentialsCommand cmd, String permissionPrefix)
|
||||
@Override
|
||||
public boolean isAuthorized(final IEssentialsCommand cmd, final String permissionPrefix)
|
||||
{
|
||||
return isAuthorized(permissionPrefix + (cmd.getName().equals("r") ? "msg" : cmd.getName()));
|
||||
}
|
||||
|
||||
public boolean isAuthorized(String node)
|
||||
@Override
|
||||
public boolean isAuthorized(final String node)
|
||||
{
|
||||
if (isOp())
|
||||
{
|
||||
@ -62,11 +65,11 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
|
||||
public void healCooldown() throws Exception
|
||||
{
|
||||
Calendar now = new GregorianCalendar();
|
||||
final Calendar now = new GregorianCalendar();
|
||||
if (getLastHealTimestamp() > 0)
|
||||
{
|
||||
double cooldown = ess.getSettings().getHealCooldown();
|
||||
Calendar cooldownTime = new GregorianCalendar();
|
||||
final double cooldown = ess.getSettings().getHealCooldown();
|
||||
final Calendar cooldownTime = new GregorianCalendar();
|
||||
cooldownTime.setTimeInMillis(getLastHealTimestamp());
|
||||
cooldownTime.add(Calendar.SECOND, (int)cooldown);
|
||||
cooldownTime.add(Calendar.MILLISECOND, (int)((cooldown * 1000.0) % 1000.0));
|
||||
@ -78,12 +81,13 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
setLastHealTimestamp(now.getTimeInMillis());
|
||||
}
|
||||
|
||||
public void giveMoney(double value)
|
||||
@Override
|
||||
public void giveMoney(final double value)
|
||||
{
|
||||
giveMoney(value, null);
|
||||
}
|
||||
|
||||
public void giveMoney(double value, CommandSender initiator)
|
||||
public void giveMoney(final double value, final CommandSender initiator)
|
||||
{
|
||||
if (value == 0)
|
||||
{
|
||||
@ -93,35 +97,36 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
sendMessage(Util.format("addedToAccount", Util.formatCurrency(value, ess)));
|
||||
if (initiator != null)
|
||||
{
|
||||
initiator.sendMessage((Util.format("addedToOthersAccount", Util.formatCurrency(value, ess), this.getDisplayName())));
|
||||
initiator.sendMessage(Util.format("addedToOthersAccount", Util.formatCurrency(value, ess), this.getDisplayName()));
|
||||
}
|
||||
}
|
||||
|
||||
public void payUser(User reciever, double value) throws Exception
|
||||
public void payUser(final User reciever, final double value) throws Exception
|
||||
{
|
||||
if (value == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!canAfford(value))
|
||||
{
|
||||
throw new Exception(Util.i18n("notEnoughMoney"));
|
||||
}
|
||||
else
|
||||
if (canAfford(value))
|
||||
{
|
||||
setMoney(getMoney() - value);
|
||||
reciever.setMoney(reciever.getMoney() + value);
|
||||
sendMessage(Util.format("moneySentTo", Util.formatCurrency(value, ess), reciever.getDisplayName()));
|
||||
reciever.sendMessage(Util.format("moneyRecievedFrom", Util.formatCurrency(value, ess), getDisplayName()));
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception(Util.i18n("notEnoughMoney"));
|
||||
}
|
||||
}
|
||||
|
||||
public void takeMoney(double value)
|
||||
@Override
|
||||
public void takeMoney(final double value)
|
||||
{
|
||||
takeMoney(value, null);
|
||||
}
|
||||
|
||||
public void takeMoney(double value, CommandSender initiator)
|
||||
public void takeMoney(final double value, final CommandSender initiator)
|
||||
{
|
||||
if (value == 0)
|
||||
{
|
||||
@ -131,13 +136,13 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
sendMessage(Util.format("takenFromAccount", Util.formatCurrency(value, ess)));
|
||||
if (initiator != null)
|
||||
{
|
||||
initiator.sendMessage((Util.format("takenFromOthersAccount", Util.formatCurrency(value, ess), this.getDisplayName())));
|
||||
initiator.sendMessage(Util.format("takenFromOthersAccount", Util.formatCurrency(value, ess), this.getDisplayName()));
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canAfford(double cost)
|
||||
public boolean canAfford(final double cost)
|
||||
{
|
||||
double mon = getMoney();
|
||||
final double mon = getMoney();
|
||||
return mon >= cost || isAuthorized("essentials.eco.loan");
|
||||
}
|
||||
|
||||
@ -151,34 +156,37 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
return justPortaled;
|
||||
}
|
||||
|
||||
public void setJustPortaled(boolean value)
|
||||
public void setJustPortaled(final boolean value)
|
||||
{
|
||||
justPortaled = value;
|
||||
}
|
||||
|
||||
public void setReplyTo(CommandSender user)
|
||||
@Override
|
||||
public void setReplyTo(final CommandSender user)
|
||||
{
|
||||
replyTo = user;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandSender getReplyTo()
|
||||
{
|
||||
return replyTo;
|
||||
}
|
||||
|
||||
public int compareTo(User t)
|
||||
@Override
|
||||
public int compareTo(final User other)
|
||||
{
|
||||
return ChatColor.stripColor(this.getDisplayName()).compareToIgnoreCase(ChatColor.stripColor(t.getDisplayName()));
|
||||
return ChatColor.stripColor(this.getDisplayName()).compareToIgnoreCase(ChatColor.stripColor(other.getDisplayName()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o)
|
||||
public boolean equals(final Object object)
|
||||
{
|
||||
if (!(o instanceof User))
|
||||
if (!(object instanceof User))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return ChatColor.stripColor(this.getDisplayName()).equalsIgnoreCase(ChatColor.stripColor(((User)o).getDisplayName()));
|
||||
return ChatColor.stripColor(this.getDisplayName()).equalsIgnoreCase(ChatColor.stripColor(((User)object).getDisplayName()));
|
||||
|
||||
}
|
||||
|
||||
@ -188,7 +196,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
return ChatColor.stripColor(this.getDisplayName()).hashCode();
|
||||
}
|
||||
|
||||
public Boolean canSpawnItem(int itemId)
|
||||
public Boolean canSpawnItem(final int itemId)
|
||||
{
|
||||
return !ess.getSettings().itemSpawnBlacklist().contains(itemId);
|
||||
}
|
||||
@ -203,17 +211,18 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
setHome("home", getLocation());
|
||||
}
|
||||
|
||||
public void setHome(String name)
|
||||
public void setHome(final String name)
|
||||
{
|
||||
setHome(name, getLocation());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLastLocation()
|
||||
{
|
||||
setLastLocation(getLocation());
|
||||
}
|
||||
|
||||
public void requestTeleport(User player, boolean here)
|
||||
public void requestTeleport(final User player, final boolean here)
|
||||
{
|
||||
teleportRequester = player;
|
||||
teleportRequestHere = here;
|
||||
@ -274,14 +283,14 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
return teleport;
|
||||
}
|
||||
|
||||
public long getLastActivity()
|
||||
public long getLastOnlineActivity()
|
||||
{
|
||||
return lastActivity;
|
||||
return lastOnlineActivity;
|
||||
}
|
||||
|
||||
public void setLastActivity(long timestamp)
|
||||
public void setLastOnlineActivity(final long timestamp)
|
||||
{
|
||||
lastActivity = timestamp;
|
||||
lastOnlineActivity = timestamp;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -291,12 +300,12 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
{
|
||||
try
|
||||
{
|
||||
Method method = ess.getPaymentMethod().getMethod();
|
||||
final Method method = ess.getPaymentMethod().getMethod();
|
||||
if (!method.hasAccount(this.getName()))
|
||||
{
|
||||
throw new Exception();
|
||||
}
|
||||
Method.MethodAccount account = ess.getPaymentMethod().getMethod().getAccount(this.getName());
|
||||
final Method.MethodAccount account = ess.getPaymentMethod().getMethod().getAccount(this.getName());
|
||||
return account.balance();
|
||||
}
|
||||
catch (Throwable ex)
|
||||
@ -307,18 +316,18 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMoney(double value)
|
||||
public void setMoney(final double value)
|
||||
{
|
||||
if (ess.getPaymentMethod().hasMethod())
|
||||
{
|
||||
try
|
||||
{
|
||||
Method method = ess.getPaymentMethod().getMethod();
|
||||
final Method method = ess.getPaymentMethod().getMethod();
|
||||
if (!method.hasAccount(this.getName()))
|
||||
{
|
||||
throw new Exception();
|
||||
}
|
||||
Method.MethodAccount account = ess.getPaymentMethod().getMethod().getAccount(this.getName());
|
||||
final Method.MethodAccount account = ess.getPaymentMethod().getMethod().getAccount(this.getName());
|
||||
account.set(value);
|
||||
}
|
||||
catch (Throwable ex)
|
||||
@ -329,16 +338,23 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAfk(boolean set)
|
||||
public void setAfk(final boolean set)
|
||||
{
|
||||
this.setSleepingIgnored(this.isAuthorized("essentials.sleepingignored") ? true : set);
|
||||
if (set && !isAfk() && ess.getSettings().getFreezeAfkPlayers()) {
|
||||
godStateBeforeAfk = isGodModeEnabled();
|
||||
setGodModeEnabled(true);
|
||||
}
|
||||
if (!set && isAfk() && ess.getSettings().getFreezeAfkPlayers()) {
|
||||
setGodModeEnabled(godStateBeforeAfk);
|
||||
}
|
||||
super.setAfk(set);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean toggleAfk()
|
||||
{
|
||||
boolean now = super.toggleAfk();
|
||||
final boolean now = super.toggleAfk();
|
||||
this.setSleepingIgnored(this.isAuthorized("essentials.sleepingignored") ? true : now);
|
||||
return now;
|
||||
}
|
||||
@ -348,7 +364,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
return hidden;
|
||||
}
|
||||
|
||||
public void setHidden(boolean hidden)
|
||||
public void setHidden(final boolean hidden)
|
||||
{
|
||||
this.hidden = hidden;
|
||||
}
|
||||
@ -389,4 +405,42 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
||||
ess.getBans().unbanByName(getName());
|
||||
}
|
||||
}
|
||||
|
||||
public void updateActivity()
|
||||
{
|
||||
if (isAfk())
|
||||
{
|
||||
setAfk(false);
|
||||
ess.broadcastMessage(getName(), Util.format("userIsNotAway", getDisplayName()));
|
||||
return;
|
||||
}
|
||||
lastActivity = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public void checkActivity()
|
||||
{
|
||||
final long autoafkkick = ess.getSettings().getAutoAfkKick();
|
||||
if (autoafkkick > 0 && lastActivity + autoafkkick * 1000 < System.currentTimeMillis()
|
||||
&& !isAuthorized("essentials.kick.exempt") && !isAuthorized("essentials.afk.kickexempt"))
|
||||
{
|
||||
final String kickReason = Util.format("autoAfkKickReason", autoafkkick/60.0);
|
||||
kickPlayer(kickReason);
|
||||
|
||||
|
||||
for (Player player : ess.getServer().getOnlinePlayers())
|
||||
{
|
||||
final User user = ess.getUser(player);
|
||||
if (user.isAuthorized("essentials.kick.notify"))
|
||||
{
|
||||
player.sendMessage(Util.format("playerKicked", Console.NAME, getName(), kickReason));
|
||||
}
|
||||
}
|
||||
}
|
||||
final long autoafk = ess.getSettings().getAutoAfk();
|
||||
if (!isAfk() && autoafk > 0 && lastActivity + autoafk * 1000 < System.currentTimeMillis())
|
||||
{
|
||||
setAfk(true);
|
||||
ess.broadcastMessage(getName(), Util.format("userIsAway", getDisplayName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ import org.bukkit.Server;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.Util;
|
||||
import java.util.GregorianCalendar;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
|
||||
@ -124,7 +125,7 @@ public class Commandkit extends EssentialsCommand
|
||||
for (String d : items)
|
||||
{
|
||||
String[] parts = d.split("[^0-9]+", 3);
|
||||
int id = Integer.parseInt(parts[0]);
|
||||
int id = Material.getMaterial(Integer.parseInt(parts[0])).getId();
|
||||
int amount = parts.length > 1 ? Integer.parseInt(parts[parts.length > 2 ? 2 : 1]) : 1;
|
||||
short data = parts.length > 2 ? Short.parseShort(parts[1]) : 0;
|
||||
HashMap<Integer,ItemStack> overfilled = user.getInventory().addItem(new ItemStack(id, amount, data));
|
||||
|
@ -21,6 +21,11 @@ public class Commandnick extends EssentialsCommand
|
||||
{
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
|
||||
if (!ess.getSettings().changeDisplayName()) {
|
||||
user.sendMessage(Util.i18n("nickDisplayName"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (args.length > 1)
|
||||
{
|
||||
@ -80,6 +85,11 @@ public class Commandnick extends EssentialsCommand
|
||||
throw new NotEnoughArgumentsException();
|
||||
}
|
||||
|
||||
if (!ess.getSettings().changeDisplayName()) {
|
||||
sender.sendMessage(Util.i18n("nickDisplayName"));
|
||||
return;
|
||||
}
|
||||
|
||||
setOthersNickname(server, sender, args);
|
||||
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ public class Commandpowertool extends EssentialsCommand
|
||||
String command = getFinalArg(args, 0);
|
||||
if (command != null && !command.isEmpty())
|
||||
{
|
||||
if (command.equalsIgnoreCase("list"))
|
||||
if (command.equalsIgnoreCase("l:"))
|
||||
{
|
||||
if (powertools == null || powertools.isEmpty())
|
||||
{
|
||||
@ -90,6 +90,7 @@ public class Commandpowertool extends EssentialsCommand
|
||||
}
|
||||
else
|
||||
{
|
||||
powertools.clear();
|
||||
user.sendMessage(Util.format("powerToolRemoveAll", itemName));
|
||||
}
|
||||
|
||||
|
@ -1,21 +1,17 @@
|
||||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package com.earth2me.essentials.commands;
|
||||
|
||||
import com.earth2me.essentials.ChargeException;
|
||||
import com.earth2me.essentials.IUser;
|
||||
import com.earth2me.essentials.Trade;
|
||||
import com.earth2me.essentials.User;
|
||||
import com.earth2me.essentials.Util;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.material.MaterialData;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Seiji
|
||||
*/
|
||||
public class Commandrepair extends EssentialsCommand
|
||||
{
|
||||
public Commandrepair()
|
||||
@ -24,7 +20,7 @@ public class Commandrepair 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)
|
||||
{
|
||||
@ -33,7 +29,20 @@ public class Commandrepair extends EssentialsCommand
|
||||
|
||||
if (args[0].equalsIgnoreCase("hand"))
|
||||
{
|
||||
ItemStack item = user.getItemInHand();
|
||||
final ItemStack item = user.getItemInHand();
|
||||
final String itemName = item.getType().toString().toLowerCase();
|
||||
final Trade charge = new Trade("repair-" + itemName.replace('_', '-'), ess);
|
||||
|
||||
try
|
||||
{
|
||||
charge.isAffordableFor(user);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
user.sendMessage(ex.getMessage());
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
repairItem(item);
|
||||
@ -43,26 +52,26 @@ public class Commandrepair extends EssentialsCommand
|
||||
user.sendMessage(e.getMessage());
|
||||
return;
|
||||
}
|
||||
charge.charge(user);
|
||||
|
||||
String itemName = item.getType().toString().toLowerCase().replace('_', ' ');
|
||||
charge(user);
|
||||
user.sendMessage(Util.format("repair", itemName));
|
||||
user.sendMessage(Util.format("repair", itemName.replace('_', ' ')));
|
||||
}
|
||||
else if (args[0].equalsIgnoreCase("all"))
|
||||
{
|
||||
StringBuilder itemList = new StringBuilder();
|
||||
itemList.append(repairItems(user.getInventory().getContents()));
|
||||
final List<String> repaired = new ArrayList<String>();
|
||||
repairItems(user.getInventory().getContents(), user, repaired);
|
||||
|
||||
String armor = repairItems(user.getInventory().getArmorContents());
|
||||
repairItems(user.getInventory().getArmorContents(), user, repaired);
|
||||
|
||||
if (itemList.length() == 0)
|
||||
if (repaired.isEmpty())
|
||||
{
|
||||
user.sendMessage(Util.format("repairNone"));
|
||||
}
|
||||
else
|
||||
{
|
||||
charge(user);
|
||||
user.sendMessage(Util.format("repair", Util.joinList(itemList)));
|
||||
user.sendMessage(Util.format("repair", Util.joinList(repaired)));
|
||||
}
|
||||
|
||||
}
|
||||
@ -72,10 +81,9 @@ public class Commandrepair extends EssentialsCommand
|
||||
}
|
||||
}
|
||||
|
||||
private void repairItem(ItemStack item) throws Exception
|
||||
private void repairItem(final ItemStack item) throws Exception
|
||||
{
|
||||
Material material = Material.getMaterial(item.getTypeId());
|
||||
String error = null;
|
||||
final Material material = Material.getMaterial(item.getTypeId());
|
||||
if (material.isBlock() || material.getMaxDurability() < 0)
|
||||
{
|
||||
throw new Exception(Util.i18n("repairInvalidType"));
|
||||
@ -89,28 +97,39 @@ public class Commandrepair extends EssentialsCommand
|
||||
item.setDurability((short)0);
|
||||
}
|
||||
|
||||
private String repairItems(ItemStack[] items)
|
||||
private void repairItems(final ItemStack[] items, final IUser user, final List<String> repaired)
|
||||
{
|
||||
StringBuilder itemList = new StringBuilder();
|
||||
for (ItemStack item : items)
|
||||
{
|
||||
final String itemName = item.getType().toString().toLowerCase();
|
||||
final Trade charge = new Trade("repair-" + itemName.replace('_', '-'), ess);
|
||||
try
|
||||
{
|
||||
charge.isAffordableFor(user);
|
||||
}
|
||||
catch (ChargeException ex)
|
||||
{
|
||||
user.sendMessage(ex.getMessage());
|
||||
continue;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
repairItem(item);
|
||||
if (itemList.length() > 0)
|
||||
{
|
||||
itemList.append(", ");
|
||||
}
|
||||
|
||||
String itemName = item.getType().toString().toLowerCase().replace('_', ' ');
|
||||
itemList.append(itemName);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
charge.charge(user);
|
||||
}
|
||||
catch (ChargeException ex)
|
||||
{
|
||||
user.sendMessage(ex.getMessage());
|
||||
}
|
||||
repaired.add(itemName.replace('_', ' '));
|
||||
}
|
||||
|
||||
return itemList.toString();
|
||||
}
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ nether:
|
||||
# Mob limit on spawnmob
|
||||
spawnmob-limit: 10
|
||||
|
||||
#Shall we notify users when using /lightning
|
||||
# Shall we notify users when using /lightning
|
||||
warn-on-smite: true
|
||||
|
||||
# The message of the day, displayed on connect and by typing /motd.
|
||||
@ -207,7 +207,7 @@ backup:
|
||||
# Interval in minutes
|
||||
interval: 60
|
||||
# Add a command that backups your data, e.g.
|
||||
# command: 'rdiff-backup World1 backups/World1'
|
||||
#command: 'rdiff-backup World1 backups/World1'
|
||||
|
||||
# Set this true to enable permission per warp.
|
||||
per-warp-permission: false
|
||||
@ -223,7 +223,7 @@ debug: false
|
||||
# Don't forget to remove the # infront of the line
|
||||
#locale: de_DE
|
||||
|
||||
#turn off god mode when people exit
|
||||
# Turn off god mode when people exit
|
||||
remove-god-on-disconnect: false
|
||||
|
||||
# Use the permission system of bukkit
|
||||
@ -231,8 +231,27 @@ remove-god-on-disconnect: false
|
||||
use-bukkit-permissions: false
|
||||
|
||||
# Check for updates
|
||||
# We do not recommend to disable this unless you are using CraftbukkitUpToDate or Bukget.
|
||||
# If you don't like the notices in game, remove the permission
|
||||
# essentials.admin.notices.update from your user.
|
||||
update-check: true
|
||||
|
||||
# Auto-AFK
|
||||
# After this timeout in seconds, the user will be set as afk.
|
||||
# Set to -1 for no timeout.
|
||||
auto-afk: 300
|
||||
|
||||
# Auto-AFK Kick
|
||||
# After this timeout in seconds, the user will be kicked from the server.
|
||||
# Set to -1 for no timeout.
|
||||
auto-afk-kick: -1
|
||||
|
||||
# Set this to true, if you want to freeze the player, if he is afk.
|
||||
# Other players or monsters can't push him out of afk mode then.
|
||||
# This will also enable temporary god mode for the afk player.
|
||||
# The player has to use the command /afk to leave the afk mode.
|
||||
freeze-afk-players: false
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | EssentialsHome | #
|
||||
@ -246,7 +265,7 @@ respawn-at-home: false
|
||||
# If you enable this and remove default user access to the /sethome command, you can make beds the only way for players to set their home location.
|
||||
bed-sethome: false
|
||||
|
||||
#if no home is set send you to spawn when /home is used
|
||||
# If no home is set send you to spawn when /home is used
|
||||
spawn-if-no-home: false
|
||||
|
||||
# If users have essentials.sethome.multiple how many homes can they have
|
||||
@ -289,13 +308,13 @@ economy-log-enabled: false
|
||||
# +------------------------------------------------------+ #
|
||||
############################################################
|
||||
|
||||
#Show other plugins commands in help
|
||||
# Show other plugins commands in help
|
||||
non-ess-in-help: true
|
||||
|
||||
#Hide plugins which dont give a permission
|
||||
#You can override a true value here for a single plugin by adding a permission to a user/group.
|
||||
#The indervidual permission is: essentials.help.<plugin>, anyone with essentials.* or '*' will see all help this setting reguardless.
|
||||
#You can use negitive permissions to remove access to just a single plugins help if the following is enabled.
|
||||
# Hide plugins which dont give a permission
|
||||
# You can override a true value here for a single plugin by adding a permission to a user/group.
|
||||
# The indervidual permission is: essentials.help.<plugin>, anyone with essentials.* or '*' will see all help this setting reguardless.
|
||||
# You can use negitive permissions to remove access to just a single plugins help if the following is enabled.
|
||||
hide-permissionless-help: true
|
||||
|
||||
############################################################
|
||||
@ -427,10 +446,10 @@ protect:
|
||||
# This only has an effect if "rails" or "signs" is also enabled.
|
||||
block-below: true
|
||||
|
||||
# Prevent placing blocks above protected rails, this is to stop a potential griefing
|
||||
# Prevent placing blocks above protected rails, this is to stop a potential griefing
|
||||
prevent-block-on-rails: false
|
||||
|
||||
#Store blocks / signs in memory before writing
|
||||
# Store blocks / signs in memory before writing
|
||||
memstore: false
|
||||
|
||||
# Disable various default physics and behaviors
|
||||
@ -470,11 +489,11 @@ protect:
|
||||
# Set true to disable useing for those people
|
||||
use: true
|
||||
|
||||
#Should we tell people they are not allowed to build
|
||||
# Should we tell people they are not allowed to build
|
||||
warn-on-build-disallow: false
|
||||
|
||||
|
||||
#disable weather options
|
||||
# Disable weather options
|
||||
weather:
|
||||
storm: false
|
||||
thunder: false
|
||||
|
@ -8,6 +8,7 @@ alertBroke = broke:
|
||||
alertFormat = \u00a73[{0}] \u00a7f {1} \u00a76 {2} at: {3}
|
||||
alertPlaced = placed:
|
||||
alertUsed = used:
|
||||
autoAfkKickReason=You have been kicked for idling more than {0} minutes.
|
||||
backAfterDeath = \u00a77Use the /back command to return to your death point.
|
||||
backUsageMsg = \u00a77Returning to previous location.
|
||||
backupFinished = Backup finished
|
||||
@ -96,9 +97,9 @@ helpConsole = To view help from the console, type ?.
|
||||
helpOp = \u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1}
|
||||
helpPages = Page \u00a7c{0}\u00a7f of \u00a7c{1}\u00a7f:
|
||||
holeInFloor = Hole in floor
|
||||
homes = Homes: {0}
|
||||
homeSet = \u00a77Home set.
|
||||
homeSetToBed = \u00a77Your home is now set to this bed.
|
||||
homes = Homes: {0}
|
||||
hour = hour
|
||||
hours = hours
|
||||
ignorePlayer = You ignore player {0} from now on.
|
||||
@ -184,6 +185,7 @@ mutedUserSpeaks = {0} tried to speak, but is muted.
|
||||
needTpohere = You need access to /tpohere to teleport other players.
|
||||
negativeBalanceError = User is not allowed to have a negative balance.
|
||||
nickChanged = Nickname changed.
|
||||
nickDisplayName=\u00a77You have to enable change-displayname in Essentials config.
|
||||
nickInUse = \u00a7cThat name is already in use.
|
||||
nickNamesAlpha = \u00a7cNicknames must be alphanumeric.
|
||||
nickNoMore = \u00a77You no longer have a nickname.
|
||||
@ -216,6 +218,14 @@ numberRequired = A number goes there, silly.
|
||||
onlyDayNight = /time only supports day/night.
|
||||
onlyPlayers = Only in-game players can use {0}.
|
||||
onlySunStorm = /weather only supports sun/storm.
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
parseError = Error parsing {0} on line {1}
|
||||
pendingTeleportCancelled = \u00a7cPending teleportation request cancelled.
|
||||
permissionsError = Missing Permissions/GroupManager; chat prefixes/suffixes will be disabled.
|
||||
@ -240,14 +250,6 @@ powerToolNoSuchCommandAssigned = Command \u00a7c{0}\u00a7f has not been assigned
|
||||
powerToolRemove = Command \u00a7c{0}\u00a7f removed from {1}.
|
||||
powerToolRemoveAll = All commands removed from {0}.
|
||||
protectionOwner = \u00a76[EssentialsProtect] Protection owner: {0}
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
questionFormat = \u00a77[Question]\u00a7f {0}
|
||||
reloadAllPlugins = \u00a77Reloaded all plugins.
|
||||
repair = You have successfully repaired your: \u00a7e{0}.
|
||||
@ -341,10 +343,10 @@ voiceSilenced = \u00a77Your voice has been silenced
|
||||
warpDeleteError = Problem deleting the warp file.
|
||||
warpListPermission = \u00a7cYou do not have Permission to list that warps.
|
||||
warpNotExist = That warp does not exist.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
warpSet = \u00a77Warp {0} set.
|
||||
warpUsePermission = \u00a7cYou do not have Permission to use that warp.
|
||||
warpingTo = \u00a77Warping to {0}.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
weatherStorm = \u00a77You set the weather to storm in your world
|
||||
weatherStormFor = \u00a77You set the weather to storm in your world for {0} seconds
|
||||
weatherSun = \u00a77You set the weather to sun in your world
|
||||
|
@ -8,14 +8,15 @@ alertBroke = \u00f8delagde:
|
||||
alertFormat = \u00a73[{0}] \u00a7f {1} \u00a76 {2} ved: {3}
|
||||
alertPlaced = placerede:
|
||||
alertUsed = brugte:
|
||||
autoAfkKickReason=You have been kicked for idling more than {0} minutes.
|
||||
backAfterDeath = \u00a77Brug /back kommandoen for at retunere til dit d\u00f8ds punkt.
|
||||
backUsageMsg = \u00a77Returnere til tidligere placering.
|
||||
backupFinished = Backup sluttede
|
||||
backupStarted = Backup startede
|
||||
balance = \u00a77Balance: {0}
|
||||
balanceTop = \u00a77 Top {0} saldi
|
||||
banIpAddress = \u00a77Bannede IP addresse
|
||||
banExempt = \u00a7cDu kan ikke forbyde den p\u00e5g\u00e6ldende spiller.
|
||||
banIpAddress = \u00a77Bannede IP addresse
|
||||
bannedIpsFileError = Fejl i l\u00e6sning af banned-ips.txt
|
||||
bannedIpsFileNotFound = banned-ips.txt ikke fundet
|
||||
bannedPlayersFileError = Fejl i l\u00e6sning af banned-players.txt
|
||||
@ -96,9 +97,9 @@ helpConsole = For at se hj\u00e6lp fra konsolen, skriv ?.
|
||||
helpOp = \u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1}
|
||||
helpPages = Side \u00a7c{0}\u00a7f af \u00a7c{1}\u00a7f:
|
||||
holeInFloor = Hul i gulv
|
||||
homes = Homes: {0}
|
||||
homeSet = \u00a77Hjem sat.
|
||||
homeSetToBed = \u00a77Dit hjem er nu sat til denne seng.
|
||||
homes = Homes: {0}
|
||||
hour = time
|
||||
hours = timer
|
||||
ignorePlayer = Du ignorere spiller {0} fra nu af.
|
||||
@ -183,6 +184,7 @@ mutedUserSpeaks = {0} pr\u00f8vede at snakke, men er muted.
|
||||
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.
|
||||
nickDisplayName=\u00a77You have to enable change-displayname in Essentials config.
|
||||
nickInUse = \u00a7cDet navn er allerede i brug.
|
||||
nickNamesAlpha = \u00a7cKaldenavne skal v\u00e6re alfanumeriske.
|
||||
nickNoMore = \u00a7Du har ikke l\u00e6ngere et kaldenavn.
|
||||
@ -215,6 +217,14 @@ numberRequired = Der skal v\u00e6re et nummer, fjolle.
|
||||
onlyDayNight = /time underst\u00f8tter kun day/night.
|
||||
onlyPlayers = Kun in-game spillere kan bruge {0}.
|
||||
onlySunStorm = /weather only supports sun/storm.
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
parseError = Fejl ved parsing {0} p\u00e5 linje {1}
|
||||
pendingTeleportCancelled = \u00a7cVentende teleportations anmodning aflyst.
|
||||
permissionsError = Mangler Permissions/GroupManager; chat pr\u00e6fikser/suffikser vil v\u00e6re sl\u00e5et fra.
|
||||
@ -239,14 +249,6 @@ powerToolNoSuchCommandAssigned = Command \u00a7c{0}\u00a7f has not been assigned
|
||||
powerToolRemove = Command \u00a7c{0}\u00a7f removed from {1}.
|
||||
powerToolRemoveAll = All commands removed from {0}.
|
||||
protectionOwner = \u00a76[EssentialsProtect] Beskyttelses ejer: {0}
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
questionFormat = \u00a77[Sp\u00f8rgsm\u00e5l]\u00a7f {0}
|
||||
reloadAllPlugins = \u00a77Genindl\u00e6ste alle tilf\u00f8jelser.
|
||||
repair = You have successfully repaired your: \u00a7e{0}.
|
||||
@ -340,10 +342,10 @@ voiceSilenced = \u00a77Din stemme er blevet d\u00e6mpet
|
||||
warpDeleteError = Problem ved sletning af warp filen.
|
||||
warpListPermission = \u00a7cDu har ikke tilladelse til at liste de warps.
|
||||
warpNotExist = Den warp eksisterer ikke.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
warpSet = \u00a77Warp {0} sat.
|
||||
warpUsePermission = \u00a7cDu har ikke tilladelse til at benytte den warp.
|
||||
warpingTo = \u00a77Warper til {0}.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
weatherStorm = \u00a77Du har sat vejret til storm i din verden
|
||||
weatherStormFor = \u00a77Du har sat vejret til storm i din verden i {0} sekunder
|
||||
weatherSun = \u00a77Du har sat vejret til sol
|
||||
|
@ -8,14 +8,15 @@ alertBroke = zerst\u00f6rt:
|
||||
alertFormat = \u00a73[{0}] \u00a7f {1} \u00a76 {2} bei: {3}
|
||||
alertPlaced = platziert:
|
||||
alertUsed = benutzt:
|
||||
autoAfkKickReason=You have been kicked for idling more than {0} minutes.
|
||||
backAfterDeath = \u00a77Benutze den Befehl /back um zu deinem Todespunkt zur\u00fcck zu kehren.
|
||||
backUsageMsg = \u00a77Kehre zur letzten Position zur\u00fcck.
|
||||
backupFinished = Backup beendet
|
||||
backupStarted = Backup gestartet
|
||||
balance = \u00a77Geldb\u00f6rse: {0}
|
||||
balanceTop = \u00a77 Top {0} Guthaben
|
||||
banIpAddress = \u00a77IP-Adresse gesperrt.
|
||||
banExempt = \u00a7cDu kannst diesen Spieler nicht sperren.
|
||||
banIpAddress = \u00a77IP-Adresse gesperrt.
|
||||
bannedIpsFileError = Fehler beim Lesen von banned-ips.txt
|
||||
bannedIpsFileNotFound = banned-ips.txt nicht gefunden
|
||||
bannedPlayersFileError = Fehler beim Lesen von banned-players.txt
|
||||
@ -96,9 +97,9 @@ helpConsole = Um die Hilfe der Konsole zu sehen, schreibe ?.
|
||||
helpOp = \u00a7c[Hilfe]\u00a7f \u00a77{0}:\u00a7f {1}
|
||||
helpPages = Seite \u00a7c{0}\u00a7f von \u00a7c{1}\u00a7f:
|
||||
holeInFloor = Loch im Boden
|
||||
homes = Homes: {0}
|
||||
homeSet = \u00a77Zuhause gesetzt.
|
||||
homeSetToBed = \u00a77Dein Zuhause ist nun an diesem Bett.
|
||||
homes = Homes: {0}
|
||||
hour = Stunde
|
||||
hours = Stunden
|
||||
ignorePlayer = Du ignorierst ab jetzt Spieler {0}.
|
||||
@ -183,6 +184,7 @@ mutedUserSpeaks = {0} versuchte zu sprechen, aber ist stumm geschalt.
|
||||
needTpohere = Du brauchst Zugriff auf /tpohere um andere Spieler teleportieren zu k\u00f6nnen.
|
||||
negativeBalanceError = Spieler darf keine Schulden machen.
|
||||
nickChanged = Nickname ge\u00e4ndert.
|
||||
nickDisplayName=\u00a77You have to enable change-displayname in Essentials config.
|
||||
nickInUse = \u00a7cDieser Name wird bereits verwendet.
|
||||
nickNamesAlpha = \u00a7cNicknamen d\u00fcrfen nur alphanumerische Zeichen enthalten.
|
||||
nickNoMore = \u00a7Du hast keinen Nicknamen mehr.
|
||||
@ -215,6 +217,14 @@ numberRequired = Ein Zahl wird ben\u00f6tigt.
|
||||
onlyDayNight = /time unterst\u00fctzt nur day und night.
|
||||
onlyPlayers = Nur Spieler k\u00f6nnen {0} benutzen.
|
||||
onlySunStorm = /weather unterst\u00fctzt nur sun und storm.
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
parseError = Fehler beim Parsen von {0} in Zeile {1}
|
||||
pendingTeleportCancelled = \u00a7cLaufende Teleportierung abgebrochen.
|
||||
permissionsError = Permissions/GroupManager fehlt; Chat-Prefixe/-Suffixe sind ausgeschaltet.
|
||||
@ -239,14 +249,6 @@ powerToolNoSuchCommandAssigned = Command \u00a7c{0}\u00a7f has not been assigned
|
||||
powerToolRemove = Command \u00a7c{0}\u00a7f removed from {1}.
|
||||
powerToolRemoveAll = All commands removed from {0}.
|
||||
protectionOwner = \u00a76[EssentialsProtect] Besitzer dieses Blocks: {0}
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
questionFormat = \u00a77[Frage]\u00a7f {0}
|
||||
reloadAllPlugins = \u00a77Alle plugins neu geladen.
|
||||
repair = You have successfully repaired your: \u00a7e{0}.
|
||||
@ -340,10 +342,10 @@ voiceSilenced = \u00a77Du bist stumm
|
||||
warpDeleteError = Fehler beim L\u00f6schen der Warp-Datei.
|
||||
warpListPermission = \u00a7cDu hast keine Berechtigung, die Warp-Punkte anzuzeigen.
|
||||
warpNotExist = Warp-Punkt existiert nicht.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
warpSet = \u00a77Warp-Punkt {0} wurde erstellt.
|
||||
warpUsePermission = \u00a7cDu hast keinen Zugriff f\u00fcr diesen Warp-Punkt.
|
||||
warpingTo = \u00a77Teleportiere zu Warp-Punkt {0}.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
weatherStorm = \u00a77In deiner Welt st\u00fcrmt es nun.
|
||||
weatherStormFor = \u00a77In deiner Welt st\u00fcrmt es nun f\u00fcr {0} Sekunden.
|
||||
weatherSun = \u00a77In deiner Welt scheint nun die Sonne.
|
||||
|
@ -8,14 +8,15 @@ alertBroke = broke:
|
||||
alertFormat = \u00a73[{0}] \u00a7f {1} \u00a76 {2} at: {3}
|
||||
alertPlaced = placed:
|
||||
alertUsed = used:
|
||||
autoAfkKickReason=You have been kicked for idling more than {0} minutes.
|
||||
backAfterDeath = \u00a77Use the /back command to return to your death point.
|
||||
backUsageMsg = \u00a77Returning to previous location.
|
||||
backupFinished = Backup finished
|
||||
backupStarted = Backup started
|
||||
balance = \u00a77Balance: {0}
|
||||
balanceTop = \u00a77 Top {0} balances
|
||||
banIpAddress = \u00a77Banned IP address
|
||||
banExempt = \u00a7cYou can not ban that player.
|
||||
banIpAddress = \u00a77Banned IP address
|
||||
bannedIpsFileError = Error reading banned-ips.txt
|
||||
bannedIpsFileNotFound = banned-ips.txt not found
|
||||
bannedPlayersFileError = Error reading banned-players.txt
|
||||
@ -96,9 +97,9 @@ helpConsole = To view help from the console, type ?.
|
||||
helpOp = \u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1}
|
||||
helpPages = Page \u00a7c{0}\u00a7f of \u00a7c{1}\u00a7f:
|
||||
holeInFloor = Hole in floor
|
||||
homes = Homes: {0}
|
||||
homeSet = \u00a77Home set.
|
||||
homeSetToBed = \u00a77Your home is now set to this bed.
|
||||
homes = Homes: {0}
|
||||
hour = hour
|
||||
hours = hours
|
||||
ignorePlayer = You ignore player {0} from now on.
|
||||
@ -183,6 +184,7 @@ mutedUserSpeaks = {0} tried to speak, but is muted.
|
||||
needTpohere = You need access to /tpohere to teleport other players.
|
||||
negativeBalanceError = User is not allowed to have a negative balance.
|
||||
nickChanged = Nickname changed.
|
||||
nickDisplayName=\u00a77You have to enable change-displayname in Essentials config.
|
||||
nickInUse = \u00a7cThat name is already in use.
|
||||
nickNamesAlpha = \u00a7cNicknames must be alphanumeric.
|
||||
nickNoMore = \u00a77You no longer have a nickname.
|
||||
@ -215,6 +217,14 @@ numberRequired = A number goes there, silly.
|
||||
onlyDayNight = /time only supports day/night.
|
||||
onlyPlayers = Only in-game players can use {0}.
|
||||
onlySunStorm = /weather only supports sun/storm.
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
parseError = Error parsing {0} on line {1}
|
||||
pendingTeleportCancelled = \u00a7cPending teleportation request cancelled.
|
||||
permissionsError = Missing Permissions/GroupManager; chat prefixes/suffixes will be disabled.
|
||||
@ -239,14 +249,6 @@ powerToolNoSuchCommandAssigned = Command \u00a7c{0}\u00a7f has not been assigned
|
||||
powerToolRemove = Command \u00a7c{0}\u00a7f removed from {1}.
|
||||
powerToolRemoveAll = All commands removed from {0}.
|
||||
protectionOwner = \u00a76[EssentialsProtect] Protection owner: {0}
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
questionFormat = \u00a77[Question]\u00a7f {0}
|
||||
reloadAllPlugins = \u00a77Reloaded all plugins.
|
||||
repair = You have successfully repaired your: \u00a7e{0}.
|
||||
@ -340,10 +342,10 @@ voiceSilenced = \u00a77Your voice has been silenced
|
||||
warpDeleteError = Problem deleting the warp file.
|
||||
warpListPermission = \u00a7cYou do not have Permission to list that warps.
|
||||
warpNotExist = That warp does not exist.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
warpSet = \u00a77Warp {0} set.
|
||||
warpUsePermission = \u00a7cYou do not have Permission to use that warp.
|
||||
warpingTo = \u00a77Warping to {0}.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
weatherStorm = \u00a77You set the weather to storm in your world
|
||||
weatherStormFor = \u00a77You set the weather to storm in your world for {0} seconds
|
||||
weatherSun = \u00a77You set the weather to sun in your world
|
||||
|
@ -8,14 +8,15 @@ alertBroke = a cass\u00e9:
|
||||
alertFormat = \u00a73[{0}] \u00a7f {1} \u00a76 {2} \u00e0:{3}
|
||||
alertPlaced = a plac\u00e9:
|
||||
alertUsed = a utilis\u00e9:
|
||||
autoAfkKickReason=You have been kicked for idling more than {0} minutes.
|
||||
backAfterDeath = \u00a77Utilisez la commande /back pour retourner \u00e0 l''endroit ou vous \u00eates mort.
|
||||
backUsageMsg = \u00a77Retour a votre emplacement pr\u00e9c\u00e8dent.
|
||||
backupFinished = Backup termin\u00e9
|
||||
backupStarted = D\u00e9but du backup
|
||||
balance = \u00a77Solde: {0}
|
||||
balanceTop = \u00a77 Top {0} soldes
|
||||
banIpAddress = \u00a77Adresse IP banni
|
||||
banExempt = \u00a77Vous ne pouvez pas interdire ce joueur.
|
||||
banIpAddress = \u00a77Adresse IP banni
|
||||
bannedIpsFileError = Erreur de lecture de banned-ips.txt
|
||||
bannedIpsFileNotFound = Fichier banned-ips.txt introuvable
|
||||
bannedPlayersFileError = Erreur lors de la lecture de banned-players.txt
|
||||
@ -96,9 +97,9 @@ helpConsole = Pour voir l''aide tapez ?
|
||||
helpOp = \u00a7c[Aide Admin]\u00a7f \u00a77{0}:\u00a7f {1}
|
||||
helpPages = Page \u00a7c{0}\u00a7f sur \u00a7c{1}\u00a7f.
|
||||
holeInFloor = Trou dans le Sol.
|
||||
homes = Homes: {0}
|
||||
homeSet = \u00a77Home d\u00e9fini.
|
||||
homeSetToBed = \u00a77Votre home est d\u00e9sormais d\u00e9fini sur ce lit.
|
||||
homes = Homes: {0}
|
||||
hour = heure
|
||||
hours = heures
|
||||
ignorePlayer = Vous ignorez d\u00e9sormais {0}.
|
||||
@ -183,6 +184,7 @@ mutedUserSpeaks = {0} a essay\u00e9 de parler mais est muet.
|
||||
needTpohere = Vous avez besoin de l''acc\u00e8s \u00e0 /tpohere pour t\u00e9l\u00e9porter d''autres joueurs.
|
||||
negativeBalanceError = L''utilisateur n''est pas autoris\u00e9 \u00e0 avoir un solde n\u00e9gatif.
|
||||
nickChanged = Pseudo modifi\u00e9.
|
||||
nickDisplayName=\u00a77You have to enable change-displayname in Essentials config.
|
||||
nickInUse = \u00a7cCe nom est d\u00e9j\u00e0 utilis\u00e9.
|
||||
nickNamesAlpha = \u00a7cLes pseudos doivent \u00eatre alphanum\u00e9riques.
|
||||
nickNoMore = \u00a7Vous n''avez plus de surnom.
|
||||
@ -215,6 +217,14 @@ numberRequired = On a besoin d''un nombre ici, idiot.
|
||||
onlyDayNight = /time ne supporte que (jour) day/night (nuit).
|
||||
onlyPlayers = Seulement les joueurs en jeu peuvent utiliser {0}.
|
||||
onlySunStorm = /weather only supports sun/storm.
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
parseError = Erreur de conversion {0} \u00e0 la ligne {1}
|
||||
pendingTeleportCancelled = \u00a7cRequete de t\u00e9l\u00e9portation annul\u00e9e.
|
||||
permissionsError = Permissions/GroupManager manquant, les pr\u00e9fixes et suffixes ne seront pas affich\u00e9s.
|
||||
@ -239,14 +249,6 @@ powerToolNoSuchCommandAssigned = Command \u00a7c{0}\u00a7f has not been assigned
|
||||
powerToolRemove = Command \u00a7c{0}\u00a7f removed from {1}.
|
||||
powerToolRemoveAll = All commands removed from {0}.
|
||||
protectionOwner = \u00a76[EssentialsProtect] Propri\u00e9taire de la protection : {0}
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
questionFormat = \u00a77[Question]\u00a7f {0}
|
||||
reloadAllPlugins = \u00a77Tous les plugins ont \u00e9t\u00e9 recharg\u00e9s.
|
||||
repair = You have successfully repaired your: \u00a7e{0}.
|
||||
@ -340,10 +342,10 @@ voiceSilenced = \u00a77Votre voix a \u00e9t\u00e9 r\u00e9duite au silence
|
||||
warpDeleteError = Probl\u00e8me concernant la suppression du fichier warp.
|
||||
warpListPermission = \u00a7cVous n''avez pas la permission d''afficher la liste des warps.
|
||||
warpNotExist = Ce warp n''existe pas.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
warpSet = \u00a77Le warp {0} a \u00e9t\u00e9 cr\u00e9\u00e9.
|
||||
warpUsePermission = \u00a7cVous n''avez pas la permission d''utiliser ce warp.
|
||||
warpingTo = \u00a77T\u00e9l\u00e9portation au warp {0}.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
weatherStorm = \u00a77Vous avez d\u00e9fini l''orage dans votre monde
|
||||
weatherStormFor = \u00a77Vous avez d\u00e9fini l''orage dans votre monde pour {0} secondes.
|
||||
weatherSun = \u00a77Vous avez mis le beau temps dans votre monde
|
||||
|
@ -8,14 +8,15 @@ alertBroke = gebroken:
|
||||
alertFormat = \u00a73[{0}] \u00a7f {1} \u00a76 {2} bij: {3}
|
||||
alertPlaced = geplaatst:
|
||||
alertUsed = gebruikt:
|
||||
autoAfkKickReason=You have been kicked for idling more than {0} minutes.
|
||||
backAfterDeath = \u00a77Gebruik het /back command om terug te keren naar je sterfplaats.
|
||||
backUsageMsg = \u00a77Naar de vorige locatie aan het gaan.
|
||||
backupFinished = Backup voltooid
|
||||
backupStarted = Backup gestart
|
||||
balance = \u00a77Saldo: {0}
|
||||
balanceTop = \u00a77 Top {0} saldi
|
||||
banIpAddress = \u00a77Verbannen IP-adres
|
||||
banExempt = \u00a77Je kunt deze speler niet verbannen.
|
||||
banIpAddress = \u00a77Verbannen IP-adres
|
||||
bannedIpsFileError = Fout bij het lezen van banned-ips.txt
|
||||
bannedIpsFileNotFound = banned-ips.txt werd niet gevonden
|
||||
bannedPlayersFileError = Fout bij het lezen van banned-players.txt
|
||||
@ -96,9 +97,9 @@ helpConsole = type ? om de consolehelp weer te geven.
|
||||
helpOp = \u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1}
|
||||
helpPages = Pagina \u00a7c{0}\u00a7f van de \u00a7c{1}\u00a7f:
|
||||
holeInFloor = Gat in de vloer
|
||||
homes = Homes: {0}
|
||||
homeSet = \u00a77Home ingesteld.
|
||||
homeSetToBed = \u00a77Je home is is nu verplaatst naar dit bed.
|
||||
homes = Homes: {0}
|
||||
hour = uur
|
||||
hours = uren
|
||||
ignorePlayer = Je negeert {0} vanaf nu.
|
||||
@ -183,6 +184,7 @@ mutedUserSpeaks = {0} probeerde te praten, maar is gemute.
|
||||
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.
|
||||
nickDisplayName=\u00a77You have to enable change-displayname in Essentials config.
|
||||
nickInUse = \u00a7cDie naam is al in gebruik.
|
||||
nickNamesAlpha = \u00a7cNicknames moeten alfanumeriek zijn.
|
||||
nickNoMore = \u00a7Je hebt geen nickname meer.
|
||||
@ -215,6 +217,14 @@ numberRequired = Er moet daar een nummer, grapjas.
|
||||
onlyDayNight = /time ondersteund alleen day/night.
|
||||
onlyPlayers = Alleen in-game spelers kunnen {0} gebruiken.
|
||||
onlySunStorm = /weather only supports sun/storm.
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
parseError = Fout bij ontleding {0} op regel {1}
|
||||
pendingTeleportCancelled = \u00a7cAangevraagde teleportatie afgelast.
|
||||
permissionsError = Permissions/GroupManager ontbreekt; chat prefixes/suffixes worden uitgeschakeld.
|
||||
@ -239,14 +249,6 @@ powerToolNoSuchCommandAssigned = Command \u00a7c{0}\u00a7f has not been assigned
|
||||
powerToolRemove = Command \u00a7c{0}\u00a7f removed from {1}.
|
||||
powerToolRemoveAll = All commands removed from {0}.
|
||||
protectionOwner = \u00a76[EssentialsProtect] Beschermingeigenaar: {0}
|
||||
pTimeCurrent = \u00a7e{0}''s\u00a7f time is {1}.
|
||||
pTimeCurrentFixed = \u00a7e{0}''s\u00a7f time is fixed to {1}.
|
||||
pTimeNormal = \u00a7e{0}''s\u00a7f time is normal and matches the server.
|
||||
pTimeOthersPermission = \u00a7cYou are not authorized to set other players'' time.
|
||||
pTimePlayers = These players have their own time:
|
||||
pTimeReset = Player time has been reset for: \u00a7e{0}
|
||||
pTimeSet = Player time is set to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
pTimeSetFixed = Player time is fixed to \u00a73{0}\u00a7f for: \u00a7e{1}
|
||||
questionFormat = \u00a77[Vraag]\u00a7f {0}
|
||||
reloadAllPlugins = \u00a77Alle plugins zijn herladen.
|
||||
repair = You have successfully repaired your: \u00a7e{0}.
|
||||
@ -340,10 +342,10 @@ voiceSilenced = \u00a77Je kan niet meer praten
|
||||
warpDeleteError = Fout bij het verwijderen van het warp bestand.
|
||||
warpListPermission = \u00a7cJe hebt geen toegang om die warp te maken.
|
||||
warpNotExist = Die warp bestaat niet.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
warpSet = \u00a77Warp {0} ingesteld.
|
||||
warpUsePermission = \u00a7cOnbevoegd om die warp te gebruiken.
|
||||
warpingTo = \u00a77Aan het warpen naar {0}.
|
||||
warpsCount = \u00a77There are {0} warps. Showing page {1} of {2}.
|
||||
weatherStorm = \u00a77Je hebt het weer naar storm gezet in de wereld
|
||||
weatherStormFor = \u00a77Je hebt het weer in de wereld naar storm gezet voor {0} seconde
|
||||
weatherSun = \u00a77Je hebt het weer naar zon gezet in de wereld
|
||||
|
@ -208,7 +208,7 @@ commands:
|
||||
aliases: [pong,eping,epong]
|
||||
powertool:
|
||||
description: Assigns a command to the item in hand, {player} will be replaced by the name of the player that you click.
|
||||
usage: /<command> [list|a:|r:][command] <arguments>
|
||||
usage: /<command> [l:|a:|r:][command] <arguments>
|
||||
aliases: [pt,epowertool,ept]
|
||||
ptime:
|
||||
description: Adjust player's client time. Add @ prefix to fix.
|
||||
|
@ -61,7 +61,7 @@ public class EssentialsProtectBlockListener extends BlockListener
|
||||
}
|
||||
|
||||
final Block below = blockPlaced.getRelative(BlockFace.DOWN);
|
||||
if (below.getType() == Material.RAILS
|
||||
if ((below.getType() == Material.RAILS || below.getType() == Material.POWERED_RAIL || below.getType() == Material.DETECTOR_RAIL)
|
||||
&& prot.getSettingBool(ProtectConfig.prevent_block_on_rail)
|
||||
&& prot.getStorage().isProtected(below, user.getName()))
|
||||
{
|
||||
@ -70,7 +70,7 @@ public class EssentialsProtectBlockListener extends BlockListener
|
||||
}
|
||||
|
||||
final List<Block> protect = new ArrayList<Block>();
|
||||
if (blockPlaced.getType() == Material.RAILS
|
||||
if ((blockPlaced.getType() == Material.RAILS || blockPlaced.getType() == Material.POWERED_RAIL || blockPlaced.getType() == Material.DETECTOR_RAIL)
|
||||
&& prot.getSettingBool(ProtectConfig.protect_rails)
|
||||
&& user.isAuthorized("essentials.protect"))
|
||||
{
|
||||
@ -103,8 +103,8 @@ public class EssentialsProtectBlockListener extends BlockListener
|
||||
{
|
||||
return;
|
||||
}
|
||||
Block block = event.getBlock();
|
||||
if (block.getType() == Material.RAILS
|
||||
final Block block = event.getBlock();
|
||||
if ((block.getType() == Material.RAILS || block.getType() == Material.POWERED_RAIL || block.getType() == Material.DETECTOR_RAIL)
|
||||
&& prot.getSettingBool(ProtectConfig.protect_rails))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
@ -155,7 +155,7 @@ public class EssentialsProtectBlockListener extends BlockListener
|
||||
return;
|
||||
}
|
||||
final Block toBlock = event.getToBlock();
|
||||
if (toBlock.getType() == Material.RAILS
|
||||
if ((toBlock.getType() == Material.RAILS || toBlock.getType() == Material.POWERED_RAIL || toBlock.getType() == Material.DETECTOR_RAIL)
|
||||
&& prot.getSettingBool(ProtectConfig.protect_rails))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
@ -196,7 +196,7 @@ public class EssentialsProtectBlockListener extends BlockListener
|
||||
return;
|
||||
}
|
||||
final Block block = event.getBlock();
|
||||
if (block.getType() == Material.RAILS && prot.getSettingBool(ProtectConfig.protect_rails))
|
||||
if ((block.getType() == Material.RAILS || block.getType() == Material.POWERED_RAIL || block.getType() == Material.DETECTOR_RAIL) && prot.getSettingBool(ProtectConfig.protect_rails))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
return;
|
||||
@ -257,10 +257,10 @@ public class EssentialsProtectBlockListener extends BlockListener
|
||||
|
||||
if (user.isAuthorized("essentials.protect.admin"))
|
||||
{
|
||||
if (type == Material.WALL_SIGN || type == Material.SIGN_POST || type == Material.RAILS)
|
||||
if (type == Material.WALL_SIGN || type == Material.SIGN_POST || type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL)
|
||||
{
|
||||
storage.unprotectBlock(block);
|
||||
if (type == Material.RAILS || type == Material.SIGN_POST)
|
||||
if (type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL || type == Material.SIGN_POST)
|
||||
{
|
||||
final Block below = block.getRelative(BlockFace.DOWN);
|
||||
storage.unprotectBlock(below);
|
||||
@ -293,10 +293,10 @@ public class EssentialsProtectBlockListener extends BlockListener
|
||||
}
|
||||
else
|
||||
{
|
||||
if (type == Material.WALL_SIGN || type == Material.SIGN_POST || type == Material.RAILS)
|
||||
if (type == Material.WALL_SIGN || type == Material.SIGN_POST || type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL)
|
||||
{
|
||||
storage.unprotectBlock(block);
|
||||
if (type == Material.RAILS || type == Material.SIGN_POST)
|
||||
if (type == Material.RAILS || type == Material.POWERED_RAIL || type == Material.DETECTOR_RAIL || type == Material.SIGN_POST)
|
||||
{
|
||||
final Block below = block.getRelative(BlockFace.DOWN);
|
||||
storage.unprotectBlock(below);
|
||||
@ -337,7 +337,11 @@ public class EssentialsProtectBlockListener extends BlockListener
|
||||
return;
|
||||
}
|
||||
if ((block.getRelative(BlockFace.UP).getType() == Material.RAILS
|
||||
|| block.getType() == Material.RAILS)
|
||||
|| block.getType() == Material.RAILS
|
||||
|| block.getRelative(BlockFace.UP).getType() == Material.POWERED_RAIL
|
||||
|| block.getType() == Material.POWERED_RAIL
|
||||
|| block.getRelative(BlockFace.UP).getType() == Material.DETECTOR_RAIL
|
||||
|| block.getType() == Material.DETECTOR_RAIL)
|
||||
&& prot.getSettingBool(ProtectConfig.protect_rails))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
@ -385,7 +389,11 @@ public class EssentialsProtectBlockListener extends BlockListener
|
||||
return;
|
||||
}
|
||||
if ((block.getRelative(BlockFace.UP).getType() == Material.RAILS
|
||||
|| block.getType() == Material.RAILS)
|
||||
|| block.getType() == Material.RAILS
|
||||
|| block.getRelative(BlockFace.UP).getType() == Material.POWERED_RAIL
|
||||
|| block.getType() == Material.POWERED_RAIL
|
||||
|| block.getRelative(BlockFace.UP).getType() == Material.DETECTOR_RAIL
|
||||
|| block.getType() == Material.DETECTOR_RAIL)
|
||||
&& prot.getSettingBool(ProtectConfig.protect_rails))
|
||||
{
|
||||
event.setCancelled(true);
|
||||
|
Loading…
Reference in New Issue
Block a user