6.0.0

GTS

NickImpact released this version on Dec 6, 2020

559.8 KB
Download

This is an API breaking release. Functionality of the plugin has been altered significantly!

GTS Version: 6.0.0
Compatible with Sponge API 7.3.0

This was built from GTS commit: 6a13077

Release Notes

If you’re having trouble, visit the GTS Support Discord: https://discord.gg/F93ZyuB


Before Upgrading to GTS 6 from GTS 5.x.x

Please take a backup of your GTS database and configuration prior to upgrading.

GTS 6 will automatically update your database upon first user access, but your configuration will be unchanged. With GTS 6, both language and general configuration files have been updated to a new format. As such, these files should be reset, so the plugin can generate the new versions.

Backups should be preserved not only as a reference, but also a fallback should something go wrong!

Dependency Updates

With 6.0.0, dependencies have also been updated based around what the plugin actually uses. Below are a list of the changes to the GTS dependency list:

New

  • Sponge API 7.3
  • Impactor 3.x.x
  • ProtocolControl 0.0.2 or above
    • This is rather depended on by Impactor, but GTS makes use of its provided features for some of its UI components

No longer dependent on

  • Nucleus - This means you can use version 1, 2, or even 3 (API 8) and GTS will no longer run into conflict with a different API version

Additions

  • Added the ability to place an item for auction
  • Cross-Server functionality
    • Allows for connection via the following methods:
      • BungeeCord/Waterfall/Velocity via plugin messaging
      • Redis Server
      • More options to be added as seen fit
    • See the network configuration wiki instructions for help setting this up
  • User stash
    • The stash now holds all expired/claimable items that involve the player in question
  • Player Specific Settings
    • Upgrading from the basic concept of ignoring broadcasts, users can now toggle the following:
      • Publishing of new listings/auctions on the GTS
      • Purchases made by a player for your listing
      • Bids made by a player for your auction
      • Being outbid on an auction
  • An arguably even friendlier user interface

Changes

  • Other than /gts and “/gts admin”, all other commands have been removed
    • This particularly means goodbye /gts sell
    • These have been replaced in favor of an easier to use UI
  • Plugin Extensions are no longer, well, plugins
    • Extensions to GTS are now installed via the configuration directory, inside the generated extensions directory.
    • This is primarily for you Pixelmon users, GTS Extensions for Reforged and Generations will no longer live in mods, but rather this new location.
  • Listings that expire no longer return automatically
    • This was done primarily for two reasons:
      1. The plugin doesn’t actively maintain listings in memory anymore
      2. It’s now easier to ensure a player is receiving a particular item
  • We no longer employ adapters to serialize and deserialize listings, but rather controlled JSON interpreters (safer)

Fixes

  • Ignoring publications no longer locks you into that state
  • Hopefully fixed an issue where items can sometimes be lost from the data save, causing the plugin to no longer allow accessing the UI

Permissions

Permissions have also changed with this release. Below are the new permissions for the plugin:

  • gts.base - Used for access to /gts
  • gts.admin.base - Allows access to admin related functions
  • gts.admin.info - Allows a user to create an info document representing configuration of the server
  • gts.admin.ping - Allows a user to test the connection to the messaging service, as well as see the speed of the response

Developers

6.0.0 has seen to it that the majority of the API has been rewritten. You can now access the API via GTSService.getInstance()

Alongside the API updates, we have also switched to Impactor 3.x.x. This permits a new event bus system, as well as some additional nice components.

New Events:

  • BidEvent
  • PurchaseListingEvent
  • ExtensionLoadEvent
  • PlaceholderRegistryEvent
  • PingEvent
  • PublishListingEvent

See the Developer API Wiki Page for further information!

Coming in 6.1.0

Due to time constraints on release schedule, the following changes are to be expected in 6.1.0:

  • Admin features
  • Apparently this is all I have planned at the present moment, give me ideas!

Dependencies