mirror of
https://github.com/garbagemule/MobArena.git
synced 2024-11-30 06:33:55 +01:00
Remove obsolete class permission methods in ArenaMaster.
Following the removal of class permission commands in a88556771f
, these methods are now obsolete.
This commit is contained in:
parent
a88556771f
commit
cf82a3a612
@ -8,7 +8,6 @@ import com.garbagemule.MobArena.framework.Arena;
|
|||||||
import com.garbagemule.MobArena.framework.ArenaMaster;
|
import com.garbagemule.MobArena.framework.ArenaMaster;
|
||||||
import com.garbagemule.MobArena.things.Thing;
|
import com.garbagemule.MobArena.things.Thing;
|
||||||
import com.garbagemule.MobArena.util.ItemParser;
|
import com.garbagemule.MobArena.util.ItemParser;
|
||||||
import com.garbagemule.MobArena.util.TextUtils;
|
|
||||||
import com.garbagemule.MobArena.util.config.ConfigUtils;
|
import com.garbagemule.MobArena.util.config.ConfigUtils;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -489,64 +488,6 @@ public class ArenaMasterImpl implements ArenaMaster
|
|||||||
classes.remove(lowercase);
|
classes.remove(lowercase);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean addClassPermission(String classname, String perm) {
|
|
||||||
return addRemoveClassPermission(classname, perm, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean removeClassPermission(String classname, String perm) {
|
|
||||||
return addRemoveClassPermission(classname, perm, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean addRemoveClassPermission(String classname, String perm, boolean add) {
|
|
||||||
classname = TextUtils.camelCase(classname);
|
|
||||||
String path = "classes." + classname;
|
|
||||||
if (config.getConfigurationSection(path) == null)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// Grab the class section
|
|
||||||
ConfigurationSection section = config.getConfigurationSection(path);
|
|
||||||
|
|
||||||
// Get any previous nodes
|
|
||||||
List<String> nodes = section.getStringList("permissions");
|
|
||||||
if (nodes.contains(perm) && add) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else if (nodes.contains(perm) && !add) {
|
|
||||||
nodes.remove(perm);
|
|
||||||
}
|
|
||||||
else if (!nodes.contains(perm) && add) {
|
|
||||||
removeContradictions(nodes, perm);
|
|
||||||
nodes.add(perm);
|
|
||||||
}
|
|
||||||
else if (!nodes.contains(perm) && !add) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Replace the set.
|
|
||||||
section.set("permissions", nodes);
|
|
||||||
plugin.saveConfig();
|
|
||||||
|
|
||||||
// Reload the class.
|
|
||||||
loadClass(classname);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes any nodes that would contradict the permission, e.g. if the node
|
|
||||||
* 'mobarena.use' is in the set, and the perm node is '-mobarena.use', the
|
|
||||||
* '-mobarena.use' node is removed as to not contradict the new
|
|
||||||
* 'mobarena.use' node.
|
|
||||||
*/
|
|
||||||
private void removeContradictions(List<String> nodes, String perm) {
|
|
||||||
if (perm.startsWith("^") || perm.startsWith("-")) {
|
|
||||||
nodes.remove(perm.substring(1).trim());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
nodes.remove("^" + perm);
|
|
||||||
nodes.remove("-" + perm);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load all arena-related stuff.
|
* Load all arena-related stuff.
|
||||||
*/
|
*/
|
||||||
|
@ -111,10 +111,6 @@ public interface ArenaMaster
|
|||||||
|
|
||||||
void removeClassNode(String className);
|
void removeClassNode(String className);
|
||||||
|
|
||||||
boolean addClassPermission(String className, String perm);
|
|
||||||
|
|
||||||
boolean removeClassPermission(String className, String perm);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load all arena-related stuff.
|
* Load all arena-related stuff.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user