3.15.1
- Update UniItem
- Mainly to fix the issue with recent updates of CraftEngine
- It also updated the hook for other item plugins, to make sure they work on their latest updates
- Fix an incorrect mapping in the Worth config
3.15.0
This is a fairly large update. Make sure to test before uploading to production server
Rework the Block Mining logic to use Drop Item Event
Unlike the old way that used Block Break & Item Spawn Event, Drop Item Event is a better way to catch the dropped items
from broken blocks since the server provides them as part of the event.
That also means any plugin that cancels the event to do their own logic by manually dropping their own items would not
be supported by the plugin. I don't intend to add support for any of them since the plugin is focused on Vanilla.
Add more placeholders that can be used to make external menus
%exstorage_items% lists all the items in the storage.
%exstorage_items_material% lists all the items in the storage in alphabetic order of the item material.
%exstorage_items_name% lists all the items in the storage in alphabetic order of the item name.
%exstorage_items_quantity% lists all the items in the storage in highest-first order of the item quantity.
%exstorage_item_quantity_<key>% shows the quantity of the item in the storage, similar to %exstorage_quantity_<key>%.
%exstorage_item_material_<key>% shows the material of the item.
%exstorage_item_name_<key>% shows the name of the item.
%exstorage_item_lore_<key>% shows the lore of the item.
Remove BlockedMining option
If the storage is full while mining blocks, the plugin will not block the mining. Instead, it will drop the items as
how Vanilla does.
Add deposit command
This command allows the player to deposit a specific item to the storage.
Add filter command with specified item
If an item is specified in the command, the filter for that item will be toggled.
Allow Console to use Admin Commands
Make some internal changes in the codebase
3.14.2
- Make sure the Sorting works even if something is wrong in the config
- Limit the click sound to only inside the menu
3.14.1
- Fix a case with empty name in commands
3.14.0
- Reduce overhead for GUI by reusing the created inventories
- Fix outdated files on reloading
- Add suggestions for commands related to materials and custom items
3.13.0
- eb8febd - release
- 8a786a6 - colorize title in GUI
- 2f49be4 - correct title for menus
- 5898156 - Bump io.github.projectunified:craftcommand-bom from 0.9.0 to 0.9.1 (#40)
- c96e954 - add default worth.yml
- 3e2ef58 - update craftitem
- 9978a47 - update craftconfig
- a4bea56 - update craftconfig
- 15f0540 - changes to correct the config
- ba0bd15 - begin migrating to craftconfig
- 0ed0b93 - Bump net.milkbowl.vault:VaultUnlockedAPI from 2.19 to 2.20 (#32)
- c1ff172 - Bump org.black_ixx:playerpoints from 3.3.3 to 3.3.5 (#34)
- 9e468c6 - Bump me.clip:placeholderapi from 2.12.2 to 2.12.3 (#39)
- 37b4260 - Bump actions/checkout from 6 to 7 (#33)
- 08e0b34 - Bump com.github.Gypopo:EconomyShopGUI-API from 1.10.0 to 1.10.1 (#35)
- 0d351bf - Bump craftitem.version from 1.6.0 to 1.6.2 (#37)
- 7373dff - Bump com.bgsoftware:WildStackerAPI from 2026.1 to 2026.2 (#38)
- db1dd5f - Bump io.github.projectunified:faststats-bom from 0.3.1 to 0.5.0 (#31)
- b87be1a - Bump dev.rosewood:rosestacker from 1.5.39 to 1.5.41 (#30)
- 9bd1184 - update craftcommand
- 44abce5 - exclude metadata files
- c9f2b51 - code refactoring to remove duplicated lines
- 341d2b9 - migrate the commands to craftcommand
- 5c166c2 - update core and use SoundAction
3.12.1
- b32eb02 - release
- 4214706 - clean up imports
- fda1952 - use FastStats SDK that supports Java 8
- 78c4ae1 - Bump com.github.Gypopo:EconomyShopGUI-API from 1.9.0 to 1.10.0 (#26)
- 320c37f - Bump softprops/action-gh-release from 2 to 3 (#25)
- c258129 - push a release on Github
3.12.0
- cf8286d - release
- 92c2bcf - correct the value of the default action
- 6d489cb - update core and variable usage
- 6bb15d5 - rename Polymart to voxel.shop
- a2200ee - add publish action
- 3230c21 - Bump net.milkbowl.vault:VaultUnlockedAPI from 2.16 to 2.19 (#24)
- 95d4aff - exclude some unnecessary dependencies of faststats
- 9bec4e4 - extend VaultHook for VaultUnlocked
- 9ed4c7f - use VaultUnlocked dependency
- f22f57d - add faststats for testing and remove unnecessary extra metrics
- e5f54f8 - clean up imports
- 9f6dd07 - add custom commands to DecorateItems
- 2cab9c9 - make CompatItemUtil and add ItemModel settings
- 5b911ba - Bump craftux.version from 1.6.2 to 1.6.3 (#19)
- a22eddd - Bump org.black_ixx:playerpoints from 3.2.6 to 3.3.3 (#23)
- 8818d50 - Bump com.bgsoftware:WildStackerAPI from 2025.2 to 2026.1 (#22)
- fcff988 - Bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.1 to 3.15.0 (#21)
- d3f6892 - Bump me.clip:placeholderapi from 2.11.5 to 2.12.2 (#20)
- f53a6ce - Bump com.github.Gypopo:EconomyShopGUI-API from 1.7.0 to 1.9.0 (#18)
- bbd34c0 - Bump org.apache.maven.plugins:maven-shade-plugin from 3.6.1 to 3.6.2 (#17)
- f521b01 - Bump craftitem.version from 1.4.1 to 1.5.0 (#16)
- 949921f - Bump actions/setup-java from 4 to 5 (#15)
- 01556b7 - Bump actions/checkout from 4 to 6 (#14)
- c25d17d - Configure Dependabot for Maven and GitHub Actions
- af909d7 - add Maven Central repository to project configuration
- 873e401 - Update Maven workflow to use JDK 25
Update for Eco items
- Update UniItem to fix an issue with eco plugins
- Make some non-breaking changes
New GUI system
- Migrate the GUI to CraftUX
This is my GUI library that contains some common GUI logic and performance improvements. It eliminates the manual guess-work of finding where in the old GUI code to add features.
The new library allows me to finally wrap all the common code and focus on the specific details of each interfaces, making it more intuitive to add new features like Custom Commands in Decorate Items (available in the next update).
Although I tested it in my test server, this is considered as a breaking change. Make sure to test it before updating on your production server.
Normalize the Item Type with Status
- Normalize the type of Custom Items
This small function is added to make sure you can specify the item with both its main type and aliases (Like ItemsAdder with its "IA" alias). This is important for cases where you use the built-in sell feature. - Add placeholder for the status of the storage
%exstorage_status% will show the current status of the storage.
Fix for Empty Skull Texture
- Fix a rare issue when the Storage GUI is bugged for any player that doesn't have a texture value for any reason
Optimize Item System
- Load items lazily
This update also updated UniItem to use its new Item Wrapper. The items will now only be loaded when it's necessary. - Load database on plugin enabling
Since the items are now loaded lazily, the database doesn't have to be checked against the items for validation, so it can be loaded directly on server start, which ensures data integrity. This also removed the login check that would kick the player when the database is not fully loaded. - Put some cache to Item Fetcher
Typical Fixes
- Replace the old Item Builder to CraftItem
This replaces the internal method to construct items in GUI to use one from CraftItem. Nothing was changed in the config. - Add missing checks for invalid items in Filter and Sell GUI
- Add a check to turn off the pickup feature if WildStacker is detected
The behavior of WildStacker is confusing, and there is no known way to handle stacked items when players pick them up, causing the items to be duped in the storage. Therefore, the pickup feature will now be disabled if WildStacker is detected.
Fix on NaN spaces
- Properly assign Max Space for new players
The update should now cause the plugin to assign Max Space when new players join the server.
The plugin should now ignore any invalid users from the database, meaning if a user had 0 space and 0 items in their storage, their record in the database would be reset.
As always, make a backup before updating the plugin. I may not have covered all use cases so make sure to report issues if you have.
Option to Limit
- Add an option in the config called LimitWhitelist
This option allows servers to limit the allowed items in the storage to be only in the Whitelist, meaning any item that is not in the Whitelist would not be allowed. - Expand the Blacklist check to the Item and Pickup Listener
The Blacklist check is now applied to more scenarios like picking up an item, adding item to the storage and mining a block. This allows servers to better manage items to player storage.
Check for null items
- Add some checks to avoid errors with null items
This should, in theory, solve all exceptions with invalid items in the storage. However, if your custom item is somehow flagged as invalid, enable Debug in the config and check for the lines in the server logs. You can also provide your server logs with the debug lines in the Discord server if you don't know where to check.
Small fix for MySQL
- Update Topper to fix an issue with data types when creating MySQL tables for the first time