Skip to content
This repository has been archived by the owner on Sep 19, 2023. It is now read-only.

Conditions, new API, new name and more

Compare
Choose a tag to compare
@DaniFoldi DaniFoldi released this 20 Jan 17:10
· 42 commits to main since this release

Yes, that's right! The plugin has a new name, because it now has (experimental) support for Velocity 🎉
Please report any bugs, I haven't had the time to test everything twice, so there probably will be

Changes

Placeholders

  • Placeholder system is no longer considered to be beta
  • Removed %canaccess@% and %restricted@% placeholders
  • Replaced %bungegui% with %protogui%
  • See more at conditions
  • (vanished placeholders are unsupported on Velocity due to lack of support by PremiumVanish)

Commands

  • Use github.com/hgex/grapefruit as command framework
  • Added /pgui and /protogui aliases - please migrate as /bgui and /bungeegui will be moved to legacy see more at legacy
  • Added /pgui sudo and /pgui subtitle commands
  • /pgui title no longer requires a mode parameter

Conditions

  • Added a shownIf and clickableIf condition check to all items
    • Empty strings are considered to be true as default
    • Integers are true if nonzero
    • The strings yes online (case-insensitive) are considered true, false otherwise
    • perm:<permission> and noperm:<permission> perform checks on the target
    • <a>:<mode>:<b> conditions perform a comparison, supported modes are lt, le, eq, ne, ge, gt
    • eq and ne support integers and strings, the rest only integers

Configuration

  • Automatic upgrade should still be performed, however
  • The new system uses more than a single file, so the plugin folder is archived before upgrading
  • Added new message keys due to new command framework - some more cleanup will be performed later

Platform support

  • Now supporting Velocity as well as BungeeCord
  • This means that the API has a PlatformInteraction part which is only for internal usage, and while it will probably not, it can change between releases, and as such is not a supported usage in any way.

Name change (and what is that legacy thing)

  • Plugin name on bungee is now ProtoGUI
  • API class is now com.danifoldi.protogui.main.ProtoGuiAPI
  • However the old system is still present and should be compatible if you place an empty file called legacy in the plugin folder (only on BungeeCord)
  • Please migrate to the new system, as the next release will no longer contain these classes

Actions

  • Still in beta, they should allow you to create interactable items in users' hotbars on some servers
  • Support and documentation will be added in another release

General

  • Updated dependencies
  • Now compiled against Velocity 1.18, and properly compatible with BungeeCord
  • Most of the internals now use UUID everywhere for platform independence
  • Update notifier now only notifies for newer updates
  • Added 1.18 and 1.18.1 to known versions
  • Examples now contain a template & 4 GUIs to showcase some features

I hope you enjoy this update, it took many hours of work. As always, if you find any bugs, would like new features (condition types, placeholders, or anything else) to be added, please open an issue.