package org.dynmap.fabric_1_19_3.permissions; import net.minecraft.entity.player.PlayerEntity; import org.dynmap.Log; import org.dynmap.fabric_1_19_3.DynmapPlugin; import java.util.HashSet; import java.util.Set; public class OpPermissions implements PermissionProvider { public HashSet usrCommands = new HashSet(); public OpPermissions(String[] usrCommands) { for (String usrCommand : usrCommands) { this.usrCommands.add(usrCommand); } Log.info("Using ops.txt for access control"); } @Override public Set hasOfflinePermissions(String player, Set perms) { HashSet rslt = new HashSet(); if (DynmapPlugin.plugin.isOp(player)) { rslt.addAll(perms); } return rslt; } @Override public boolean hasOfflinePermission(String player, String perm) { return DynmapPlugin.plugin.isOp(player); } @Override public boolean has(PlayerEntity psender, String permission) { if (psender != null) { if (usrCommands.contains(permission)) { return true; } return DynmapPlugin.plugin.isOp(psender.getName().getString()); } return true; } @Override public boolean hasPermissionNode(PlayerEntity psender, String permission) { if (psender != null) { return DynmapPlugin.plugin.isOp(psender.getName().getString()); } return true; } }