mirror of
https://github.com/sekwah41/Advanced-Portals.git
synced 2025-02-16 12:21:20 +01:00
refactor: switch to permission builder
This commit is contained in:
parent
b2e19a1391
commit
d65d5dd659
@ -5,6 +5,7 @@ import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||
import com.sekwah.advancedportals.core.connector.containers.WorldContainer;
|
||||
import com.sekwah.advancedportals.core.data.BlockLocation;
|
||||
import com.sekwah.advancedportals.core.data.PlayerLocation;
|
||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||
import com.sekwah.advancedportals.core.repository.ConfigRepository;
|
||||
import com.sekwah.advancedportals.core.services.PortalServices;
|
||||
import com.sekwah.advancedportals.core.services.PortalTempDataServices;
|
||||
@ -78,7 +79,7 @@ public class CoreListeners {
|
||||
* @return if the block is allowed to be placed
|
||||
*/
|
||||
public boolean blockPlace(PlayerContainer player, BlockLocation blockPos, String blockMaterial, String itemInHandMaterial, String itemInHandName) {
|
||||
if(itemInHandName != null && player != null && player.hasPermission("advancedportals.build")) {
|
||||
if(itemInHandName != null && player != null && PortalPermissions.BUILD.hasPermission(player)) {
|
||||
WorldContainer world = player.getWorld();
|
||||
if(itemInHandName.equals("\u00A75Portal Block Placer")) {
|
||||
world.setBlock(blockPos, "PORTAL");
|
||||
@ -114,13 +115,13 @@ public class CoreListeners {
|
||||
*/
|
||||
public boolean playerInteractWithBlock(PlayerContainer player, String materialName, String itemName,
|
||||
BlockLocation blockLoc, boolean leftClick) {
|
||||
if(itemName != null && (player.isOp() || player.hasPermission("advancedportals.createportal")) &&
|
||||
if(itemName != null && (player.isOp() || PortalPermissions.CREATE_PORTAL.hasPermission(player)) &&
|
||||
materialName.equalsIgnoreCase(this.configRepository.getSelectorMaterial())
|
||||
&& (!this.configRepository.getUseOnlySpecialAxe() || itemName.equals("\u00A7ePortal Region Selector"))) {
|
||||
this.portalTempDataServices.playerSelectorActivate(player, blockLoc, leftClick);
|
||||
return false;
|
||||
}
|
||||
else if(itemName != null && leftClick && itemName.equals("\u00A75Portal Block Placer") && player.hasPermission("advancedportals.build")) {
|
||||
else if(itemName != null && leftClick && itemName.equals("\u00A75Portal Block Placer") && PortalPermissions.BUILD.hasPermission(player)) {
|
||||
WorldContainer world = player.getWorld();
|
||||
if(world.getBlockData(blockLoc) == 1) {
|
||||
world.setBlockData(blockLoc, (byte) 2);
|
||||
|
@ -4,6 +4,7 @@ import com.sekwah.advancedportals.core.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer;
|
||||
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||
import com.sekwah.advancedportals.core.data.DataTag;
|
||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||
import com.sekwah.advancedportals.core.util.Lang;
|
||||
import com.sekwah.advancedportals.core.util.TagReader;
|
||||
|
||||
@ -47,7 +48,7 @@ public class CreateDestiSubCommand implements SubCommand {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(CommandSenderContainer sender) {
|
||||
return sender.isOp() || sender.hasPermission("advancedportals.createportal");
|
||||
return sender.isOp() || PortalPermissions.CREATE_PORTAL.hasPermission(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.sekwah.advancedportals.core.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer;
|
||||
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||
import com.sekwah.advancedportals.core.data.DataTag;
|
||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||
import com.sekwah.advancedportals.core.portal.AdvancedPortal;
|
||||
import com.sekwah.advancedportals.core.services.PortalServices;
|
||||
import com.sekwah.advancedportals.core.util.Lang;
|
||||
@ -47,7 +48,7 @@ public class CreatePortalSubCommand implements SubCommand {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(CommandSenderContainer sender) {
|
||||
return sender.isOp() || sender.hasPermission("advancedportals.createportal");
|
||||
return sender.isOp() || PortalPermissions.CREATE_PORTAL.hasPermission(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
||||
import com.sekwah.advancedportals.core.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer;
|
||||
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||
import com.sekwah.advancedportals.core.util.Lang;
|
||||
|
||||
import java.util.List;
|
||||
@ -31,7 +32,7 @@ public class EndGatewayBlockSubCommand implements SubCommand {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(CommandSenderContainer sender) {
|
||||
return sender.isOp() || sender.hasPermission("advancedportals.createportal");
|
||||
return sender.isOp() || PortalPermissions.CREATE_PORTAL.hasPermission(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
||||
import com.sekwah.advancedportals.core.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer;
|
||||
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||
import com.sekwah.advancedportals.core.util.Lang;
|
||||
|
||||
import java.util.List;
|
||||
@ -31,7 +32,7 @@ public class EndPortalBlockSubCommand implements SubCommand {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(CommandSenderContainer sender) {
|
||||
return sender.isOp() || sender.hasPermission("advancedportals.createportal");
|
||||
return sender.isOp() || PortalPermissions.CREATE_PORTAL.hasPermission(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4,6 +4,7 @@ import com.google.inject.Inject;
|
||||
import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
||||
import com.sekwah.advancedportals.core.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer;
|
||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||
import com.sekwah.advancedportals.core.repository.ConfigRepository;
|
||||
import com.sekwah.advancedportals.core.util.Lang;
|
||||
|
||||
@ -65,7 +66,7 @@ public class LangUpdateSubCommand implements SubCommand {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(CommandSenderContainer sender) {
|
||||
return sender.isOp() || sender.hasPermission("advancedportals.langupdate");
|
||||
return sender.isOp() || PortalPermissions.LANG_UPDATE.hasPermission(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
||||
import com.sekwah.advancedportals.core.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer;
|
||||
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||
import com.sekwah.advancedportals.core.util.Lang;
|
||||
|
||||
import java.util.List;
|
||||
@ -33,7 +34,7 @@ public class PortalBlockSubCommand implements SubCommand {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(CommandSenderContainer sender) {
|
||||
return sender.isOp() || sender.hasPermission("advancedportals.createportal");
|
||||
return sender.isOp() || PortalPermissions.CREATE_PORTAL.hasPermission(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -4,6 +4,7 @@ import com.google.inject.Inject;
|
||||
import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
||||
import com.sekwah.advancedportals.core.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer;
|
||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||
import com.sekwah.advancedportals.core.repository.ConfigRepository;
|
||||
import com.sekwah.advancedportals.core.services.DestinationServices;
|
||||
import com.sekwah.advancedportals.core.services.PortalServices;
|
||||
@ -36,7 +37,7 @@ public class ReloadSubCommand implements SubCommand {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(CommandSenderContainer sender) {
|
||||
return sender.isOp() || sender.hasPermission("advancedportals.reload");
|
||||
return sender.isOp() || PortalPermissions.RELOAD.hasPermission(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
||||
import com.sekwah.advancedportals.core.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer;
|
||||
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||
import com.sekwah.advancedportals.core.portal.AdvancedPortal;
|
||||
import com.sekwah.advancedportals.core.services.PortalServices;
|
||||
import com.sekwah.advancedportals.core.util.Lang;
|
||||
@ -50,7 +51,7 @@ public class RemoveSubCommand implements SubCommand {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(CommandSenderContainer sender) {
|
||||
return sender.isOp() || sender.hasPermission("advancedportals.createportal");
|
||||
return sender.isOp() || PortalPermissions.CREATE_PORTAL.hasPermission(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -5,6 +5,7 @@ import com.sekwah.advancedportals.core.AdvancedPortalsCore;
|
||||
import com.sekwah.advancedportals.core.commands.SubCommand;
|
||||
import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer;
|
||||
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||
import com.sekwah.advancedportals.core.permissions.PortalPermissions;
|
||||
import com.sekwah.advancedportals.core.repository.ConfigRepository;
|
||||
import com.sekwah.advancedportals.core.util.Lang;
|
||||
|
||||
@ -38,7 +39,7 @@ public class SelectorSubCommand implements SubCommand {
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(CommandSenderContainer sender) {
|
||||
return sender.isOp() || sender.hasPermission("advancedportals.createportal");
|
||||
return sender.isOp() || PortalPermissions.CREATE_PORTAL.hasPermission(sender);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -0,0 +1,59 @@
|
||||
package com.sekwah.advancedportals.core.permissions;
|
||||
|
||||
import com.sekwah.advancedportals.core.connector.containers.CommandSenderContainer;
|
||||
import com.sekwah.advancedportals.core.connector.containers.PlayerContainer;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class PortalPermissions {
|
||||
|
||||
private static final PermissionBuilder PERMISSIONS = new PermissionBuilder("advancedportals");
|
||||
|
||||
public static final PermissionBuilder BUILD = PERMISSIONS.createChild("build");
|
||||
public static final PermissionBuilder CREATE_PORTAL = PERMISSIONS.createChild("createportal");
|
||||
public static final PermissionBuilder LANG_UPDATE = PERMISSIONS.createChild("langupdate");
|
||||
public static final PermissionBuilder RELOAD = PERMISSIONS.createChild("reload");
|
||||
|
||||
|
||||
/**
|
||||
* this will not currently build the permissions for the files, but maybe at some point. I'tll just make it easier though.
|
||||
*/
|
||||
public static class PermissionBuilder {
|
||||
private final String permissionTag;
|
||||
|
||||
private final PermissionBuilder parent;
|
||||
|
||||
private List<PermissionBuilder>[] children;
|
||||
|
||||
PermissionBuilder(String permissionTag) {
|
||||
this.permissionTag = permissionTag;
|
||||
this.parent = null;
|
||||
}
|
||||
|
||||
PermissionBuilder(String permissionTag, PermissionBuilder parent) {
|
||||
this.permissionTag = permissionTag;
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
PermissionBuilder createChild(String permissionTag) {
|
||||
return new PermissionBuilder(permissionTag, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
if(parent != null) {
|
||||
return parent + "." + permissionTag;
|
||||
} else {
|
||||
return permissionTag;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean hasPermission(CommandSenderContainer player) {
|
||||
return player.hasPermission(this.toString());
|
||||
}
|
||||
|
||||
public boolean hasPermission(PlayerContainer player) {
|
||||
return player.hasPermission(this.toString());
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user