mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-10-29 14:59:43 +01:00
Added a config setting - bukkit_perms_override: false
Enable to allow default Bukkit based permissions to remain enabled, unless directly negated within GroupManager.
This commit is contained in:
parent
1543bfd550
commit
03adb56d25
@ -42,4 +42,7 @@ v 1.3:
|
|||||||
These allow players/admins to be notified when players are moved between groups.
|
These allow players/admins to be notified when players are moved between groups.
|
||||||
v 1.4:
|
v 1.4:
|
||||||
- Updated for Bukkits new YamlConfiguration.
|
- Updated for Bukkits new YamlConfiguration.
|
||||||
- Cleared remaining Cast errors cause by object cloning.
|
- Cleared remaining Cast errors cause by object cloning.
|
||||||
|
- Removed extra notification messages for the player issuing the group move command.
|
||||||
|
- Added a config setting - bukkit_perms_override: false
|
||||||
|
Enable to allow default Bukkit based permissions to remain enabled, unless directly negated within GroupManager.
|
@ -2,6 +2,9 @@ settings:
|
|||||||
config:
|
config:
|
||||||
# With this enabled anyone set as op has full permissions when managing GroupManager
|
# With this enabled anyone set as op has full permissions when managing GroupManager
|
||||||
opOverrides: true
|
opOverrides: true
|
||||||
|
# If enabled any bukkit permissiosn which default to true will be left enabled.
|
||||||
|
# If the player is op any permissions set to Op will follow suit.
|
||||||
|
bukkit_perms_override: false
|
||||||
data:
|
data:
|
||||||
save:
|
save:
|
||||||
# How often GroupManager will save it's data back to groups and users.yml
|
# How often GroupManager will save it's data back to groups and users.yml
|
||||||
|
@ -52,6 +52,9 @@ public class GMConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isOpOverride() {
|
public boolean isOpOverride() {
|
||||||
|
return GMconfig.getBoolean("settings.config.bukkit_perms_override", true);
|
||||||
|
}
|
||||||
|
public boolean isBukkitPermsOverride() {
|
||||||
return GMconfig.getBoolean("settings.config.opOverrides", true);
|
return GMconfig.getBoolean("settings.config.opOverrides", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ public class GroupManager extends JavaPlugin {
|
|||||||
private boolean validateOnlinePlayer = true;
|
private boolean validateOnlinePlayer = true;
|
||||||
private boolean isReady = false;
|
private boolean isReady = false;
|
||||||
private static boolean isLoaded = false;
|
private static boolean isLoaded = false;
|
||||||
private GMConfiguration config;
|
protected GMConfiguration config;
|
||||||
private GMLoggerHandler ch;
|
private GMLoggerHandler ch;
|
||||||
public static BukkitPermissions BukkitPermissions;
|
public static BukkitPermissions BukkitPermissions;
|
||||||
private static WorldListener WorldEvents;
|
private static WorldListener WorldEvents;
|
||||||
@ -369,7 +369,8 @@ public class GroupManager extends JavaPlugin {
|
|||||||
|
|
||||||
//PARECE OK
|
//PARECE OK
|
||||||
auxUser.setGroup(auxGroup);
|
auxUser.setGroup(auxGroup);
|
||||||
sender.sendMessage(ChatColor.YELLOW + "You changed player '" + auxUser.getName() + "' group to '" + auxGroup.getName() + "'.");
|
if (!sender.hasPermission("groupmanager.notify.other"))
|
||||||
|
sender.sendMessage(ChatColor.YELLOW + "You changed player '" + auxUser.getName() + "' group to '" + auxGroup.getName() + "'.");
|
||||||
|
|
||||||
targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
||||||
if (targetPlayer != null) BukkitPermissions.updatePermissions(targetPlayer);
|
if (targetPlayer != null) BukkitPermissions.updatePermissions(targetPlayer);
|
||||||
@ -1590,7 +1591,8 @@ public class GroupManager extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
//PARECE OK
|
//PARECE OK
|
||||||
auxUser.setGroup(auxGroup);
|
auxUser.setGroup(auxGroup);
|
||||||
sender.sendMessage(ChatColor.YELLOW + "You changed " + auxUser.getName() + " group to " + auxGroup.getName() + ".");
|
if (!sender.hasPermission("groupmanager.notify.other"))
|
||||||
|
sender.sendMessage(ChatColor.YELLOW + "You changed " + auxUser.getName() + " group to " + auxGroup.getName() + ".");
|
||||||
|
|
||||||
targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
||||||
if (targetPlayer != null) BukkitPermissions.updatePermissions(targetPlayer);
|
if (targetPlayer != null) BukkitPermissions.updatePermissions(targetPlayer);
|
||||||
@ -1648,7 +1650,8 @@ public class GroupManager extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
//PARECE OK
|
//PARECE OK
|
||||||
auxUser.setGroup(auxGroup);
|
auxUser.setGroup(auxGroup);
|
||||||
sender.sendMessage(ChatColor.YELLOW + "You changed " + auxUser.getName() + " group to " + auxGroup.getName() + ".");
|
if (!sender.hasPermission("groupmanager.notify.other"))
|
||||||
|
sender.sendMessage(ChatColor.YELLOW + "You changed " + auxUser.getName() + " group to " + auxGroup.getName() + ".");
|
||||||
|
|
||||||
targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
||||||
if (targetPlayer != null) BukkitPermissions.updatePermissions(targetPlayer);
|
if (targetPlayer != null) BukkitPermissions.updatePermissions(targetPlayer);
|
||||||
@ -1773,7 +1776,7 @@ public class GroupManager extends JavaPlugin {
|
|||||||
test.sendMessage(ChatColor.YELLOW + name +" was" + msg);
|
test.sendMessage(ChatColor.YELLOW + name +" was" + msg);
|
||||||
} else
|
} else
|
||||||
if ((player != null) && ((player.hasPermission("groupmanager.notify.self")) || (player.hasPermission("groupmanager.notify.other"))))
|
if ((player != null) && ((player.hasPermission("groupmanager.notify.self")) || (player.hasPermission("groupmanager.notify.other"))))
|
||||||
player.sendMessage(ChatColor.YELLOW + "You we're" + msg);
|
player.sendMessage(ChatColor.YELLOW + "You were" + msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -43,6 +43,7 @@ import org.bukkit.event.server.ServerListener;
|
|||||||
import org.bukkit.permissions.Permission;
|
import org.bukkit.permissions.Permission;
|
||||||
import org.bukkit.permissions.PermissionAttachment;
|
import org.bukkit.permissions.PermissionAttachment;
|
||||||
import org.bukkit.permissions.PermissionAttachmentInfo;
|
import org.bukkit.permissions.PermissionAttachmentInfo;
|
||||||
|
import org.bukkit.permissions.PermissionDefault;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
import org.bukkit.plugin.PluginManager;
|
import org.bukkit.plugin.PluginManager;
|
||||||
|
|
||||||
@ -124,15 +125,31 @@ public class BukkitPermissions {
|
|||||||
|
|
||||||
User user = worldData.getUser(player.getName());
|
User user = worldData.getUser(player.getName());
|
||||||
|
|
||||||
// clear permissions
|
// clear permissions
|
||||||
for (String permission : attachment.getPermissions().keySet()) {
|
for (String permission : attachment.getPermissions().keySet())
|
||||||
attachment.unsetPermission(permission);
|
attachment.unsetPermission(permission);
|
||||||
}
|
|
||||||
|
|
||||||
// find matching permissions
|
/*
|
||||||
|
* find matching permissions
|
||||||
|
*
|
||||||
|
* and base bukkit perms if we are set to allow bukkit permissions to override.
|
||||||
|
*/
|
||||||
Boolean value;
|
Boolean value;
|
||||||
for (Permission permission : registeredPermissions) {
|
for (Permission permission : registeredPermissions) {
|
||||||
value = worldData.getPermissionsHandler().checkUserPermission(user, permission.getName());
|
|
||||||
|
value = worldData.getPermissionsHandler().checkUserPermission(user, permission.getName());
|
||||||
|
|
||||||
|
// Only check bukkit override IF we don't have the permission directly.
|
||||||
|
if (value = false) {
|
||||||
|
PermissionDefault permDefault = permission.getDefault();
|
||||||
|
|
||||||
|
if ((plugin.getGMConfig().isBukkitPermsOverride())
|
||||||
|
&& ((permDefault == PermissionDefault.TRUE)
|
||||||
|
|| ((permDefault == PermissionDefault.NOT_OP) && !player.isOp())
|
||||||
|
|| ((permDefault == PermissionDefault.OP) && player.isOp())))
|
||||||
|
value = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (value == true)
|
if (value == true)
|
||||||
attachment.setPermission(permission, value);
|
attachment.setPermission(permission, value);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user