⭐ Tiny Markets - Shops for anyone | 1.20.x - 26.x | Async &
v1.9.26-FREEThe most feature rich playershop solution on the market
v1.9.26-FREElatestImproved Menu clarity + Critical Bugfix4 days ago IMPROVED DIalog menu styling IMPROVED amount selection IMPROVED Hologram and startup performance by about 20% FIXED Bug that reset amounts in trades for bartering trades FIXED Unnamed bug that let users turn stock of a shop into a completely different item by bypassing checks FIXED Unnamed potential money exploitv1.9.25-FREEStability overhaul + Native Bedrock Forms4 weeks ago Greetings everyone! I am very glad to announce that the autumn main patch for TinyMarkets is ready for public use. This patch comes with two pretty big changes and improvements: · TinyMarkets now supports native Bedrock forms for UI elements that require user input. This means no more weird interaction bugs caused by chat input timeouts for Bedrock users. Instead, they are shown native forms for all UI elements that require input. This can be toggled globally and per player (/market dialog on & /market dialog off). · TinyMarkets got a pretty nice architectural upgrade to its scheduling and processing logic. While it was already blazing fast, there was still some overhead, and on large networks there may have been some performance dips if a lot of users were working with the plugin concurrently. Version 1.9.25 fixes this. Memory usage is down by 27% on average, while CPU usage is down by 3% when idle and a whopping 50% under stress. All of this means we can simulate 2,000 shops at the same time, performing a total of 350,000 actions within 5 seconds, while TPS drops by only 0.1 and MSPT spikes are reduced by more than half! TinyMarkets is once again the most performant public shop plugin available. · This update also brings experimental 26.3 support for Paper. The plugin works as expected in preliminary testing, but I'd appreciate some feedback from actual servers before calling it officially supported.v1.9.24-FREESupport for 26.2Aug 16, 2026 UPDATED Plugin now officially supports version 26.2 IMPROVED Expiry date check runs quickersv1.9.23-FREELang adjustments + Summer breakJun 9, 2026 IMPROVED Clarity on some lang files FIXED Menus having wrong context info Hello everyone I'm going abroad for holidays. As such, updates will slow or rather more or less come to a halt. The only updates for the next few weeks will be minor fixes and hotfixes if anything breaks. If you want to support the development, please buy the premium edition: At this point, I've sunken well over 300 hours of my time into making this project. Buying premium edition really helps keep this project alive <3 I appreciate every single one of you and thanks for the feedback over the past few months. Y'all rock! - Netizenv1.9.22-FREEPermission fixesJun 6, 2026 IMPROVED Debug logging for me IMPROVED Some more tidying up of old code FIXED Permissions for bottomlessshop-editing not workingv1.9.21-FREEMajor bedrock fixesJun 2, 2026 · Bottomless shops can now be edited easily with /market admin editbottomless · TinyMarkets uses Paper-API 1.21.10 (up from 1.21.4) · Bottomless shops can have periodic restocking, stock limits etc · Signs are now formating a lot more intelligently with bigger numbers becoming clearer and trades where more than 1 item is sold per trade having a price / amount indicator · Fixed some silly bugs with bedrock interactions (though there are still some rough edges that need to be ironed out) · Bulkdiscounts etc are a lot more easy to understand as they are now shown directly in the purchase price when reaching a defined tier · Fixed occasional bug with refund telling users they cannot refund despite this clearly working · Made shared-mode more robust and update perms immediatelyv1.9.19-FREEPhysical infinite shops + improvementsMay 26, 2026 NEW Admins can create physical shops with infinite or auto-restocking stock by creating a shop, then entering /market admin createbotomless whilst looking at a shop NEW PREMIUM users can now fully customize every single line of the signs of shops via signs.yml IMPROVED Fixed various parsing errors and issues with placeholders internally not being rendered correctly in custom translations IMPROVED Fixed some more missing message keys and wrong mappings Special thanks to GaZZip and Kiri for helping me test these issues and putting together a list of missing/buggy elements in lang files. You guys are amazing!v1.9.18-FREELang fixesMay 18, 2026 IMPROVED Added 3 more missing lang keys Updates will slow for the next few days/around 1-2 weeks as I am processing the loss of my beloved pet whilst also somehow juggling finals for uni. Thank you for understanding.v1.9.17b1-FREETiny fixesMay 15, 2026 FIXED VaultUnlocked not loading on paper servers IMPROVED Backend debug info on vault / vaultunlocked detectionv1.9.17-FREEAsync Database scheduler & FixesMay 15, 2026 IMPROVED Shopmenu now displays selected amount in title for easier visual distinction of quantities when buying/selling IMPROVED Fixed some keys loading from wrong location resulting in missing messages FIXED Empty blocklist having a spacer item with no lore REWORKED Database connectivity and scheduler fully async. Plugin no longer cloggs main thread when reloading or connecting to DB. Netizen's words of wisdom Over the past few versions, I've also invested a lot of time into upgrading the architecture behind the hood. As a result, the already very performant tinymarkets is now so highly optimized, it sometimes doesn't even show up in the profiler in idle due to its low overhead and resource usage!v1.9.15d-FREEMore currency symbol render fixesMay 14, 2026 IMPROVED More consistent rendering of currency symbols (of all types) across various menusv1.9.15c-FREECurrency Symbol fixesMay 14, 2026 IMPROVED Custom currency symbols are now rendered more consistently across menus and messages. This change comes with some manual changes you need to do: Update all your lang files (if you are a premium user) to add {symbol} behind any instance of {price} I.e.: Code (YAML): price_set: title : "<yellow><bold>Price: {price}{symbol}/item</bold></yellow>" lore : - "{separator}" - "<gray>Your offer : <gold> {price } {symbol }</gold> per item</gray> " - "<gray>Original : <white> {original } {symbol }</white> per item</gray> " - " " - "<yellow>Click to change</yellow> "v1.9.15-FREEFOLIA Support (Premium only + addon)May 13, 2026 MAJOR NEW FEATURE FOR PREMIUM EDITION - Native Folia support! NEW The plugins entire scheduling logic has been rewritten to add parallel-support for regular paper/spigot and Folia! Disclaimer: To use TinyMarkets on Folia you need the premium edition and the folia addon (currently pending approval) IMPROVED menu_bases.yml is clearer now FIXED Automigrator kept remigrating files even on same versions (no issues but just a bit silly)V1.9.14b-FREEFingerprinting aware automigration!May 10, 2026 REWORKED The plugin now comes with an internal fingerprinting algorithm that is able to distinguish version specific files. This makes it so the automigration system is more consistent, performant and less prone to issues with newly added elements. Dropping the new .jar into your server will automatically upgrade all your configs and migrate over your settings and custom translations (premium only for translations)!v1.9.14-FREEColored frames & Expiry warningsMay 10, 2026 NEW (PREMIUM Only) Players can select the color of the item preview frame (including per color permissions) NEW Internal expiry system (warning when heavily outdated verision): Looking at bstats, I can tell that a lot of servers are running outdated versions. This is fine up to a certain point. There are still over 10 servers running versions below 1.9.2 which is rather alarming. Starting with this version, the plugin has an internal "expiry" date. Past this date, the plugin will warn server owners rather "agressively" that they are running a really outdated version. Don't worry, the plugin will keep working exactly as before, no matter what. This makes it easy to warn players about outdated versions without relying on external databases or API's that may break or go offline over time. The default expiry is set to 3 months (90 days) relative to the release date of the plugins version. IMPROVED Quicksell works more reliable, does not trigger spam warnings and gives a more detailed receipt info FIXED Some missing lang strings or rather referrences to them, causing there to be inconsistencies across menus despite referring to the same stringv1.9.13a-FREEMinor fixes for missing UI elementsMay 10, 2026 FIXED Missing buttons in shop settingsv1.9.13-FREELang files refactor 1.0May 10, 2026 TinyMarkets is now feature complete. The next few weeks/months will mostly focus on fixing some tech debt and legacy issues. One of the biggest and longest standing ones of this is the absolute mess that the lang files can be due to how the plugin grew over the past few months. Stage one will be the "Lang files refactor" update: It aims to fix issues with outdated/dead strings and generally bring a bit more structure into how lang customization works. This only affects premium plugin users! IMPROVED Added new file menu_bases.yml that contains reused menu elements like back buttons, confirm buttons etc. IMPROVED Removed about 35 dead and outdated strings across multiple menu lang files (more to follow based on reports)v1.9.12-FREEBlueMaps integration!May 2, 2026 NEW Bluemaps integration including labelsv1.9.10-FREEDisplay fixesMay 1, 2026 IMPROVED When itempreview is set to "static", the item now correctly orients itself towards the sign IMPROVED Teleporting to shops now teleports ontop of if that is blocked right infront where the sign is to prevent abuse and weird situations where players got stuck outside of shops/bases IMPROVED Various messagekeys that are depreciated were removedv1.9.08-FREEStacking perms fix (experimental)Apr 23, 2026 FIXED Added LuckpermsAPI listener to make stacking perms (hopefully) work as intendedv1.9.07-FREEDatabase fix and proper limitsApr 22, 2026 IMPROVED In stack-permissions mode: Default amount is now added to the cummulative total of allowed shops. I.e. if default limit is 10 and user has perms tinymarkets.maxshops.5 and tinymarkets.maxshops.15, then the new total limit is 30 (10 + 5 + 15) IMPROVED Fallback handler for localstorage timeout on /market admin reload FIXED Permission-limits for maxshops amount being ignoredv1.9.06-FREESellgui system!Apr 20, 2026 NEW Internal sellgui via adminshop (only works if you use the internal adminshop system) with taxation and receipts FIXES Minor fixes that I lowkey forgot to write down so there's that but I did fix some reports, lolv1.9.05-FREEDefault offset customisationApr 18, 2026 NEW Default hologram and itempreview offset can be configured now aswell FIXED Featured shops not being listed first in order when opening market browserv1.9.04-FREEBetter progress message for OrderfillApr 16, 2026 NEW The plugin now autodisables adminshop if vault is not detected IMPROVED The message when an order is autofilled (partially) from other stores has been upgraded to feature a progressbar.v1.9.03-FREEMinor tweaksApr 13, 2026 IMPROVED Autodisabling internal adminshop system if vault is not loaded FIXED Missing message (outdated messgag key)v1.9.02-FREEAuto-order completion, complex matching and better claimablesApr 11, 2026 NEW Settings that allow orders to be autocompleted with matching offers from players and adminshops NEW Fees and creation costs for orders NEW Info-messages on order completions NEW By default, all shops now store revenue directly, making it more obvious that there are sales that have occured IMPROVED Claimable menu (/market claim) lets users manage orders that have been completed easily IMPROVED Claimable menu (market claim) now also lets users mass-retrieve funds from sales across all shops FIXED Missing messages due to loader errorv1.9.01-FREEMajor update: Browser, filtering and Orders??Apr 10, 2026 NEW Browser system now supports expansive search NEW Plugin comes with internal adminshop system including browser listings, restock rates and an editor (WIP) NEW Plugin now comes with an order system: Can't find any offers for an item? Simply create an offer and let users fetch the item for you! NEW Optional refund tax (global value and can be toggled per shop) NEW Antidupe earlywarning system with expansive incident report (/market admin dupeincidents) .SpoilerTarget">Spoiler: Learn more about antidupe Wanna test how it works? Enable debug, login with op and use command /market admin givemenuitem -> This will trigger an announcement in global chat and is only inteded for you to simulate getting a duped item from a GUI to see the dupe-alert system in action. It does not actually dupe anything and all items are flagged. IMPROVED Lang files were reworked to remove outdated and no longer used strings IMPROVED Automigrator works better than ever IMPROVED Performance hickups with complex searches reduces by over 150% FIXED Search / Filtering not finding some items FIXED Refund system not working for shops with complex nbt-tagsv1.9.0a-FREEMajor update! New adminshop and browser reworkApr 4, 2026 NEW Plugin now shops with its own default adminshop system that can be used as either a fully blown admin shop within the market browser or just as a price reccomendation engine. IMPROVED Reworked major parts of the market browser to fix search querries, make filtering easier and improve sizing and visibility FIXED Debugger throwing errors in rare cases despite being disabledv1.8.10b-FREEBulkdiscounts menu improvementsMar 29, 2026 IMPROVED Split action delete and edit in bulkdiscount menu for a more distinct control layout FIXED Deleting bulkdiscount entry, then escaping mid-edit would revert deletionv1.8.10a-FREEQoL Fixes for configsMar 29, 2026 IMPROVED Autoupdater now copies over config values more reliably, leaving unaltered backups as zip files to revert if anything goes south IMPROVED Both scale and offset of glass-frames and displayitems can now be configured fully (premium feature) IMPROVED Command /market admin reload now also reloads changed display settings in real time FIXED Custom offset not being directional and having weird issues REMOVED Outdated and duplicated command /market reload -> depreciated since v1.7.10 and replaced with /market admin reloadv1.8.10-FREEMajor update (severe bug)Mar 29, 2026 9.5 CIRTICAL BUG FIX - UPDATE IMMEDIATELY FIXED Internal overflow issue causing dupe (very, very specific but still, a bug that is instrumental to be fixed so you NEED to updated immediately) I will not elaborate how this dupe happens to protect serves that haven't updated yet. My sincerest apologies, I've included a new anti-dupe hardened check that can be configured that scans the inventory after x actions to check if it contains any items flagged as menu items.v1.8.09-FREEMinor fixesMar 28, 2026 FIXED Parsing of internal placeholder of pagination not using localized string in premium versionv1.8.08-FREEMar 26, 2026 v1.8.07-FREEHotfixesMar 24, 2026 FIXED Obfuscation crashing plugin because I'm a dumbass and misspelled my class name FIXED More missing messagesv1.8.06-FREEMinor bugfixesMar 23, 2026 FIXED Currency symbol not being propagated across menus if changed FIXED Missing item name and lore for hologram settingsv1.8.05-FREEHuskClaims support (experimental) + minor fixesMar 22, 2026 NEW HuskClaims claiming support to allow for shops to be used inside claims without triggering warning messages (experimental/untested) IMPROVED Better display of hybrid mode for shops IMPROVED Consistent use of currency lang instead of built in $ sign across many menus FIXED Missing messagesv1.8.04-FREEMenu upgrades, editor improvements and bug squashingMar 21, 2026 IMPROVED Menu editor is visually more clear now (Premium only feature) IMPROVED Some inconstistencies in menus for display icons FIXED Some menus having titles and lores that weren't loadedv1.8.03-FREEHOTFIXMar 20, 2026 Please update immediately if you downloaded v1.8.3! FIXED Failing on startup due to imports failing FIXED Setup skipping storage step due to method call happening too earlyv1.8.02-FREEMigrator fixesMar 18, 2026 FIXED Automigrator not updating config.yml and lang files FIXED Added two missing messages to default internal message systemv1.8.01-FREEHybrid shops, better onboarding and fixed debug defaultsMar 18, 2026 NEW Players can now create hybrid shops (that both sell and buy the same item) by clicking on "set price" and entering "S{sellprice} B{buyprice}" i.e. "S15 B10" NEW The plugin keeps track of hybrid shops and tracks sales individually IMPROVED Onboarding remembers already completed steps, making sure you can exit GUI at any point and return to setup without having to worry about settings being lost. IMPROVED Better DB connection checks (fallback safety) FIXED Set "debug" to false by default - sorry if your console was very spammy, oops.v1.8.0-FREEComplete Lang rewriteMar 16, 2026 FIXED Complete rewrite of the custom lang loader system - this should fix all menus that were previously having issues with loading custom itemnames and itemlores. IMPROVED Lang files are now split. All files are in folder "lang" with messages in messages.yml and all menus having their own file in "menus". IMPROVED Users can now filter their /market myshops page by stock, price, profit etc. NEW Option for stacking permissions (inheriting higher limits via permissions for maxshops and maxstacksize) NEW Command /market mystats to see list of stats including shop limits etcv1.7.13-FREELanguage and Menu rework, Towny & Bentobox Skyblock support & ChestShop3 migrationMar 9, 2026 NEW Support for Towny NEW Support for Bentobox-skyblock NEW All menu configs are split into seperate files NEW All messages and lang files are in folder "lang" NEW Plugin startup was slimmed down a bit, some of its logging moved into a seperate logging file. NEW Migration for ChestShop3 (Requires manual input from players due to technical limitations with ChestShop3) FIXED Custom menu itemnames and lores not loading sometimes across a lot of menus (rewrite of the menu renderer) FIXED Weird interaction warning messages when using shops on Plotsquared plots and other claims IMPROVED Bidding system now comes with admin commands (/market admin featured) to set stage, remaining time etc. IMPROVED Slots won in bidding process now are marked as "Featured" IMPROVED Players can only have one featured slot IMPROVED Players can now select a specific shop or a shopgroup for their featured slot.v1.7.12b-FREEQuickfix (Please update asap)Mar 8, 2026 FIXED Classloader not working properlyv1.7.12-FREEShopping refunds, movable holograms, Itemcages (experimental) and fixes!Mar 7, 2026 NEW Players can now issue refunds for trades they've completed within the last 5 minutes NEW Added more sign-interactions and seperated shift and none-shift interactions (though this might be a bit buggy for bedrock, sorry guys, just nothing I can do about this) NEW (Experimental) Itemcages: Creating a glass around the previewitem to seperate it more from "drops" if enabled NEW (Experimental) Static previewitem rotation; Previewitems do not rotate towards players anymore if enabled IMPROVED Visual clarity of settings menu IMPROVED Loadbalancer IMPROVED Modularized some systems like commands (does not affect players, just makes my life easier) FIXED Pending offers button sometimes not working FIXED Hologram and previewitem not shifting over when switching from default location to custom location v1.7.11-FREEShared shops, grouped shops, revenue checks, browser improvements and more!Mar 6, 2026 NEW Players can create shared shops (Free mode limited to 3 players per shop). In shared mode, players can assign permissions, handle shop parts they have perms for and work together NEW Shop grouping. Shops can be grouped together for easier management NEW Shop browser with featured slots (toggleable). If enabled, there is a server-wide blind bidding after which the winners will have one slot to advertise their shops in the global browser. NEW Item-preview custom offset (with toggle and default preset) NEW Optional creation and upkeep cost systems IMPROVED Settings menu (split by category, toggles and with pages) FIXED Permission check firing too often, causing 0.05% more server load than necessary (Yes, I take the "best optimized shop" thing very serious). FIXED Automigrator duping lore lines when checking for old configs I have made an (AI) Summary of the updated API for anyone that wants to use it. Please don't come at me for not hosting in publicly, just use reflections as described in the guide. I can't be arsed to manage the API library via maven. https://www.markdownpaste.com/document/tiny-markets-api-1… I am very sorry to anyone that was affected by the automigrator duping lore lines. DM me or open a ticket in Discord and I'll personally sort this out for you! <3v1.7.10-FREEMinor fixesMar 6, 2026 FIX Counteroffer menu for item-trades blocking all inventory interactions, effectively speaking blocking the player from using the "Offer different item" option. (silly bug)v1.7.9-FREEGlobal Market browsing, Counteroffer-system v1, better Bedrock inputs + automigrationMar 5, 2026 NEW Users can now create counteroffers, manage them easier and see pending offers. This comes with automatic nudges about unclaimed trades and new offers NEW Toggle for admins to allow teleporting to shops (with warmup) to shops from browser and search function NEW Global Browser for shops by category or player NEW Categoryeditor for admins for browser NEW Automatic migration from config.yml and messages.yml (premium only) when new update drops. The plugin will copy over your settings IMPROVED Search is now more accurate and offers better filteringv1.7.8-FREECounteroffer history view, barter imrpovements and migration fixesMar 2, 2026 NEW Configurable time limits before old counteroffers are moved to new "history" tab. NEW Auto-deletion from player gui of old counteroffers after 90 days (configurable) IMPROVED Fixes for migration from Plugin "Shop" when in barter mode - hopefully fixes stock migration being broken.v1.7.7-FREEDiscordSRV logging, better permission info and fixed limitsMar 1, 2026 NEW Logging via DiscordSRV (experimental) NEW config.yml now contains a link to all permissions ( https://www.markdownpaste.com/document/permissions-tiny-m… NEW Better documentation and limit info on permissions FIXED Some messages not loading fully .SpoilerTarget">Spoiler: Known Bugs Reducing the amount of rows a menu has in Premium-mode does not work. I am working ont his <3v1.7.6-FREEBulk-discounts, Counteroffers, Better messages and fixesFeb 28, 2026 NEW Players can make counter offers for shops (toggleable global and per shop) NEW Players can offer bulk-purchase discounts i.e. 5% off from an order of 1000 items or more (default and permission based limits) NEW Initial support for dynmap (though markers are having issues rendering for now - experimental) NEW Support for plot-squared NEW Claimables menu - unclaimed offers that got accepted land here Improved Adding more message configs to messages.yml for bossbar and actionmar messages etc Improved Better shop prechaching for statistics and price overviews And some more I forgot to note down... will be appended in the next update infov1.7.5-FREEMigration fixes, discord webhooks and public APIFeb 26, 2026 NEW Discord webhooks (fully working including batchmode or instant mode NEW Public API (shade jar into your plugin as lib and use reflection. See below for list of api methods and examples. IMPROVED Fixed a bug with migration from plugin Shop ( https://www.spigotmc.org/resources/shop-the-intuitive-sho… caused by the owner storing the location of shops not as the container but the sign... and in the wrong format... and not always the same depending on what side the container is facing. .SpoilerTarget">Spoiler: beeeep Seriously, just avoid that plugin, its utter dog****... API: Code (YAML): Available methods : getAllShops ( ) - Get all registered shops getShopById (long ) - Get shop by ID getShopAt (Location ) - Get shop at location getShopsByOwner (UUID ) - Get all shops by owner getShopCount (UUID ) - Count shops owned by player isShop (Location ) - Check if location has a shop getMaxShopsFor (Player ) - Get max shops for player setEconomyProvider (Economy ) - Set custom economy getEconomyProvider ( ) - Get current economy firePrePurchaseEvent ( ... ) - Fire purchase event firePreSellEvent ( ... ) - Fire sell event getVersion ( ) - Get plugin version isPremium ( ) - Check if premium getPlugin ( ) - Get raw plugin instance Examples: Code (Java): @EventHandler (priority = EventPriority. MONITOR, ignoreCancelled = true ) public void onShopSell (ShopPreSellEvent event ) { if ( !plugin. isLoggingEnabled ( ) || !plugin. isConsoleLoggingEnabled ( ) ) { return ; } Shop shop = event. getShop ( ) ; Player seller = event. getSeller ( ) ; int amount = event. getAmount ( ) ; double totalPrice = event. getTotalPrice ( ) ; String itemName = getItemName (shop ) ; String ownerName = shop. ownerName ( ) ; plugin. getLogger ( ). info ( String. format ( "[SELL] %s sold %dx %s to %s's shop for %.2f", seller. getName ( ), amount, itemName, ownerName, totalPrice ) ) ; } Code (Java): @EventHandler (priority = EventPriority. MONITOR, ignoreCancelled = true ) public void onShopPurchase (ShopPrePurchaseEvent event ) { if ( !plugin. isLoggingEnabled ( ) || !plugin. isConsoleLoggingEnabled ( ) ) { return ; } Shop shop = event. getShop ( ) ; Player buyer = event. getBuyer ( ) ; int amount = event. getAmount ( ) ; double totalPrice = event. getTotalPrice ( ) ; String itemName = getItemName (shop ) ; String ownerName = shop. ownerName ( ) ; plugin. getLogger ( ). info ( String. format ( "[PURCHASE] %s bought %dx %s from %s's shop for %.2f", buyer. getName ( ), amount, itemName, ownerName, totalPrice ) ) ; } Code (Java): package me.netizdendev.marketsHooker ; import me.netizdendev.marketsHooker.config.ConfigManager ; import me.netizdendev.marketsHooker.listeners.ShopListener ; import me.netizdendev.tinyMarkets.api.TinyMarketsAPI ; import org.bukkit.Bukkit ; import org.bukkit.plugin.java.JavaPlugin ; import org.bukkit.scheduler.BukkitRunnable ; public final class MarketsHooker extends JavaPlugin { private ConfigManager configManager ; private TinyMarketsAPI tinyMarketsAPI ; private boolean hooked = false ; @Override public void onEnable ( ) { // Initialize configuration configManager = new ConfigManager ( this ) ; configManager. loadConfig ( ) ; // TinyMarkets is a Paper plugin, so it may not be enabled yet when this Bukkit plugin enables. // We need to wait for the server to finish loading, then check for TinyMarkets. getLogger ( ). info ( "Waiting for TinyMarkets to be available..." ) ; // Schedule a delayed task to hook into TinyMarkets after server is fully loaded new BukkitRunnable ( ) { private int attempts = 0 ; private final int maxAttempts = 20 ; // Try for 10 seconds (20 * 10 ticks = 200 ticks = 10 seconds) @Override public void run ( ) { attempts ++; // Check if TinyMarkets API is available if (TinyMarketsAPI. isAvailable ( ) ) { tinyMarketsAPI = TinyMarketsAPI. getInstance ( ) ; hooked = true ; // Register event listeners Bukkit. getPluginManager ( ). registerEvents ( new ShopListener (MarketsHooker. this ), MarketsHooker. this ) ; getLogger ( ). info ( "MarketsHooker hooked into TinyMarkets v" + tinyMarketsAPI. getVersion ( ) + " successfully!" ) ; getLogger ( ). info ( "Logging module: " + (isLoggingEnabled ( ) ? "ENABLED" : "DISABLED" ) ) ; this. cancel ( ) ; return ; } // If we've exceeded max attempts, give up if (attempts >= maxAttempts ) { getLogger ( ). warning ( "TinyMarkets API not available after " + maxAttempts + " attempts. MarketsHooker will not function." ) ; getLogger ( ). warning ( "Please ensure TinyMarkets is installed and enabled." ) ; this. cancel ( ) ; } } }. runTaskTimer ( this, 10L, 10L ) ; // Start after 10 ticks, repeat every 10 ticks (0.5 seconds) } @Override public void onDisable ( ) { getLogger ( ). info ( "MarketsHooker disabled!" + (hooked ? " (was hooked to TinyMarkets)" : " (was not hooked)" ) ) ; } public boolean isHooked ( ) { return hooked ; } public boolean isLoggingEnabled ( ) { return configManager. isLoggingEnabled ( ) ; } public boolean isConsoleLoggingEnabled ( ) { return configManager. isConsoleLoggingEnabled ( ) ; } public TinyMarketsAPI getTinyMarketsAPI ( ) { return tinyMarketsAPI ; } public ConfigManager getConfigManager ( ) { return configManager ; } }v1.7.4-FREEIngame settings, better chest detection and migration improvementsFeb 25, 2026 ADDED - New ingame settings menu with /market admin settings ADDED - Configurable glow colors for each of the actions ADDED - Signs of shops are now considered part of it and various interactions can be "programmed" to them, allowing you to set different kinds of interactions to your own liking ADDED - Internal shop protection system to prevent it from being blown up by entities, mobs etc. ADDED - Configurable radius of /autostock command in config.yml FIXED - Signs blocking you from interacting with shops and forcing you to use the container itself FIXED - Very rare display error with chestshops rotating the wrong way around after toggling on/off IMPROVED - Local-storage migration for plugin Shop ( https://www.spigotmc.org/resources/shop-the-intuitive-sho… now works and will load data properly (detection of different storage file formats)v1.7.3-FREEVarious fixes, internal download and improved shoptypesFeb 22, 2026 FIX - No longer shading the imports directly, reducing the jar size (and now once again hosted directly on spigot) FIX - Players being able to set storage to database in freemode, causing dataloss after restart FIX - Substore types "EXP" and "Playerpoints" now work properly with the menus to set them and retrieve them FIX - Startup crashes when failing to load hikariCP IMPROVED - Better checks for worldguard IMPROVED - More stable checks when no claim system is installedv1.7.2-FREEMinor fixes for missing messagesFeb 21, 2026 Hey y'all. This is a very small fix for some missing default messages in FREE-Plugin mode. No changes in config or anything, just a drag and drop fix. Enjoy it! <3 Thanks a lot to Isaac for reporting this issue!v1.7.1-FREEFIX - shaded hikari cp into jarFeb 21, 2026 Important: you NEED to update your jar, the plugin won't start otherwhise. I am looking for a more elegant fix but for now, I shaded the needed hikaricp libs into the plugin itselfv1.7.0Feb 21, 2026
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta