Search in sources :

Example 6 with PermissionService

use of org.spongepowered.api.service.permission.PermissionService in project LanternServer by LanternPowered.

the class NetworkSession method isWhitelisted.

private static boolean isWhitelisted(GameProfile gameProfile) {
    if (!Lantern.getGame().getGlobalConfig().isWhitelistEnabled()) {
        return true;
    }
    final WhitelistService whitelistService = Sponge.getServiceManager().provideUnchecked(WhitelistService.class);
    if (whitelistService.isWhitelisted(gameProfile)) {
        return true;
    }
    final PermissionService permissionService = Sponge.getServiceManager().provideUnchecked(PermissionService.class);
    return permissionService.getUserSubjects().getSubject(gameProfile.getUniqueId().toString()).map(subject -> subject.hasPermission(Permissions.Login.BYPASS_WHITELIST_PERMISSION)).orElse(false);
}
Also used : PermissionService(org.spongepowered.api.service.permission.PermissionService) AttributeKey(io.netty.util.AttributeKey) LanternEntity(org.lanternpowered.server.entity.LanternEntity) EventContextKeys(org.spongepowered.api.event.cause.EventContextKeys) SocketAddress(java.net.SocketAddress) ScheduledFuture(io.netty.util.concurrent.ScheduledFuture) EntityProtocolManager(org.lanternpowered.server.network.entity.EntityProtocolManager) LanternTexts(org.lanternpowered.server.text.LanternTexts) PermissionService(org.spongepowered.api.service.permission.PermissionService) WorldConfig(org.lanternpowered.server.config.world.WorldConfig) Ban(org.spongepowered.api.util.ban.Ban) Preconditions.checkArgument(com.google.common.base.Preconditions.checkArgument) CodecException(io.netty.handler.codec.CodecException) ChannelPromise(io.netty.channel.ChannelPromise) MessageInOutKeepAlive(org.lanternpowered.server.network.vanilla.message.type.connection.MessageInOutKeepAlive) GameProfile(org.spongepowered.api.profile.GameProfile) DecoderException(io.netty.handler.codec.DecoderException) TranslationHelper.t(org.lanternpowered.server.text.translation.TranslationHelper.t) LanternServer(org.lanternpowered.server.LanternServer) Sponge(org.spongepowered.api.Sponge) Set(java.util.Set) EventLoop(io.netty.channel.EventLoop) Instant(java.time.Instant) InetSocketAddress(java.net.InetSocketAddress) Protocol(org.lanternpowered.server.network.protocol.Protocol) PlayerConnection(org.spongepowered.api.network.PlayerConnection) Preconditions.checkState(com.google.common.base.Preconditions.checkState) LanternWorldProperties(org.lanternpowered.server.world.LanternWorldProperties) ClientConnectionEvent(org.spongepowered.api.event.network.ClientConnectionEvent) Cause(org.spongepowered.api.event.cause.Cause) List(java.util.List) Lantern(org.lanternpowered.server.game.Lantern) Transform(org.spongepowered.api.entity.Transform) ReferenceCountUtil(io.netty.util.ReferenceCountUtil) World(org.spongepowered.api.world.World) Optional(java.util.Optional) Queue(java.util.Queue) MessageRegistration(org.lanternpowered.server.network.message.MessageRegistration) EventContext(org.spongepowered.api.event.cause.EventContext) EntityProtocolTypes(org.lanternpowered.server.network.entity.EntityProtocolTypes) Permissions(org.lanternpowered.server.permission.Permissions) Keys(org.spongepowered.api.data.key.Keys) Handler(org.lanternpowered.server.network.message.handler.Handler) Vector3d(com.flowpowered.math.vector.Vector3d) MessageOutDisconnect(org.lanternpowered.server.network.vanilla.message.type.connection.MessageOutDisconnect) GameModes(org.spongepowered.api.entity.living.player.gamemode.GameModes) ProtocolState(org.lanternpowered.server.network.protocol.ProtocolState) WhitelistService(org.spongepowered.api.service.whitelist.WhitelistService) HashSet(java.util.HashSet) ChannelHandlerContext(io.netty.channel.ChannelHandlerContext) HandlerMessage(org.lanternpowered.server.network.message.HandlerMessage) CauseStack(org.lanternpowered.server.event.CauseStack) ImmutableList(com.google.common.collect.ImmutableList) Text(org.spongepowered.api.text.Text) ChannelFutureListener(io.netty.channel.ChannelFutureListener) LanternWorld(org.lanternpowered.server.world.LanternWorld) GlobalTabList(org.lanternpowered.server.entity.living.player.tab.GlobalTabList) Nullable(javax.annotation.Nullable) AsyncHelper(org.lanternpowered.server.network.message.AsyncHelper) TranslationHelper.tr(org.lanternpowered.server.text.translation.TranslationHelper.tr) NullMessage(org.lanternpowered.server.network.message.NullMessage) Iterator(java.util.Iterator) SpongeEventFactory(org.spongepowered.api.event.SpongeEventFactory) Preconditions.checkNotNull(com.google.common.base.Preconditions.checkNotNull) MoreObjects(com.google.common.base.MoreObjects) TimeoutException(io.netty.handler.timeout.TimeoutException) IOException(java.io.IOException) LanternGameProfile(org.lanternpowered.server.profile.LanternGameProfile) ConcurrentLinkedDeque(java.util.concurrent.ConcurrentLinkedDeque) ChannelFuture(io.netty.channel.ChannelFuture) Message(org.lanternpowered.server.network.message.Message) Channel(io.netty.channel.Channel) TimeUnit(java.util.concurrent.TimeUnit) SimpleChannelInboundHandler(io.netty.channel.SimpleChannelInboundHandler) LanternPlayer(org.lanternpowered.server.entity.living.player.LanternPlayer) DateTimeFormatter(java.time.format.DateTimeFormatter) MessageChannel(org.spongepowered.api.text.channel.MessageChannel) MessageEvent(org.spongepowered.api.event.message.MessageEvent) BulkMessage(org.lanternpowered.server.network.message.BulkMessage) BanService(org.spongepowered.api.service.ban.BanService) WhitelistService(org.spongepowered.api.service.whitelist.WhitelistService)

Example 7 with PermissionService

use of org.spongepowered.api.service.permission.PermissionService in project LanternServer by LanternPowered.

the class ProxySubject method resolveNullableSubject.

@Nullable
default Subject resolveNullableSubject() {
    SubjectReference reference = getInternalSubject();
    if (reference == null) {
        final Optional<PermissionService> optService = Lantern.getGame().getServiceManager().provide(PermissionService.class);
        if (optService.isPresent()) {
            // Try to update the internal subject
            SubjectSettingCallback.apply(this, optService.get());
            // Get the new subject reference, can be null if failed
            reference = getInternalSubject();
        }
    }
    return reference == null ? null : reference.resolve().join();
}
Also used : PermissionService(org.spongepowered.api.service.permission.PermissionService) SubjectReference(org.spongepowered.api.service.permission.SubjectReference) Nullable(javax.annotation.Nullable)

Example 8 with PermissionService

use of org.spongepowered.api.service.permission.PermissionService in project LanternServer by LanternPowered.

the class LanternGame method initialize.

public void initialize() throws IOException {
    final LanternMinecraftVersion versionCacheEntry = this.minecraftVersionCache.getVersionOrUnknown(Protocol.CURRENT_VERSION, false);
    if (!LanternMinecraftVersion.CURRENT.equals(versionCacheEntry)) {
        throw new RuntimeException("The current version and version in the cache don't match: " + LanternMinecraftVersion.CURRENT + " != " + versionCacheEntry);
    }
    // Load the plugin instances
    try {
        // By default, use the '--scanClasspath <true|false>' option, if it can't
        // be found, fall back to a environment based decision
        Boolean scanClasspath = this.scanClasspath;
        if (scanClasspath == null) {
            scanClasspath = Environment.get() == Environment.DEVELOPMENT;
        }
        this.pluginManager.loadPlugins(scanClasspath);
    } catch (IOException e) {
        throw new RuntimeException("An error occurred while loading the plugins.", e);
    }
    this.gameRegistry.registerDefaults();
    this.gameRegistry.earlyRegistry();
    // Load the global configuration
    this.globalConfig.load();
    // Save missing settings
    this.globalConfig.save();
    // They should not be replaced by now
    this.whitelistService.extended(WhitelistConfig.class).get().load();
    this.banService.extended(BanConfig.class).get().load();
    // Create the event manager instance
    this.eventManager.registerListeners(this.implContainer, LanternServiceListeners.getInstance());
    this.pluginManager.registerPluginInstances();
    // Call pre registry phase.
    this.gameRegistry.preRegistry();
    // Register temporarily a empty rcon service
    registerService(RconService.class, new EmptyRconService(this.globalConfig.getRconPassword()));
    // Create the cause to post events...
    final CauseStack causeStack = CauseStack.current();
    causeStack.pushCause(this);
    final Cause gameCause = causeStack.getCurrentCause();
    // Call the construction events
    postGameStateChange(SpongeEventFactory.createGameConstructionEvent(gameCause));
    // Call pre init phase for registry
    this.gameRegistry.preInit();
    LanternServiceListeners.getInstance().registerServiceCallback(PermissionService.class, input -> {
        this.server.getConsole().getContainingCollection();
        input.registerContextCalculator(new LanternContextCalculator());
    });
    // Pre-init phase
    postGameStateChange(SpongeEventFactory.createGamePreInitializationEvent(gameCause));
    // Call init phase for registry
    this.gameRegistry.init();
    final PermissionService permissionService = this.permissionService.get();
    if (permissionService instanceof LanternPermissionService) {
        final LanternPermissionService service = (LanternPermissionService) permissionService;
        service.getGroupForOpLevel(Permissions.SELECTOR_LEVEL).getSubjectData().setPermission(SubjectData.GLOBAL_CONTEXT, Permissions.SELECTOR_PERMISSION, Tristate.TRUE);
        service.getGroupForOpLevel(Permissions.COMMAND_BLOCK_LEVEL).getSubjectData().setPermission(SubjectData.GLOBAL_CONTEXT, Permissions.COMMAND_BLOCK_PERMISSION, Tristate.TRUE);
        service.getGroupForOpLevel(Permissions.Login.BYPASS_PLAYER_LIMIT_LEVEL).getSubjectData().setPermission(SubjectData.GLOBAL_CONTEXT, Permissions.Login.BYPASS_PLAYER_LIMIT_PERMISSION, Tristate.FALSE);
        service.getGroupForOpLevel(Permissions.Login.BYPASS_WHITELIST_LEVEL).getSubjectData().setPermission(SubjectData.GLOBAL_CONTEXT, Permissions.Login.BYPASS_WHITELIST_PERMISSION, Tristate.TRUE);
        service.getGroupForOpLevel(Permissions.Chat.FORMAT_URLS_LEVEL).getSubjectData().setPermission(SubjectData.GLOBAL_CONTEXT, Permissions.Chat.FORMAT_URLS, Tristate.TRUE);
    }
    // Load the default commands
    this.injector.getInstance(DefaultCommandsCollection.class).load();
    // Init phase
    postGameStateChange(SpongeEventFactory.createGameInitializationEvent(gameCause));
    // Call post init phase for registry
    this.gameRegistry.postInit();
    // Post-init phase
    postGameStateChange(SpongeEventFactory.createGamePostInitializationEvent(gameCause));
    // Load-complete phase
    postGameStateChange(SpongeEventFactory.createGameLoadCompleteEvent(gameCause));
    // Pop off the game instance
    causeStack.popCause();
}
Also used : PermissionService(org.spongepowered.api.service.permission.PermissionService) LanternPermissionService(org.lanternpowered.server.service.permission.LanternPermissionService) LanternCauseStack(org.lanternpowered.server.event.LanternCauseStack) CauseStack(org.lanternpowered.server.event.CauseStack) LanternMinecraftVersion(org.lanternpowered.server.game.version.LanternMinecraftVersion) EmptyRconService(org.lanternpowered.server.network.rcon.EmptyRconService) LanternPermissionService(org.lanternpowered.server.service.permission.LanternPermissionService) Cause(org.spongepowered.api.event.cause.Cause) DefaultCommandsCollection(org.lanternpowered.server.command.DefaultCommandsCollection) IOException(java.io.IOException) LanternContextCalculator(org.lanternpowered.server.service.permission.LanternContextCalculator)

Example 9 with PermissionService

use of org.spongepowered.api.service.permission.PermissionService in project Nucleus by NucleusPowered.

the class ListPlayerCommand method executeCommand.

@Override
public CommandResult executeCommand(CommandSource src, CommandContext args) throws Exception {
    boolean showVanished = this.permissions.testSuffix(src, "seevanished");
    Collection<Player> players = Sponge.getServer().getOnlinePlayers();
    long playerCount = players.size();
    long hiddenCount = players.stream().filter(x -> x.get(Keys.VANISH).orElse(false)).count();
    Text header;
    if (showVanished && hiddenCount > 0) {
        header = plugin.getMessageProvider().getTextMessageWithFormat("command.list.playercount.hidden", String.valueOf(playerCount), String.valueOf(Sponge.getServer().getMaxPlayers()), String.valueOf(hiddenCount));
    } else {
        header = plugin.getMessageProvider().getTextMessageWithFormat("command.list.playercount.base", String.valueOf(playerCount - hiddenCount), String.valueOf(Sponge.getServer().getMaxPlayers()));
    }
    src.sendMessage(header);
    Optional<PermissionService> optPermissionService = Sponge.getServiceManager().provide(PermissionService.class);
    if (this.listConfig.isGroupByPermissionGroup() && optPermissionService.isPresent()) {
        listByPermissionGroup(optPermissionService.get(), players, src, showVanished);
    } else {
        // If we have players, send them on.
        getPlayerList(players, showVanished).ifPresent(src::sendMessage);
    }
    return CommandResult.success();
}
Also used : RegisterCommand(io.github.nucleuspowered.nucleus.internal.annotations.command.RegisterCommand) Keys(org.spongepowered.api.data.key.Keys) PermissionInformation(io.github.nucleuspowered.nucleus.internal.permissions.PermissionInformation) NonnullByDefault(org.spongepowered.api.util.annotation.NonnullByDefault) HashMap(java.util.HashMap) Contextual(org.spongepowered.api.service.context.Contextual) PermissionService(org.spongepowered.api.service.permission.PermissionService) Function(java.util.function.Function) RunAsync(io.github.nucleuspowered.nucleus.internal.annotations.RunAsync) Lists(com.google.common.collect.Lists) CommandContext(org.spongepowered.api.command.args.CommandContext) Text(org.spongepowered.api.text.Text) Map(java.util.Map) SuggestedLevel(io.github.nucleuspowered.nucleus.internal.permissions.SuggestedLevel) Util(io.github.nucleuspowered.nucleus.Util) Permissions(io.github.nucleuspowered.nucleus.internal.annotations.command.Permissions) Subject(org.spongepowered.api.service.permission.Subject) TextColors(org.spongepowered.api.text.format.TextColors) Nullable(javax.annotation.Nullable) CommandResult(org.spongepowered.api.command.CommandResult) PlayerInfoConfigAdapter(io.github.nucleuspowered.nucleus.modules.playerinfo.config.PlayerInfoConfigAdapter) Nucleus(io.github.nucleuspowered.nucleus.Nucleus) CommandSource(org.spongepowered.api.command.CommandSource) Collection(java.util.Collection) Sponge(org.spongepowered.api.Sponge) ReturnMessageException(io.github.nucleuspowered.nucleus.internal.command.ReturnMessageException) Maps(com.google.common.collect.Maps) Collectors(java.util.stream.Collectors) Reloadable(io.github.nucleuspowered.nucleus.internal.interfaces.Reloadable) ExecutionException(java.util.concurrent.ExecutionException) List(java.util.List) AbstractCommand(io.github.nucleuspowered.nucleus.internal.command.AbstractCommand) AFKHandler(io.github.nucleuspowered.nucleus.modules.afk.handlers.AFKHandler) Optional(java.util.Optional) EssentialsEquivalent(io.github.nucleuspowered.nucleus.internal.docgen.annotations.EssentialsEquivalent) Player(org.spongepowered.api.entity.living.player.Player) ListConfig(io.github.nucleuspowered.nucleus.modules.playerinfo.config.ListConfig) PermissionService(org.spongepowered.api.service.permission.PermissionService) Player(org.spongepowered.api.entity.living.player.Player) Text(org.spongepowered.api.text.Text)

Example 10 with PermissionService

use of org.spongepowered.api.service.permission.PermissionService in project Nucleus by NucleusPowered.

the class NucleusPlugin method registerPermissions.

@Override
protected void registerPermissions() {
    Optional<PermissionService> ops = Sponge.getServiceManager().provide(PermissionService.class);
    ops.ifPresent(permissionService -> {
        Map<String, PermissionInformation> m = this.getPermissionRegistry().getPermissions();
        m.entrySet().stream().filter(x -> {
            SuggestedLevel lvl = x.getValue().level;
            return lvl == SuggestedLevel.ADMIN || lvl == SuggestedLevel.OWNER;
        }).filter(x -> x.getValue().isNormal).forEach(k -> permissionService.newDescriptionBuilder(this).assign(PermissionDescription.ROLE_ADMIN, true).description(k.getValue().description).id(k.getKey()).register());
        m.entrySet().stream().filter(x -> x.getValue().level == SuggestedLevel.MOD).filter(x -> x.getValue().isNormal).forEach(k -> permissionService.newDescriptionBuilder(this).assign(PermissionDescription.ROLE_STAFF, true).description(k.getValue().description).id(k.getKey()).register());
        m.entrySet().stream().filter(x -> x.getValue().level == SuggestedLevel.USER).filter(x -> x.getValue().isNormal).forEach(k -> permissionService.newDescriptionBuilder(this).assign(PermissionDescription.ROLE_USER, true).description(k.getValue().description).id(k.getKey()).register());
    });
}
Also used : PermissionService(org.spongepowered.api.service.permission.PermissionService) GameStoppedServerEvent(org.spongepowered.api.event.game.state.GameStoppedServerEvent) CatalogTypeFinalStaticProcessor(io.github.nucleuspowered.nucleus.internal.CatalogTypeFinalStaticProcessor) TypeToken(com.google.gson.reflect.TypeToken) GameInitializationEvent(org.spongepowered.api.event.game.state.GameInitializationEvent) VERSION(io.github.nucleuspowered.nucleus.PluginInfo.VERSION) PermissionService(org.spongepowered.api.service.permission.PermissionService) Map(java.util.Map) SuggestedLevel(io.github.nucleuspowered.nucleus.internal.permissions.SuggestedLevel) ServiceChangeListener(io.github.nucleuspowered.nucleus.internal.permissions.ServiceChangeListener) Path(java.nio.file.Path) PrintWriter(java.io.PrintWriter) CommandPermissionHandler(io.github.nucleuspowered.nucleus.internal.CommandPermissionHandler) NameBanService(io.github.nucleuspowered.nucleus.dataservices.NameBanService) Set(java.util.Set) ResourceMessageProvider(io.github.nucleuspowered.nucleus.internal.messages.ResourceMessageProvider) MessageProvider(io.github.nucleuspowered.nucleus.internal.messages.MessageProvider) BaseModuleEvent(io.github.nucleuspowered.nucleus.internal.qsml.event.BaseModuleEvent) ConfigException(com.typesafe.config.ConfigException) KitService(io.github.nucleuspowered.nucleus.dataservices.KitService) ConfigurateHelper(io.github.nucleuspowered.nucleus.configurate.ConfigurateHelper) ModularGeneralService(io.github.nucleuspowered.nucleus.dataservices.modular.ModularGeneralService) PermissionInformation(io.github.nucleuspowered.nucleus.internal.permissions.PermissionInformation) GamePostInitializationEvent(org.spongepowered.api.event.game.state.GamePostInitializationEvent) TextParsingUtils(io.github.nucleuspowered.nucleus.internal.text.TextParsingUtils) Supplier(java.util.function.Supplier) ID(io.github.nucleuspowered.nucleus.PluginInfo.ID) Lists(com.google.common.collect.Lists) Text(org.spongepowered.api.text.Text) WorldDataManager(io.github.nucleuspowered.nucleus.dataservices.loaders.WorldDataManager) NucleusLoggerProxy(io.github.nucleuspowered.nucleus.internal.qsml.NucleusLoggerProxy) QuickStartModuleConstructor(io.github.nucleuspowered.nucleus.internal.qsml.QuickStartModuleConstructor) NucleusTeleportHandler(io.github.nucleuspowered.nucleus.internal.teleport.NucleusTeleportHandler) NucleusModuleService(io.github.nucleuspowered.nucleus.api.service.NucleusModuleService) QuickStartModuleLoaderException(uk.co.drnaylor.quickstart.exceptions.QuickStartModuleLoaderException) ModuleData(uk.co.drnaylor.quickstart.annotations.ModuleData) PluginContainer(org.spongepowered.api.plugin.PluginContainer) TextColors(org.spongepowered.api.text.format.TextColors) Nullable(javax.annotation.Nullable) WarmupConfig(io.github.nucleuspowered.nucleus.modules.core.config.WarmupConfig) NucleusAPITokens(io.github.nucleuspowered.nucleus.api.NucleusAPITokens) UserCacheService(io.github.nucleuspowered.nucleus.dataservices.UserCacheService) UserDataManager(io.github.nucleuspowered.nucleus.dataservices.loaders.UserDataManager) Files(java.nio.file.Files) CommandsConfig(io.github.nucleuspowered.nucleus.config.CommandsConfig) StringWriter(java.io.StringWriter) TextFileController(io.github.nucleuspowered.nucleus.internal.TextFileController) IOException(java.io.IOException) Reloadable(io.github.nucleuspowered.nucleus.internal.interfaces.Reloadable) QuickStartModuleDiscoveryException(uk.co.drnaylor.quickstart.exceptions.QuickStartModuleDiscoveryException) PreloadTasks(io.github.nucleuspowered.nucleus.internal.PreloadTasks) NucleusTokenServiceImpl(io.github.nucleuspowered.nucleus.internal.text.NucleusTokenServiceImpl) ObjectMappingException(ninja.leaping.configurate.objectmapping.ObjectMappingException) Paths(java.nio.file.Paths) MessageReceiver(org.spongepowered.api.text.channel.MessageReceiver) ConsoleSource(org.spongepowered.api.command.source.ConsoleSource) Game(org.spongepowered.api.Game) NoModuleException(uk.co.drnaylor.quickstart.exceptions.NoModuleException) EconHelper(io.github.nucleuspowered.nucleus.internal.EconHelper) Strategy(uk.co.drnaylor.quickstart.modulecontainers.discoverystrategies.Strategy) DESCRIPTION(io.github.nucleuspowered.nucleus.PluginInfo.DESCRIPTION) CoreModule(io.github.nucleuspowered.nucleus.modules.core.CoreModule) CoreConfigAdapter(io.github.nucleuspowered.nucleus.modules.core.config.CoreConfigAdapter) NucleusWarmupManagerService(io.github.nucleuspowered.nucleus.api.service.NucleusWarmupManagerService) ItemDataService(io.github.nucleuspowered.nucleus.dataservices.ItemDataService) Order(org.spongepowered.api.event.Order) Gson(com.google.gson.Gson) CoreConfig(io.github.nucleuspowered.nucleus.modules.core.config.CoreConfig) NucleusMessageTokenService(io.github.nucleuspowered.nucleus.api.service.NucleusMessageTokenService) WorldCorrector(io.github.nucleuspowered.nucleus.internal.WorldCorrector) EconomyService(org.spongepowered.api.service.economy.EconomyService) ClientMessageReciever(io.github.nucleuspowered.nucleus.internal.client.ClientMessageReciever) GamePreInitializationEvent(org.spongepowered.api.event.game.state.GamePreInitializationEvent) UniqueUserCountTransientModule(io.github.nucleuspowered.nucleus.modules.core.datamodules.UniqueUserCountTransientModule) Sponge(org.spongepowered.api.Sponge) Instant(java.time.Instant) Sets(com.google.common.collect.Sets) DataProviders(io.github.nucleuspowered.nucleus.dataservices.dataproviders.DataProviders) List(java.util.List) NAME(io.github.nucleuspowered.nucleus.PluginInfo.NAME) GameStartedServerEvent(org.spongepowered.api.event.game.state.GameStartedServerEvent) Optional(java.util.Optional) ConfigMessageProvider(io.github.nucleuspowered.nucleus.internal.messages.ConfigMessageProvider) Asset(org.spongepowered.api.asset.Asset) DocGenCache(io.github.nucleuspowered.nucleus.internal.docgen.DocGenCache) PermissionDescription(org.spongepowered.api.service.permission.PermissionDescription) GameStartingServerEvent(org.spongepowered.api.event.game.state.GameStartingServerEvent) Platform(org.spongepowered.api.Platform) Inject(javax.inject.Inject) PermissionRegistry(io.github.nucleuspowered.nucleus.internal.PermissionRegistry) ModuleRegistrationProxyService(io.github.nucleuspowered.nucleus.internal.qsml.ModuleRegistrationProxyService) NucleusConfigAdapter(io.github.nucleuspowered.nucleus.internal.qsml.NucleusConfigAdapter) Task(org.spongepowered.api.scheduler.Task) GameState(org.spongepowered.api.GameState) IncorrectAdapterTypeException(uk.co.drnaylor.quickstart.exceptions.IncorrectAdapterTypeException) WarmupManager(io.github.nucleuspowered.nucleus.internal.services.WarmupManager) Logger(org.slf4j.Logger) HoconConfigurationLoader(ninja.leaping.configurate.hocon.HoconConfigurationLoader) InternalServiceManager(io.github.nucleuspowered.nucleus.internal.InternalServiceManager) ConstructionPhase(uk.co.drnaylor.quickstart.enums.ConstructionPhase) ConfigDir(org.spongepowered.api.config.ConfigDir) Maps(com.google.common.collect.Maps) Plugin(org.spongepowered.api.plugin.Plugin) UUIDChangeService(io.github.nucleuspowered.nucleus.modules.core.service.UUIDChangeService) Listener(org.spongepowered.api.event.Listener) DiscoveryModuleContainer(uk.co.drnaylor.quickstart.modulecontainers.DiscoveryModuleContainer) DebugLogger(io.github.nucleuspowered.nucleus.logging.DebugLogger) Collections(java.util.Collections) SuggestedLevel(io.github.nucleuspowered.nucleus.internal.permissions.SuggestedLevel) PermissionInformation(io.github.nucleuspowered.nucleus.internal.permissions.PermissionInformation)

Aggregations

PermissionService (org.spongepowered.api.service.permission.PermissionService)10 Nullable (javax.annotation.Nullable)4 Subject (org.spongepowered.api.service.permission.Subject)4 IOException (java.io.IOException)3 List (java.util.List)3 Map (java.util.Map)3 Optional (java.util.Optional)3 Sponge (org.spongepowered.api.Sponge)3 Text (org.spongepowered.api.text.Text)3 Lists (com.google.common.collect.Lists)2 Maps (com.google.common.collect.Maps)2 Reloadable (io.github.nucleuspowered.nucleus.internal.interfaces.Reloadable)2 PermissionInformation (io.github.nucleuspowered.nucleus.internal.permissions.PermissionInformation)2 SuggestedLevel (io.github.nucleuspowered.nucleus.internal.permissions.SuggestedLevel)2 Instant (java.time.Instant)2 Set (java.util.Set)2 CauseStack (org.lanternpowered.server.event.CauseStack)2 LanternPermissionService (org.lanternpowered.server.service.permission.LanternPermissionService)2 Keys (org.spongepowered.api.data.key.Keys)2 Cause (org.spongepowered.api.event.cause.Cause)2