mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-11 20:00:46 +00:00
Merge remote branch 'remotes/origin/groupmanager'
This commit is contained in:
commit
d0a5656fa4
5 changed files with 37 additions and 26 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -37,4 +37,6 @@
|
||||||
/WebPush/apikey.php
|
/WebPush/apikey.php
|
||||||
/WebPush/nbproject/private
|
/WebPush/nbproject/private
|
||||||
/.idea
|
/.idea
|
||||||
*.iml
|
*.iml
|
||||||
|
/EssentialsGroupManager/bin
|
||||||
|
/EssentialsGroupManager/.externalToolBuilders
|
|
@ -10,6 +10,16 @@
|
||||||
<arguments>
|
<arguments>
|
||||||
</arguments>
|
</arguments>
|
||||||
</buildCommand>
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
|
||||||
|
<triggers>full,incremental,</triggers>
|
||||||
|
<arguments>
|
||||||
|
<dictionary>
|
||||||
|
<key>LaunchConfigHandle</key>
|
||||||
|
<value><project>/.externalToolBuilders/GroupManager.launch</value>
|
||||||
|
</dictionary>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
</buildSpec>
|
</buildSpec>
|
||||||
<natures>
|
<natures>
|
||||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
|
|
@ -124,4 +124,5 @@ v 1.9:
|
||||||
- Trap errors in fetching the mirrors map.
|
- Trap errors in fetching the mirrors map.
|
||||||
- Fixed an infinite loop error when using '/manudel' on a logged in player. It caused setDefaultGroup to trigger a bukkit update when no GM User existed yet.
|
- Fixed an infinite loop error when using '/manudel' on a logged in player. It caused setDefaultGroup to trigger a bukkit update when no GM User existed yet.
|
||||||
- do not allow inherited permissions to negate higher perms.
|
- do not allow inherited permissions to negate higher perms.
|
||||||
- Fixed a bug when pushing superperms in the wrong order.
|
- Fixed a bug when pushing superperms in the wrong order.
|
||||||
|
- Fix players retaining permissions when demoted.
|
|
@ -415,9 +415,9 @@ public class GroupManager extends JavaPlugin {
|
||||||
if (!sender.hasPermission("groupmanager.notify.other") || (isConsole))
|
if (!sender.hasPermission("groupmanager.notify.other") || (isConsole))
|
||||||
sender.sendMessage(ChatColor.YELLOW + "You changed player '" + auxUser.getName() + "' group to '" + auxGroup.getName() + "'.");
|
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)
|
//if (targetPlayer != null)
|
||||||
BukkitPermissions.updatePermissions(targetPlayer);
|
// BukkitPermissions.updatePermissions(targetPlayer);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
// break;
|
// break;
|
||||||
|
@ -450,6 +450,7 @@ public class GroupManager extends JavaPlugin {
|
||||||
dataHolder.removeUser(auxUser.getName());
|
dataHolder.removeUser(auxUser.getName());
|
||||||
sender.sendMessage(ChatColor.YELLOW + "You changed player '" + auxUser.getName() + "' to default settings.");
|
sender.sendMessage(ChatColor.YELLOW + "You changed player '" + auxUser.getName() + "' to default settings.");
|
||||||
|
|
||||||
|
// If the player is online, this will create new data for the user.
|
||||||
targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
||||||
if (targetPlayer != null)
|
if (targetPlayer != null)
|
||||||
BukkitPermissions.updatePermissions(targetPlayer);
|
BukkitPermissions.updatePermissions(targetPlayer);
|
||||||
|
@ -494,9 +495,9 @@ public class GroupManager extends JavaPlugin {
|
||||||
else
|
else
|
||||||
sender.sendMessage(ChatColor.RED + "The subgroup '" + auxGroup.getName() + "' is already available to '" + auxUser.getName() + "'.");
|
sender.sendMessage(ChatColor.RED + "The subgroup '" + auxGroup.getName() + "' is already available to '" + auxUser.getName() + "'.");
|
||||||
|
|
||||||
targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
//targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
||||||
if (targetPlayer != null)
|
//if (targetPlayer != null)
|
||||||
BukkitPermissions.updatePermissions(targetPlayer);
|
// BukkitPermissions.updatePermissions(targetPlayer);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
case manudelsub:
|
case manudelsub:
|
||||||
|
@ -534,9 +535,9 @@ public class GroupManager extends JavaPlugin {
|
||||||
auxUser.removeSubGroup(auxGroup);
|
auxUser.removeSubGroup(auxGroup);
|
||||||
sender.sendMessage(ChatColor.YELLOW + "You removed subgroup '" + auxGroup.getName() + "' from player '" + auxUser.getName() + "' list.");
|
sender.sendMessage(ChatColor.YELLOW + "You removed subgroup '" + auxGroup.getName() + "' from player '" + auxUser.getName() + "' list.");
|
||||||
|
|
||||||
targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
//targetPlayer = this.getServer().getPlayer(auxUser.getName());
|
||||||
if (targetPlayer != null)
|
//if (targetPlayer != null)
|
||||||
BukkitPermissions.updatePermissions(targetPlayer);
|
// BukkitPermissions.updatePermissions(targetPlayer);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
case mangadd:
|
case mangadd:
|
||||||
|
@ -1614,9 +1615,9 @@ public class GroupManager extends JavaPlugin {
|
||||||
if (!sender.hasPermission("groupmanager.notify.other") || (isConsole))
|
if (!sender.hasPermission("groupmanager.notify.other") || (isConsole))
|
||||||
sender.sendMessage(ChatColor.YELLOW + "You changed " + auxUser.getName() + " group to " + auxGroup.getName() + ".");
|
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)
|
//if (targetPlayer != null)
|
||||||
BukkitPermissions.updatePermissions(targetPlayer);
|
// BukkitPermissions.updatePermissions(targetPlayer);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
// break;
|
// break;
|
||||||
|
@ -1670,9 +1671,9 @@ public class GroupManager extends JavaPlugin {
|
||||||
if (!sender.hasPermission("groupmanager.notify.other") || (isConsole))
|
if (!sender.hasPermission("groupmanager.notify.other") || (isConsole))
|
||||||
sender.sendMessage(ChatColor.YELLOW + "You changed " + auxUser.getName() + " group to " + auxGroup.getName() + ".");
|
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)
|
//if (targetPlayer != null)
|
||||||
BukkitPermissions.updatePermissions(targetPlayer);
|
// BukkitPermissions.updatePermissions(targetPlayer);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
// break;
|
// break;
|
||||||
|
|
|
@ -28,7 +28,6 @@ import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.anjocaido.groupmanager.GroupManager;
|
import org.anjocaido.groupmanager.GroupManager;
|
||||||
import org.anjocaido.groupmanager.dataholder.OverloadedWorldHolder;
|
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -136,33 +135,30 @@ public class BukkitPermissions {
|
||||||
}
|
}
|
||||||
|
|
||||||
PermissionAttachment attachment;
|
PermissionAttachment attachment;
|
||||||
|
|
||||||
// Find the players current attachment, or add a new one.
|
// Find the players current attachment, or add a new one.
|
||||||
if (this.attachments.containsKey(player)) {
|
if (this.attachments.containsKey(player)) {
|
||||||
attachment = this.attachments.get(player);
|
attachment = this.attachments.get(player);
|
||||||
} else {
|
} else {
|
||||||
attachment = player.addAttachment(plugin);
|
attachment = player.addAttachment(plugin);
|
||||||
this.attachments.put(player, attachment);;
|
this.attachments.put(player, attachment);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (world == null) {
|
if (world == null) {
|
||||||
world = player.getWorld().getName();
|
world = player.getWorld().getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
OverloadedWorldHolder worldData = plugin.getWorldsHolder().getWorldData(world);
|
|
||||||
Boolean value = false;
|
|
||||||
|
|
||||||
// Add all permissions for this player (GM only)
|
// Add all permissions for this player (GM only)
|
||||||
// child nodes will be calculated by Bukkit.
|
// child nodes will be calculated by Bukkit.
|
||||||
List<String> playerPermArray = new ArrayList<String>(worldData.getPermissionsHandler().getAllPlayersPermissions(player.getName(), false));
|
List<String> playerPermArray = new ArrayList<String>(plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getAllPlayersPermissions(player.getName(), false));
|
||||||
LinkedHashMap<String, Boolean> newPerms = new LinkedHashMap<String, Boolean>();
|
LinkedHashMap<String, Boolean> newPerms = new LinkedHashMap<String, Boolean>();
|
||||||
|
|
||||||
// Sort the perm list by parent/child, so it will push to superperms correctly.
|
// Sort the perm list by parent/child, so it will push to superperms correctly.
|
||||||
playerPermArray = sort(playerPermArray);
|
playerPermArray = sort(playerPermArray);
|
||||||
|
|
||||||
|
|
||||||
|
Boolean value = false;
|
||||||
for (String permission : playerPermArray) {
|
for (String permission : playerPermArray) {
|
||||||
value = (!permission.startsWith("-"));
|
value = (!permission.startsWith("-"));
|
||||||
|
|
||||||
newPerms.put((value? permission : permission.substring(1)), value);
|
newPerms.put((value? permission : permission.substring(1)), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -178,7 +174,8 @@ public class BukkitPermissions {
|
||||||
// Then whack our map into there
|
// Then whack our map into there
|
||||||
orig.putAll(newPerms);
|
orig.putAll(newPerms);
|
||||||
// That's all folks!
|
// That's all folks!
|
||||||
attachment.getPermissible().recalculatePermissions();
|
//attachment.getPermissible().recalculatePermissions();
|
||||||
|
player.recalculatePermissions();
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} catch (IllegalAccessException e) {
|
} catch (IllegalAccessException e) {
|
||||||
|
|
Loading…
Reference in a new issue