COWMODSКаталог модов
AuctionzOptymalized

ВЕРСИИ (1)

beta

AuctionzOptymalized

1.0
1 авг. 2026 г.40Minecraft: 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
# AuctionzOptymalized A player-to-player auction house for Paper servers. Players list items from a GUI, everyone else browses, searches and buys them with server money. Built to stay fast on a busy market: every view the players see is cached and only rebuilt when the market actually changes. - **Version:** 1.0 BETA - **Server:** Paper 26.x (`api-version: 26.1.2`) - **Requires:** a Vault economy (EssentialsX, CMI, ...) - the plugin will not start without one - **Author:** _M4rtwy_ ## Features - **Auction GUI** - paged market view, left click buys, right click cancels your own listing. - **Sell menu** - drop an item in, set the price with +/- buttons, confirm. Or list straight from your hand with `/ah sell <price>`. - **Search** - `/ah diamond sword` from chat, or the sign button in the menu, which opens a typing board you fill in without leaving the GUI. Matches item names, and optionally lore, enchantments and the seller's name. - **Category tabs** - Everything / Building blocks / Items / PvP gear / Tools / Food / Redstone along the top row. Tabs are defined in the config, so you can add your own. - **Expiry and payouts** - listings run out after a set time and go to `/ah expired`, where the seller collects them. Sale money is paid out the same way. - **Tax, price limits, listing limits, item blacklist** - all in the config. - **Languages** - `lang/en.yml`, `pl.yml`, `de.yml`. Drop in your own `lang/xx.yml` and it shows up in the picker. Missing keys fall back to English. - **Styles** - `styles/default.yml`, `donutsmp.yml`, `minimal.yml` hold every icon, slot and layout. Your own file in `styles/` shows up in the picker too. Texts and looks are kept apart on purpose: `lang/` has the words, `styles/` has the icons and slots, and styles pull words in with `<lang:some.key>` tokens. Changing the language never breaks a layout, and changing the style never loses a translation. ## Commands | Command | What it does | Permission | | --- | --- | --- | | `/ah` | Opens the auction house | `auctionzoptymalized.use` | | `/ah <text>` | Searches the market, e.g. `/ah diamond sword` | `auctionzoptymalized.search` | | `/ah search` | Opens the typing board | `auctionzoptymalized.search` | | `/ah sell` | Opens the sell menu | `auctionzoptymalized.sell` | | `/ah sell <price>` | Lists the item in your hand right away | `auctionzoptymalized.sell` | | `/ah expired` | Collects your expired listings and payouts | `auctionzoptymalized.use` | | `/ah help` | Shows the help | - | Aliases: `/auction`, `/rynek`. Admin, all under `/ap` (aliases `/auctionzoptymalized`, `/auctionzoptimalized`): | Command | What it does | | --- | --- | | `/ap reload` | Reloads config, languages and styles | | `/ap version` | Shows the plugin version | | `/ap gui [menu]` | Opens any menu from the active style | | `/ap style [name]` | Style picker / switches the look | | `/ap lang [code]` | Language picker / switches the language | | `/ap auction save` | Writes `listings.yml` right now | | `/ap auction clear` | Returns every listing to its seller | ## Permissions | Node | Default | Grants | | --- | --- | --- | | `auctionzoptymalized.use` | everyone | Opening the auction house | | `auctionzoptymalized.sell` | everyone | Listing items for sale | | `auctionzoptymalized.search` | everyone | Searching the market | | `auctionzoptymalized.limit.bypass` | op | Ignores the listing limit | | `auctionzoptymalized.admin` | op | The `/ap` commands, and all of the above | ## Files ``` plugins/AuctionzOptymalized/ config.yml behaviour: duration, tax, limits, blacklist, categories, search listings.yml the market data - do not edit while the server runs lang/ en.yml, pl.yml, de.yml - every message and every word in the menus styles/ default.yml, donutsmp.yml, minimal.yml - icons, slots, layout ``` ## Config highlights ```yaml auction: listing-duration: "48h" # s / m / h / d max-listings-per-player: 5 # 0 = unlimited min-price: 1.0 max-price: 10000000.0 tax-percent: 5.0 # taken from the seller's payout allow-buying-own: false broadcast-new-listings: false blacklist: [BEDROCK, BARRIER, COMMAND_BLOCK, STRUCTURE_BLOCK] search: enabled: true max-length: 48 match-lore: true # also search lore and enchantments match-seller: true # /ah Notch finds their listings ``` Categories are written as rules, not as material lists: ```yaml pvp: match: ["*_SWORD", "*_AXE", "*_HELMET", "BOW", "SHIELD", "TRIDENT", "*POTION"] ``` `match` and `exclude` take an exact material, a wildcard with one `*`, or a tag: `#block`, `#item`, `#edible`, `#record`, `#fuel`, `#solid`. An empty `match` means "everything" - that is the `all` tab. Adding a tab means an entry here, an icon and a slot in `styles/`, and a name in `lang/` under `gui.categories.<id>`. ## How it stays fast - The listing list is sorted once and cached; a version counter on the auction manager is bumped on every change, and every derived cache checks that counter instead of rebuilding. - Search haystacks (name, lore, seller) are built once per listing and reused. - Category rules are resolved into material sets when the plugin starts, so filtering a full market is one set lookup per listing, done before any text matching. - Search results are cached per player, so paging through them is not a second scan. - Tab completion, category counts and the sorted view all sit on the same counter. ## Building Needs JDK 25+ and Maven. ``` mvn clean package ``` The finished jar lands in `target/AuctionzOptymalized-<version>.jar`.