mirror of
https://github.com/CarmJos/ScriptItems
synced 2024-09-19 21:35:50 +00:00
测试权限判定
This commit is contained in:
parent
c0c32fbb23
commit
c7cf8028a1
@ -3,15 +3,12 @@ package cc.carm.plugin.commanditem.item;
|
|||||||
import cc.carm.plugin.commanditem.CommandItemAPI;
|
import cc.carm.plugin.commanditem.CommandItemAPI;
|
||||||
import cc.carm.plugin.commanditem.Main;
|
import cc.carm.plugin.commanditem.Main;
|
||||||
import cc.carm.plugin.commanditem.manager.ConfigManager;
|
import cc.carm.plugin.commanditem.manager.ConfigManager;
|
||||||
import com.google.common.collect.ImmutableMap;
|
|
||||||
import com.google.common.collect.ImmutableSortedMap;
|
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.annotations.Unmodifiable;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -41,9 +38,6 @@ public class ItemSettings {
|
|||||||
this.defaultActions = defaultActions;
|
this.defaultActions = defaultActions;
|
||||||
this.permissions = permissions;
|
this.permissions = permissions;
|
||||||
this.actions = actions;
|
this.actions = actions;
|
||||||
|
|
||||||
permissions.forEach((key, value) -> Main.debugging(" Permission: " + key + " = " + value));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public @NotNull String getIdentifier() {
|
public @NotNull String getIdentifier() {
|
||||||
@ -69,9 +63,8 @@ public class ItemSettings {
|
|||||||
return generateItem(1);
|
return generateItem(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Unmodifiable
|
|
||||||
public @NotNull Map<String, String> getPermissions() {
|
public @NotNull Map<String, String> getPermissions() {
|
||||||
return ImmutableSortedMap.copyOf(permissions);
|
return this.permissions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -83,9 +76,8 @@ public class ItemSettings {
|
|||||||
return getRestrictions().check();
|
return getRestrictions().check();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Unmodifiable
|
|
||||||
public @NotNull Map<String, ItemActionGroup> getActions() {
|
public @NotNull Map<String, ItemActionGroup> getActions() {
|
||||||
return ImmutableMap.copyOf(actions);
|
return this.actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
public @Nullable ItemActionGroup getDefaultActions() {
|
public @Nullable ItemActionGroup getDefaultActions() {
|
||||||
@ -94,9 +86,9 @@ public class ItemSettings {
|
|||||||
|
|
||||||
public @Nullable ItemActionGroup getPlayerActions(@NotNull Player player) {
|
public @Nullable ItemActionGroup getPlayerActions(@NotNull Player player) {
|
||||||
String actionGroup = getPermissions().entrySet().stream()
|
String actionGroup = getPermissions().entrySet().stream()
|
||||||
.peek(entry -> Main.debugging("Checking permission: " + entry.getValue()))
|
|
||||||
.filter(entry -> player.hasPermission(entry.getValue()))
|
.filter(entry -> player.hasPermission(entry.getValue()))
|
||||||
.map(Map.Entry::getKey).findFirst().orElse(null);
|
.map(Map.Entry::getKey).findFirst().orElse(null);
|
||||||
|
Main.debugging(" Player " + player.getName() + " will execute " + actionGroup);
|
||||||
return getActions().getOrDefault(actionGroup, getDefaultActions());
|
return getActions().getOrDefault(actionGroup, getDefaultActions());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user