AnhyShop

Is a unique plugin for creating merchants and trading on Minecraft servers, based on the trading inventory of villagers. Tested on Spigot Paper Purpur server cores, version 1.20.4

Essential Dependencies for AnhyShop

The primary requirement for AnhyShop to function is the installation of the AnhyLibAPI library version 1.5.2 or higher. This library is an integral part of the plugin, ensuring its stability and efficiency. Without AnhyLibAPI, AnhyShop will not operate. AnhyLibAPI provides translation of system messages and multilingual names for merchants.

Additionally, AnhyShop is compatible with AnhyLingo version 0.3.3 or higher, though this plugin is not mandatory. Installing AnhyLingo expands the multilingual capabilities of AnhyShop by adding functionality for multilingual items in trading. However, the absence of AnhyLingo does not affect the primary operation of AnhyShop.


Functionality of the plugin


AnhyShop: Intuitive Plugin for Creating Administrative Stores in Minecraft

AnhyShop revolutionizes the creation of administrative stores using villagers' inventories in Minecraft. It facilitates store settings through straightforward in-game commands, eliminating the complexities of configurations or scripts.

  • Simplicity and Convenience: No complicated configurations, with all data automatically stored in the embedded SQLite database (file shops.db in the plugin folder).
  • Data Security: Information about traders is encrypted, ensuring it cannot be viewed or edited directly in the database file.
  • Flexible Use: Offers the ability to open trade via console commands or player commands with appropriate permissions, allowing server administrators to integrate stores with other plugins, scripts, command blocks, etc.

AnhyShop is the perfect choice for Minecraft servers seeking ease in trade management without sacrificing functionality.


Administrator Commands:

(with permission anhyshop.*)

Reloading commands:

  1. Reloading the plugin

    • (with permission anhyshop.reload)
    • This command is also available from the console
    • /shop reload
    • Reloads the language files configurations and traders from the database.

Work with traders:

(with permission anhyshop.trader.*)
  1. Information about traders

    • (with permission anhyshop.trader.view)
    • This command is also available from the console
    • /shop list
    • Display a list of all traders with their details: <key>, <name>, and <number of trades>.
  2. Create a new trader

    • (with permission , "anhyshop.trader.create")
    • This command is also available from the console
    • /shop newt <name>
    • Creates a new trader with the name <name>, while generating a unique key for him.
  3. Remove trader

    • (with permission , "anhyshop.trader.delete")
    • This command is also available from the console
    • /shop delt <key>
    • Deletes an existing trader by its unique <key> key
  4. Rename trader

    • (with permission , "anhyshop.trader.rename")
    • This command is also available from the console
    • /shop rename <key> <new_name>
    • Finds a trader by its unique key <key> and assigns it a new name <new_name>
  5. Open trade inventory

    • (with permission , "anhyshop.trader.open")
    • This command is also available from the console
    • /shop open <key> <player_name>
    • Opens a trade for player <player_name> with trader <key>
  6. Trade by yourself

    • (with permission , "anhyshop.trader.trade")
    • /shop trade <key>
    • Opens a trade with trader <key>

Operations with goods:

(with permission anhyshop.product.*)
  1. Add a new trade

    • (with permission anhyshop.product.add)
    • /shop add <key>
    • To add a trade, you need to place items in slots 1, 2, 3 of your inventory, as in the screenshot below
    • Slots 1 and 2 are the price of the product, one of them may be missing
    • The 3rd slot is a product that is sold at the specified price
    • <key> is the trader's unique key 

    Work with traders


  2. Replace an existing trade

    • (with permission , "anhyshop.product.replace")
    • /shop replace <key>
    • To replace the product, the placement of items in the slots is similar to when adding.
    • If the product specified in slot 3 is found, its value will be changed to that specified in slots 1 and 2.
    • If the product specified in slot 3 is not found, it will be added.
    • <key> is the trader's unique key

  3. Delete an existing trade

    • (with permission , "anhyshop.product.remove")
    • /shop remove <key>
    • To remove a product from bidding, you need to place the specified product in slot 3, 1 and 2 are not needed.
    • <key> is the trader's unique key

Directory Structure

  • lang: Files with translations of plugin system messages and translations of trader names.
  • Files must have the name format: "xxx_[language_code].yml", for example, "shop_en.yml", files that do not meet the standard are not read.
  • Loading YAML content...


Expanded Functionality of AnhyShop Plugin Version 1.0.0

AnhyShop in version 1.0.0 introduces a new concept of "Sellers," which allow players to interactively trade with merchants through in-game objects. This enhances the trading experience by providing a more dynamic and convenient management of trading processes on the server.

Key Features of "Sellers":

  1. Mechanical Objects: Buttons, doors, levers are identified by their type and the exact coordinates of their location.
  2. Signs: Identification is based on the material type and the text displayed on the sign. Signs can be placed in different locations, but the text on them will determine a single "Seller."
  3. Mobs with Custom Names: Utilizes the type of mob and its unique name for identification. Only mobs with custom names can become "Sellers."
  4. Wandering Traders: All wandering traders, once linked, are recognized as one "Seller," allowing for a uniform change to their trading inventories.
  5. Villagers: Identified by profession and level. Creating a "Seller" from a villager of a specific profession and level replaces standard trade operations for all similar villagers.

Commands to Manage "Sellers":

Note: All the commands listed below are available only to players with the anhyshop.seller permission.

  • Creating a "Seller":
    • Command: /shop seller add <trader_key>
    • Description: Creates a "Seller" from the object the player is looking at, linking it to a selected trader using a unique key <trader_key>. The player must be within 5 blocks of the object.
  • Removing a "Seller":
    • Command: /shop seller remove <seller_id>
    • Description: Removes a "Seller" using its unique numerical identifier <seller_id>.
  • Viewing Information about a "Seller":
    • Command: /shop seller view <seller_id>
    • Description: Displays detailed information about the "Seller," including its type, location, linked trader, and identifier.
  • Listing All "Sellers":
    • Command: /shop seller list
    • Description: Displays a list of all existing "Sellers," with the ability to copy <seller_id> to the clipboard, simplifying the management of identifiers for further operations.

These updates significantly enhance player interactions with traders, providing greater control and customization options for trading processes on Minecraft servers.

Language Personalization:

Multilingual Functionality in AnhyShop with AnhyLibAPI and AnhyLingo Integration

AnhyShop transcends language barriers by leveraging the AnhyLibAPI and AnhyLingo libraries, bringing comprehensive multilingual support to administrative stores in Minecraft:

  1. System Messages Localization (AnhyLibAPI): The plugin's system messages are stored in shop_XX.yml files within the lang folder. Server administrators can add and customize translations for any language.

  2. Trader Names Translation (AnhyLibAPI): AnhyShop allows for the multilingual naming of traders. Assign a unique key as their name. Add translations in language files like traders_XX.yml.

  3. Multilingual Item Display in Trades (AnhyLingo): With AnhyLingo, trades involving multilingual items display these items in the player's chosen language.

AnhyShop's integration with AnhyLibAPI and AnhyLingo enhances usability across different languages and enriches the trading experience, making it inclusive and globally accessible.