fixed "/bz" no args
fixed category search
"/bz open" rework
1.21.3 support
main guis (root, fertile, infertile) layout configurable
option for update interval config (ticks, default 10)
gui layout pre configured options:
classic: basically hyp1xel-ish style
default: the default layout, allows for more root categories
fixed nested fertile category errors
removed some debugging
virtual categories (only useful with api implementation)
fixed marketspace creation in wrong dir
include egg for pterodactyl
creating categories in namespace if no categories exist
fixed some logging/file checking
make backup of everything
added missing alternate chat color translation on inv sell
all "plugins/Bazaar/*.yml" from remote now editable in game
added namespaces
delete "plugins/Bazaar/category-setting-<language>", "plugins/Bazaar/config*" on remote
new enquiry file/directory structure
new npc periodic handler properties
enquiry count for npc now per periodic handler
event batching
fixed lots of duplications/out of sync issues (only during very high load)
only storing enquiry id in memory, everything else loaded dynamically
drastically reduced memory usage (e.g. 10 million enquiries + boilerplate < 1GB)
improved/fixed enquiry loading through sequential file loading, instead of everything at once
improved dynamic file loading speed through custom impl
fixed npc creation if most significant byte of id is set causing error
sell inventory
fill inventory
nested placeholders (drop in replacement for papi)
all settings stored on socket server
npc (periodic actions, custom java impl through api)
language support (submit through dc, not all settings stable)
marketspace (which root cats to use while interacting)
category search now considers: cuid, name, file
fixed fertile category children list element setting reversed (default setting)
discord event messages back
fixed editing root category position
fixed unit price input
removed unused command usages
fixed loading removed legacy config values
improved memory usage by more than 3x
improved enquiry creation throughput
fixed creating too many enquiries too fast resulting in already existing enquiries being overwritten by new ones
new gui
new category system
high depth category nesting
linked categories
placeholderapi & socket server necessary
full placeholderapi support
improved enquiry loading by using more threads
per category locks instead of one lock for all
it is recommended to back up all data before upgrading
read for short data upgrade guide:
https://ancash.github.io/posts/bazaar-legacy-upgrade-guide/
-item search (only considers display name of sub sub show items)
-if a search result is clicked/manage enquiries & go back, you go back to your search
-some recode into more modular
"fixed" records and statistics crashing everything
instead of scientific notation, big numbers are written out
fixed rounding (again?)
some code clean up
dynamic data structure for categories instead of fixed arrays
combined duplicate code
fixed int & double statistics for categories where sub sub = 0
increased main gui size to 54
18->24 sub categories per category
9->28 sub sub categories per sub category (gui size scales with sub sub categories)
updated "/bz edit"
fixed uploading wrong build
increased inv size of manage enquiries gui so more fit
added discord srv support
fixed rounding of unused coins
fixed unfilled enquiries of main cat 5 not being registered properly after restart
fixed certain events not firing
added main category items (those 5 on the left) to category editor
enquiry id available in event
option to disable item appendix
removed hard coded "coins" from item appendix lore
added item_appendix.yml to edit gui
edit gui will not open unless in creative
NBTNexus 1.0.1
drastically reducing memory consumption by deleting unused files (for reference: 250k enquiries by uniqe players & boilerplate use <200MB, previously impossible)
in game editing of all config files
fixed rounding for managing enquiries item
multi threaded enquiry loading
appending bazaar stats (insta buy & sell price) to items in your inventory (packets, so they are fake & not really edited)
dropped support for <1.14
-changes in ICoreDAO (mainly methods for getting highest & lowest enquiry price)
-extra settings file for configuring lores from sub and sub sub category items (makes editing easier & faster)
-removed all lores from sub and sub sub category items in all category files
-placeholders such as %offers_price_lowest% now work in main gui as well
fixed bazaar open exclude/include on no categories included
fixed bazaar open with category modules disabled
when a sub category only has one sub sub category, clicking the sub category will directly open the sub sub category
when a sub category only has one sub sub category, clicking the back button in the sub sub category will open the main category
setting for rounding (how many decimal places)
max enquiries option
moved some settings in config.yml to their own section
IThread:
-thread context is now saved
-printed on exception for better tracing
hook system (currently only floodgate (bedrock player support), open for suggestions
RoyaleEconomy boosters coming as well)
code cleaning
refund system (single server only)
-activates when a "corrupted" enquiry is detected (filled, nothing claimable, but still appears in gui)
-refunds items, coins or nothing (configurable)
fixed error on collecting claimables of not fully filled enquiry
print utc offset in seconds
option to switch between anvil & chat input
some new settings for anvil & chat input (invalid, title, initial message,...)
floorgate support (bedrock players have to use chat input)
fixed dupe (collecting enquiry before completely filled, then filling it)
fixed record archive not stopping correctly on disable
using maven so now a bit smaller
introducing modules:
-every clickable item in the gui is a module (manage enquiries, create sell offer, create buy order, category 1, ...)
-a module can be disabled and enabled without restarting/stopping the server
-motivation behind this, is to make maintenance easier (toggle modules that are not configured correctly) and disable modules that do not work due to unknown reasons (bugs) without needing to close the server
introducing statistics:
-new graphs.yml file for graph configuration
-all transactions are now recorded
-the transactions of the last hours/days/months/years of a specific item can be viewed in a graph
-api for statistics available (see
here)
documentation of features and api (not complete):
https://ancash.github.io/posts/bazaar/
fixed creating sell offer w/ out any items causing dupe
fixed vanilla items displayname empty
ILibrary v3.6.6 required
fixed selecting unit price for sell offer
more detailed message on wrong command use
moved some messages from inventory.yml to config.yml
using different code pattern (dao):
-easier code handling
-proper api (see below)
options to exclude/include specific categories from the gui
fixed: SellOffer now filling BuyOrder with higher or equal unit price/BuyOrder now filling SellOffer with lower or equal unit price (only equal unit price before)
formatted enquiry format in files (backup recommended)
using version (major, minor, patch) to identify if Bazaar-Socket supports the Bazaar on the mc server
requiries ILibrary >=v3.6.5
There now is a proper api:
https://github.com/Ancash/BazaarAPI
added custom item amount to create sell offer
fixed not handling too many enquiries correctly
fixed adding classloader to serialization utils
fixed rounding (to two decimal places)
fixed number input
fixed calling bukkit api async
max & min enquiry unit price option in config
option to bypass "/bz" & make it behave like "/bazaar" or "/bz open" (edit "ignore-bz-sub-cmds-list" in config and give perm: "bazaar.ignoresubs")
updated to new Loki plugin framework (only important for multiple server)
fixed managing enquiries
fixed wrong loading order of enquiries causing npes if enquiries can be processed (single server only)
code clean up & use of NumberInputGUI
Requiries ILibrary 3.6.0+
"bz reload" now reloads everything
on click in own inv open sub sub if possible
code clean up
formatted
updated to ILibrary 3.4.0 package changes
all versions compatible again
Implemented FileUtils#setMissingConfigurationSections
Events (all async, for single and multi server):
EnquiryFillEvent
CreateSellOfferEvent
CreateBuyOrderEvent
BuyInstantlyEvent
SellInstantlyEvent
CancelEnquiryEvent
fixed negative claimable value after claiming (multi server)
sell offers/buy orders are now cancellable
setting for how no offer/order should be displayed ("§cN/A" default)
fixed /bz open <player>
version of Bazaar-Socket.jar = Bazaar.jar
Auto reconnect to server socket once disconnected
requires ILibrary v3.3.2+
updated to ILibrary v3.3.1
fixed error on managing enquiries but item is not set in config
"/bazaar" same as "/bz open"
reloading enquiries if single server
easier setting for all inventory titles
(recommended to delete categories folder and inventory.yml file)
last two inventory titles (sub & subsub) can now be changed
-applied work around in v5.2.2 for all other invs
-fixed claimable items not saving correctly
Work around for items in inventory not clickable after bazaar closed
Reload with /bz reload ("bazaar.reload")
Perm for /bz set ... (now "bazaar.set")
1.8-1.18 support
UpdateChecker impl
Fixed insta sell fluctuation message on trying to sell although no buy orders exist
If sub or subsub item has no name, vanilla name will be used
-option to go back
-fixed item click on order/offer without claimable items/coins
-fixed error on disable
-code clean up
-improved set item command
-sync across multiple server fully implemented
-improved connection with socket
-bstats
you have to delete the whole categories folder
Data sync not working!
Added full custom item support (nbt, enchs, lore, name,flags,...)
ig command to set item in category
Multiple server support (beta)
Massive Performance Improvements
Fixed Error Clicking non-existing sub category
Added sub categories:
5 categories
18 sub categories
9 items/sub category
in total 810 items you can setup, buy and sell
NOT COMPATIBLE WITH v1.x