added api for querying admin-players
This commit is contained in:
@ -1,17 +1,30 @@
|
|||||||
package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.adminMarker;
|
package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.adminMarker;
|
||||||
|
|
||||||
|
import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
|
||||||
import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
|
import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
|
||||||
import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.displayName.DisplayName;
|
import eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.displayName.DisplayName;
|
||||||
import net.kyori.adventure.text.format.TextColor;
|
import net.kyori.adventure.text.format.TextColor;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Color;
|
import org.bukkit.Color;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class AdminMarker extends Appliance implements DisplayName.Colored {
|
public class AdminMarker extends Appliance implements DisplayName.Colored {
|
||||||
|
public final static String adminPermission = "admin";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable TextColor getNameColor(Player player) {
|
public @Nullable TextColor getNameColor(Player player) {
|
||||||
if(player.hasPermission("chatcolor"))
|
if(player.hasPermission(adminPermission))
|
||||||
return TextColor.color(Color.AQUA.asRGB()); // TODO read permission from config
|
return TextColor.color(Color.AQUA.asRGB()); // TODO read permission from config
|
||||||
return TextColor.color(Color.WHITE.asRGB());
|
return TextColor.color(Color.WHITE.asRGB());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void httpApi(HttpServer.ApiBuilder apiBuilder) {
|
||||||
|
apiBuilder.get("isAdmin", request -> {
|
||||||
|
OfflinePlayer player = Bukkit.getOfflinePlayer(request.queryParams("player"));
|
||||||
|
return player.isOp();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user