mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-12 12:23:59 +00:00
Merge branch 'master' into release
This commit is contained in:
commit
82165a2af6
10 changed files with 163 additions and 53 deletions
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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()))
|
||||
|
|
|
@ -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
|
||||
|
|
BIN
lib/PermissionsEx.jar
Normal file
BIN
lib/PermissionsEx.jar
Normal file
Binary file not shown.
Loading…
Reference in a new issue