Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Aura Development Team
AuraSudo
Commits
628563cf
Verified
Commit
628563cf
authored
Jan 21, 2021
by
Yannick Schinko
Browse files
Added sudo context for LuckPerms
parent
247b7c1c
Changes
12
Hide whitespace changes
Inline
Side-by-side
api/src/main/java/team/aura_dev/aurasudo/api/AuraSudoApi.java
View file @
628563cf
...
...
@@ -11,4 +11,6 @@ public interface AuraSudoApi {
public
static
final
String
AUTHOR
=
"The_BrainStone"
;
public
PlayerManager
getPlayerManager
();
public
int
getMaxSudoLevel
();
}
api/src/main/java/team/aura_dev/aurasudo/api/player/PlayerData.java
View file @
628563cf
...
...
@@ -18,7 +18,7 @@ public interface PlayerData {
@Nonnull
public
String
getDisplayName
();
public
boolean
getSudo
Acti
ve
();
public
int
getSudo
Le
ve
l
();
public
void
setSudo
Active
(
boolean
acti
ve
);
public
void
setSudo
Level
(
int
le
ve
l
);
}
platform/bungeecord/src/main/resources/bungee.yml
View file @
628563cf
...
...
@@ -5,3 +5,5 @@ version: ${version}
author
:
BrainStone
description
:
${description}
url
:
https://github.com/AuraDevelopmentTeam/AuraSudo
depends
:
-
LuckPerms
platform/common/build.gradle
View file @
628563cf
...
...
@@ -26,6 +26,7 @@ dependencies {
api
"org.slf4j:slf4j-api:${slf4j_version}"
api
"com.github.ben-manes.caffeine:caffeine:${caffeine_version}"
api
"org.spongepowered:configurate-hocon:${configurate_version}"
api
"net.luckperms:api:${luckPerms_version}"
// Shadow dependencies
shadow
(
"team.aura_dev.lib.multiplatformcore:MultiPlatformCore:${multiPlatformCore_version}"
)
{
...
...
platform/common/gradle.properties
View file @
628563cf
...
...
@@ -12,6 +12,7 @@ useRootValues=true
caffeine_version
=
2.8.0
configurate_version
=
3.6.1
luckPerms_version
=
5.2
multiPlatformCore_version
=
1.2.1.+
slf4j_version
=
1.7.25
...
...
platform/common/src/main/java/team/aura_dev/aurasudo/platform/common/AuraSudoBase.java
View file @
628563cf
...
...
@@ -6,10 +6,12 @@ import java.util.Arrays;
import
java.util.List
;
import
lombok.Getter
;
import
lombok.SneakyThrows
;
import
net.luckperms.api.LuckPermsProvider
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
team.aura_dev.aurasudo.api.AuraSudoApi
;
import
team.aura_dev.aurasudo.platform.common.config.ConfigLoader
;
import
team.aura_dev.aurasudo.platform.common.context.SudoContextCalculator
;
import
team.aura_dev.aurasudo.platform.common.dependency.RuntimeDependencies
;
import
team.aura_dev.aurasudo.platform.common.player.PlayerManagerCommon
;
import
team.aura_dev.lib.multiplatformcore.DependencyClassLoader
;
...
...
@@ -121,9 +123,20 @@ public abstract class AuraSudoBase implements AuraSudoApi, AuraSudoBaseBootstrap
logger
.
info
(
"Registering Event Listeners"
);
registerEventListeners
();
logger
.
info
(
"Registering Context with LuckPerms"
);
LuckPermsProvider
.
get
()
.
getContextManager
()
.
registerCalculator
(
new
SudoContextCalculator
(
playerManager
,
getMaxSudoLevel
()));
// TODO
}
@Override
public
int
getMaxSudoLevel
()
{
// TODO: Read from config
return
2
;
}
// Private helper methods
// Generated with http://www.patorjk.com/software/taag/#p=display&f=Straight&t=AuraSudo
private
List
<
String
>
generateAsciiBanner
()
{
...
...
platform/common/src/main/java/team/aura_dev/aurasudo/platform/common/context/SudoContextCalculator.java
0 → 100644
View file @
628563cf
package
team.aura_dev.aurasudo.platform.common.context
;
import
lombok.RequiredArgsConstructor
;
import
net.luckperms.api.context.ContextCalculator
;
import
net.luckperms.api.context.ContextConsumer
;
import
net.luckperms.api.context.ContextSet
;
import
net.luckperms.api.context.ImmutableContextSet
;
import
org.checkerframework.checker.nullness.qual.NonNull
;
import
team.aura_dev.aurasudo.api.player.PlayerData
;
import
team.aura_dev.aurasudo.api.player.PlayerManager
;
@RequiredArgsConstructor
public
class
SudoContextCalculator
implements
ContextCalculator
<
Object
>
{
public
static
final
String
CONTEXT_SUDO
=
"sudo"
;
protected
final
PlayerManager
playerManager
;
protected
final
int
maxSudoLevel
;
@Override
public
void
calculate
(
@NonNull
Object
target
,
@NonNull
ContextConsumer
consumer
)
{
final
PlayerData
data
=
playerManager
.
fromNativePlayer
(
target
);
if
(
data
==
null
)
return
;
consumer
.
accept
(
CONTEXT_SUDO
,
Integer
.
toString
(
data
.
getSudoLevel
()));
}
@Override
public
ContextSet
estimatePotentialContexts
()
{
ImmutableContextSet
.
Builder
builder
=
ImmutableContextSet
.
builder
();
for
(
int
i
=
0
;
i
<=
maxSudoLevel
;
i
++)
builder
.
add
(
CONTEXT_SUDO
,
Integer
.
toString
(
i
));
return
builder
.
build
();
}
}
platform/common/src/main/java/team/aura_dev/aurasudo/platform/common/player/PlayerDataCommon.java
View file @
628563cf
...
...
@@ -7,6 +7,7 @@ import lombok.Data;
import
lombok.EqualsAndHashCode
;
import
lombok.Getter
;
import
lombok.NonNull
;
import
team.aura_dev.aurasudo.api.AuraSudo
;
import
team.aura_dev.aurasudo.api.player.PlayerData
;
/**
...
...
@@ -24,7 +25,7 @@ import team.aura_dev.aurasudo.api.player.PlayerData;
public
class
PlayerDataCommon
implements
PlayerData
{
@NonNull
protected
final
UUID
uuid
;
@NonNull
protected
final
String
playerName
;
protected
boolean
sudo
Acti
ve
=
false
;
protected
int
sudo
Le
ve
l
=
0
;
/**
* A nice name for the player.<br>
...
...
@@ -38,12 +39,13 @@ public class PlayerDataCommon implements PlayerData {
return
playerName
;
}
@Override
public
boolean
getSudoActive
()
{
return
sudoActive
;
}
public
void
setSudoLevel
(
int
sudoLevel
)
{
final
int
maxSudoLevel
=
AuraSudo
.
getApi
().
getMaxSudoLevel
();
if
((
sudoLevel
<
0
)
||
(
sudoLevel
>
maxSudoLevel
))
throw
new
IllegalArgumentException
(
"sudoLevel was "
+
sudoLevel
+
". But must be between 0 and "
+
maxSudoLevel
);
public
void
setSudoActive
(
boolean
active
)
{
sudoActive
=
active
;
this
.
sudoLevel
=
sudoLevel
;
}
}
platform/nukkit/src/main/resources/nukkit.yml
View file @
628563cf
...
...
@@ -5,3 +5,5 @@ version: ${version}
author
:
BrainStone
description
:
${description}
url
:
https://github.com/AuraDevelopmentTeam/AuraSudo
depends
:
-
LuckPerms
platform/spigot/src/main/resources/plugin.yml
View file @
628563cf
...
...
@@ -5,3 +5,5 @@ version: ${version}
author
:
BrainStone
description
:
${description}
url
:
https://github.com/AuraDevelopmentTeam/AuraSudo
depends
:
-
LuckPerms
platform/sponge/src/main/java/team/aura_dev/aurasudo/platform/sponge/AuraSudoSpongeBootstrap.java
View file @
628563cf
...
...
@@ -6,6 +6,7 @@ import org.spongepowered.api.config.ConfigDir;
import
org.spongepowered.api.event.Listener
;
import
org.spongepowered.api.event.game.state.GameInitializationEvent
;
import
org.spongepowered.api.event.game.state.GamePreInitializationEvent
;
import
org.spongepowered.api.plugin.Dependency
;
import
org.spongepowered.api.plugin.Plugin
;
import
team.aura_dev.aurasudo.platform.common.AuraSudoBaseBootstrap
;
import
team.aura_dev.aurasudo.platform.common.AuraSudoBootstrapper
;
...
...
@@ -16,7 +17,8 @@ import team.aura_dev.aurasudo.platform.common.AuraSudoBootstrapper;
version
=
AuraSudoBootstrapper
.
VERSION
,
description
=
AuraSudoBootstrapper
.
DESCRIPTION
,
url
=
AuraSudoBootstrapper
.
URL
,
authors
=
{
AuraSudoBootstrapper
.
AUTHOR
})
authors
=
{
AuraSudoBootstrapper
.
AUTHOR
},
dependencies
=
@Dependency
(
id
=
"luckperms"
))
public
class
AuraSudoSpongeBootstrap
{
private
final
AuraSudoBaseBootstrap
bootstrappedPlugin
;
...
...
platform/velocity/src/main/java/team/aura_dev/aurasudo/platform/velocity/AuraSudoVelocityBootstrap.java
View file @
628563cf
...
...
@@ -3,6 +3,7 @@ package team.aura_dev.aurasudo.platform.velocity;
import
com.google.inject.Inject
;
import
com.velocitypowered.api.event.Subscribe
;
import
com.velocitypowered.api.event.proxy.ProxyInitializeEvent
;
import
com.velocitypowered.api.plugin.Dependency
;
import
com.velocitypowered.api.plugin.Plugin
;
import
com.velocitypowered.api.plugin.annotation.DataDirectory
;
import
com.velocitypowered.api.proxy.ProxyServer
;
...
...
@@ -16,7 +17,8 @@ import team.aura_dev.aurasudo.platform.common.AuraSudoBootstrapper;
version
=
AuraSudoBootstrapper
.
VERSION
,
description
=
AuraSudoBootstrapper
.
DESCRIPTION
,
url
=
AuraSudoBootstrapper
.
URL
,
authors
=
{
AuraSudoBootstrapper
.
AUTHOR
})
authors
=
{
AuraSudoBootstrapper
.
AUTHOR
},
dependencies
=
@Dependency
(
id
=
"luckperms"
))
public
class
AuraSudoVelocityBootstrap
{
private
final
AuraSudoBaseBootstrap
bootstrappedPlugin
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment