Compare commits
17 Commits
Author | SHA1 | Date |
---|---|---|
Michel Roux | 75a9cad1e6 | |
Xéfir Destiny | 99fbed29e0 | |
Michel Roux | dfd4e1e1b4 | |
Michel Roux | a120301bef | |
Michel Roux | d443b464d4 | |
Michel Roux | a92b82e5da | |
Michel Roux | c43340ee15 | |
Michel Roux | d9311addab | |
Michel Roux | ad43193951 | |
Michel Roux | b6dedbd13a | |
Michel Roux | b92be6d2a9 | |
Michel Roux | 80c055d209 | |
Michel Roux | b9dcbbfc09 | |
Michel Roux | 4bac4a1d70 | |
Michel Roux | 79bc01d986 | |
Michel Roux | 8b8a304476 | |
Michel Roux | 9d8879f0b2 |
|
@ -16,46 +16,61 @@ public class SimplyAPI implements PermsConfig {
|
|||
@Override
|
||||
public void removePlayer(String player) {
|
||||
plugin.config.removePlayer(player);
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removePlayerGroups(String player) {
|
||||
plugin.config.removePlayerGroups(player);
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removePlayerGroup(String player, String group) {
|
||||
plugin.config.removePlayerGroup(player, group);
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerGroup(String player, String group) {
|
||||
plugin.config.setPlayerGroup(player, group);
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPlayerGroup(String player, String group) {
|
||||
plugin.config.addPlayerGroup(player, group);
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPlayerPermission(String player, String permission, boolean value) {
|
||||
plugin.config.addPlayerPermission(player, permission, value);
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPlayerPermission(String player, String world, String permission, boolean value) {
|
||||
plugin.config.addPlayerPermission(player, world, permission, value);
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removePlayerPermissions(String player) {
|
||||
plugin.config.removePlayerPermissions(player);
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removePlayerPermission(String player, String permission) {
|
||||
plugin.config.removePlayerPermission(player, permission);
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removePlayerPermission(String player, String world, String permission) {
|
||||
plugin.config.removePlayerPermission(player, world, permission);
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -111,16 +126,19 @@ public class SimplyAPI implements PermsConfig {
|
|||
@Override
|
||||
public void addGroupInheritance(String group, String inherit) {
|
||||
plugin.config.addGroupInheritance(group, inherit);
|
||||
refreshPermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGroupInheritance(String group, String inherit) {
|
||||
plugin.config.removeGroupInheritance(group, inherit);
|
||||
refreshPermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGroupInheritances(String group) {
|
||||
plugin.config.removeGroupInheritances(group);
|
||||
refreshPermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -136,31 +154,37 @@ public class SimplyAPI implements PermsConfig {
|
|||
@Override
|
||||
public void addGroupPermission(String group, String world, String permission, boolean value) {
|
||||
plugin.config.addGroupPermission(group, world, permission, value);
|
||||
refreshPermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addGroupPermission(String group, String permission, boolean value) {
|
||||
plugin.config.addGroupPermission(group, permission, value);
|
||||
refreshPermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGroupPermission(String group, String world, String permission) {
|
||||
plugin.config.removeGroupPermission(group, world, permission);
|
||||
refreshPermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGroupPermission(String group, String permission) {
|
||||
plugin.config.removeGroupPermission(group, permission);
|
||||
refreshPermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGroupPermissions(String group) {
|
||||
plugin.config.removeGroupPermissions(group);
|
||||
refreshPermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGroup(String group) {
|
||||
plugin.config.removeGroup(group);
|
||||
refreshPermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -176,11 +200,13 @@ public class SimplyAPI implements PermsConfig {
|
|||
@Override
|
||||
public void addMessage(String key, String message) {
|
||||
plugin.config.addMessage(key, message);
|
||||
plugin.refreshConfig();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeMessage(String key) {
|
||||
plugin.config.removeMessage(key);
|
||||
plugin.refreshConfig();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -191,6 +217,7 @@ public class SimplyAPI implements PermsConfig {
|
|||
@Override
|
||||
public void setDefaultGroup(String group) {
|
||||
plugin.config.setDefaultGroup(group);
|
||||
refreshPermissions();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -201,6 +228,7 @@ public class SimplyAPI implements PermsConfig {
|
|||
@Override
|
||||
public void setDebug(boolean debug) {
|
||||
plugin.config.setDebug(debug);
|
||||
plugin.refreshConfig();
|
||||
}
|
||||
|
||||
public void refreshPermissions() {
|
||||
|
|
|
@ -183,10 +183,8 @@ public class SimplyCommands implements CommandExecutor {
|
|||
|
||||
try {
|
||||
manager.run();
|
||||
plugin.refreshPermissions();
|
||||
sender.sendMessage(ChatColor.GREEN + "Operation success !");
|
||||
} catch (Exception e) {
|
||||
plugin.reloadConfig();
|
||||
sender.sendMessage(ChatColor.RED + "An error occurred ! Please check server log...");
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -325,7 +323,7 @@ public class SimplyCommands implements CommandExecutor {
|
|||
plugin.config.addPlayerGroup(player, group);
|
||||
}
|
||||
|
||||
plugin.refreshPermissions();
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Player " + ChatColor.WHITE + player + ChatColor.GREEN + " is now in " + ChatColor.WHITE + split[3] + ChatColor.GREEN + ".");
|
||||
return true;
|
||||
|
@ -341,7 +339,7 @@ public class SimplyCommands implements CommandExecutor {
|
|||
}
|
||||
plugin.config.addPlayerGroup(player, group);
|
||||
|
||||
plugin.refreshPermissions();
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Player " + ChatColor.WHITE + player + ChatColor.GREEN + " is now in " + ChatColor.WHITE + group + ChatColor.GREEN + ".");
|
||||
return true;
|
||||
|
@ -357,7 +355,7 @@ public class SimplyCommands implements CommandExecutor {
|
|||
}
|
||||
plugin.config.removePlayerGroup(player, group);
|
||||
|
||||
plugin.refreshPermissions();
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Player " + ChatColor.WHITE + player + ChatColor.GREEN + " is no longer in " + ChatColor.WHITE + group + ChatColor.GREEN + ".");
|
||||
return true;
|
||||
|
@ -372,7 +370,7 @@ public class SimplyCommands implements CommandExecutor {
|
|||
}
|
||||
|
||||
plugin.config.removePlayer(player);
|
||||
plugin.refreshPermissions();
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Player " + ChatColor.WHITE + player + ChatColor.GREEN + " is no longer in config file.");
|
||||
return true;
|
||||
|
@ -390,7 +388,7 @@ public class SimplyCommands implements CommandExecutor {
|
|||
}
|
||||
|
||||
plugin.config.addPlayerPermission(player, world, perm, value);
|
||||
plugin.refreshPermissions();
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Player " + ChatColor.WHITE + player + ChatColor.GREEN + " now has " + ChatColor.WHITE + perm + ChatColor.GREEN + " = " + ChatColor.WHITE + value + ChatColor.GREEN + ".");
|
||||
return true;
|
||||
|
@ -412,7 +410,7 @@ public class SimplyCommands implements CommandExecutor {
|
|||
return true;
|
||||
}
|
||||
plugin.config.removePlayerPermission(player, world, perm);
|
||||
plugin.refreshPermissions();
|
||||
plugin.refreshPlayerPermissions(player);
|
||||
|
||||
sender.sendMessage(ChatColor.GREEN + "Player " + ChatColor.WHITE + player + ChatColor.GREEN + " no longer has " + ChatColor.WHITE + perm + ChatColor.GREEN + " set.");
|
||||
return true;
|
||||
|
|
|
@ -145,20 +145,29 @@ public class SimplyPlugin extends JavaPlugin {
|
|||
}
|
||||
}
|
||||
|
||||
protected void refreshPermissions() {
|
||||
protected void refreshConfig() {
|
||||
try {
|
||||
getConfig().save(configFile);
|
||||
reloadConfig();
|
||||
} catch (IOException e) {
|
||||
getLogger().warning("Failed to write changed config.yml: " + e.getMessage());
|
||||
}
|
||||
for (String player : permissions.keySet()) {
|
||||
PermissionAttachment attachment = permissions.get(player);
|
||||
for (String key : attachment.getPermissions().keySet()) {
|
||||
attachment.unsetPermission(key);
|
||||
}
|
||||
}
|
||||
|
||||
calculateAttachment(getServer().getPlayer(player));
|
||||
protected void refreshPlayerPermissions(String player) {
|
||||
refreshConfig();
|
||||
if (getServer().getPlayer(player) == null) return;
|
||||
PermissionAttachment attachment = permissions.get(getServer().getPlayer(player).getName());
|
||||
for (String key : attachment.getPermissions().keySet()) {
|
||||
attachment.unsetPermission(key);
|
||||
}
|
||||
calculateAttachment(getServer().getPlayer(player));
|
||||
}
|
||||
|
||||
protected void refreshPermissions() {
|
||||
refreshConfig();
|
||||
for (String player : permissions.keySet()) {
|
||||
refreshPlayerPermissions(player);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -71,9 +71,11 @@ public abstract class SimplyPrevents implements Listener {
|
|||
long current = System.currentTimeMillis();
|
||||
|
||||
if (next.longValue() < current) {
|
||||
player.sendMessage(plugin.config.getMessage(node));
|
||||
plugin.debug("Event '" + node + "' cancelled for " + player.getName());
|
||||
throttleTimestamps.put(player, Long.valueOf(current + 3000));
|
||||
if (!plugin.config.getMessage(node).isEmpty()) {
|
||||
player.sendMessage(plugin.config.getMessage(node));
|
||||
plugin.debug("Event '" + node + "' cancelled for " + player.getName());
|
||||
throttleTimestamps.put(player, Long.valueOf(current + 3000));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -36,6 +36,12 @@ public class ConfigFile implements PermsConfig {
|
|||
plugin.getConfig().set("users/" + player + "/groups", (groups.isEmpty()) ? null : groups);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerGroup(String player, String group) {
|
||||
removePlayerGroups(player);
|
||||
addPlayerGroup(player, group);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPlayerGroup(String player, String group) {
|
||||
player = player.toLowerCase();
|
||||
|
@ -119,7 +125,7 @@ public class ConfigFile implements PermsConfig {
|
|||
String permNode = (!world.isEmpty()) ? "users/" + player + "/worlds/" + world : "users/" + player + "/permissions";
|
||||
if (plugin.getNode(permNode) != null) {
|
||||
for (Entry<String, Object> permPlayer : plugin.getNode(permNode).getValues(false).entrySet()) {
|
||||
finalPerms.put(permPlayer.getKey(), (Boolean) permPlayer.getValue());
|
||||
finalPerms.put(permPlayer.getKey(), Boolean.valueOf(permPlayer.getValue().toString()));
|
||||
}
|
||||
}
|
||||
return finalPerms;
|
||||
|
@ -208,7 +214,7 @@ public class ConfigFile implements PermsConfig {
|
|||
String permNode = (!world.isEmpty()) ? "groups/" + group + "/worlds/" + world : "groups/" + group + "/permissions";
|
||||
if (plugin.getNode(permNode) != null) {
|
||||
for (Entry<String, Object> permGroup : plugin.getNode(permNode).getValues(false).entrySet()) {
|
||||
finalPerms.put(permGroup.getKey(), (Boolean) permGroup.getValue());
|
||||
finalPerms.put(permGroup.getKey(), Boolean.valueOf(permGroup.getValue().toString()));
|
||||
}
|
||||
}
|
||||
return finalPerms;
|
||||
|
@ -279,7 +285,7 @@ public class ConfigFile implements PermsConfig {
|
|||
|
||||
@Override
|
||||
public String getMessage(String key) {
|
||||
return plugin.getConfig().getString("messages/" + key, plugin.getConfig().getString("messages/all")).replace('&', '\u00A7');
|
||||
return plugin.getConfig().getString("messages/" + key, plugin.getConfig().getString("messages/all", "")).replace('&', '\u00A7');
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -113,6 +113,12 @@ public class ConfigSQL implements PermsConfig {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPlayerGroup(String player, String group) {
|
||||
removePlayerGroups(player);
|
||||
addPlayerGroup(player, group);
|
||||
}
|
||||
|
||||
private void addPlayerGroup(String player, String group, boolean first) {
|
||||
if (init()) {
|
||||
try {
|
||||
|
|
|
@ -11,6 +11,8 @@ public interface PermsConfig {
|
|||
|
||||
public void removePlayerGroup(String player, String group);
|
||||
|
||||
public void setPlayerGroup(String player, String group);
|
||||
|
||||
public void addPlayerGroup(String player, String group);
|
||||
|
||||
public void addPlayerPermission(String player, String permission, boolean value);
|
||||
|
|
|
@ -2,7 +2,7 @@ name: SimplyPerms
|
|||
main: net.crystalyx.bukkit.simplyperms.SimplyPlugin
|
||||
author: Xefir Destiny
|
||||
website: http://dev.bukkit.org/server-mods/simplyperms/
|
||||
version: 1.7.2
|
||||
version: 1.7.6
|
||||
dscription: When powerful plugin made Permissions easy !
|
||||
softdepend: [ PermissionsBukkit ]
|
||||
commands:
|
||||
|
|
Loading…
Reference in New Issue