uSkyBlock icon indicating copy to clipboard operation
uSkyBlock copied to clipboard

Feature Request: Customized Menus

Open voigtman opened this issue 9 years ago • 4 comments

This is a feature request: What I would like to see in this update are the ability to customize the island create create and island menus be replacing the default with custom input (see below for config example.) As you're aware from earlier discussions I use different islands and for me this includes eliminating the default (slot 0) island and all of it's language. - Its nice to have the features that uSkyBlock has built in, but it'd be a lot nicer to be able to choose if we want to use them all or not.

And perhaps the ability to change default biome.

island create menu
   # enable custom menu: true/false (default false) true will override default menu
    enable custom menu: true

       # default menu name: Island Create
        menu name: Island Selection Menu 

           # menu item name - Name this item
            menu item: Basic Island

           # menu item meta - Say something more use /n to add another line (may include color and format codes)
            menu item: This is a basic/nisland. Nothing/ntoo special about/nthis island!

            # menu item type - menu type (choices IsCreate, Party, Help) - [this helps us determine what default command to issue if custom commands are disabled]
            menu itemtype: isCreate

           # menu item slot - the slot in the GUI this item will appear (provide link to gui layout and number)
            menu item slot: 0

            # optional, default true (true enabled in GUI, false disabled in GUI)
            enable item: true

           # menu item material - this is the item to display in the GUI (see list of bukkit materails)
            menu item material: COBBLESTONE

           # player commands: true/false - if true, custom commands will be executed in game (player executed, not console) instead of default commands. if false, then use default 
            player commands: true
                commands: 
                     # custom command executes to choose the basic.yml, adjust chest, change available kits
                     - basicChoice
                     # fireworks launch over spawn
                     - celebrate 
                     # broadcasts player's chosen a new island - Maybe someone will join them?
                     - shout Ready or not, here I come!
                     # creates basic island and teleports them home
                     - is create

            # optional extra's that can be given per island
             extraItems: ''
             maxPartySize: 4
             animals: 48
             monsters: 50
             villagers: 16
             golems: 5

 Island  menu
    # enable custom menu: true/false (default false) true will override default menu
    enable custom menu: true

        # default menu name: Island Menu
        menu name:uSkyBlock Island Menu

            # menu item name - Name this item
            menu item: HOME

                # menu item meta - Say something more use /n to add another line (may include color and format codes)
                menu item: Back to your Island's/nhome point.

                # menu item type - menu type (command, menu, restart) - [this helps us determine what default command to issue] (command: custom commands) (menu: party/biome/log/challenges) (restart: opens the is restart confirmation menu)
                menu item type: command

                # menu item slot - the slot in the GUI this item will appear (provide link to gui layout and number)
                menu item slot: 0

                # optional, default true (true enabled in GUI, false disabled in GUI)
                enable item: true

                # menu item material - this is the item to display in the GUI (see list of bukkit materails)
                menu item material: OAK_DOOR

                # customs: true/false add commands to be executed
                commands: 
                    - is home
                    - islandtalk I'm home

        # menu item name - Name this item
        menu item: CHALLENGES

            # menu item meta - Say something more use /n to add another line (may include color and format codes)
            menu item: Complete the /nchallenges. 

                # menu item type - menu type (command, menu, restart) - [this helps us determine what default command to issue] (command: custom commands) (menu: party/biome/log/challenges) (restart: opens the is restart confirmation menu)
                menu item type: menu challenges

                # menu item slot - the slot in the GUI this item will appear (provide link to gui layout and number)
                menu item slot: 1

                # optional, default true (true enabled in GUI, false disabled in GUI)
                enable item: true

                # menu item material - this is the item to display in the GUI (see list of bukkit materails)
                menu item material: CHEST

                # customs: true/false add commands to be executed
                commands: ' '

        # menu item name - Name this item
        menu item: PARTY

            # menu item meta - Say something more use /n to add another line (may include color and format codes)
            menu item: Island Party

                # menu item type - menu type (command, menu, restart) - [this helps us determine what default command to issue] (command: custom commands) (menu: party/biome/log/challenges) (restart: opens the is restart confirmation menu)
                 menu item type: menu party

                # menu item slot - the slot in the GUI this item will appear (provide link to gui layout and number)
                menu item slot: 2

                # optional, default true (true enabled in GUI, false disabled in GUI)
                enable item: true

                # menu item material - this is the item to display in the GUI (see list of bukkit materails) [OWNERHEAD, shows island owner's head]
                menu item material: OWNERHEAD

                # customs: true/false add commands to be executed
                commands: ' '

        # menu item name - Name this item
        menu item: HELP

            # menu item meta - Say something more use /n to add another line (may include color and format codes)
            menu item: Click for general help. 

                # menu item type - menu type (command, menu, restart) - [this helps us determine what default command to issue] (command: custom commands) (menu: party/biome/log/challenges) (restart: opens the is restart confirmation menu)
                menu item type: command

                # menu item slot - the slot in the GUI this item will appear (provide link to gui layout and number)
                menu item slot: 8

                # optional, default true (true enabled in GUI, false disabled in GUI)
                enable item: true

                #menu item material - this is the item to display in the GUI (see list of bukkit materails)
                menu item material: NETHERSTAR

                #customs: true/false add commands to be executed
                commands:
                    - help

Biomes:
    #select a default biome
    # default: OCEAN (Biomes are: FOREST, OCEAN, DEEP_OCEAN, DESERT, END, HELL, SWAMPLAND, TAIGA)
    default biome: FOREST

voigtman avatar Aug 09 '16 05:08 voigtman

Hi.

You can change the default biome already, take a look here: https://github.com/rlf/uSkyBlock/blob/master/uSkyBlock-Core/src/main/resources/config.yml#L18

We've considered (and even tried) customizing the menus earlier, but unfortunately, it hasn't been very successful. The reason for this is, that most of our menu-items (at least some) incorporate too much logic. Most of the items will indicate some state (which could be provided using placeholders, I know), and some depend on state (like icon/menu-item changing depending on locked-state of the island).

Additionally, we currently use GNU Gettext for translations, which is far superior to any other system out there, but moving all those texts into a config-file, will severely impact the "translatability" of the plugin.

You are - however - not the first one to request more customization-options reg. menus, so perhaps this is the time to take a second look.

rlf avatar Aug 09 '16 06:08 rlf

Thank you. Perhaps, it could be a secondary plugin that interfaces via the api?

voigtman avatar Aug 09 '16 08:08 voigtman

No - we've put a lot of effort into making uSkyBlock a simple to install and use experience.

But, we've also focused a lot of making as much configurable as possible.

I think we will introduce a "gui-disable" feature, that simply stops all the GUIs from showing - that way, you can configure what you want using the chest-commands-GUI or similar.

Perhaps allowing for some alias overrides, so the GUIs can be shown if specified (i.e. /is will show the cmd-line help, where as /is gui will show the GUI).

rlf avatar Aug 09 '16 09:08 rlf

This could work...

voigtman avatar Aug 09 '16 16:08 voigtman