Removed Permissions 2.x Support, Added ability to modify Permissions

This commit is contained in:
Morgan 2011-06-29 17:44:42 -04:00
parent 5cc4c03950
commit b5ae8f58d1
6 changed files with 358 additions and 28 deletions

View File

@ -81,7 +81,7 @@ Github and we'll get to it at our convenience.
- 3co (http://forums.bukkit.org/threads/22461/)
* Permissions
- Permissions 2 & 3 (http://forums.bukkit.org/threads/18430/)
- Permissions 3 (http://forums.bukkit.org/threads/18430/)
- Permissions Ex (http://forums.bukkit.org/threads/18140/)

Binary file not shown.

View File

@ -29,10 +29,39 @@ public interface Permission {
public String getName();
public boolean isEnabled();
public boolean hasPermission(Player player, String permission);
public boolean userAddPermission(String worldName, String playerName, String permission);
public boolean userRemovePermission(String worldName, String playerName, String permission);
public boolean groupAddPermission(String worldName, String groupName, String permission);
public boolean groupRemovePermission(String worldName, String groupName, String permission);
public boolean inGroup(String worldName, String playerName, String groupName);
public int getInfoInt(String world, String playerName, String node, int defaultValue);
public double getInfoDouble(String world, String playerName, String node, double defaultValue);
public boolean getInfoBoolean(String world, String playerName, String node, boolean defaultValue);
public String getInfoString(String world, String playerName, String node, String defaultValue);
public boolean userAddGroup(String worldName, String playerName, String groupName);
public boolean userRemoveGroup(String worldName, String playerName, String groupName);
public int getUserInfoInteger(String world, String playerName, String node, int defaultValue);
public void setUserInfoInteger(String world, String playerName, String node, int value);
public int getGroupInfoInteger(String world, String groupName, String node, int defaultValue);
public void setGroupInfoInteger(String world, String groupName, String node, int value);
public double getUserInfoDouble(String world, String playerName, String node, double defaultValue);
public void setUserInfoDouble(String world, String playerName, String node, double value);
public double getGroupInfoDouble(String world, String groupName, String node, double defaultValue);
public void setGroupInfoDouble(String world, String groupName, String node, double value);
public boolean getUserInfoBoolean(String world, String playerName, String node, boolean defaultValue);
public void setUserInfoBoolean(String world, String playerName, String node, boolean value);
public boolean getGroupInfoBoolean(String world, String groupName, String node, boolean defaultValue);
public void setGroupInfoBoolean(String world, String groupName, String node, boolean value);
public String getUserInfoString(String world, String playerName, String node, String defaultValue);
public void setUserInfoString(String world, String playerName, String node, String value);
public String getGroupInfoString(String world, String groupName, String node, String defaultValue);
public void setGroupInfoString(String world, String groupName, String node, String value);
}

View File

@ -134,7 +134,7 @@ public class PermissionManager {
public int getInfoInt(String world, String playerName, String node, int defaultValue) {
Permission p = getPermission();
if(p != null) {
return p.getInfoInt(world, playerName, node, defaultValue);
return p.getUserInfoInteger(world, playerName, node, defaultValue);
} else {
return defaultValue;
}
@ -150,7 +150,7 @@ public class PermissionManager {
public double getInfoBoolean(String world, String playerName, String node, double defaultValue) {
Permission p = getPermission();
if(p != null) {
return p.getInfoDouble(world, playerName, node, defaultValue);
return p.getUserInfoDouble(world, playerName, node, defaultValue);
} else {
return defaultValue;
}
@ -166,7 +166,7 @@ public class PermissionManager {
public boolean getInfoBoolean(String world, String playerName, String node, boolean defaultValue) {
Permission p = getPermission();
if(p != null) {
return p.getInfoBoolean(world, playerName, node, defaultValue);
return p.getUserInfoBoolean(world, playerName, node, defaultValue);
} else {
return defaultValue;
}
@ -182,7 +182,7 @@ public class PermissionManager {
public String getInfoBoolean(String world, String playerName, String node, String defaultValue) {
Permission p = getPermission();
if(p != null) {
return p.getInfoString(world, playerName, node, defaultValue);
return p.getUserInfoString(world, playerName, node, defaultValue);
} else {
return defaultValue;
}

View File

@ -114,28 +114,151 @@ public class Permission_Permissions implements Permission {
return name;
}
/* (non-Javadoc)
* @see com.milkbukkit.localshops.modules.permission.Permission#numChestsAllowed(java.util.List, java.lang.String, java.lang.String)
*/
@Override
public int getInfoInt(String world, String playerName, String node, int defaultValue) {
return this.permission.getHandler().getPermissionInteger(world, playerName, node);
public int getUserInfoInteger(String world, String playerName, String node, int defaultValue) {
return this.permission.getHandler().getInfoInteger(world, playerName, node, false);
}
@Override
public double getInfoDouble(String world, String playerName, String node, double defaultValue) {
return this.permission.getHandler().getPermissionDouble(world, playerName, node);
public double getUserInfoDouble(String world, String playerName, String node, double defaultValue) {
return this.permission.getHandler().getInfoDouble(world, playerName, node, false);
}
@Override
public boolean getInfoBoolean(String world, String playerName, String node, boolean defaultValue) {
return this.permission.getHandler().getPermissionBoolean(world, playerName, node);
public boolean getUserInfoBoolean(String world, String playerName, String node, boolean defaultValue) {
return this.permission.getHandler().getInfoBoolean(world, playerName, node, false);
}
@Override
public String getInfoString(String world, String playerName, String node, String defaultValue) {
return this.permission.getHandler().getPermissionString(world, playerName, node);
public String getUserInfoString(String world, String playerName, String node, String defaultValue) {
return this.permission.getHandler().getInfoString(world, playerName, node, false);
}
@Override
public boolean userAddGroup(String worldName, String playerName, String groupName) {
// Not certain if this is possible in P3
return false;
}
}
@Override
public boolean userRemoveGroup(String worldName, String playerName, String groupName) {
// Not certain if this is possible in P3
return false;
}
@Override
public boolean userAddPermission(String worldName, String playerName, String permission) {
this.permission.getHandler().addUserPermission(worldName, playerName, permission);
return true;
}
@Override
public boolean userRemovePermission(String worldName, String playerName, String permission) {
this.permission.getHandler().removeUserPermission(worldName, playerName, permission);
return true;
}
@Override
public boolean groupAddPermission(String worldName, String groupName, String permission) {
this.permission.getHandler().addGroupPermission(worldName, groupName, permission);
return true;
}
@Override
public boolean groupRemovePermission(String worldName, String groupName, String permission) {
this.permission.getHandler().removeGroupPermission(worldName, groupName, permission);
return true;
}
@Override
public void setUserInfoInteger(String world, String playerName, String node, int value) {
try {
this.permission.getHandler().safeGetUser(world, playerName).setData(node, value);
} catch(Exception e) {
// lolwut?
}
}
@Override
public void setUserInfoDouble(String world, String playerName, String node, double value) {
try {
this.permission.getHandler().safeGetUser(world, playerName).setData(node, value);
} catch(Exception e) {
// lolwut?
}
}
@Override
public void setUserInfoBoolean(String world, String playerName, String node, boolean value) {
try {
this.permission.getHandler().safeGetUser(world, playerName).setData(node, value);
} catch(Exception e) {
// lolwut?
}
}
@Override
public void setUserInfoString(String world, String playerName, String node, String value) {
try {
this.permission.getHandler().safeGetUser(world, playerName).setData(node, value);
} catch(Exception e) {
// lolwut?
}
}
@Override
public int getGroupInfoInteger(String world, String groupName, String node, int defaultValue) {
return this.permission.getHandler().getInfoInteger(world, groupName, node, true);
}
@Override
public void setGroupInfoInteger(String world, String groupName, String node, int value) {
try {
this.permission.getHandler().safeGetGroup(world, groupName).setData(node, value);
} catch(Exception e) {
// lolwut?
}
}
@Override
public double getGroupInfoDouble(String world, String groupName, String node, double defaultValue) {
return this.permission.getHandler().getInfoDouble(world, groupName, node, true);
}
@Override
public void setGroupInfoDouble(String world, String groupName, String node, double value) {
try {
this.permission.getHandler().safeGetGroup(world, groupName).setData(node, value);
} catch(Exception e) {
// lolwut?
}
}
@Override
public boolean getGroupInfoBoolean(String world, String groupName, String node, boolean defaultValue) {
return this.permission.getHandler().getInfoBoolean(world, groupName, node, true);
}
@Override
public void setGroupInfoBoolean(String world, String groupName, String node, boolean value) {
try {
this.permission.getHandler().safeGetGroup(world, groupName).setData(node, value);
} catch(Exception e) {
// lolwut?
}
}
@Override
public String getGroupInfoString(String world, String groupName, String node, String defaultValue) {
return this.permission.getHandler().getInfoString(world, groupName, node, true);
}
@Override
public void setGroupInfoString(String world, String groupName, String node, String value) {
try {
this.permission.getHandler().safeGetGroup(world, groupName).setData(node, value);
} catch(Exception e) {
// lolwut?
}
}
}

View File

@ -31,6 +31,7 @@ import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import ru.tehkode.permissions.PermissionGroup;
import ru.tehkode.permissions.PermissionUser;
import ru.tehkode.permissions.bukkit.PermissionsEx;
@ -128,27 +129,204 @@ public class Permission_PermissionsEx implements Permission {
return name;
}
/* (non-Javadoc)
* @see com.milkbukkit.localshops.modules.permission.Permission#numChestsAllowed(java.util.List, java.lang.String)
*/
@Override
public int getInfoInt(String world, String playerName, String node, int defaultValue) {
public int getUserInfoInteger(String world, String playerName, String node, int defaultValue) {
return PermissionsEx.getPermissionManager().getUser(playerName).getOptionInteger(node, world, defaultValue);
}
@Override
public double getInfoDouble(String world, String playerName, String node, double defaultValue) {
public double getUserInfoDouble(String world, String playerName, String node, double defaultValue) {
return PermissionsEx.getPermissionManager().getUser(playerName).getOptionDouble(node, world, defaultValue);
}
@Override
public boolean getInfoBoolean(String world, String playerName, String node, boolean defaultValue) {
public boolean getUserInfoBoolean(String world, String playerName, String node, boolean defaultValue) {
return PermissionsEx.getPermissionManager().getUser(playerName).getOptionBoolean(node, world, defaultValue);
}
@Override
public String getInfoString(String world, String playerName, String node, String defaultValue) {
public String getUserInfoString(String world, String playerName, String node, String defaultValue) {
return PermissionsEx.getPermissionManager().getUser(playerName).getOption(node, world, defaultValue);
}
@Override
public boolean userAddGroup(String worldName, String playerName, String groupName) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
PermissionUser user = PermissionsEx.getPermissionManager().getUser(playerName);
if(group == null || user == null) {
return false;
} else {
user.addGroup(group);
return true;
}
}
@Override
public boolean userRemoveGroup(String worldName, String playerName, String groupName) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
PermissionUser user = PermissionsEx.getPermissionManager().getUser(playerName);
if(group == null || user == null) {
return false;
} else {
user.removeGroup(group);
return true;
}
}
@Override
public boolean userAddPermission(String worldName, String playerName, String permission) {
PermissionUser user = PermissionsEx.getPermissionManager().getUser(playerName);
if(user == null) {
return false;
} else {
user.addPermission(permission, worldName);
return true;
}
}
@Override
public boolean userRemovePermission(String worldName, String playerName, String permission) {
PermissionUser user = PermissionsEx.getPermissionManager().getUser(playerName);
if(user == null) {
return false;
} else {
user.removePermission(permission, worldName);
return true;
}
}
@Override
public boolean groupAddPermission(String worldName, String groupName, String permission) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
if(group == null) {
return false;
} else {
group.addPermission(permission, worldName);
return true;
}
}
@Override
public boolean groupRemovePermission(String worldName, String groupName, String permission) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
if(group == null) {
return false;
} else {
group.removePermission(permission, worldName);
return true;
}
}
@Override
public void setUserInfoInteger(String world, String playerName, String node, int value) {
PermissionUser user = PermissionsEx.getPermissionManager().getUser(playerName);
if(user != null) {
user.setOption(node, String.valueOf(value), world);
}
}
@Override
public void setUserInfoDouble(String world, String playerName, String node, double value) {
PermissionUser user = PermissionsEx.getPermissionManager().getUser(playerName);
if(user != null) {
user.setOption(node, String.valueOf(value), world);
}
}
@Override
public void setUserInfoBoolean(String world, String playerName, String node, boolean value) {
PermissionUser user = PermissionsEx.getPermissionManager().getUser(playerName);
if(user != null) {
user.setOption(node, String.valueOf(value), world);
}
}
@Override
public void setUserInfoString(String world, String playerName, String node, String value) {
PermissionUser user = PermissionsEx.getPermissionManager().getUser(playerName);
if(user != null) {
user.setOption(node, String.valueOf(value), world);
}
}
@Override
public int getGroupInfoInteger(String world, String groupName, String node, int defaultValue) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
if(group == null) {
return defaultValue;
} else {
return group.getOptionInteger(node, world, defaultValue);
}
}
@Override
public void setGroupInfoInteger(String world, String groupName, String node, int value) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
if(group == null) {
return;
} else {
group.setOption(node, world, String.valueOf(value));
}
}
@Override
public double getGroupInfoDouble(String world, String groupName, String node, double defaultValue) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
if(group == null) {
return defaultValue;
} else {
return group.getOptionDouble(node, world, defaultValue);
}
}
@Override
public void setGroupInfoDouble(String world, String groupName, String node, double value) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
if(group == null) {
return;
} else {
group.setOption(node, world, String.valueOf(value));
}
}
@Override
public boolean getGroupInfoBoolean(String world, String groupName, String node, boolean defaultValue) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
if(group == null) {
return defaultValue;
} else {
return group.getOptionBoolean(node, world, defaultValue);
}
}
@Override
public void setGroupInfoBoolean(String world, String groupName, String node, boolean value) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
if(group == null) {
return;
} else {
group.setOption(node, world, String.valueOf(value));
}
}
@Override
public String getGroupInfoString(String world, String groupName, String node, String defaultValue) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
if(group == null) {
return defaultValue;
} else {
return group.getOption(node, world, defaultValue);
}
}
@Override
public void setGroupInfoString(String world, String groupName, String node, String value) {
PermissionGroup group = PermissionsEx.getPermissionManager().getGroup(groupName);
if(group == null) {
return;
} else {
group.setOption(node, world, value);
}
}
}