-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Plugin
- Convert 'Commands' repo to 'Extensions'
- Rename MainModule from Commands to Extensions
- Setup sub folders
- Commands - already setup
- Morphs - move all morph descriptions under here
- Tools
- Add updated and modified f3x tool to here
- Themes - this will be where Nanoblox themes are located
- Core
- Add StatHandler to
Extensions/Core/Server/Modules/StatHandler
- Add StatHandler to
- Plugin Loader
- Activate/Deactivate
- When pressing nanoblox icon display whole menu like ckstudio+/rojo
- If no 'Nanoblox' present in ServerScriptService display a single Activate button
- When pressed, check ServreStorage for 'Nanoblox (deactivated)'
- Have a deactivate button at the button of the page
- Listen for these changes within ServerScriptService.ChildAdded and update display accordingly
- When Nanoblox loaded for first time (i.e. no loader detected), auto setup every extension
- When an extension is loaded into the loader, create an attribute under its container - this indicates it's already been loaded and prevents it being displayed again in the new menu
- A super basic interface
- Split Extensions into three columns:
- New - can be approved or rejected
- Approved - can be removed (i.e. rejected)
- Rejected - can be re-inserted (i.e. approved)
- Make sure to listen for
Extensions/CommandsChildAdded (move item to approved if a valid extension item) and ChildRemoved (move item to rejected if a valid extension item) - Notification when new extensions > 0 which when clicked opens up extensions manage page
- Split Extensions into three columns:
- Activate/Deactivate
- Consider setting up a 'Studio' settings group
- Consider renaming 'System' settings to something else (maybe Game or Server)
- Settings such as:
- Enable Sync
- PlayerDataName
- SystemDataName
- DisableFunCommands
- (consider moving some system settings here)
Core
- Setup an Extensions folder within Server
- Move the Commands module code to CommandService and move all internal commands to
Server/Extensions/Commands - Ensure AssetService accounts for this change (e.g. it originally cached assets under
Server/Modules/Commands) - How will extension items like 'Morphs' and 'Tools' be retrieved? Maybe consider creating specifically tailored methods within AssetService
- Transfer everything under
Loader/Extensionsinto the core Extensions folder- Only move commands instead of merge (to prevent overwriting internal commands)
- Transfer everything under
Extensions/Coreinto the corresponding Core locations, although **if present, completely ignoreLoader/Extensions/Core/Server/Extensions
- Test
Metadata
Metadata
Assignees
Labels
No labels