-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Basically Everything Overhaul ( libs and perms ) #398
base: develop
Are you sure you want to change the base?
Conversation
Thanks for giving me weeks worth of work ^^ Be prepared for lots of restructuring now we can interject with design choices and decisions. |
Any time :D |
@EpicG Still on-going? Thanks to @Jazzelhawk for reminding me of this monster. |
@awilliamson Partially. There were a few issues that I needed to resolve, but I have not looked at it in a while so I kinda forgot what they were... |
@awilliamson Did a little bit of a refresher on my code, realized that the issues I was having was with my panel library. Looking through this appears to be fine, it will just have to be updated to work with the changes made to libraries. |
No worries, we can discuss more about it now that you're reacquainted with
the work. Make sure that the justification for some of those changes still
holds true, or whether requirements have changed slightly. This might tie
in nicely with some of the things I've been looking into for reworking the
core and streamlining the model.
|
DO NOT ACCEPT YET
I am just putting this here for suggestions
Okay now that that is out of the way this would literally break every SF addon.
Things that were changed:
lua/starfall/libraries/$libname
where$libname
is the name of the library.library.json
This JSON file defines the library, it can have the following keys:name
This is the name of the library, defaults to the name of the directory that it was loaded fromdescription
This is the description of the library, defaults to""
dependencies
This is a table of other libraries that this library depends on.version
This will hopefully be used for documentation generation, if our version of doc differs from the server then we will be able to get the correct version. Can be any unique identifier.client.lua
server.lua
shared.lua
permissions.json
This JSON file will define all permission nodes of the library.permissions.lua
This file requires a permissions.json file to be defined.player, node, ...
player
being the player that the query is fornode
being the full name of the node i.e.entities.setColor
...
being any additional arguments that are passed to `SF.Permissions.check.permissions.json
true
,false
, or"owner"
libA/libB/shared.lua
will only be loaded if libB is also loaded.client.lua
,server.lua
, orshared.lua
files are loaded from this directoryThis is all I can think of right now, I will for sure update this if I can think of anything else