NWAPIPermissionSystem
Plugin Permission System Designed for use with Northwood's Plugin API For SCP:SL
Install / Use
/learn @CedModV2/NWAPIPermissionSystemREADME
NWAPIPermissionSystem
Plugin Permission System Designed for use with Northwood's Plugin API For SCP:SL
Installation
Download the NWAPIPermissionSystem.dll from the Releases page
Linux
Global Installation
Use this if you want the plugin to load on every SL Server that shares that ConfigPath
place the file in this directory .config/SCP Secret Laboratory/PluginAPI/Plugins/Global
Per Port Installation
Use this if you want to load the plugin on only the server with the specified port number.
place the file in this directory .config/SCP Secret Laborayory/PluginAPI/Plugins/{portnumber}
Windows
Global Installation
Use this if you want the plugin to load on every SL Server that shares that ConfigPath
place the file in this directory %appdata%/SCP Secret Laboratory/PluginAPI/Plugins/Global
Per Port Installation
Use this if you want to load the plugin on only the server with the specified port number.
place the file in this directory %appdata%/SCP Secret Laborayory/PluginAPI/Plugins/{portnumber}
Usage for ServerHosts
Once the plugin is installed and you have restarted your server, you will have a NWAPIPermissionSystem folder in the folder you installed the plugin dll file to.
Inside this folder are the 2 config files config.yml which is for configuration related to the permissionmanager and permissions.yml which is for configuring permissions.
Setting permissions
Permission groups keys should match with the keys of groups in your RemoteAdmin config.
Groups should be ordered from: Lowest ranking groups on the bottom, and highest ranking groups ontop, due to Inheritence.
Then just add all permissions you want to add.
.* - grants all permissions
someplugin.* - Grants all permission for the someplugin permission node
someplugin.somefeature.* - grants all permissions for the someplugin.somefeature permission node.
Usage for Developers
Checking permission is very simple. The PermissionHandler class has 3 Extension methods to check permissions of ICommandSender, CommandSender and IPlayer types.
Additionally there are 2 CheckPermission methods which accept a UserId String or Group object.
To make intergration with other permission management systems easier, such as CedMod's AutoSlPerms system. for managing permissions through a webpage. You can make use of the PermissionHandler.PermissionGroup dictionary which can be modified.
Related Skills
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
2.1kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
openpencil
2.1kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
ui-ux-designer
Use this agent when you need to design, implement, or improve user interface components and user experience flows. Examples include: creating new pages or components, improving existing UI layouts, implementing responsive designs, optimizing user interactions, building forms or dashboards, analyzing existing UI through browser snapshots, or when you need to ensure UI components follow design system standards and shadcn/ui best practices.\n\n<example>\nContext: User needs to create a new dashboard page for team management.\nuser: "I need to create a team management dashboard where users can view team members, invite new members, and manage roles"\nassistant: "I'll use the ui-ux-designer agent to design and implement this dashboard with proper UX considerations, using shadcn/ui components and our design system tokens."\n</example>\n\n<example>\nContext: User wants to improve the user experience of an existing form.\nuser: "The signup form feels clunky and users are dropping off. Can you improve it?"\nassistant: "Let me use the ui-ux-designer agent to analyze the current form UX and implement improvements using our design system and shadcn/ui components."\n</example>\n\n<example>\nContext: User wants to evaluate and improve existing UI.\nuser: "Can you take a look at our pricing page and see how we can make it more appealing and user-friendly?"\nassistant: "I'll use the ui-ux-designer agent to take a snapshot of the current pricing page, analyze the UX against Notion-inspired design principles, and implement improvements using our design tokens."\n</example>
