GUI Creator
Anyone who has been active on the main forums in the last few days must surely have already heard the news.
I'm not going to comment on why and how, but the short version is that Bukkit is almost certainly not getting passed this.
Consequently, the future of BukkitDev is very uncertain. Even if the legal matters were resolved tomorrow there isn't really anybody left to deal with file submissions anyway. There's no indication about how long the site will stay up and what will happen to the files.
Anyway, while I will continue updating and developing my plugins you will need to look for updates somewhere else, namely the wiki. I will be updating this wiki in the next few days to facilitate better communication (forums, email, etc.) and adding any documentation that's missing.
I will also, of course, be looking into porting the plugins over to whichever API emerges from the ashes!

GUI Creator
This is the successor to Admin GUI, featuring a simpler config but offering more powerful customisation!
How it works
Each screen is divided into ten rows, each having four columns (by default). Controls can be placed into any of these cells, and can span multiple rows and columns. It's also possible to set the exact x, y, width, and height values if needed. See the tutorial for more information.
Video overview
Tutorial
Available controls
- buttons
- text boxes
- checkboxes
- radio buttons
- textures (for images)
- sliders
- gradients
- labels
- spacers
- link buttons
Requirements
- SpoutPlugin
- Spoutcraft
Both of these can be downloaded here
Config
- open_screen
- set this to the id of a screen to have that screen automatically open when the GUI does
- make_player_skins
- set this to no to stop the plugin creating skins when players join the server
The rest of the config is used to change the default colours of things. Each value must be a string in the format r,g,b or r,g,b,a. Note that you can override these colours on any particular control.
Commands
- /reload_gui_creator or /rgc
- this will refresh the layout files if they have been changed since the plugin was started. The new screens will be visible the next time the GUI is opened
- /open_screen or /os
- this is an alternative to pressing the C key
- use on its own to open the GUI like normal
- use with a screen id to open the GUI directly to that screen
Permissions
- gui_creator.can_open_gui - controls whether the user can access the GUI. Default is false.
- gui_creator.can_reload_screens - controls whether the user can reload the screen files. Default is false.
Mac users
I've been informed that Macs have a very unfriendly behaviour of treating remote folders like local folders and creating hidden files on them. This has been causing the problems that I've seen come up a few times where the plugin is trying to read this hidden file.
I've fixed this from 1.6.7 but it you don't want to update, or you're seeing problems with other plugins, there are a couple of things you can do. One is to delete the file .DS_Store from any remote folders that are giving you trouble. Second is to follow the instructions here and stop the behaviour altogether.
Issues
- there are a couple of controls that are hard-coded in Spout so resizing them won't work as intended (mainly check_box and radio_button)
- this plugin is intended to be run full-screen, with GUI scale set to auto (see the previous point)
Like this and want to show appreciation? Send any unwanted TF2 items my way! id: coldandtired
-
View User Profile
-
Send Message
Posted Jun 3, 2012I dont know why, but for some reason the "screen" I made doesnt show up when I /open_screen or press G. It just goes into the "menu" screen. It has the /rgs or whatever in the bottom left and the X in the bottom right.
If I only put the example in the screens folder, it will show up in the GUI.
But then, if I use the exact same formatting in another file, it won't show up.
I even tried to just add onto the example so i knew that i was doing the first part right, and then it did'nt work after that.
I have no idea what is wrong :(
Here is myfile:
screens: - text: User num_columns: 4 controls: - type: button row: 1 col: 1 text: Online Players command: /list - type: button row: 2 col: 1 text: Server Spawn command: /spawn - type: button row: 3 col: 1 text: Home Sweet Home command: /home - type: button row: 4 col: 1 text Send Message command: /msg ^player_name^ ^message^ - type: combo_box row: 4 col: 2 text: Player info: This is the player &&the message is sent to. name: player_name mode: online_players - type: text_box row:: 4 col:3 row_span: 2 text: Message info: This is the message &&sent to "player". name: message - type: button row: 5 col: 1 text: Send Message command: /mail ^player_name_2^ ^mail^ - type: text_box row:: 5 col:2 text: Player info: This is the player &&the mail is sent to. name: mail - type: text_box row:: 5 col:3 row_span: 2 text: Mail info: This is the message &&sent to "player". name: mail
EDIT- wow -_- apparently the formatting doesnt stay the way it should. :/
-
View User Profile
-
Send Message
Posted May 31, 2012Hey guys, Love this plugin and have made myself a few basic menus
Since i put a bit of time and effort in to them, i'd like to share that effort with yall
So feel free to pick thru my config files and copy/pasta bits and ideas
Happy Minecrafting
Link Removed: http://www.mediafire.com/download.php?h7iuksc0rs3qxh9
included are some configs for other plugins that i use in conjunction so feel free to use or discard at your choice.
-
View User Profile
-
Send Message
Posted May 22, 2012@Styles8 The moderator needs to have one permission - you can name this whatever you like as long as it's the same in the permissions config.
The admin needs the moderator permission and another admin permission.
Then the screen(s) need to have the relevant permissions added to the config.
For example the mod gets the permission server.mod given to him/her, and the admin gets server.mod and server.admin.
Then the screen for mods and admins gets show_permission: server.mod, and the screen for only admins gets show_permission: server.admin.
-
View User Profile
-
Send Message
Posted May 22, 2012@maniacmusic You currently can't open links from a plugin, as the code gets run on the server. When Spout is ready it will probably be possible though.
-
View User Profile
-
Send Message
Posted May 22, 2012I had a question, lets say i have a moderator then a admin. How can i get the moderator to see the moderation screen, but he can't see the management tab? however the admin can see both. I tend to get confused with permissions sometimes XD
-
View User Profile
-
Send Message
Posted May 18, 2012It's amazing what you can do with it. I love it. I have some suggestion: Being able to pull data from a mysql db and have a table controller. More important: Buttons that open links in the web browser.
-
View User Profile
-
Send Message
Posted May 7, 2012So i have this problem where every now and then Command buttons will not work. I have to reload the config and they work again. its kinda weird and i don't know whats creating it.
-
View User Profile
-
Send Message
Posted May 3, 2012Hi! No absolutely nothing happens. No error (nor in the game or in the log) I have run only your plugin and spoutplugin to exclude any incompatibility with other plugins. I'll try it on another computer this afternoon.
Thanks :)
EDIT : I try on another PC and it doesn't work. However the plugin is launched : when I haven't permission and I try to open the gui I have a "non-permission" notification. But as soon as I have that permission and I try to open the gui, nothing happens.
-
View User Profile
-
Send Message
Posted May 3, 2012@GoldenX Any errors in the log, either at startup or when you press the button?
-
View User Profile
-
Send Message
Posted May 2, 2012I tried with the two files available on your "User-created GUIs" page and the example.yml file contained in the plugin.
-
View User Profile
-
Send Message
Posted May 2, 2012@GoldenXPaste your screen file(s) somewhere so I can look at them.
-
View User Profile
-
Send Message
Posted May 2, 2012Hi! Nothing appears when I type the /os command or the G key. I have both permissions. I'm running spoutcraft #1456 and spoutplugin #1110
thank you
-
View User Profile
-
Send Message
Posted May 1, 2012@coldandtired
Ok, thanks for the Quick answer!
-
View User Profile
-
Send Message
Posted May 1, 2012@Haku_D You can never use tabs in any YAML file, everything must be spaces.
-
View User Profile
-
Send Message
Posted May 1, 2012Can you use tabs in the config/screens/other GUI creator files?
-
View User Profile
-
Send Message
Posted May 1, 2012@coldandtired
thx! :D
-
View User Profile
-
Send Message
Posted May 1, 2012@Haku_D Sorry, the parser's not too good here and doesn't like comments and things in the code. I've updated it now.
-
View User Profile
-
Send Message
Posted May 1, 2012@coldandtired
eh... what's the difference?
-
View User Profile
-
Send Message
Posted May 1, 2012@Haku_D Your indentation is off.
It should look like this:
-
View User Profile
-
Send Message
Posted May 1, 2012when i open the GUI no GUIs shows up, and when i click the reload button this error shows up:
2012-05-01 17:45:36 [WARNING] Failed to handle packet: mapping values are not allowed here in "<reader>", line 21, column 9: row: 1 ^
mapping values are not allowed here in "<reader>", line 21, column 9: row: 1 ^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:733) at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:305) at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:179) at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:563) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeSequenceNode(Composer.java:204) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:158) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeSequenceNode(Composer.java:204) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:158) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:123) at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106) at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121) at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) at org.yaml.snakeyaml.Yaml.load(Yaml.java:411) at me.coldandtired.GUI_Creator.Main.get_screens(Main.java:230) at me.coldandtired.GUI_Creator.GUI_reloadbutton.onButtonClick(GUI_reloadbutton.java:21) at org.getspout.spoutapi.packet.PacketControlAction.run(PacketControlAction.java:108) at org.getspout.spout.packet.CustomPacket.handle(CustomPacket.java:138) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:169) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:551) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
sorry for using so much space with my comment :P
EDIT: here's the screens i'm using: (they are in separate files)