[50% OFF FOR A LIMITED TIME]CGUI - Custom GUIs 1.1.6

A plugin providing easy custom GUIs that can run commands.
Supported software
Supported versions
Tags
Tags
cgui chest chest gui chestgui custom gui json
CGUI
CGUI is a plugin created to make Custom Chest GUIs easier to create. This plugin allows you to create any Chest GUI you want, with any size and any items that allow for any commands. For example, you can create a server selector with 5 rows, that has a diamond in the middle. Upon the user clicking the diamond, they are teleported to a server. This can be accomplished by adding a few lines of JSON to the plugin's config file (located in config/Menus.json).

Usage
First, setup a gui to be used. For this, I will use the default gui 'test'. Run '/cgui test'. It's that easy. The GUI will open up for you or whoever ran it. If you add a new Menu and don't want to reload your whole server, run '/cguir'. It will reload the plugin and add any new Menus (and remove removed ones).

Important Info

  • If you want to send a player to a server, you have to use '/cguim send <player> <server>' instead of '/send <player> <server>'.

Permissions
  • cgui.* - Every command & GUI
  • cgui.cmd - Access to the /cgui command.
  • cgui.cmd.* - Access to every GUI.
  • cgui.cmd.<gui> - Access to a specific GUI.
  • cgui.reload - Access to the /cguir command.
  • cgui.misc - Access to the /cguim command.
  • cgui.force - Access to the /cguif command.

Commands
  • /cgui <gui> - Opens a gui for you
  • /cguir - Reloads the GUIs
  • /cguim <subcommand> [args] - Misc command for CGUI. Look at the below section for subcommands.
  • /cguif <player> <gui> - Forces a player to open a GUI regardless of Player's permission. Sender must have the GUI's permission.
Misc Subcommands:
  • /cguim help <subcommand> - Displays help for a subcommand.
  • /cguim send <player> <server> - FOR BUNGEECORD! Sends a player to a server.

Setting Up
First off, run your server with the plugin installed to generate the needed config. You'll see a new file in config called Test.json inside of config/CGUI/Menus. This file contains a basic menu that you can edit to create a new menu. If you know how to use JSON, Great! You can read on, but I'd recommend the generator supplied in the zip. It has all the information you need to make a gui. The file has a JSON object. This objects have the fields:

  • 'gui' (the gui's name)
  • 'name' (the text at the top left. This NEEDS to be unique)
  • 'length' (the number of slots)
  • fill (the default item in every slot, use 'air' for nothing)
  • items (the items for every slot)
Items is a JSON object of JSON objects, with each object having the key of the slot they are in. These objects have 3 attributes (2 depending on the 2nd one), which are:
  • item (what item it should be)
  • name (item's display name NOT SUPPORTED YET/RELEASE)
  • clickable (does this fire an event upon clicking (true/false)
  • command (what command should the player run. Adding ':' in front makes it a message instead of a command)
After you finish, save it and reload the plugin, then try '/cgui <gui>' (gui being what you set)

Using The Generator
This plugin comes with a generator. It's not pretty, but it makes creating GUIsa lot easier. All you have to do is input the values (look at the bottom for the key) and press Generate. Next, copy the outputted JSON and put it in a new file inside of config/CGUI/Menus/. Reload or restart your server, and you're good to go!


Developer
Are you a developer? The Plugin comes with all of the source code, so you can make a fork of it, or learn from it. While you technically are allowed to, I ask that you do not redistribute this plugin without significant modification.

To-Do

All the stuff I'm too lazy to do right now. These are ordered by top priority:
  • Give every menu one file (instead of only having one file) RELEASED
  • Json Generator for creating GUIs RELEASED
  • Allow messages instead of commands by adding ':' in front RELEASED
  • Allow commands to be ran by console with $player being replaced by the clicker's username RELEASED
  • Allow setting of item display names RELEASED
  • Add a reload command for the plugin RELEASED
  • Add GUI specific permissions RELEASED
  • Add a command to force open a GUI for a player RELEASED
  • Item binding
  • /cguim subcommand permission
Is there anything else you think should be added? Tell me about it and I may add it.

License
Copyright (c) 2019 PintsizedSix40

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

The Software shall be used for Good, not Evil.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Latest updates

  1. Per-GUI-Permissions and Forcing Players to Open GUIs (/cguif)

    Title
  2. Bungeecord Compatibility (/cguim command)

    I added a command ('/cguim') which is basically CGUIMisc. It has '/cgui help <subcommand>' which...
  3. Config Location

    The config location is now the ones plugins use, not mods.

Author

Pint

Owner
Author
Pint
Downloads
2
Type
Digital product
License duration
Unlimited
Price
2.00 USD
Views
320
First release
Last update
Rating
0.00 star(s) 0 ratings
Top
You need to upgrade!
Our dark style is reserved for our Premium members. Upgrade here.