Compare commits

...
Author SHA1 Message Date
snowleo 621618e41f Merge branch 'master' into release 2011-07-21 02:58:39 +02:00
snowleo 54559172c6 /unlimited: Instead of 2, give the player a full stack 2011-07-21 02:58:20 +02:00
snowleo 6ccb60813a Merge branch 'master' into release 2011-07-21 02:52:25 +02:00
snowleo 2067bb8f0d EssentialsChat: The user should see his own message
Corrected radius
2011-07-21 02:42:54 +02:00
snowleo b34119901e Merge branch 'master' into release 2011-07-21 02:29:45 +02:00
snowleo 4f31d2779d Null pointer check for Perm 2.7.4 prefix/suffix 2011-07-21 02:09:54 +02:00
snowleo ed29f29622 Merge pull request #15 from khobbits/patch-3
Not sure how well this would work, but its probably worth giving the user at least two of the item to combat client lag, if you try and build something with unlimited, but you only have 1 item, client lag prevents you from doing so quickly, because you need to wait for the server to give you back the item.
2011-07-20 16:44:51 -07:00
snowleo b8e41df0f6 Merge pull request #16 from Brettflan/master
Fix for local chat, leftover Factions cleanup
2011-07-20 16:43:41 -07:00
Brettflan 602517473d Fix for local chat not working (instead acting just like global chat) 2011-07-20 18:08:02 -05:00
Brettflan cee0823db4 Removed leftovers from initial Factions integration 2011-07-20 18:06:58 -05:00
snowleo b317aef8c9 Merge branch 'master' into release 2011-07-21 00:31:39 +02:00
snowleo 8b41219fcc Updated VanishNoPickup:
vanish player if they are set as hidden on join
2011-07-20 23:58:41 +02:00
snowleo 61fa43a769 Updated VanishNoPickup
Correctly save hidden users
Allow /vanish hide playername from console
2011-07-20 23:48:21 +02:00
snowleo fdbc6fa94f Merge branch 'master' into release 2011-07-20 23:18:34 +02:00
snowleo 28dd14d38c Fix /time for players without essentials.time.world 2011-07-20 23:18:09 +02:00
snowleo 0ffe24903a Merge branch 'master' into release 2011-07-20 23:09:40 +02:00
snowleo f6e6e0042a Updated VanishNoPickup
Moved /noaggro command to /vanish aggro
2011-07-20 23:08:47 +02:00
snowleo e550a7cc44 Merge branch 'master' into release 2011-07-20 22:37:43 +02:00
snowleo 9efc0840e3 VanishNoPickup 1.9.12+essentials2 2011-07-20 22:35:59 +02:00
snowleo 82165a2af6 Merge branch 'master' into release 2011-07-20 22:22:02 +02:00
snowleo 815b700eac Don't return offline players with getPlayer() 2011-07-20 22:14:56 +02:00
snowleo fcda9f9d3b Prevent players to create correct signs with essentials.signs.color permission. 2011-07-20 22:04:02 +02:00
snowleo aa663c0c98 Don't teleport to offline users. 2011-07-20 22:03:15 +02:00
snowleo bda2f5e615 Show player not found message, if no unhidden player is found in /msg 2011-07-20 21:36:23 +02:00
snowleo 377f967dab Native support for PermissionsEx 2011-07-20 20:42:19 +02:00
KHobbits d5c8d0c1bf Not sure how well this would work, but its probably worth giving the user at least two of the item to combat client lag, if you try and build something with unlimited, but you only have 1 item, client lag prevents you from doing so quickly, because you need to wait for the server to give you back the item. 2011-07-20 08:15:40 -07:00
18 changed files with 180 additions and 70 deletions

No files matched your search

+3 -1
View File
@@ -32,6 +32,7 @@ file.reference.iCo4.jar=../lib/iCo4.jar
file.reference.iCo5.jar=../lib/iCo5.jar
file.reference.junit-4.5.jar=..\\lib\\junit_4\\junit-4.5.jar
file.reference.Permissions3.jar=../lib/Permissions3.jar
file.reference.PermissionsEx.jar=../lib/PermissionsEx.jar
includes=**
jar.compress=false
javac.classpath=\
@@ -39,7 +40,8 @@ javac.classpath=\
${file.reference.craftbukkit-0.0.1-SNAPSHOT.jar}:\
${file.reference.iCo4.jar}:\
${file.reference.iCo5.jar}:\
${file.reference.BOSEconomy7.jar}
${file.reference.BOSEconomy7.jar}:\
${file.reference.PermissionsEx.jar}
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false
@@ -143,32 +143,7 @@ public class Essentials extends JavaPlugin implements IEssentials
LOGGER.log(Level.INFO, Util.i18n("bukkitFormatChanged"));
}
final Plugin permissionsPlugin = pm.getPlugin("Permissions");
if (permissionsPlugin != null)
{
if (permissionsPlugin.getDescription().getVersion().charAt(0) == '3')
{
this.permissionsHandler = new Permissions3Handler(permissionsPlugin);
}
else
{
this.permissionsHandler = new Permissions2Handler(permissionsPlugin);
}
}
else
{
if (this.getSettings().useBukkitPermissions())
{
this.permissionsHandler = new BukkitPermissionsHandler();
}
else
{
this.permissionsHandler = new ConfigPermissionsHandler(this);
}
}
final ServerListener serverListener = new EssentialsPluginListener(paymentMethod);
final ServerListener serverListener = new EssentialsPluginListener(this);
pm.registerEvent(Type.PLUGIN_ENABLE, serverListener, Priority.Low, this);
pm.registerEvent(Type.PLUGIN_DISABLE, serverListener, Priority.Low, this);
@@ -663,6 +638,11 @@ public class Essentials extends JavaPlugin implements IEssentials
{
return permissionsHandler;
}
public void setPermissionsHandler(IPermissionsHandler handler)
{
this.permissionsHandler = handler;
}
public BanWorkaround getBans()
{
@@ -6,40 +6,76 @@ import java.util.logging.Logger;
import org.bukkit.event.server.PluginDisableEvent;
import org.bukkit.event.server.PluginEnableEvent;
import org.bukkit.event.server.ServerListener;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
public class EssentialsPluginListener extends ServerListener
{
private final Methods methods;
private static final Logger logger = Logger.getLogger("Minecraft");
private final transient IEssentials ess;
private static final Logger LOGGER = Logger.getLogger("Minecraft");
public EssentialsPluginListener(Methods methods)
public EssentialsPluginListener(final IEssentials ess)
{
this.methods = methods;
this.ess = ess;
}
@Override
public void onPluginEnable(PluginEnableEvent event)
public void onPluginEnable(final PluginEnableEvent event)
{
if (!methods.hasMethod())
checkPermissions();
if (!ess.getPaymentMethod().hasMethod() && ess.getPaymentMethod().setMethod(event.getPlugin()))
{
if (methods.setMethod(event.getPlugin()))
{
logger.log(Level.INFO, "[Essentials] Payment method found (" + methods.getMethod().getName() + " version: " + methods.getMethod().getVersion() + ")");
}
LOGGER.log(Level.INFO, "[Essentials] Payment method found (" + ess.getPaymentMethod().getMethod().getName() + " version: " + ess.getPaymentMethod().getMethod().getVersion() + ")");
}
}
@Override
public void onPluginDisable(PluginDisableEvent event)
{
checkPermissions();
// Check to see if the plugin thats being disabled is the one we are using
if (methods != null && methods.hasMethod())
if (ess.getPaymentMethod() != null && ess.getPaymentMethod().hasMethod() && ess.getPaymentMethod().checkDisabled(event.getPlugin()))
{
if (methods.checkDisabled(event.getPlugin()))
LOGGER.log(Level.INFO, "[Essentials] Payment method was disabled. No longer accepting payments.");
}
}
private void checkPermissions()
{
final PluginManager pm = ess.getServer().getPluginManager();
final Plugin permissionsExPlugin = pm.getPlugin("PermissionsEx");
if (permissionsExPlugin == null || !permissionsExPlugin.isEnabled())
{
final Plugin permissionsPlugin = pm.getPlugin("Permissions");
if (permissionsPlugin == null || !permissionsPlugin.isEnabled())
{
logger.log(Level.INFO, "[Essentials] Payment method was disabled. No longer accepting payments.");
if (ess.getSettings().useBukkitPermissions())
{
ess.setPermissionsHandler(new BukkitPermissionsHandler());
}
else
{
ess.setPermissionsHandler(new ConfigPermissionsHandler(ess));
}
}
else
{
if (permissionsPlugin.getDescription().getVersion().charAt(0) == '3')
{
ess.setPermissionsHandler(new Permissions3Handler(permissionsPlugin));
}
else
{
ess.setPermissionsHandler(new Permissions2Handler(permissionsPlugin));
}
}
}
else
{
ess.setPermissionsHandler(new PermissionsExHandler());
}
}
}
@@ -59,9 +59,11 @@ public interface IEssentials extends Plugin
IPermissionsHandler getPermissionsHandler();
void setPermissionsHandler(IPermissionsHandler handler);
void showError(final CommandSender sender, final Throwable exception, final String commandLabel);
Map<String, User> getAllUsers();
ItemDb getItemDb();
}
@@ -9,7 +9,7 @@ import org.bukkit.plugin.Plugin;
public class Permissions2Handler implements IPermissionsHandler
{
private final transient PermissionHandler permissionHandler;
Permissions2Handler(final Plugin permissionsPlugin)
{
permissionHandler = ((Permissions)permissionsPlugin).getHandler();
@@ -37,12 +37,13 @@ public class Permissions2Handler implements IPermissionsHandler
public String getPrefix(final Player base)
{
return permissionHandler.getGroupPrefix(base.getWorld().getName(), getGroup(base));
final String prefix = permissionHandler.getGroupPrefix(base.getWorld().getName(), getGroup(base));
return prefix == null ? "" : prefix;
}
public String getSuffix(final Player base)
{
return permissionHandler.getGroupSuffix(base.getWorld().getName(), getGroup(base));
final String suffix = permissionHandler.getGroupSuffix(base.getWorld().getName(), getGroup(base));
return suffix == null ? "" : suffix;
}
}
@@ -0,0 +1,74 @@
package com.earth2me.essentials;
import org.bukkit.entity.Player;
import ru.tehkode.permissions.PermissionManager;
import ru.tehkode.permissions.PermissionUser;
import ru.tehkode.permissions.bukkit.PermissionsEx;
class PermissionsExHandler implements IPermissionsHandler
{
private final transient PermissionManager manager;
public PermissionsExHandler()
{
manager = PermissionsEx.getPermissionManager();
}
public String getGroup(Player base)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return "default";
}
return user.getGroupsNames()[0];
}
public boolean canBuild(Player base, String group)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return true;
}
return user.getOptionBoolean("build", base.getWorld().getName(), true);
}
public boolean inGroup(Player base, String group)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return false;
}
return user.inGroup(group);
}
public boolean hasPermission(Player base, String node)
{
return manager.has(base.getName(), node, base.getWorld().getName());
}
public String getPrefix(Player base)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return "";
}
return user.getPrefix();
}
public String getSuffix(Player base)
{
final PermissionUser user = manager.getUser(base.getName());
if (user == null)
{
return "";
}
return user.getSuffix();
}
}
@@ -218,7 +218,7 @@ public class Util
public static Location getSafeDestination(Location loc) throws Exception
{
if (loc == null)
if (loc == null || loc.getWorld() == null)
{
throw new Exception(Util.i18n("destinationNotSet"));
}
@@ -48,10 +48,25 @@ public class Commandmsg extends EssentialsCommand
sender.sendMessage(Util.i18n("playerNotFound"));
return;
}
int i = 0;
for (Player p : matches)
{
final User u = ess.getUser(p);
if (u.isHidden())
{
i++;
}
}
if (i == matches.size())
{
sender.sendMessage(Util.i18n("playerNotFound"));
return;
}
charge(sender);
for (Player p : matches)
{
{
sender.sendMessage(Util.format("msgFormat", translatedMe, p.getDisplayName(), message));
final User u = ess.getUser(p);
if (sender instanceof Player && (u.isIgnoredPlayer(((Player)sender).getName()) || u.isHidden()))
@@ -33,7 +33,7 @@ public class Commandtime extends EssentialsCommand
else
{
charge(user);
setPlayerTime(user, commandLabel);
setPlayerTime(user, args[0]);
}
}
else
@@ -55,7 +55,8 @@ public class Commandunlimited extends EssentialsCommand
return;
}
ItemStack stack = ess.getItemDb().get(args[0], 1);
final ItemStack stack = ess.getItemDb().get(args[0], 1);
stack.setAmount(stack.getType().getMaxStackSize());
String itemname = stack.getType().toString().toLowerCase().replace("_", "");
if (!user.isAuthorized("essentials.unlimited.item-all")
@@ -6,6 +6,7 @@ import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import com.earth2me.essentials.IEssentials;
import com.earth2me.essentials.OfflinePlayer;
import org.bukkit.entity.Player;
import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
@@ -44,7 +45,7 @@ public abstract class EssentialsCommand implements IEssentialsCommand
User user = ess.getAllUsers().get(args[pos].toLowerCase());
if (user != null)
{
if(!getOffline && user.isHidden())
if(!getOffline && (user.getBase() instanceof OfflinePlayer || user.isHidden()))
{
throw new NoSuchFieldException(Util.i18n("playerNotFound"));
}
@@ -88,6 +88,14 @@ public class SignBlockListener extends BlockListener
{
return;
}
User user = ess.getUser(event.getPlayer());
if (user.isAuthorized("essentials.signs.color"))
{
for (int i = 0; i < 4; i++)
{
event.setLine(i, event.getLine(i).replaceAll("&([0-9a-f])", "§$1"));
}
}
for (Signs signs : Signs.values())
{
final EssentialsSign sign = signs.getSign();
@@ -103,14 +111,6 @@ public class SignBlockListener extends BlockListener
return;
}
}
User user = ess.getUser(event.getPlayer());
if (user.isAuthorized("essentials.signs.color"))
{
for (int i = 0; i < 4; i++)
{
event.setLine(i, event.getLine(i).replaceAll("&([0-9a-f])", "§$1"));
}
}
}
@Override
+1 -3
View File
@@ -27,13 +27,11 @@ dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath=
excludes=
file.reference.bukkit-0.0.1-SNAPSHOT.jar=../lib/bukkit-0.0.1-SNAPSHOT.jar
file.reference.Factions.jar=../lib/Factions.jar
includes=**
jar.compress=false
javac.classpath=\
${reference.Essentials.jar}:\
${file.reference.bukkit-0.0.1-SNAPSHOT.jar}:\
${file.reference.Factions.jar}
${file.reference.bukkit-0.0.1-SNAPSHOT.jar}
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false
@@ -22,8 +22,7 @@ public class EssentialsChat extends JavaPlugin
final PluginManager pluginManager = getServer().getPluginManager();
final IEssentials ess = (IEssentials)pluginManager.getPlugin("Essentials");
chatListener = new HashMap<String, IEssentialsChatListener>();
//EssentialsChatPlayerListener.checkFactions(pluginManager);
chatListener = new HashMap<String, IEssentialsChatListener>();
final EssentialsChatPlayerListener playerListener = new EssentialsChatPlayerListener(getServer(), ess, chatListener);
pluginManager.registerEvent(Type.PLAYER_CHAT, playerListener, Priority.Highest, this);
@@ -52,11 +52,12 @@ public class EssentialsChatPlayerListener extends PlayerListener
event.setFormat(ess.getSettings().getChatFormat(user.getGroup()).replace('&', '§').replace("§§", "&").replace("{DISPLAYNAME}", "%1$s").replace("{GROUP}", user.getGroup()).replace("{MESSAGE}", "%2$s").replace("{WORLDNAME}", user.getWorld().getName()).replace("{SHORTWORLDNAME}", user.getWorld().getName().substring(0, 1).toUpperCase()));
final int radius = ess.getSettings().getChatRadius();
long radius = ess.getSettings().getChatRadius();
if (radius < 1)
{
return;
}
radius *= radius;
if (event.getMessage().startsWith("!") && event.getMessage().length() > 1)
{
@@ -100,13 +101,13 @@ public class EssentialsChatPlayerListener extends PlayerListener
{
continue;
}
if (u.equals(user) && !u.isAuthorized("essentials.chat.spy"))
if (!u.isAuthorized("essentials.chat.spy"))
{
final Location l = u.getLocation();
final int dx = Math.abs(x - l.getBlockX());
final int dy = Math.abs(y - l.getBlockY());
final int dz = Math.abs(z - l.getBlockZ());
final int delta = dx + dy + dz;
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())
{
continue;
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.