mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2024-08-20 18:32:49 +00:00
GroupManager 1.1
Merge branch 'groupmanager' Conflicts: EssentialsGroupManager/src/plugin.yml EssentialsGroupManager/src/users.yml
This commit is contained in:
commit
1df79bc9f4
8
.classpath
Normal file
8
.classpath
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="lib/bukkit-0.0.1-SNAPSHOT.jar"/>
|
||||
<classpathentry kind="lib" path="lib/craftbukkit-0.0.1-SNAPSHOT.jar"/>
|
||||
<classpathentry kind="lib" path="lib/Permissions3.jar"/>
|
||||
</classpath>
|
17
.project
Normal file
17
.project
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>Essentials</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
10
EssentialsGroupBridge/.classpath
Normal file
10
EssentialsGroupBridge/.classpath
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="../lib/bukkit-0.0.1-SNAPSHOT.jar"/>
|
||||
<classpathentry kind="lib" path="../lib/craftbukkit-0.0.1-SNAPSHOT.jar"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/EssentialsGroupManager"/>
|
||||
<classpathentry kind="lib" path="../lib/Permissions3.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
17
EssentialsGroupBridge/.project
Normal file
17
EssentialsGroupBridge/.project
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>EssentialsGroupBridge</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -4,6 +4,19 @@ annotation.processing.run.all.processors=true
|
|||
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
|
||||
application.title=EssentialsGroupBridge
|
||||
application.vendor=gabrielcouto
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs=true
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width=2
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab=2
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.tab-size=2
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width=120
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap=none
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.usedProfile=project
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.expand-tabs=true
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.indent-shift-width=4
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.spaces-per-tab=4
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.tab-size=4
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-limit-width=120
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-line-wrap=none
|
||||
build.classes.dir=${build.dir}/classes
|
||||
build.classes.excludes=**/*.java,**/*.form
|
||||
# This directory is removed when the project is cleaned:
|
||||
|
@ -26,16 +39,16 @@ dist.jar=${dist.dir}/EssentialsGroupBridge.jar
|
|||
dist.javadoc.dir=${dist.dir}/javadoc
|
||||
endorsed.classpath=
|
||||
excludes=
|
||||
file.reference.craftbukkit-0.0.1-SNAPSHOT.jar=..\\lib\\craftbukkit-0.0.1-SNAPSHOT.jar
|
||||
file.reference.Permissions.jar=..\\lib\\Permissions.jar
|
||||
file.reference.bukkit-0.0.1-SNAPSHOT.jar=../lib/bukkit-0.0.1-SNAPSHOT.jar
|
||||
file.reference.Permissions3.jar=../lib/Permissions3.jar
|
||||
includes=**
|
||||
jar.archive.disabled=${jnlp.enabled}
|
||||
jar.compress=true
|
||||
jar.index=${jnlp.enabled}
|
||||
javac.classpath=\
|
||||
${reference.EssentialsGroupManager.jar}:\
|
||||
${file.reference.craftbukkit-0.0.1-SNAPSHOT.jar}:\
|
||||
${file.reference.Permissions.jar}
|
||||
${file.reference.Permissions3.jar}:\
|
||||
${file.reference.bukkit-0.0.1-SNAPSHOT.jar}
|
||||
# Space-separated list of extra javac options
|
||||
javac.compilerargs=
|
||||
javac.deprecation=false
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,16 +1,11 @@
|
|||
package com.nijikokun.bukkit.Permissions;
|
||||
|
||||
import com.nijiko.Misc;
|
||||
import com.nijiko.configuration.DefaultConfiguration;
|
||||
import com.nijiko.permissions.PermissionHandler;
|
||||
import java.util.logging.Logger;
|
||||
import org.anjocaido.groupmanager.GroupManager;
|
||||
//import org.anjocaido.groupmanager.GroupManager;
|
||||
import org.anjocaido.groupmanager.permissions.NijikoPermissionsProxy;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.event.Event.Priority;
|
||||
import org.bukkit.event.Event.Type;
|
||||
import org.bukkit.event.player.PlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerListener;
|
||||
import org.bukkit.event.server.PluginEnableEvent;
|
||||
import org.bukkit.event.server.ServerListener;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
@ -19,46 +14,24 @@ import org.bukkit.plugin.java.JavaPlugin;
|
|||
|
||||
public class Permissions extends JavaPlugin {
|
||||
|
||||
private class Listener extends PlayerListener {
|
||||
|
||||
private Permissions plugin;
|
||||
|
||||
public Listener(Permissions plugin) {
|
||||
//compiled code
|
||||
throw new RuntimeException("Compiled Code");
|
||||
}
|
||||
|
||||
public void onPlayerCommand(PlayerChatEvent event) {
|
||||
//compiled code
|
||||
throw new RuntimeException("Compiled Code");
|
||||
}
|
||||
}
|
||||
public static final Logger log = Logger.getLogger("Fake Permissions");
|
||||
public static String name = "Permissions";
|
||||
public static String codename = "Hacked Permissions by AnjoCaido";
|
||||
public static String version = "2.0";
|
||||
public static PermissionHandler Security = null;
|
||||
public static Misc Misc = new Misc();
|
||||
public static Server Server;
|
||||
private Listener Listener = null;
|
||||
private DefaultConfiguration config = null;
|
||||
private GroupManager groupManager;
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
//compiled code
|
||||
//throw new RuntimeException("Compiled Code");
|
||||
// EXAMPLE: Custom code, here we just output some info so we can check all is well
|
||||
PluginDescriptionFile pdfFile = this.getDescription();
|
||||
System.out.println("Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " is disabled!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
Server = this.getServer();
|
||||
PluginDescriptionFile pdfFile = this.getDescription();
|
||||
|
||||
if (Security == null) {//make sure we have only one instance
|
||||
if (Security == null) {
|
||||
//make sure we have only one instance
|
||||
Security = new NijikoPermissionsProxy(null);
|
||||
}
|
||||
|
||||
|
@ -71,13 +44,11 @@ public class Permissions extends JavaPlugin {
|
|||
this.getServer().getPluginManager().registerEvent(Type.PLUGIN_ENABLE, new ServerListener() {
|
||||
|
||||
@Override
|
||||
public void onPluginEnable(PluginEnableEvent event)
|
||||
{
|
||||
public void onPluginEnable(PluginEnableEvent event) {
|
||||
if (event.getPlugin().getDescription().getName().equals("GroupManager")) {
|
||||
Permissions.this.setGM(event.getPlugin());
|
||||
}
|
||||
}
|
||||
|
||||
}, Priority.Normal, this);
|
||||
}
|
||||
}
|
||||
|
@ -85,44 +56,27 @@ public class Permissions extends JavaPlugin {
|
|||
System.err.println("OOOPS! Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " couldn't find GroupManager!");
|
||||
this.getPluginLoader().disablePlugin(this);
|
||||
}
|
||||
// EXAMPLE: Custom code, here we just output some info so we can check all is well
|
||||
if (pdfFile != null)
|
||||
|
||||
if (pdfFile != null) {
|
||||
System.out.println("Fake " + pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!");
|
||||
}
|
||||
|
||||
private void registerEvents() {
|
||||
//compiled code
|
||||
//throw new RuntimeException("Compiled Code");
|
||||
}
|
||||
|
||||
private void setGM(Plugin p) {
|
||||
groupManager = (GroupManager)p;
|
||||
((NijikoPermissionsProxy)Security).setGM(p);
|
||||
private void setGM(final Plugin p) {
|
||||
//GroupManager groupManager = (GroupManager) p;
|
||||
((NijikoPermissionsProxy) Security).setGM(p);
|
||||
}
|
||||
|
||||
public PermissionHandler getHandler() {
|
||||
//compiled code
|
||||
//throw new RuntimeException("Compiled Code");
|
||||
//System.out.println("Alguem chamou o handler");
|
||||
if (Security == null)
|
||||
{
|
||||
if (Security == null) {
|
||||
Security = new NijikoPermissionsProxy(null);
|
||||
}
|
||||
//checkEnable();
|
||||
return Security;
|
||||
}
|
||||
|
||||
public void setupPermissions() {
|
||||
if (Security == null)
|
||||
{
|
||||
if (Security == null) {
|
||||
Security = new NijikoPermissionsProxy(null);
|
||||
}
|
||||
//checkEnable();
|
||||
}
|
||||
|
||||
private void checkEnable() {
|
||||
if (!this.isEnabled() && Security == null && this.getServer() != null) {
|
||||
this.getServer().getPluginManager().enablePlugin(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,13 +4,19 @@
|
|||
*/
|
||||
package org.anjocaido.groupmanager.permissions;
|
||||
|
||||
import com.nijiko.permissions.Control;
|
||||
import com.nijiko.permissions.Group;
|
||||
import com.nijiko.permissions.PermissionHandler;
|
||||
import com.nijiko.permissions.User;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.anjocaido.groupmanager.GroupManager;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.util.config.Configuration;
|
||||
|
||||
/**
|
||||
* Everything here maintains the model created by Nijikokun
|
||||
|
@ -20,10 +26,12 @@ import org.bukkit.util.config.Configuration;
|
|||
*
|
||||
* @author gabrielcouto
|
||||
*/
|
||||
public class NijikoPermissionsProxy extends Control {
|
||||
public class NijikoPermissionsProxy extends PermissionHandler {
|
||||
|
||||
GroupManager plugin;
|
||||
public NijikoPermissionsProxy(GroupManager plugin){
|
||||
super(null);
|
||||
|
||||
public NijikoPermissionsProxy(GroupManager plugin) {
|
||||
super();
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
|
@ -39,12 +47,12 @@ public class NijikoPermissionsProxy extends Control {
|
|||
|
||||
@Override
|
||||
public void addGroupInfo(String world, String group, String node, Object data) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().addGroupInfo(group, node, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGroupInfo(String world, String group, String node) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().removeGroupInfo(group, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -59,62 +67,62 @@ public class NijikoPermissionsProxy extends Control {
|
|||
|
||||
@Override
|
||||
public void addUserInfo(String world, String user, String node, Object data) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().addUserInfo(user, node, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeUserInfo(String world, String user, String node) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().removeUserInfo(user, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public void removeUserInfo(String user, String node) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().removeUserInfo(user, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public void addGroupPermission(String group, String node) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public void removeGroupPermission(String group, String node) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public void addGroupInfo(String group, String node, Object data) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().addGroupInfo(group, node, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public void removeGroupInfo(String group, String node) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().removeGroupInfo(group, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public void addUserPermission(String user, String node) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public void removeUserPermission(String user, String node) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public void addUserInfo(String user, String node, Object data) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().addUserInfo(user, node, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDefaultWorld(String world) {
|
||||
//throw new UnsupportedOperationException("Not supported yet.");
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public void setDirectory(File directory) {
|
||||
//throw new UnsupportedOperationException("Not supported yet.");
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -124,7 +132,7 @@ public class NijikoPermissionsProxy extends Control {
|
|||
|
||||
@Override
|
||||
public void forceLoadWorld(String world) {
|
||||
//throw new UnsupportedOperationException("Not supported yet.");
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -134,91 +142,21 @@ public class NijikoPermissionsProxy extends Control {
|
|||
|
||||
@Override
|
||||
public void load() {
|
||||
//throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load(String world, Configuration config) {
|
||||
//throw new UnsupportedOperationException("Not supported yet.");
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reload() {
|
||||
plugin.getWorldsHolder().reloadAll();
|
||||
GroupManager.getWorldsHolder().reloadAll();
|
||||
//throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean reload(String world) {
|
||||
plugin.getWorldsHolder().reloadWorld(world);
|
||||
GroupManager.getWorldsHolder().reloadWorld(world);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCache(Map<String, Boolean> Cache) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCache(String world, Map<String, Boolean> Cache) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCacheItem(String player, String permission, boolean data) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCacheItem(String world, String player, String permission, boolean data) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Boolean> getCache() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Boolean> getCache(String world) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getCacheItem(String player, String permission) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getCacheItem(String world, String player, String permission) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeCachedItem(String player, String permission) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeCachedItem(String world, String player, String permission) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearCache() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearCache(String world) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clearAllCache() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean has(Player player, String permission) {
|
||||
//throw new UnsupportedOperationException("Not supported yet.");
|
||||
|
@ -228,207 +166,423 @@ public class NijikoPermissionsProxy extends Control {
|
|||
@Override
|
||||
public boolean permission(Player player, String permission) {
|
||||
//throw new UnsupportedOperationException("Not supported yet.");
|
||||
if(permission==null || permission.equals("")){
|
||||
if (permission == null || permission.equals("")) {
|
||||
return false;
|
||||
}
|
||||
if(player==null){
|
||||
GroupManager.logger.severe("A plugin is asking permission '"+permission+"' for a null player... Which plugin does that? Bastards!");
|
||||
if (player == null) {
|
||||
GroupManager.logger.severe("A plugin is asking permission '" + permission + "' for a null player... Which plugin does that? Bastards!");
|
||||
return false;
|
||||
}
|
||||
if(player.getWorld()==null){
|
||||
GroupManager.logger.warning("The player "+player.getName()+" has a null world? Treating as default world!");
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().has(player, permission);
|
||||
if (player.getWorld() == null) {
|
||||
GroupManager.logger.warning("The player " + player.getName() + " has a null world? Treating as default world!");
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().has(player, permission);
|
||||
}
|
||||
return plugin.getWorldsHolder().getWorldData(player.getWorld().getName()).getPermissionsHandler().has(player, permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(player.getWorld().getName()).getPermissionsHandler().has(player, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGroup(String world, String name) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroup(name);
|
||||
public String getGroupRawPrefix(String world, String group) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPrefix(group);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGroupRawSuffix(String world, String group) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupSuffix(group);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserPrefix(String world, String user) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPrefix(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserSuffix(String world, String user) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserSuffix(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGroup(String world, String user) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroup(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPrimaryGroup(String world, String user) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroup(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUserBuild(String world, String user) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().canUserBuild(user);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
public String getGroup(String name) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroup(name);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroup(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] getGroups(String world, String name) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroups(name);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
public String[] getGroups(String name) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroups(name);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroups(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inGroup(String world, String name, String group) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().inGroup(name,group);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().inGroup(name, group);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
public boolean inGroup(String name, String group) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().inGroup(name,group);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().inGroup(name, group);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGroupPrefix(String world, String group) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPrefix(group);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPrefix(group);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public String getGroupPrefix(String group) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPrefix(group);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPrefix(group);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGroupSuffix(String world, String group) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupSuffix(group);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupSuffix(group);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public String getGroupSuffix(String group) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupSuffix(group);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupSuffix(group);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canGroupBuild(String world, String group) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().canGroupBuild(group);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().canGroupBuild(group);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
public boolean canGroupBuild(String group) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().canGroupBuild(group);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().canGroupBuild(group);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGroupPermissionString(String world, String group, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionString(group,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionString(group, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public String getGroupPermissionString(String group, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionString(group,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionString(group, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getGroupPermissionInteger(String world, String group, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionInteger(group,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionInteger(group, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public int getGroupPermissionInteger(String group, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionInteger(group,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionInteger(group, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getGroupPermissionBoolean(String world, String group, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionBoolean(group,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionBoolean(group, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public boolean getGroupPermissionBoolean(String group, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionBoolean(group,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionBoolean(group, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getGroupPermissionDouble(String world, String group, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionDouble(group,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getGroupPermissionDouble(group, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public double getGroupPermissionDouble(String group, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionDouble(group,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getGroupPermissionDouble(group, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserPermissionString(String world, String name, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionString(name,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionString(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public String getUserPermissionString(String name, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionString(name,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionString(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getUserPermissionInteger(String world, String name, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionInteger(name,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionInteger(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public int getUserPermissionInteger(String name, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionInteger(name,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionInteger(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getUserPermissionBoolean(String world, String name, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionBoolean(name,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionBoolean(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public boolean getUserPermissionBoolean(String name, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionBoolean(name,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionBoolean(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getUserPermissionDouble(String world, String name, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionDouble(name,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getUserPermissionDouble(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public double getUserPermissionDouble(String name, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionDouble(name,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getUserPermissionDouble(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPermissionString(String world, String name, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionString(name,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionString(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public String getPermissionString(String name, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionString(name,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionString(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPermissionInteger(String world, String name, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionInteger(name,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionInteger(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public int getPermissionInteger(String name, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionInteger(name,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionInteger(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getPermissionBoolean(String world, String name, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionBoolean(name,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionBoolean(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public boolean getPermissionBoolean(String name, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionBoolean(name,permission);
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionBoolean(name, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getPermissionDouble(String world, String name, String permission) {
|
||||
return plugin.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionDouble(name,permission);
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getPermissionDouble(name, permission);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public double getPermissionDouble(String name, String permission) {
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionDouble(name, permission);
|
||||
}
|
||||
|
||||
public void setGM(Plugin p) {
|
||||
this.plugin = (GroupManager) p;
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getPermissionDouble(String name, String permission) {
|
||||
return plugin.getWorldsHolder().getDefaultWorld().getPermissionsHandler().getPermissionDouble(name,permission);
|
||||
public boolean canGroupRawBuild(String world, String group) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().canGroupBuild(group);
|
||||
}
|
||||
|
||||
public void setGM(Plugin p)
|
||||
{
|
||||
this.plugin = (GroupManager)p;
|
||||
@Override
|
||||
public void closeAll() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareWeights(String firstWorld, String first, String secondWorld, String second) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareWeights(String world, String first, String second) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Set<String>> getAllGroups(String world, String name) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Group getDefaultGroup(String world) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Group getGroupObject(String world, String group) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGroupProperName(String world, String group) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean getInfoBoolean(String world, String entryName, String path,
|
||||
boolean isGroup) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoBoolean(entryName, path, isGroup);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean getInfoBoolean(String world, String entryName, String path,
|
||||
boolean isGroup, Comparator<Boolean> comparator) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double getInfoDouble(String world, String entryName, String path, boolean isGroup) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoDouble(entryName, path, isGroup);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double getInfoDouble(String world, String entryName, String path,
|
||||
boolean isGroup, Comparator<Double> comparator) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getInfoInteger(String world, String entryName, String path,
|
||||
boolean isGroup) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoInteger(entryName, path, isGroup);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getInfoInteger(String world, String entryName, String path,
|
||||
boolean isGroup, Comparator<Integer> comparator) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInfoString(String world, String entryName, String path, boolean isGroup) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().getInfoString(entryName, path, isGroup);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInfoString(String world, String entryName, String path,
|
||||
boolean isGroup, Comparator<String> comparator) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean getRawInfoBoolean(String world, String entryName, String path,
|
||||
boolean isGroup) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double getRawInfoDouble(String world, String entryName, String path,
|
||||
boolean isGroup) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getRawInfoInteger(String world, String entryName, String path,
|
||||
boolean isGroup) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRawInfoString(String world, String entryName, String path,
|
||||
boolean isGroup) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getTracks(String world) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getUserObject(String world, String name) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<User> getUsers(String world) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getWorlds() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean has(String world, String playerName, String permission) {
|
||||
if (permission == null || permission.equals("")) {
|
||||
return false;
|
||||
}
|
||||
if (playerName == null || playerName == "") {
|
||||
GroupManager.logger.severe("A plugin is asking permission '" + permission + "' for a null player... Which plugin does that? Bastards!");
|
||||
return false;
|
||||
}
|
||||
if (world == null) {
|
||||
GroupManager.logger.warning("The player " + playerName + " has a null world? Treating as default world!");
|
||||
return GroupManager.getWorldsHolder().getDefaultWorld().getPermissionsHandler().permission(playerName, permission);
|
||||
}
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().permission(playerName, permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inGroup(String world, String user, String groupWorld, String group) {
|
||||
return GroupManager.getWorldsHolder().getWorldData(world).getPermissionsHandler().inGroup(user, group);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inSingleGroup(String world, String user, String group) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean inSingleGroup(String world, String user, String groupWorld, String group) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean permission(String world, String name, String node) {
|
||||
return has(world, name, node);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Group safeGetGroup(String world, String name) throws Exception {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public User safeGetUser(String world, String name) throws Exception {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(String world) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveAll() {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Group> getGroups(String world) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
//@Override
|
||||
public Group getPrimaryGroupObject(String arg0, String arg1) {
|
||||
throw new UnsupportedOperationException("Not supported yet.");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
name: Permissions
|
||||
version: 2.7.2
|
||||
version: 3.1.6
|
||||
main: com.nijikokun.bukkit.Permissions.Permissions
|
||||
depend: [GroupManager]
|
7
EssentialsGroupManager/.classpath
Normal file
7
EssentialsGroupManager/.classpath
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="../lib/bukkit-0.0.1-SNAPSHOT.jar"/>
|
||||
<classpathentry kind="lib" path="../lib/craftbukkit-0.0.1-SNAPSHOT.jar"/>
|
||||
</classpath>
|
17
EssentialsGroupManager/.project
Normal file
17
EssentialsGroupManager/.project
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>EssentialsGroupManager</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -4,6 +4,19 @@ annotation.processing.run.all.processors=true
|
|||
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
|
||||
application.title=EssentialsGroupManager
|
||||
application.vendor=gabrielcouto
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs=true
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width=2
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab=2
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.tab-size=2
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width=120
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap=none
|
||||
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.usedProfile=project
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.expand-tabs=true
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.indent-shift-width=4
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.spaces-per-tab=4
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.tab-size=4
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-limit-width=120
|
||||
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.text-line-wrap=none
|
||||
build.classes.dir=${build.dir}/classes
|
||||
build.classes.excludes=**/*.java,**/*.form
|
||||
# This directory is removed when the project is cleaned:
|
||||
|
|
13
EssentialsGroupManager/src/Changelog.txt
Normal file
13
EssentialsGroupManager/src/Changelog.txt
Normal file
|
@ -0,0 +1,13 @@
|
|||
Changelog
|
||||
|
||||
v 1.1:
|
||||
- Fixed users being able to use 'manuadd' to add users to higher groups than their own.
|
||||
- Added SuperPerms support so GM will update and provide the permissions to plugins which only support Bukkit Perms.
|
||||
- Added more helpful output to errors on argument lengths.
|
||||
- GroupManager will now attempt to select the default world when using commands instead of failing and telling you to use '/manselect <world>'.
|
||||
- Invalid groups assigned to players in users.yml will no longer cause a crash. GM will now set them to the default group instead.
|
||||
- Fix for Users.yml containing only 'users:' causing a crash.
|
||||
- GroupManager will now generate a fresh Users and Groups yml if either file is empty.
|
||||
- Fix for an infinite loop bug with the new Bukkit Perms during a new user creation.
|
||||
v 1.2:
|
||||
- Fixed BukkitPerms population. Wasn't correctly setting superperms.
|
|
@ -7,7 +7,8 @@ settings:
|
|||
permission:
|
||||
world:
|
||||
mirror:
|
||||
world1:
|
||||
world:
|
||||
- world_nether
|
||||
- world2
|
||||
- world3
|
||||
world4:
|
||||
|
|
0
EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java
Normal file → Executable file
0
EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java
Normal file → Executable file
|
@ -5,6 +5,7 @@
|
|||
package org.anjocaido.groupmanager;
|
||||
|
||||
import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler;
|
||||
import org.anjocaido.groupmanager.permissions.BukkitPermissions;
|
||||
import org.anjocaido.groupmanager.utils.GroupManagerPermissions;
|
||||
import org.anjocaido.groupmanager.data.Variables;
|
||||
import org.anjocaido.groupmanager.data.User;
|
||||
|
@ -32,6 +33,7 @@ import org.bukkit.entity.Player;
|
|||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
/**
|
||||
*
|
||||
* @author gabrielcouto
|
||||
|
@ -44,15 +46,23 @@ public class GroupManager extends JavaPlugin {
|
|||
private ScheduledThreadPoolExecutor scheduler;
|
||||
private Map<String, ArrayList<User>> overloadedUsers = new HashMap<String, ArrayList<User>>();
|
||||
private Map<CommandSender, String> selectedWorlds = new HashMap<CommandSender, String>();
|
||||
private WorldsHolder worldsHolder;
|
||||
private static WorldsHolder worldsHolder;
|
||||
private boolean validateOnlinePlayer = true;
|
||||
private boolean isReady = false;
|
||||
public static boolean isLoaded = false;
|
||||
private GMConfiguration config;
|
||||
private GMLoggerHandler ch;
|
||||
public static BukkitPermissions BukkitPermissions;
|
||||
public static final Logger logger = Logger.getLogger(GroupManager.class.getName());
|
||||
|
||||
//PERMISSIONS FOR COMMAND BEING LOADED
|
||||
OverloadedWorldHolder dataHolder = null;
|
||||
AnjoPermissionsHandler permissionHandler = null;
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
isLoaded = false;
|
||||
|
||||
if (worldsHolder != null) {
|
||||
worldsHolder.saveChanges();
|
||||
}
|
||||
|
@ -82,7 +92,10 @@ public class GroupManager extends JavaPlugin {
|
|||
throw new IllegalStateException("An error ocurred while loading GroupManager");
|
||||
}
|
||||
|
||||
BukkitPermissions = new BukkitPermissions(this);
|
||||
|
||||
enableScheduler();
|
||||
isLoaded = true;
|
||||
System.out.println(pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!");
|
||||
}
|
||||
|
||||
|
@ -109,7 +122,7 @@ public class GroupManager extends JavaPlugin {
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
GroupManager.this.worldsHolder.saveChanges();
|
||||
GroupManager.worldsHolder.saveChanges();
|
||||
}
|
||||
};
|
||||
scheduler = new ScheduledThreadPoolExecutor(1);
|
||||
|
@ -152,7 +165,7 @@ public class GroupManager extends JavaPlugin {
|
|||
worldsHolder.reloadAll();
|
||||
}
|
||||
|
||||
public WorldsHolder getWorldsHolder() {
|
||||
public static WorldsHolder getWorldsHolder() {
|
||||
return worldsHolder;
|
||||
}
|
||||
|
||||
|
@ -190,6 +203,7 @@ public class GroupManager extends JavaPlugin {
|
|||
* @param cmd
|
||||
* @param args
|
||||
*/
|
||||
@SuppressWarnings({"null", "deprecation"})
|
||||
@Override
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
|
||||
boolean playerCanDo = false;
|
||||
|
@ -212,8 +226,8 @@ public class GroupManager extends JavaPlugin {
|
|||
}
|
||||
|
||||
//PERMISSIONS FOR COMMAND BEING LOADED
|
||||
OverloadedWorldHolder dataHolder = null;
|
||||
AnjoPermissionsHandler permissionHandler = null;
|
||||
dataHolder = null;
|
||||
permissionHandler = null;
|
||||
|
||||
if (senderPlayer != null) {
|
||||
dataHolder = worldsHolder.getWorldData(senderPlayer);
|
||||
|
@ -275,13 +289,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manuadd:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player> <group>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -301,11 +314,29 @@ public class GroupManager extends JavaPlugin {
|
|||
sender.sendMessage(ChatColor.RED + "Group not found!");
|
||||
return false;
|
||||
}
|
||||
|
||||
//VALIDANDO PERMISSAO
|
||||
if (!isConsole && !senderPlayer.isOp() && (senderGroup != null ? permissionHandler.inGroup(auxUser.getName(), senderGroup.getName()) : false)) {
|
||||
sender.sendMessage(ChatColor.RED + "Can't modify player with same permissions than you, or higher.");
|
||||
return false;
|
||||
}
|
||||
if (!isConsole && !senderPlayer.isOp() && (permissionHandler.hasGroupInInheritance(auxGroup, senderGroup.getName()))) {
|
||||
sender.sendMessage(ChatColor.RED + "The destination group can't be the same as yours, or higher.");
|
||||
return false;
|
||||
}
|
||||
if (!isConsole && !senderPlayer.isOp() && (!permissionHandler.inGroup(senderUser.getName(), auxUser.getGroupName()) || !permissionHandler.inGroup(senderUser.getName(), auxGroup.getName()))) {
|
||||
sender.sendMessage(ChatColor.RED + "Can't modify player involving a group that you don't inherit.");
|
||||
return false;
|
||||
}
|
||||
if (!isConsole && !senderPlayer.isOp() && (!permissionHandler.hasGroupInInheritance(auxUser.getGroup(), auxGroup.getName()) && !permissionHandler.hasGroupInInheritance(auxGroup, auxUser.getGroupName()))) {
|
||||
sender.sendMessage(ChatColor.RED + "Can't modify player using groups with different heritage line.");
|
||||
return false;
|
||||
}
|
||||
if (!isConsole && !senderPlayer.isOp() && (!permissionHandler.hasGroupInInheritance(auxGroup, auxUser.getGroupName()))) {
|
||||
sender.sendMessage(ChatColor.RED + "The new group must be a higher rank.");
|
||||
return false;
|
||||
}
|
||||
|
||||
//PARECE OK
|
||||
auxUser.setGroup(auxGroup);
|
||||
sender.sendMessage(ChatColor.YELLOW + "You changed player '" + auxUser.getName() + "' group to '" + auxGroup.getName() + "'.");
|
||||
|
@ -315,13 +346,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manudel:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -349,13 +379,15 @@ public class GroupManager extends JavaPlugin {
|
|||
case manuaddsub:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
if (!setDefaultWorldHandler(sender)) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player> <group>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -388,13 +420,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manudelsub:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/manudelsub <user> <group>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -422,13 +453,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mangadd:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -444,13 +474,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mangdel:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -466,13 +495,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manuaddp:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player> <permission>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -531,13 +559,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manudelp:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player> <permission>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -583,13 +610,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manulistp:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -638,13 +664,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manucheckp:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player> <permission>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -686,13 +711,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mangaddp:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group> <permission>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -740,12 +764,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mangdelp:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group> <permission>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -779,13 +803,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manglistp:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -828,13 +851,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mangcheckp:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group> <permission>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -863,13 +885,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mangaddi:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group1> <group2>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -895,13 +916,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mangdeli:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group1> <group2>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -931,13 +951,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manuaddv:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length < 3) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <user> <variable> <value>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -967,13 +986,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manudelv:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <user> <variable>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -999,13 +1017,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manulistv:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <user>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -1037,13 +1054,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manucheckv:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <user> <variable>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -1080,13 +1096,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mangaddv:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length < 3) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group> <variable> <value>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -1110,13 +1125,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mangdelv:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group> <variable>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -1136,13 +1150,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manglistv:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -1174,13 +1187,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mangcheckv:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <group> <variable>)");
|
||||
return false;
|
||||
}
|
||||
auxGroup = dataHolder.getGroup(args[0]);
|
||||
|
@ -1202,13 +1214,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manwhois:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -1237,13 +1248,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case tempadd:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -1276,13 +1286,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case tempdel:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -1317,8 +1326,7 @@ public class GroupManager extends JavaPlugin {
|
|||
case templist:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//WORKING
|
||||
|
@ -1347,8 +1355,7 @@ public class GroupManager extends JavaPlugin {
|
|||
case tempdelall:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//WORKING
|
||||
|
@ -1391,8 +1398,7 @@ public class GroupManager extends JavaPlugin {
|
|||
}
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//WORKING
|
||||
|
@ -1416,8 +1422,7 @@ public class GroupManager extends JavaPlugin {
|
|||
case listgroups:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//WORKING
|
||||
|
@ -1433,13 +1438,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case manpromote:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player> <group>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -1489,13 +1493,12 @@ public class GroupManager extends JavaPlugin {
|
|||
case mandemote:
|
||||
//VALIDANDO ESTADO DO SENDER
|
||||
if (dataHolder == null || permissionHandler == null) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
if (!setDefaultWorldHandler(sender))
|
||||
return true;
|
||||
}
|
||||
//VALIDANDO ARGUMENTOS
|
||||
if (args.length != 2) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <player> <group>)");
|
||||
return false;
|
||||
}
|
||||
if (validateOnlinePlayer) {
|
||||
|
@ -1575,7 +1578,7 @@ public class GroupManager extends JavaPlugin {
|
|||
return true;
|
||||
case manselect:
|
||||
if (args.length < 1) {
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count!");
|
||||
sender.sendMessage(ChatColor.RED + "Review your arguments count! (/<command> <world>)");
|
||||
sender.sendMessage(ChatColor.YELLOW + "Worlds available: ");
|
||||
ArrayList<OverloadedWorldHolder> worlds = worldsHolder.allWorldsDataList();
|
||||
auxString = "";
|
||||
|
@ -1620,6 +1623,26 @@ public class GroupManager extends JavaPlugin {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up the default world for use.
|
||||
*/
|
||||
private boolean setDefaultWorldHandler(CommandSender sender) {
|
||||
|
||||
dataHolder = worldsHolder.getWorldData(worldsHolder.getDefaultWorld().getName());
|
||||
permissionHandler = dataHolder.getPermissionsHandler();
|
||||
selectedWorlds.put(sender, dataHolder.getName());
|
||||
|
||||
if ((dataHolder != null) && (permissionHandler != null)) {
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. Default world '" + worldsHolder.getDefaultWorld().getName() + "' selected.");
|
||||
return true;
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.RED + "Couldn't retrieve your world. World selection is needed.");
|
||||
sender.sendMessage(ChatColor.RED + "Use /manselect <world>");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the config
|
||||
*/
|
||||
|
|
9
EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java
Normal file → Executable file
9
EssentialsGroupManager/src/org/anjocaido/groupmanager/data/DataUnit.java
Normal file → Executable file
|
@ -49,9 +49,6 @@ public abstract class DataUnit {
|
|||
return hash;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @return the dataSource
|
||||
*/
|
||||
|
@ -67,7 +64,7 @@ public abstract class DataUnit {
|
|||
}
|
||||
|
||||
public void flagAsChanged() {
|
||||
GroupManager.logger.finest("DataSource: "+getDataSource().getName()+" - DataUnit: "+getName()+" flagged as changed!");
|
||||
GroupManager.logger.finest("DataSource: " + getDataSource().getName() + " - DataUnit: " + getName() + " flagged as changed!");
|
||||
// for(StackTraceElement st: Thread.currentThread().getStackTrace()){
|
||||
// GroupManager.logger.finest(st.toString());
|
||||
// }
|
||||
|
@ -79,7 +76,7 @@ public abstract class DataUnit {
|
|||
}
|
||||
|
||||
public void flagAsSaved() {
|
||||
GroupManager.logger.finest("DataSource: "+getDataSource().getName()+" - DataUnit: "+getName()+" flagged as saved!");
|
||||
GroupManager.logger.finest("DataSource: " + getDataSource().getName() + " - DataUnit: " + getName() + " flagged as saved!");
|
||||
changed = false;
|
||||
}
|
||||
|
||||
|
@ -108,7 +105,7 @@ public abstract class DataUnit {
|
|||
return (ArrayList<String>) permissions.clone();
|
||||
}
|
||||
|
||||
public void sortPermissions(){
|
||||
public void sortPermissions() {
|
||||
Collections.sort(permissions, StringPermissionComparator.getInstance());
|
||||
}
|
||||
}
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
package org.anjocaido.groupmanager.data;
|
||||
|
||||
import org.anjocaido.groupmanager.GroupManager;
|
||||
import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
|
@ -30,7 +31,7 @@ public class Group extends DataUnit implements Cloneable {
|
|||
* @param name
|
||||
*/
|
||||
public Group(WorldDataHolder source, String name) {
|
||||
super(source,name);
|
||||
super(source, name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -41,7 +42,7 @@ public class Group extends DataUnit implements Cloneable {
|
|||
public Group clone() {
|
||||
Group clone = new Group(getDataSource(), this.getName());
|
||||
clone.inherits = ((ArrayList<String>) this.getInherits().clone());
|
||||
for(String perm: this.getPermissionList()){
|
||||
for (String perm : this.getPermissionList()) {
|
||||
clone.addPermission(perm);
|
||||
}
|
||||
clone.variables = ((GroupVariables) variables).clone(clone);
|
||||
|
@ -52,7 +53,7 @@ public class Group extends DataUnit implements Cloneable {
|
|||
/**
|
||||
* Use this to deliver a group from a different dataSource to another
|
||||
* @param dataSource
|
||||
* @return
|
||||
* @return Null or Clone
|
||||
*/
|
||||
public Group clone(WorldDataHolder dataSource) {
|
||||
if (dataSource.groupExists(this.getName())) {
|
||||
|
@ -60,7 +61,7 @@ public class Group extends DataUnit implements Cloneable {
|
|||
}
|
||||
Group clone = getDataSource().createGroup(this.getName());
|
||||
clone.inherits = ((ArrayList<String>) this.getInherits().clone());
|
||||
for(String perm: this.getPermissionList()){
|
||||
for (String perm : this.getPermissionList()) {
|
||||
clone.addPermission(perm);
|
||||
}
|
||||
clone.variables = variables.clone(clone);
|
||||
|
@ -79,7 +80,7 @@ public class Group extends DataUnit implements Cloneable {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param inherits the inherits to set
|
||||
* @param inherit the inherits to set
|
||||
*/
|
||||
public void addInherits(Group inherit) {
|
||||
if (!this.getDataSource().groupExists(inherit.getName())) {
|
||||
|
@ -89,6 +90,8 @@ public class Group extends DataUnit implements Cloneable {
|
|||
inherits.add(inherit.getName().toLowerCase());
|
||||
}
|
||||
flagAsChanged();
|
||||
if (GroupManager.isLoaded)
|
||||
GroupManager.BukkitPermissions.updateAllPlayers();
|
||||
}
|
||||
|
||||
public boolean removeInherits(String inherit) {
|
||||
|
@ -114,9 +117,11 @@ public class Group extends DataUnit implements Cloneable {
|
|||
public void setVariables(Map<String, Object> varList) {
|
||||
GroupVariables temp = new GroupVariables(this, varList);
|
||||
variables.clearVars();
|
||||
for(String key: temp.getVarKeyList()){
|
||||
for (String key : temp.getVarKeyList()) {
|
||||
variables.addVar(key, temp.getVarObject(key));
|
||||
}
|
||||
flagAsChanged();
|
||||
if (GroupManager.isLoaded)
|
||||
GroupManager.BukkitPermissions.updateAllPlayers();
|
||||
}
|
||||
}
|
||||
|
|
0
EssentialsGroupManager/src/org/anjocaido/groupmanager/data/GroupVariables.java
Normal file → Executable file
0
EssentialsGroupManager/src/org/anjocaido/groupmanager/data/GroupVariables.java
Normal file → Executable file
|
@ -4,8 +4,10 @@
|
|||
*/
|
||||
package org.anjocaido.groupmanager.data;
|
||||
|
||||
import com.sun.org.apache.bcel.internal.generic.AALOAD;
|
||||
//import com.sun.org.apache.bcel.internal.generic.AALOAD;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.anjocaido.groupmanager.GroupManager;
|
||||
import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -27,13 +29,12 @@ public class User extends DataUnit implements Cloneable {
|
|||
*/
|
||||
private UserVariables variables = new UserVariables(this);
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param name
|
||||
*/
|
||||
public User(WorldDataHolder source, String name) {
|
||||
super(source,name);
|
||||
super(source, name);
|
||||
this.group = source.getDefaultGroup().getName();
|
||||
}
|
||||
|
||||
|
@ -45,7 +46,7 @@ public class User extends DataUnit implements Cloneable {
|
|||
public User clone() {
|
||||
User clone = new User(getDataSource(), this.getName());
|
||||
clone.group = this.group;
|
||||
for(String perm: this.getPermissionList()){
|
||||
for (String perm : this.getPermissionList()) {
|
||||
clone.addPermission(perm);
|
||||
}
|
||||
//clone.variables = this.variables.clone();
|
||||
|
@ -68,7 +69,7 @@ public class User extends DataUnit implements Cloneable {
|
|||
} else {
|
||||
clone.setGroup(this.getGroupName());
|
||||
}
|
||||
for(String perm: this.getPermissionList()){
|
||||
for (String perm : this.getPermissionList()) {
|
||||
clone.addPermission(perm);
|
||||
}
|
||||
//clone.variables = this.variables.clone();
|
||||
|
@ -103,6 +104,8 @@ public class User extends DataUnit implements Cloneable {
|
|||
public void setGroup(String group) {
|
||||
this.group = group;
|
||||
flagAsChanged();
|
||||
if ((GroupManager.isLoaded) && (GroupManager.BukkitPermissions.player_join = false))
|
||||
GroupManager.BukkitPermissions.updateAllPlayers();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -115,10 +118,12 @@ public class User extends DataUnit implements Cloneable {
|
|||
group = getDataSource().getGroup(group.getName());
|
||||
this.group = group.getName();
|
||||
flagAsChanged();
|
||||
if ((GroupManager.isLoaded) && (GroupManager.BukkitPermissions.player_join = false))
|
||||
GroupManager.BukkitPermissions.updateAllPlayers();
|
||||
}
|
||||
|
||||
public void addSubGroup(Group subGroup){
|
||||
if(this.group.equalsIgnoreCase(subGroup.getName())){
|
||||
public void addSubGroup(Group subGroup) {
|
||||
if (this.group.equalsIgnoreCase(subGroup.getName())) {
|
||||
return;
|
||||
}
|
||||
if (!this.getDataSource().groupExists(subGroup.getName())) {
|
||||
|
@ -128,32 +133,40 @@ public class User extends DataUnit implements Cloneable {
|
|||
removeSubGroup(subGroup);
|
||||
subGroups.add(subGroup.getName());
|
||||
flagAsChanged();
|
||||
if ((GroupManager.isLoaded) && (GroupManager.BukkitPermissions.player_join = false))
|
||||
GroupManager.BukkitPermissions.updateAllPlayers();
|
||||
}
|
||||
public int subGroupsSize(){
|
||||
|
||||
public int subGroupsSize() {
|
||||
return subGroups.size();
|
||||
}
|
||||
public boolean isSubGroupsEmpty(){
|
||||
|
||||
public boolean isSubGroupsEmpty() {
|
||||
return subGroups.isEmpty();
|
||||
}
|
||||
public boolean containsSubGroup(Group subGroup){
|
||||
|
||||
public boolean containsSubGroup(Group subGroup) {
|
||||
return subGroups.contains(subGroup.getName());
|
||||
}
|
||||
public boolean removeSubGroup(Group subGroup){
|
||||
try{
|
||||
if(subGroups.remove(subGroup.getName())){
|
||||
|
||||
public boolean removeSubGroup(Group subGroup) {
|
||||
try {
|
||||
if (subGroups.remove(subGroup.getName())) {
|
||||
flagAsChanged();
|
||||
if ((GroupManager.isLoaded) && (GroupManager.BukkitPermissions.player_join = false))
|
||||
GroupManager.BukkitPermissions.updateAllPlayers();
|
||||
return true;
|
||||
}
|
||||
} catch (Exception e){
|
||||
|
||||
} catch (Exception e) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public ArrayList<Group> subGroupListCopy(){
|
||||
|
||||
public ArrayList<Group> subGroupListCopy() {
|
||||
ArrayList<Group> val = new ArrayList<Group>();
|
||||
for(String gstr: subGroups){
|
||||
for (String gstr : subGroups) {
|
||||
Group g = getDataSource().getGroup(gstr);
|
||||
if(g==null){
|
||||
if (g == null) {
|
||||
removeSubGroup(g);
|
||||
continue;
|
||||
}
|
||||
|
@ -161,7 +174,8 @@ public class User extends DataUnit implements Cloneable {
|
|||
}
|
||||
return val;
|
||||
}
|
||||
public ArrayList<String> subGroupListStringCopy(){
|
||||
|
||||
public ArrayList<String> subGroupListStringCopy() {
|
||||
return (ArrayList<String>) subGroups.clone();
|
||||
}
|
||||
|
||||
|
@ -179,9 +193,11 @@ public class User extends DataUnit implements Cloneable {
|
|||
public void setVariables(Map<String, Object> varList) {
|
||||
UserVariables temp = new UserVariables(this, varList);
|
||||
variables.clearVars();
|
||||
for(String key: temp.getVarKeyList()){
|
||||
for (String key : temp.getVarKeyList()) {
|
||||
variables.addVar(key, temp.getVarObject(key));
|
||||
}
|
||||
flagAsChanged();
|
||||
if ((GroupManager.isLoaded) && (GroupManager.BukkitPermissions.player_join = false))
|
||||
GroupManager.BukkitPermissions.updateAllPlayers();
|
||||
}
|
||||
}
|
||||
|
|
11
EssentialsGroupManager/src/org/anjocaido/groupmanager/data/UserVariables.java
Normal file → Executable file
11
EssentialsGroupManager/src/org/anjocaido/groupmanager/data/UserVariables.java
Normal file → Executable file
|
@ -2,7 +2,6 @@
|
|||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
package org.anjocaido.groupmanager.data;
|
||||
|
||||
import java.util.Map;
|
||||
|
@ -11,17 +10,21 @@ import java.util.Map;
|
|||
*
|
||||
* @author gabrielcouto
|
||||
*/
|
||||
public class UserVariables extends Variables{
|
||||
public class UserVariables extends Variables {
|
||||
|
||||
private User owner;
|
||||
public UserVariables(User owner){
|
||||
|
||||
public UserVariables(User owner) {
|
||||
super(owner);
|
||||
this.owner = owner;
|
||||
}
|
||||
|
||||
public UserVariables(User owner, Map<String, Object> varList) {
|
||||
super(owner);
|
||||
this.variables = varList;
|
||||
this.owner = owner;
|
||||
}
|
||||
|
||||
/**
|
||||
* A clone of all vars here.
|
||||
* @return
|
||||
|
@ -34,6 +37,7 @@ public class UserVariables extends Variables{
|
|||
newOwner.flagAsChanged();
|
||||
return clone;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the owner
|
||||
*/
|
||||
|
@ -41,5 +45,4 @@ public class UserVariables extends Variables{
|
|||
public User getOwner() {
|
||||
return owner;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
8
EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Variables.java
Normal file → Executable file
8
EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Variables.java
Normal file → Executable file
|
@ -19,12 +19,14 @@ import java.util.Set;
|
|||
* @author gabrielcouto
|
||||
*/
|
||||
public abstract class Variables implements Cloneable {
|
||||
|
||||
private DataUnit owner;
|
||||
protected Map<String, Object> variables = new HashMap<String, Object>();
|
||||
|
||||
public Variables(DataUnit owner){
|
||||
public Variables(DataUnit owner) {
|
||||
this.owner = owner;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add var to the the INFO node.
|
||||
* examples:
|
||||
|
@ -174,7 +176,7 @@ public abstract class Variables implements Cloneable {
|
|||
|
||||
}
|
||||
|
||||
public void clearVars(){
|
||||
public void clearVars() {
|
||||
variables.clear();
|
||||
owner.flagAsChanged();
|
||||
}
|
||||
|
@ -186,7 +188,7 @@ public abstract class Variables implements Cloneable {
|
|||
return owner;
|
||||
}
|
||||
|
||||
public boolean isEmpty(){
|
||||
public boolean isEmpty() {
|
||||
return variables.isEmpty();
|
||||
}
|
||||
}
|
||||
|
|
1
EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/OverloadedWorldHolder.java
Normal file → Executable file
1
EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/OverloadedWorldHolder.java
Normal file → Executable file
|
@ -25,6 +25,7 @@ public class OverloadedWorldHolder extends WorldDataHolder {
|
|||
*
|
||||
* @param ph
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public OverloadedWorldHolder(WorldDataHolder ph) {
|
||||
super(ph.getName());
|
||||
this.f = ph.f;
|
||||
|
|
|
@ -308,6 +308,7 @@ public class WorldDataHolder {
|
|||
* @throws Exception
|
||||
* @deprecated
|
||||
*/
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
@Deprecated
|
||||
public static WorldDataHolder load(String worldName, File file) throws Exception {
|
||||
WorldDataHolder ph = new WorldDataHolder(worldName);
|
||||
|
@ -455,6 +456,7 @@ public class WorldDataHolder {
|
|||
* @throws FileNotFoundException
|
||||
* @throws IOException
|
||||
*/
|
||||
@SuppressWarnings({"rawtypes", "unchecked"})
|
||||
public static WorldDataHolder load(String worldName, File groupsFile, File usersFile) throws FileNotFoundException, IOException {
|
||||
WorldDataHolder ph = new WorldDataHolder(worldName);
|
||||
ph.groupsFile = groupsFile;
|
||||
|
@ -576,6 +578,11 @@ public class WorldDataHolder {
|
|||
|
||||
// PROCESS USERS FILE
|
||||
Map<String, Object> allUsersNode = (Map<String, Object>) usersRootDataNode.get("users");
|
||||
|
||||
// Stop loading if the file is empty
|
||||
if (allUsersNode == null)
|
||||
return ph;
|
||||
|
||||
for (String usersKey : allUsersNode.keySet()) {
|
||||
Map<String, Object> thisUserNode = (Map<String, Object>) allUsersNode.get(usersKey);
|
||||
User thisUser = ph.createUser(usersKey);
|
||||
|
@ -628,7 +635,9 @@ public class WorldDataHolder {
|
|||
if (thisUserNode.get("group") != null) {
|
||||
Group hisGroup = ph.getGroup(thisUserNode.get("group").toString());
|
||||
if (hisGroup == null) {
|
||||
throw new IllegalArgumentException("There is no group " + thisUserNode.get("group").toString() + ", as stated for player " + thisUser.getName());
|
||||
GroupManager.logger.warning("There is no group " + thisUserNode.get("group").toString() + ", as stated for player " + thisUser.getName() + ": Set to '" + ph.getDefaultGroup().getName() + "'.");
|
||||
hisGroup = ph.defaultGroup;
|
||||
//throw new IllegalArgumentException("There is no group " + thisUserNode.get("group").toString() + ", as stated for player " + thisUser.getName());
|
||||
}
|
||||
thisUser.setGroup(hisGroup);
|
||||
} else {
|
||||
|
|
|
@ -63,7 +63,8 @@ public class WorldsHolder {
|
|||
initialWorldLoading();
|
||||
mirrorSetUp();
|
||||
}
|
||||
private void initialWorldLoading(){
|
||||
|
||||
private void initialWorldLoading() {
|
||||
//LOAD EVERY WORLD POSSIBLE
|
||||
loadWorld(serverDefaultWorldName);
|
||||
defaultWorld = worldsData.get(serverDefaultWorldName);
|
||||
|
@ -77,7 +78,9 @@ public class WorldsHolder {
|
|||
}
|
||||
}
|
||||
}
|
||||
public void mirrorSetUp(){
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
public void mirrorSetUp() {
|
||||
mirrors.clear();
|
||||
Map<String, Object> mirrorsMap = plugin.getConfig().getMirrorsMap();
|
||||
if (mirrorsMap != null) {
|
||||
|
@ -136,7 +139,7 @@ public class WorldsHolder {
|
|||
continue;
|
||||
}
|
||||
if (w.haveGroupsChanged()) {
|
||||
String groupsFolderName = w.getGroupsFile().getParentFile().getName();
|
||||
//String groupsFolderName = w.getGroupsFile().getParentFile().getName();
|
||||
File backupGroups = new File(plugin.getBackupFolder(), "bkp_" + w.getName() + "_g_" + Tasks.getDateString() + ".yml");
|
||||
try {
|
||||
Tasks.copy(w.getGroupsFile(), backupGroups);
|
||||
|
@ -262,7 +265,7 @@ public class WorldsHolder {
|
|||
File groupsFile = new File(defaultWorldFolder, "groups.yml");
|
||||
File usersFile = new File(defaultWorldFolder, "users.yml");
|
||||
File oldDataFile = new File(plugin.getDataFolder(), "data.yml");
|
||||
if (!groupsFile.exists()) {
|
||||
if (!groupsFile.exists() || groupsFile.length() == 0) {
|
||||
if (oldDataFile.exists()) {
|
||||
try {
|
||||
Tasks.copy(oldDataFile, groupsFile);
|
||||
|
@ -278,7 +281,7 @@ public class WorldsHolder {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (!usersFile.exists()) {
|
||||
if (!usersFile.exists() || usersFile.length() == 0) {
|
||||
if (oldDataFile.exists()) {
|
||||
try {
|
||||
Tasks.copy(oldDataFile, usersFile);
|
||||
|
@ -368,7 +371,7 @@ public class WorldsHolder {
|
|||
GroupManager.logger.log(Level.SEVERE, null, ex);
|
||||
return;
|
||||
}
|
||||
GroupManager.logger.severe("Failed to load world " + worldName + "...");
|
||||
//GroupManager.logger.severe("Failed to load world " + worldName + "...");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
194
EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java
Normal file → Executable file
194
EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java
Normal file → Executable file
|
@ -13,6 +13,7 @@ import org.anjocaido.groupmanager.data.Group;
|
|||
import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
|
||||
import org.anjocaido.groupmanager.data.User;
|
||||
import org.anjocaido.groupmanager.utils.PermissionCheckResult;
|
||||
import org.anjocaido.groupmanager.utils.PermissionCheckResult.Type;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
|
@ -59,6 +60,16 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
|||
return checkUserPermission(ph.getUser(player.getName()), permission);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a player can use that permission node.
|
||||
* @param playerName
|
||||
* @param permission
|
||||
* @return
|
||||
*/
|
||||
public boolean permission(String playerName, String permission) {
|
||||
return checkUserPermission(ph.getUser(playerName), permission);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name of the group of that player name.
|
||||
* @param userName
|
||||
|
@ -98,6 +109,75 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the appropriate prefix for the user.
|
||||
* This method is a utility method for chat plugins to get the user's prefix
|
||||
* without having to look at every one of the user's ancestors.
|
||||
* Returns an empty string if user has no parent groups.
|
||||
* @param user Player's name
|
||||
* @return Player's prefix
|
||||
*/
|
||||
@Override
|
||||
public String getUserPrefix(String user) {
|
||||
|
||||
String prefix = ph.getUser(user).getVariables().getVarString("prefix");
|
||||
if (prefix.length() != 0) {
|
||||
return prefix;
|
||||
}
|
||||
|
||||
return getGroupPrefix(getGroup(user));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the appropriate prefix for the user.
|
||||
* This method is a utility method for chat plugins to get the user's prefix
|
||||
* without having to look at every one of the user's ancestors.
|
||||
* Returns an empty string if user has no parent groups.
|
||||
* @param user Player's name
|
||||
* @return Player's prefix
|
||||
*/
|
||||
@Override
|
||||
public String getUserSuffix(String user) {
|
||||
|
||||
String suffix = ph.getUser(user).getVariables().getVarString("suffix");
|
||||
if (suffix.length() != 0) {
|
||||
return suffix;
|
||||
}
|
||||
|
||||
return getGroupSuffix(getGroup(user));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets name of the primary group of the user.
|
||||
* Returns the name of the default group if user has no parent groups,
|
||||
* or "Default" if there is no default group for that world.
|
||||
* @param user Player's name
|
||||
* @return Name of player's primary group
|
||||
*/
|
||||
public String getPrimaryGroup(String user) {
|
||||
|
||||
return getGroup(user);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if user can build.
|
||||
* @param world Player's world
|
||||
* @param user Player's name
|
||||
* @return Whether the user can build
|
||||
*/
|
||||
public boolean canUserBuild(String user) {
|
||||
boolean test = ph.getUser(user).getVariables().getVarBoolean("build");
|
||||
|
||||
if (test) {
|
||||
return test;
|
||||
}
|
||||
|
||||
return canGroupBuild(getGroup(user));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the String prefix for the given group
|
||||
* @param groupName
|
||||
|
@ -107,7 +187,7 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
|||
public String getGroupPrefix(String groupName) {
|
||||
Group g = ph.getGroup(groupName);
|
||||
if (g == null) {
|
||||
return null;
|
||||
return "";
|
||||
}
|
||||
return g.getVariables().getVarString("prefix");
|
||||
}
|
||||
|
@ -121,7 +201,7 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
|||
public String getGroupSuffix(String groupName) {
|
||||
Group g = ph.getGroup(groupName);
|
||||
if (g == null) {
|
||||
return null;
|
||||
return "";
|
||||
}
|
||||
return g.getVariables().getVarString("suffix");
|
||||
}
|
||||
|
@ -619,8 +699,8 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
|||
@Deprecated
|
||||
public boolean checkGroupPermissionWithInheritance(Group start, String permission, List<Group> alreadyChecked) {
|
||||
PermissionCheckResult result = checkGroupPermissionWithInheritance(start, permission);
|
||||
if (result.resultType.equals(result.resultType.EXCEPTION)
|
||||
|| result.resultType.equals(result.resultType.FOUND)) {
|
||||
if (result.resultType.equals(Type.EXCEPTION)
|
||||
|| result.resultType.equals(Type.FOUND)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -682,8 +762,8 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
|||
@Deprecated
|
||||
public Group nextGroupWithPermission(Group start, String permission, List<Group> alreadyChecked) {
|
||||
PermissionCheckResult result = checkGroupPermissionWithInheritance(start, permission);
|
||||
if (result.resultType.equals(result.resultType.EXCEPTION)
|
||||
|| result.resultType.equals(result.resultType.FOUND)) {
|
||||
if (result.resultType.equals(Type.EXCEPTION)
|
||||
|| result.resultType.equals(Type.FOUND)) {
|
||||
return (Group) checkGroupPermissionWithInheritance(start, permission).owner;
|
||||
}
|
||||
return null;
|
||||
|
@ -807,9 +887,10 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
|||
* @param userName
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String[] getGroups(String userName) {
|
||||
ArrayList<String> allGroups = listAllGroupsInherited(ph.getUser(userName).getGroup());
|
||||
for(Group subg: ph.getUser(userName).subGroupListCopy()){
|
||||
for (Group subg : ph.getUser(userName).subGroupListCopy()) {
|
||||
allGroups.addAll(listAllGroupsInherited(subg));
|
||||
}
|
||||
String[] arr = new String[allGroups.size()];
|
||||
|
@ -825,6 +906,7 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
|||
* @param targerPermission
|
||||
* @return
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
private Group breadthFirstSearch(Group start, String targerPermission) {
|
||||
if (start == null || targerPermission == null) {
|
||||
return null;
|
||||
|
@ -853,4 +935,102 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Group getDefaultGroup() {
|
||||
return ph.getDefaultGroup();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInfoString(String entryName, String path,
|
||||
boolean isGroup) {
|
||||
if (isGroup) {
|
||||
Group data = ph.getGroup(entryName);
|
||||
if (data == null) {
|
||||
return null;
|
||||
}
|
||||
return data.getVariables().getVarString(path);
|
||||
} else {
|
||||
User data = ph.getUser(entryName);
|
||||
if (data == null) {
|
||||
return null;
|
||||
}
|
||||
return data.getVariables().getVarString(path);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInfoInteger(String entryName, String path,
|
||||
boolean isGroup) {
|
||||
if (isGroup) {
|
||||
Group data = ph.getGroup(entryName);
|
||||
if (data == null) {
|
||||
return -1;
|
||||
}
|
||||
return data.getVariables().getVarInteger(path);
|
||||
} else {
|
||||
User data = ph.getUser(entryName);
|
||||
if (data == null) {
|
||||
return -1;
|
||||
}
|
||||
return data.getVariables().getVarInteger(path);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getInfoDouble(String entryName, String path,
|
||||
boolean isGroup) {
|
||||
if (isGroup) {
|
||||
Group data = ph.getGroup(entryName);
|
||||
if (data == null) {
|
||||
return -1;
|
||||
}
|
||||
return data.getVariables().getVarDouble(path);
|
||||
} else {
|
||||
User data = ph.getUser(entryName);
|
||||
if (data == null) {
|
||||
return -1;
|
||||
}
|
||||
return data.getVariables().getVarDouble(path);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getInfoBoolean(String entryName, String path,
|
||||
boolean isGroup) {
|
||||
if (isGroup) {
|
||||
Group data = ph.getGroup(entryName);
|
||||
if (data == null) {
|
||||
return false;
|
||||
}
|
||||
return data.getVariables().getVarBoolean(path);
|
||||
} else {
|
||||
User data = ph.getUser(entryName);
|
||||
if (data == null) {
|
||||
return false;
|
||||
}
|
||||
return data.getVariables().getVarBoolean(path);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addUserInfo(String name, String path, Object data) {
|
||||
ph.getUser(name).getVariables().addVar(path, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeUserInfo(String name, String path) {
|
||||
ph.getUser(name).getVariables().removeVar(path);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addGroupInfo(String name, String path, Object data) {
|
||||
ph.getGroup(name).getVariables().addVar(path, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGroupInfo(String name, String path) {
|
||||
ph.getGroup(name).getVariables().removeVar(path);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,227 @@
|
|||
/*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
package org.anjocaido.groupmanager.permissions;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.anjocaido.groupmanager.GroupManager;
|
||||
import org.anjocaido.groupmanager.data.User;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerKickEvent;
|
||||
import org.bukkit.event.player.PlayerListener;
|
||||
import org.bukkit.event.player.PlayerPortalEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.bukkit.event.server.PluginDisableEvent;
|
||||
import org.bukkit.event.server.PluginEnableEvent;
|
||||
import org.bukkit.event.server.ServerListener;
|
||||
import org.bukkit.permissions.Permission;
|
||||
import org.bukkit.permissions.PermissionAttachment;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* BukkitPermissions overrides to force GM reponses to Superperms
|
||||
*
|
||||
* @author ElgarL, based upon PermissionsEX implementation
|
||||
*/
|
||||
public class BukkitPermissions {
|
||||
|
||||
protected Map<Player, PermissionAttachment> attachments = new HashMap<Player, PermissionAttachment>();
|
||||
protected Set<Permission> registeredPermissions = new HashSet<Permission>();
|
||||
protected Plugin plugin;
|
||||
protected boolean dumpAllPermissions = true;
|
||||
protected boolean dumpMatchedPermissions = true;
|
||||
public boolean player_join = false;
|
||||
|
||||
public BukkitPermissions(Plugin plugin) {
|
||||
this.plugin = plugin;
|
||||
|
||||
this.collectPermissions();
|
||||
this.registerEvents();
|
||||
|
||||
this.updateAllPlayers();
|
||||
|
||||
GroupManager.logger.info("Superperms support enabled.");
|
||||
}
|
||||
|
||||
private void registerEvents() {
|
||||
PluginManager manager = plugin.getServer().getPluginManager();
|
||||
|
||||
PlayerEvents playerEventListener = new PlayerEvents();
|
||||
|
||||
manager.registerEvent(Event.Type.PLAYER_JOIN, playerEventListener, Event.Priority.Normal, plugin);
|
||||
manager.registerEvent(Event.Type.PLAYER_KICK, playerEventListener, Event.Priority.Normal, plugin);
|
||||
manager.registerEvent(Event.Type.PLAYER_QUIT, playerEventListener, Event.Priority.Normal, plugin);
|
||||
|
||||
manager.registerEvent(Event.Type.PLAYER_RESPAWN, playerEventListener, Event.Priority.Normal, plugin);
|
||||
manager.registerEvent(Event.Type.PLAYER_TELEPORT, playerEventListener, Event.Priority.Normal, plugin);
|
||||
manager.registerEvent(Event.Type.PLAYER_PORTAL, playerEventListener, Event.Priority.Normal, plugin);
|
||||
|
||||
ServerListener serverListener = new BukkitEvents();
|
||||
|
||||
manager.registerEvent(Event.Type.PLUGIN_ENABLE, serverListener, Event.Priority.Normal, plugin);
|
||||
manager.registerEvent(Event.Type.PLUGIN_DISABLE, serverListener, Event.Priority.Normal, plugin);
|
||||
}
|
||||
|
||||
private void collectPermissions() {
|
||||
registeredPermissions.clear();
|
||||
for (Plugin bukkitPlugin : Bukkit.getServer().getPluginManager().getPlugins()) {
|
||||
registeredPermissions.addAll(bukkitPlugin.getDescription().getPermissions());
|
||||
}
|
||||
}
|
||||
|
||||
public void updatePermissions(Player player){
|
||||
this.updatePermissions(player, null);
|
||||
}
|
||||
|
||||
public void updatePermissions(Player player, String world) {
|
||||
if (player == null || !this.plugin.isEnabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.attachments.containsKey(player)) {
|
||||
this.attachments.put(player, player.addAttachment(plugin));
|
||||
}
|
||||
|
||||
if(world == null){
|
||||
world = player.getWorld().getName();
|
||||
}
|
||||
|
||||
PermissionAttachment attachment = this.attachments.get(player);
|
||||
|
||||
User user = GroupManager.getWorldsHolder().getWorldData(world).getUser(player.getName());
|
||||
List<String> permissions = user.getGroup().getPermissionList();
|
||||
|
||||
// clear permissions
|
||||
for (String permission : attachment.getPermissions().keySet()) {
|
||||
attachment.unsetPermission(permission);
|
||||
}
|
||||
|
||||
// find matching permissions
|
||||
for (Permission permission : registeredPermissions) {
|
||||
boolean permissionValue = user.getGroup().hasSamePermissionNode(permission.getName());
|
||||
attachment.setPermission(permission, permissionValue);
|
||||
}
|
||||
|
||||
// all permissions
|
||||
for (String permission : permissions) {
|
||||
Boolean value = true;
|
||||
if (permission.startsWith("-")) {
|
||||
permission = permission.substring(1); // cut off -
|
||||
value = false;
|
||||
}
|
||||
|
||||
if (!attachment.getPermissions().containsKey(permission)) {
|
||||
attachment.setPermission(permission, value);
|
||||
}
|
||||
}
|
||||
|
||||
player.recalculatePermissions();
|
||||
/*
|
||||
// List perms for this player
|
||||
GroupManager.logger.info("Attachment Permissions:");
|
||||
for(Map.Entry<String, Boolean> entry : attachment.getPermissions().entrySet()){
|
||||
GroupManager.logger.info(" " + entry.getKey() + " = " + entry.getValue());
|
||||
}
|
||||
|
||||
GroupManager.logger.info("Effective Permissions:");
|
||||
for(PermissionAttachmentInfo info : player.getEffectivePermissions()){
|
||||
GroupManager.logger.info(" " + info.getPermission() + " = " + info.getValue());
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
public void updateAllPlayers() {
|
||||
for (Player player : Bukkit.getServer().getOnlinePlayers()) {
|
||||
updatePermissions(player);
|
||||
}
|
||||
}
|
||||
|
||||
protected class PlayerEvents extends PlayerListener {
|
||||
|
||||
@Override
|
||||
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||
player_join = true;
|
||||
Player player = event.getPlayer();
|
||||
//force GM to create the player if they are not already listed.
|
||||
if (GroupManager.getWorldsHolder().getWorldData(player.getWorld().getName()).getUser(player.getName()) != null) {
|
||||
player_join = false;
|
||||
updatePermissions(event.getPlayer());
|
||||
} else
|
||||
player_join = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerPortal(PlayerPortalEvent event) { // will portal into another world
|
||||
if(event.getPlayer().getWorld().equals(event.getTo().getWorld())){ // only if world actually changed
|
||||
return;
|
||||
}
|
||||
|
||||
updatePermissions(event.getPlayer(), event.getTo().getWorld().getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerRespawn(PlayerRespawnEvent event) { // can be respawned in another world
|
||||
updatePermissions(event.getPlayer(), event.getRespawnLocation().getWorld().getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerTeleport(PlayerTeleportEvent event) { // can be teleported into another world
|
||||
if (!event.getFrom().getWorld().equals(event.getTo().getWorld())) { // only if world actually changed
|
||||
updatePermissions(event.getPlayer(), event.getTo().getWorld().getName());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||
attachments.remove(event.getPlayer());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerKick(PlayerKickEvent event) {
|
||||
attachments.remove(event.getPlayer());
|
||||
}
|
||||
}
|
||||
|
||||
protected class BukkitEvents extends ServerListener {
|
||||
|
||||
@Override
|
||||
public void onPluginEnable(PluginEnableEvent event) {
|
||||
collectPermissions();
|
||||
updateAllPlayers();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPluginDisable(PluginDisableEvent event) {
|
||||
collectPermissions();
|
||||
updateAllPlayers();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
71
EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/PermissionsReaderInterface.java
Normal file → Executable file
71
EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/PermissionsReaderInterface.java
Normal file → Executable file
|
@ -1,5 +1,10 @@
|
|||
package org.anjocaido.groupmanager.permissions;
|
||||
|
||||
//import java.util.Collection;
|
||||
//import java.util.Map;
|
||||
//import java.util.Set;
|
||||
import org.anjocaido.groupmanager.data.Group;
|
||||
//import org.anjocaido.groupmanager.data.User;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
|
@ -12,7 +17,6 @@ import org.bukkit.entity.Player;
|
|||
*/
|
||||
public abstract class PermissionsReaderInterface {
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param player
|
||||
|
@ -160,4 +164,69 @@ public abstract class PermissionsReaderInterface {
|
|||
* @return
|
||||
*/
|
||||
public abstract double getPermissionDouble(String string, String string1);
|
||||
|
||||
/////////////////////////////
|
||||
/**
|
||||
* Gets the appropriate prefix for the user.
|
||||
* This method is a utility method for chat plugins to get the user's prefix
|
||||
* without having to look at every one of the user's ancestors.
|
||||
* Returns an empty string if user has no parent groups.
|
||||
* @param world Player's world
|
||||
* @param user Player's name
|
||||
* @return Player's prefix
|
||||
*/
|
||||
public abstract String getUserPrefix(String user);
|
||||
|
||||
/**
|
||||
* Gets the appropriate suffix for the user.
|
||||
* This method is a utility method for chat plugins to get the user's suffix
|
||||
* without having to look at every one of the user's ancestors.
|
||||
* Returns an empty string if user has no parent groups.
|
||||
* @param world Player's world
|
||||
* @param user Player's name
|
||||
* @return Player's suffix
|
||||
*/
|
||||
public abstract String getUserSuffix(String user);
|
||||
|
||||
/**
|
||||
* Returns the group object representing the default group of the given world.
|
||||
* This method will return null if the object does not exist or the world has no default group.
|
||||
* @return Group object representing default world, or null if it doesn't exist or is not defined.
|
||||
*/
|
||||
public abstract Group getDefaultGroup();
|
||||
|
||||
/**
|
||||
* Gets a array of the names of all parent groups in the same world.
|
||||
* @param name Target user's name
|
||||
* @return An array containing the names of all parent groups (including ancestors) that are in the same world
|
||||
*/
|
||||
public abstract String[] getGroups(String name);
|
||||
|
||||
public abstract String getInfoString(String entryName, String path, boolean isGroup);
|
||||
//public abstract String getInfoString(String entryName, String path, boolean isGroup, Comparator<String> comparator);
|
||||
|
||||
public abstract int getInfoInteger(String entryName, String path, boolean isGroup);
|
||||
//public abstract int getInfoInteger(String entryName, String path, boolean isGroup, Comparator<Integer> comparator);
|
||||
|
||||
/**
|
||||
* Gets a double from the Info node without inheritance.
|
||||
* @param entryName
|
||||
* @param path
|
||||
* @param isGroup
|
||||
* @return
|
||||
*/
|
||||
public abstract double getInfoDouble(String entryName, String path, boolean isGroup);
|
||||
//public abstract double getInfoDouble(String entryName, String path, boolean isGroup, Comparator<Double> comparator);
|
||||
|
||||
public abstract boolean getInfoBoolean(String entryName, String path, boolean isGroup);
|
||||
//public abstract boolean getInfoBoolean(String entryName, String path, boolean isGroup, Comparator<Boolean> comparator);
|
||||
|
||||
public abstract void addUserInfo(String name, String path, Object data);
|
||||
|
||||
public abstract void removeUserInfo(String name, String path);
|
||||
|
||||
public abstract void addGroupInfo(String name, String path, Object data);
|
||||
|
||||
public abstract void removeGroupInfo(String name, String path);
|
||||
//////////////////////////////
|
||||
}
|
||||
|
|
0
EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GMLoggerHandler.java
Normal file → Executable file
0
EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GMLoggerHandler.java
Normal file → Executable file
1
EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java
Normal file → Executable file
1
EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java
Normal file → Executable file
|
@ -9,6 +9,7 @@ package org.anjocaido.groupmanager.utils;
|
|||
* @author gabrielcouto
|
||||
*/
|
||||
public enum GroupManagerPermissions {
|
||||
|
||||
manuadd,
|
||||
manudel,
|
||||
manuaddsub,
|
||||
|
|
1
EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/PermissionCheckResult.java
Normal file → Executable file
1
EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/PermissionCheckResult.java
Normal file → Executable file
|
@ -11,6 +11,7 @@ import org.anjocaido.groupmanager.data.DataUnit;
|
|||
* @author gabrielcouto
|
||||
*/
|
||||
public class PermissionCheckResult {
|
||||
|
||||
/**
|
||||
* It should be the owner of the access level found.
|
||||
*
|
||||
|
|
19
EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java
Normal file → Executable file
19
EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/StringPermissionComparator.java
Normal file → Executable file
|
@ -2,7 +2,6 @@
|
|||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
package org.anjocaido.groupmanager.utils;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
@ -19,32 +18,32 @@ public class StringPermissionComparator implements Comparator<String> {
|
|||
boolean bp = permB.startsWith("+");
|
||||
boolean am = permA.startsWith("-");
|
||||
boolean bm = permB.startsWith("-");
|
||||
if(ap&&bp){
|
||||
if (ap && bp) {
|
||||
return 0;
|
||||
}
|
||||
if(ap&&!bp){
|
||||
if (ap && !bp) {
|
||||
return -1;
|
||||
}
|
||||
if(!ap&&bp){
|
||||
if (!ap && bp) {
|
||||
return 1;
|
||||
}
|
||||
if(am&&bm){
|
||||
if (am && bm) {
|
||||
return 0;
|
||||
}
|
||||
if(am&&!bm){
|
||||
if (am && !bm) {
|
||||
return -1;
|
||||
}
|
||||
if(!am&&bm){
|
||||
if (!am && bm) {
|
||||
return 1;
|
||||
}
|
||||
return permA.compareToIgnoreCase(permB);
|
||||
}
|
||||
private static StringPermissionComparator instance;
|
||||
public static StringPermissionComparator getInstance(){
|
||||
if(instance==null){
|
||||
|
||||
public static StringPermissionComparator getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new StringPermissionComparator();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
53
EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/Tasks.java
Normal file → Executable file
53
EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/Tasks.java
Normal file → Executable file
|
@ -10,7 +10,7 @@ import java.io.FileOutputStream;
|
|||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.List;
|
||||
import org.anjocaido.groupmanager.data.Group;
|
||||
|
@ -62,48 +62,51 @@ public abstract class Tasks {
|
|||
public static String getDateString() {
|
||||
GregorianCalendar now = new GregorianCalendar();
|
||||
String date = "";
|
||||
date += now.get(GregorianCalendar.DAY_OF_MONTH);
|
||||
date += now.get(Calendar.DAY_OF_MONTH);
|
||||
date += "-";
|
||||
date += now.get(GregorianCalendar.HOUR);
|
||||
date += now.get(Calendar.HOUR);
|
||||
date += "-";
|
||||
date += now.get(GregorianCalendar.MINUTE);
|
||||
date += now.get(Calendar.MINUTE);
|
||||
return date;
|
||||
}
|
||||
public static String getStringListInString(List<String> list){
|
||||
if(list==null){
|
||||
|
||||
public static String getStringListInString(List<String> list) {
|
||||
if (list == null) {
|
||||
return "";
|
||||
}
|
||||
String result="";
|
||||
for(int i=0;i<list.size();i++){
|
||||
result+=list.get(i);
|
||||
if(i<list.size()-1){
|
||||
result+=", ";
|
||||
String result = "";
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
result += list.get(i);
|
||||
if (i < list.size() - 1) {
|
||||
result += ", ";
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public static String getStringArrayInString(String[] list){
|
||||
if(list==null){
|
||||
|
||||
public static String getStringArrayInString(String[] list) {
|
||||
if (list == null) {
|
||||
return "";
|
||||
}
|
||||
String result="";
|
||||
for(int i=0;i<list.length;i++){
|
||||
result+=list[i];
|
||||
if(i<((list.length)-1)){
|
||||
result+=", ";
|
||||
String result = "";
|
||||
for (int i = 0; i < list.length; i++) {
|
||||
result += list[i];
|
||||
if (i < ((list.length) - 1)) {
|
||||
result += ", ";
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public static String getGroupListInString(List<Group> list){
|
||||
if(list==null){
|
||||
|
||||
public static String getGroupListInString(List<Group> list) {
|
||||
if (list == null) {
|
||||
return "";
|
||||
}
|
||||
String result="";
|
||||
for(int i=0;i<list.size();i++){
|
||||
result+=list.get(i).getName();
|
||||
if(i<list.size()-1){
|
||||
result+=", ";
|
||||
String result = "";
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
result += list.get(i).getName();
|
||||
if (i < list.size() - 1) {
|
||||
result += ", ";
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
name: GroupManager
|
||||
version: "1.0(alpha-5) [Zombie-Version]"
|
||||
version: "1.1 (Phoenix)"
|
||||
main: org.anjocaido.groupmanager.GroupManager
|
||||
website: http://www.anjocaido.info/
|
||||
description: Provides on-the-fly system for Permission system created by Nijikokun. But all in memory, and with flat-file saving schedule.
|
||||
description: Provides on-the-fly system for permissions system created by Nijikokun. But all in memory, and with flat-file saving schedule.
|
||||
authors:
|
||||
- AnjoCaido
|
||||
- Gabriel Couto
|
||||
|
@ -10,156 +10,156 @@ commands:
|
|||
manuadd:
|
||||
description: Move a player to desired group.(Adds to the file if not exists)
|
||||
usage: /<command> <player> <group>
|
||||
permission: groupmanager.manuadd
|
||||
permissions: groupmanager.manuadd
|
||||
manudel:
|
||||
description: Remove any user specific configuration. Make him default group.
|
||||
usage: /<command> <player>
|
||||
permission: groupmanager.manudel
|
||||
permissions: groupmanager.manudel
|
||||
manuaddsub:
|
||||
description: Add a group to a player's subgroup list.
|
||||
usage: /<command> <player> <group>
|
||||
permission: groupmanager.manuaddsub
|
||||
permissions: groupmanager.manuaddsub
|
||||
manudelsub:
|
||||
description: Remove a group to a player's subgroup list.
|
||||
usage: /<command> <player> <group>
|
||||
permission: groupmanager.manudelsub
|
||||
permissions: groupmanager.manudelsub
|
||||
mangadd:
|
||||
description: Add group to the system.
|
||||
usage: /<command> <group>
|
||||
permission: groupmanager.mangadd
|
||||
permissions: groupmanager.mangadd
|
||||
mangdel:
|
||||
description: Removes group from the system(all it's users become default)
|
||||
usage: /<command> <group>
|
||||
permission: groupmanager.mangdel
|
||||
permissions: groupmanager.mangdel
|
||||
manuaddp:
|
||||
description: Add permission diretly to the player.
|
||||
usage: /<command> <player> <permission>
|
||||
permission: groupmanager.manuaddp
|
||||
description: Add permissions diretly to the player.
|
||||
usage: /<command> <player> <permissions>
|
||||
permissions: groupmanager.manuaddp
|
||||
manudelp:
|
||||
description: Removes permission diretly from the player.
|
||||
usage: /<command> <player> <permission>
|
||||
permission: groupmanager.manudelp
|
||||
description: Removes permissions diretly from the player.
|
||||
usage: /<command> <player> <permissions>
|
||||
permissions: groupmanager.manudelp
|
||||
manulistp:
|
||||
description: List all permissions from a player.
|
||||
description: List all permissionss from a player.
|
||||
usage: /<command> <player>
|
||||
permission: groupmanager.manulistp
|
||||
permissions: groupmanager.manulistp
|
||||
manucheckp:
|
||||
description: Verify if user has a permission, and where it comes from.
|
||||
usage: /<command> <player> <permission>
|
||||
permission: groupmanager.manucheckp
|
||||
description: Verify if user has a permissions, and where it comes from.
|
||||
usage: /<command> <player> <permissions>
|
||||
permissions: groupmanager.manucheckp
|
||||
mangaddp:
|
||||
description: Add permission to a group.
|
||||
usage: /<command> <group> <permission>
|
||||
permission: groupmanager.mangaddp
|
||||
description: Add permissions to a group.
|
||||
usage: /<command> <group> <permissions>
|
||||
permissions: groupmanager.mangaddp
|
||||
mangdelp:
|
||||
description: Removes permission from a group.
|
||||
usage: /<command> <group> <permission>
|
||||
permission: groupmanager.mangdelp
|
||||
description: Removes permissions from a group.
|
||||
usage: /<command> <group> <permissions>
|
||||
permissions: groupmanager.mangdelp
|
||||
manglistp:
|
||||
description: Lists all permissions from a group.
|
||||
description: Lists all permissionss from a group.
|
||||
usage: /<command> <group>
|
||||
permission: groupmanager.manglistp
|
||||
permissions: groupmanager.manglistp
|
||||
mangcheckp:
|
||||
description: Check if group has a permission, and where it comes from.
|
||||
usage: /<command> <group> <permission>
|
||||
permission: groupmanager.mangcheckp
|
||||
description: Check if group has a permissions, and where it comes from.
|
||||
usage: /<command> <group> <permissions>
|
||||
permissions: groupmanager.mangcheckp
|
||||
mangaddi:
|
||||
description: Add a group to another group inheritance list.
|
||||
usage: /<command> <group1> <group2>
|
||||
permission: groupmanager.mangaddi
|
||||
permissions: groupmanager.mangaddi
|
||||
mangdeli:
|
||||
description: Remove a group from another group inheritance list.
|
||||
usage: /<command> <group1> <group2>
|
||||
permission: groupmanager.mangdeli
|
||||
permissions: groupmanager.mangdeli
|
||||
manuaddv:
|
||||
description: Add, or replaces, a variable to a user (like prefix or suffix).
|
||||
usage: /<command> <user> <variable> <value>
|
||||
permission: groupmanager.manuaddv
|
||||
permissions: groupmanager.manuaddv
|
||||
manudelv:
|
||||
description: Remove a variable from a user.
|
||||
usage: /<command> <user> <variable>
|
||||
permission: groupmanager.manudelv
|
||||
permissions: groupmanager.manudelv
|
||||
manulistv:
|
||||
description: List variables a user has (like prefix or suffix).
|
||||
usage: /<command> <user>
|
||||
permission: groupmanager.manulistv
|
||||
permissions: groupmanager.manulistv
|
||||
manucheckv:
|
||||
description: Verify a value of a variable of user, and where it comes from.
|
||||
usage: /<command> <user> <variable>
|
||||
permission: groupmanager.manucheckv
|
||||
permissions: groupmanager.manucheckv
|
||||
mangaddv:
|
||||
description: Add, or replaces, a variable to a group (like prefix or suffix).
|
||||
usage: /<command> <group> <variable> <value>
|
||||
permission: groupmanager.mangaddv
|
||||
permissions: groupmanager.mangaddv
|
||||
mangdelv:
|
||||
description: Remove a variable from a group.
|
||||
usage: /<command> <group> <variable>
|
||||
permission: groupmanager.mangdelv
|
||||
permissions: groupmanager.mangdelv
|
||||
manglistv:
|
||||
description: List variables a group has (like prefix or suffix).
|
||||
usage: /<command> <group>
|
||||
permission: groupmanager.manglistv
|
||||
permissions: groupmanager.manglistv
|
||||
mangcheckv:
|
||||
description: Verify a value of a variable of group, and where it comes from.
|
||||
usage: /<command> <group> <variable>
|
||||
permission: groupmanager.mangckeckv
|
||||
permissions: groupmanager.mangckeckv
|
||||
manwhois:
|
||||
description: Tell the group that user belongs.
|
||||
usage: /<command> <player>
|
||||
permission: groupmanager.manwhois
|
||||
permissions: groupmanager.manwhois
|
||||
tempadd:
|
||||
description: Creates a temporary permission copy for that user.
|
||||
description: Creates a temporary permissions copy for that user.
|
||||
usage: /<command> <player>
|
||||
permission: groupmanager.tempadd
|
||||
permissions: groupmanager.tempadd
|
||||
tempdel:
|
||||
description: Remove the temporary permission copy for player.
|
||||
description: Remove the temporary permissions copy for player.
|
||||
usage: /<command> <player>
|
||||
permission: groupmanager.tempdel
|
||||
permissions: groupmanager.tempdel
|
||||
templist:
|
||||
description: List players in overload-permissions mode made by /tempadd.
|
||||
description: List players in overload-permissionss mode made by /tempadd.
|
||||
usage: /<command>
|
||||
permission: groupmanager.templist
|
||||
permissions: groupmanager.templist
|
||||
tempdelall:
|
||||
description: Remove all overrides made by command /tempadd.
|
||||
usage: /<command>
|
||||
permission: groupmanager.tempdelall
|
||||
permissions: groupmanager.tempdelall
|
||||
mansave:
|
||||
description: Save all permissions on file.
|
||||
description: Save all permissionss on file.
|
||||
usage: /<command>
|
||||
permission: groupmanager.mansave
|
||||
permissions: groupmanager.mansave
|
||||
manload:
|
||||
description: Reload current world and config.yml. Or load given world.
|
||||
usage: /<command> [world]
|
||||
permission: groupmanager.manload
|
||||
permissions: groupmanager.manload
|
||||
listgroups:
|
||||
description: List the groups available.
|
||||
usage: /<command>
|
||||
permission: groupmanager.listgroups
|
||||
permissions: groupmanager.listgroups
|
||||
manpromote:
|
||||
description: Promote a player in the same heritage line to a higher rank.
|
||||
usage: /<command> <player> <group>
|
||||
permission: groupmanager.manpromote
|
||||
permissions: groupmanager.manpromote
|
||||
mandemote:
|
||||
description: Demote a player in the same heritage line to a lower rank.
|
||||
usage: /<command> <player> <group>
|
||||
permission: groupmanager.mandemote
|
||||
permissions: groupmanager.mandemote
|
||||
mantogglevalidate:
|
||||
description: Toggle on/off the validating if player is online.
|
||||
usage: /<command>
|
||||
permission: groupmanager.mantogglevalidate
|
||||
permissions: groupmanager.mantogglevalidate
|
||||
mantogglesave:
|
||||
description: Toggle on/ff the autosave.
|
||||
usage: /<command>
|
||||
permission: groupmanager.mantogglesave
|
||||
permissions: groupmanager.mantogglesave
|
||||
manworld:
|
||||
description: Prints the selected world name
|
||||
usage: /<command>
|
||||
permission: groupmanager.manworld
|
||||
permissions: groupmanager.manworld
|
||||
manselect:
|
||||
description: Select a world to work with next commands.
|
||||
usage: /<command> <world>
|
||||
permission: groupmanager.manselect
|
||||
permissions: groupmanager.manselect
|
||||
manclear:
|
||||
description: Clear world selection. Next commands will work on your world.
|
||||
usage: /<command>
|
||||
permission: groupmanager.manclear
|
||||
permissions: groupmanager.manclear
|
|
@ -1,11 +1,14 @@
|
|||
# "For a more advanced configuration example utilizing the advanced features of GroupManager, see http://pastebin.com/a8ZA0j5G"
|
||||
# "You will want to remove these users and replace them with your own"
|
||||
users:
|
||||
snowleo:
|
||||
subgroups: []
|
||||
permissions: []
|
||||
group: Admin
|
||||
khobbits:
|
||||
mudzereli:
|
||||
subgroups: []
|
||||
permissions: []
|
||||
group: Builder
|
||||
ElgarL:
|
||||
subgroups: []
|
||||
permissions: []
|
||||
group: Admin
|
||||
|
|
Loading…
Reference in a new issue