Paste #66798: Untitled Paste

Date: 2020/04/01 17:44:17 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


cc_handler:
    type: command
    name: cc
    usage: cc [action]
    description: Opens the GUI to allocate the skill points
    permission: donor.use
    script:
        - case info:
            - narrate "<red>CowCore 1.0"
            - narrate "<green>This script was developed by Cowbiler"
            - narrate "<green>This script aims to replace permission plugins like pex, lp etc"
        - case config:
                - case permission:
                        - choose <context.args.get[2]>:
                            - case list_groups:
                                - foreach <server.list_permission_groups> as:server.groups:
                                    - narrate "<green><[server.groups]>"
                            - case user:
                                - define target <server.match_player[<context.args.get[3]>]||null>
                                - if <[target]> == null:
                                    - narrate "<red>Unknown player '<yellow><context.args.get[3]><red>'."
                                    - stop
                                - choose <context.args.get[4]>:
                                    - case list_groups:
                                        - define target <server.match_player[<context.args.get[3]>]||null>
                                        - if <[target]> == null:
                                            - narrate "<red>Unknown player '<yellow><context.args.get[3]><red>'."
                                            - stop
                                        - narrate "<green>The player is in <[target].groups.size> groups"
                                        - foreach <[target].groups> as:groups:
                                            - narrate "<green><[groups]>"
                                    - case add:
                                        - define target <server.match_player[<context.args.get[3]>]||null>
                                        - if <[target]> == null:
                                            - narrate "<red>Unknown player '<yellow><context.args.get[3]><red>'."
                                            - stop
                                        - permission add <[permission]> player:<[target].uuid>
                                        - narrate "<green><[permission]> added to <[target].name>"
                                    - case remove:
                                        - define target <server.match_player[<context.args.get[3]>]||null>
                                        - if <[target]> == null:
                                            - narrate "<red>Unknown player '<yellow><context.args.get[3]><red>'."
                                            - stop
                                        - permission remove <[permission]> player:<[target].uuid>
                                        - narrate "<red>Removed <[target].name>'s permission <[permission]>"
                                    - case set:
                                        - define target <server.match_player[<context.args.get[3]>]||null>
                                        - if <[target]> == null:
                                            - narrate "<red>Unknown player '<yellow><context.args.get[3]><red>'."
                                            - stop
                                        - permission set <[permission]> player:<[target].uuid>
                                        - narrate "<green>Set <[target].name>'s permission to <[permission]>"
                                    - case group:
                                        - choose <context.args.get[5]>:
                                            - case add:
                                                - define target <server.match_player[<context.args.get[3]>]||null>
                                                - if <[target]> == null:
                                                    - narrate "<red>Unknown player '<yellow><context.args.get[3]><red>'."
                                                    - stop
                                                - define group <context.args.get[6]>
                                                - foreach <server.list_permission_groups> as:server.groups:
                                                    - if <[group]> == <[server.groups]>:
                                                        - group add <[group]> player:<[target]>
                                                        - narrate "<green>Added <[target].name> to <[group]>"
                                            - case remove:
                                                - define target <server.match_player[<context.args.get[3]>]||null>
                                                - if <[target]> == null:
                                                    - narrate "<red>Unknown player '<yellow><context.args.get[3]><red>'."
                                                    - stop
                                                - define group <context.args.get[6]>
                                                - foreach <server.list_permission_groups> as:server.groups:
                                                    - if <[group]> == <[server.groups]>:
                                                        - group remove <[group]> player:<[target]>
                                                        - narrate "<red>Removed <[target].name> from <[group]>"
                                            - case set:
                                                - define target <server.match_player[<context.args.get[3]>]||null>
                                                - if <[target]> == null:
                                                    - narrate "<red>Unknown player '<yellow><context.args.get[3]><red>'."
                                                    - stop
                                                - define group <context.args.get[6]>
                                                - foreach <server.list_permission_groups> as:server.groups:
                                                    - if <[group]> == <[server.groups]>:
                                                        - group set <[group]> player:<[target]>
                                                        - narrate "<green>Set <[target].name> to <[group]>"
                                            - default:
                                                - narrate "<red>Please put a valid state add, remove, set"
                            - default:
                                - narrate "<red>Please put a valid permission module action"