mirror of
https://github.com/essentials/Essentials.git
synced 2025-08-12 09:35:26 +02:00
Updates to protect and geoip
This commit is contained in:
@@ -32,10 +32,7 @@ import net.ess3.economy.Economy;
|
||||
import net.ess3.economy.Trade;
|
||||
import net.ess3.economy.WorthHolder;
|
||||
import net.ess3.economy.register.Methods;
|
||||
import net.ess3.listener.*;
|
||||
import net.ess3.metrics.Metrics;
|
||||
import net.ess3.metrics.MetricsListener;
|
||||
import net.ess3.metrics.MetricsStarter;
|
||||
import net.ess3.ranks.RanksStorage;
|
||||
import net.ess3.settings.SettingsHolder;
|
||||
import net.ess3.settings.SpawnsHolder;
|
||||
@@ -44,13 +41,7 @@ import net.ess3.utils.ExecuteTimer;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.plugin.InvalidDescriptionException;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.yaml.snakeyaml.error.YAMLException;
|
||||
|
||||
|
||||
public class Essentials implements IEssentials
|
||||
|
@@ -14,5 +14,5 @@ public interface IPermission
|
||||
|
||||
Permission getPermission();
|
||||
|
||||
PermissionDefault getPermissionDefault();
|
||||
PermissionDefault getPermissionDefault();
|
||||
}
|
||||
|
@@ -14,6 +14,7 @@ import net.ess3.api.IUser;
|
||||
import net.ess3.api.InvalidNameException;
|
||||
import net.ess3.utils.gnu.inet.encoding.Punycode;
|
||||
import net.ess3.utils.gnu.inet.encoding.PunycodeException;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@@ -290,6 +291,45 @@ public final class Util
|
||||
}
|
||||
basePerm.recalculatePermissibles();
|
||||
}
|
||||
|
||||
private static transient final Pattern DOT_PATTERN = Pattern.compile("\\.");
|
||||
public static Permission registerPermission(String permission, PermissionDefault defaultPerm)
|
||||
{
|
||||
final PluginManager pluginManager = Bukkit.getServer().getPluginManager();
|
||||
final String[] parts = DOT_PATTERN.split(permission);
|
||||
final StringBuilder builder = new StringBuilder(permission.length());
|
||||
Permission parent = null;
|
||||
for (int i = 0; i < parts.length - 1; i++)
|
||||
{
|
||||
builder.append(parts[i]).append(".*");
|
||||
String permString = builder.toString();
|
||||
Permission perm = pluginManager.getPermission(permString);
|
||||
if (perm == null)
|
||||
{
|
||||
perm = new Permission(permString, PermissionDefault.FALSE);
|
||||
pluginManager.addPermission(perm);
|
||||
if (parent != null)
|
||||
{
|
||||
parent.getChildren().put(perm.getName(), Boolean.TRUE);
|
||||
}
|
||||
parent = perm;
|
||||
}
|
||||
builder.deleteCharAt(builder.length() - 1);
|
||||
}
|
||||
Permission perm = pluginManager.getPermission(permission);
|
||||
if (perm == null)
|
||||
{
|
||||
perm = new Permission(permission, defaultPerm);
|
||||
pluginManager.addPermission(perm);
|
||||
if (parent != null)
|
||||
{
|
||||
parent.getChildren().put(perm.getName(), Boolean.TRUE);
|
||||
}
|
||||
parent = perm;
|
||||
}
|
||||
perm.recalculatePermissibles();
|
||||
return perm;
|
||||
}
|
||||
private static transient final Pattern URL_PATTERN = Pattern.compile("((?:(?:https?)://)?[\\w-_\\.]{2,})\\.([a-z]{2,3}(?:/\\S+)?)");
|
||||
private static transient final Pattern VANILLA_PATTERN = Pattern.compile("\u00A7+[0-9A-FK-ORa-fk-or]");
|
||||
private static transient final Pattern REPLACE_PATTERN = Pattern.compile("&([0-9a-fk-or])");
|
||||
|
@@ -100,7 +100,7 @@ public class EssentialsGeoIPPlayerListener implements Listener, IReload
|
||||
final IUser user = ess.getUserMap().getUser(player);
|
||||
if (Permissions.GEOIP_SHOW.isAuthorized(user))
|
||||
{
|
||||
user.sendMessage(_("geoipJoinFormat", user.getDisplayName(), builder.toString()));
|
||||
user.sendMessage(_("geoipJoinFormat", user.getPlayer().getDisplayName(), builder.toString()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -102,7 +102,7 @@ public class EssentialsConnect
|
||||
{
|
||||
try
|
||||
{
|
||||
protect.setStorage(new ProtectedBlockSQLite("jdbc:sqlite:" + ess.getDataFolder() + "/EssentialsProtect.db"));
|
||||
protect.setStorage(new ProtectedBlockSQLite("jdbc:sqlite:" + ess.getPlugin().getDataFolder() + "/EssentialsProtect.db"));
|
||||
}
|
||||
catch (PropertyVetoException ex)
|
||||
{
|
||||
|
@@ -1,11 +1,9 @@
|
||||
package net.ess3.protect;
|
||||
|
||||
import static net.ess3.I18n._;
|
||||
import net.ess3.api.IEssentials;
|
||||
import com.earth2me.essentials.protect.data.IProtectedBlock;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static net.ess3.I18n._;
|
||||
import net.ess3.protect.data.IProtectedBlock;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
|
@@ -1,10 +1,10 @@
|
||||
package net.ess3.protect;
|
||||
|
||||
import net.ess3.api.IPermission;
|
||||
import net.ess3.permissions.AbstractSuperpermsPermission;
|
||||
import java.util.EnumMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import net.ess3.api.IPermission;
|
||||
import net.ess3.permissions.AbstractSuperpermsPermission;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.permissions.PermissionDefault;
|
||||
|
||||
@@ -32,7 +32,7 @@ public class ItemUsePermissions extends AbstractSuperpermsPermission
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPermission()
|
||||
public String getPermissionName()
|
||||
{
|
||||
return this.permission;
|
||||
}
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package net.ess3.protect;
|
||||
|
||||
import java.util.Locale;
|
||||
import net.ess3.api.IPermission;
|
||||
import net.ess3.utils.Util;
|
||||
import java.util.Locale;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.permissions.Permission;
|
||||
import org.bukkit.permissions.PermissionDefault;
|
||||
@@ -49,13 +49,13 @@ public enum Permissions implements IPermission
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPermission()
|
||||
public String getPermissionName()
|
||||
{
|
||||
return permission;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Permission getBukkitPermission()
|
||||
public Permission getPermission()
|
||||
{
|
||||
if (bukkitPerm != null)
|
||||
{
|
||||
@@ -63,7 +63,7 @@ public enum Permissions implements IPermission
|
||||
}
|
||||
else
|
||||
{
|
||||
return Util.registerPermission(getPermission(), getPermissionDefault());
|
||||
return Util.registerPermission(getPermissionName(), getPermissionDefault());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,6 @@ public enum Permissions implements IPermission
|
||||
@Override
|
||||
public boolean isAuthorized(final CommandSender sender)
|
||||
{
|
||||
return sender.hasPermission(getBukkitPermission());
|
||||
return sender.hasPermission(getPermission());
|
||||
}
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@ public class ProtectHolder extends AsyncStorageObjectHolder<Protect>
|
||||
@Override
|
||||
public File getStorageFile() throws IOException
|
||||
{
|
||||
return new File(ess.getDataFolder(), "protect.yml");
|
||||
return new File(ess.getPlugin().getDataFolder(), "protect.yml");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user