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
@esben2000 You can't add GUIs without a client mod.
Working perfectly now yayyyyy!
I'm also glad i don't have to /rgc between menus.
It wasn't a big issue but i could foresee it being a problem when i had multiple users switching pages.
Look out for a cool new shared GUI in a few days :)
@coldandtired
Oh thanks so much man,
I hadn't had the time to look into it yet, so you've probably saved me hours of messing around trying to figure that out for myself!
So glad there is actually a bug somewhere... cause i hate when it's my own stupidity causing errors :)
@Kiak I've confirmed that this is a bug with bPermissions v2.9.25 and added a ticket there.
It works as expected with v2.9.24 and below.
@irongaze You're free to use the code that generates the GUIs in a mod - the link is https://github.com/coldandtired/GUI-Creator
You're on your own though as I have absolutely no idea where to hook this into the Minecraft files directly :)
@Kiak Sorry, was too tired to have a look after your reply last night. I haven't forgotten though so I'll be setting it up over the weekend.
I know I haven't changed any of that code for months so it's either a bug with Spigot/bPermissions or something has changed and I'm still doing it the old way.
Hi,
first great job.
can i create a gui without spout. I know is a requirement but can i take a part of the file in the plugin to mod the client because i use mod than are not working with spoutcraft.
@coldandtired
I'm adding them using bpermissions commands directly to the console
In my video when it says "permission node is = true" that's not just a pre written message. its a script that is actually checking the permission each time
I'l do some tests now that im back on things like. - adding the permission via a group change or at the yml file
the thing that confuses me is that I had this exact set up working on a 1.3.2 bukkit server build and I'm not doing anything different in 1.4.5 :(
sorry for such a niggly problem bro.
If you need to you can log in to my server sometime and we can work through it step by step
Or since i have no issue with sharing my stuff i can literally drag and drop you every config i'm using for my server and that video test.
@Kiak I'll have a look at this tonight with that setup.
How are you adding the permission? Directly editing the file, adding via command to a user, or moving the user to a group?
@coldandtired Sorry mate, i really hate that i am "this guy" but i'm sad to report the problem is still occuring for me.
I've made you a video showing it step by step
in addition my relevent plugin versions are currently
@coldandtired
@Kiak Still waiting for approval.
You can always find the latest version here if you're trusting :)
@coldandtired
have i just been unlucky and we're still waiting for the bukkit approval? or am i waiting for the download link in the wrong place ?
@coldandtired YAY fkn awesomely fast response mate
I love you
FULL HOMO
1.4.5 b1 is up
Updated both Bukkit and SpoutPlugin to 1.4.5 dev versions.
Added a new property - hide_permission. This does exactly the same as show_permission but hides the screen/control if the player has the permission.
hide_permission takes priority over show_permission if you accidentally use both on one control.
@Kiak Okay, done. I couldn't replicate that bug with everything updated so hopefully it was just an incompatibility with the versions.
I tested it with bPermissions and it wasn't necessary to reload the permissions or the screen files. The next time the GUI was opened it checked the permissions again and hid/showed correctly.
@coldandtired
Can you do a minor update on this brother?
It already works without logged errors in the 1.4.5 Spout dev but i notice the the following problem.
GUI creator doesn't (seem to) notice changes to a user or groups permissions unless a full server reboot is performed.
Example case: menu 1 has show_permission "some.node" it can be seen by players/groups with "some.node" but if i remove the permission and then reload bPermissions and "/rgc" GUI creator it still shows the menu (which should now be hidden) Only when i reload my server will it register the permission changes and properly hide the menu
This small (i hope) fix is all you need to bang a 1.4.5 label on it and PROFIT
I can also confirm for you that using 1.3.2 bukkit/spout/vault didn't have this problem because im using/reviving my old menu setups
PS. it's really late here and i've spent an hour or 2 on this already. Tommorrow il do more extensive testing and provide all my relevent version info
now that spout (craft and plugin) devs for 1.4 are out just dropped by to say...
LOVE YOU GUYS this plugin has always been huge to me.
There is a file in the screens folder.
I have permission, gave it to myself
Was Using Spoutcraft (had to remove conflicting key bindings)
I will try everything again though, and edit this if it fixed the problem.
EDIT: It loads now but when I open it or I do "/os" it kicks me for
Internal exception: java.io.IOException: bad packet id (then a number different everytime)
and sometimes:
Internal exception: java.util.zip.ZipException: Not in GZIP format