VTL ~ VillagerTradeLimiter [1.14 - 1.18.1] 1.5.0

~ Fix those pesky OP villager discounts! ~

  1. PretzelJohn
    Native Minecraft Version:
    1.16
    Tested Minecraft Versions:
    • 1.14
    • 1.15
    • 1.16
    • 1.17
    • 1.18
    Source Code:
    https://github.com/PretzelJohn/VillagerTradeLimiter
    Description

    VillagerTradeLimiter (VTL) is a simple plugin that can modify villager trades by limiting supply, discounts, and/or price increases, while keeping as much vanilla behavior as you desire.

    Please let me know if you have any issues or suggestions in the Discussion section, or...

    For even faster support, join my Discord server!
    [​IMG]


    Features
    • Set the maximum discount (%) players get from healing zombie villagers for all trades!
    • Set the maximum effect level of Hero of the Village, or disable the effect!
    • Set the maximum demand globally or for each trade (limits the price increase when a player makes the same trade too frequently)!
    • Set the maximum number of uses globally or for each trade (limits how many a player can buy each restock)!
    • Add per-player and/or per-villager trading cooldowns globally or for each trade
    • Set the item types and amounts of all 3 parts of a trade!
    • Disable villager trades entirely, per-world, or per-item!
    • Full control over which items are affected and by how much
    [​IMG]
    Commands
    • /vtl → shows a help message
    • /vtl reload → reloads config.yml
    • /vtl invsee → shows the inventory of the villager you're looking at
    • /vtl see <player> → shows the trade prices of another player

    Permissions

    • villagertradelimiter.* → to use /vtl and /vtl reload
    • villagertradelimiter.use → to use /vtl
    • villagertradelimiter.reload → to use /vtl reload
    • villagertradelimiter.invsee → to use /vtl invsee
    • villagertradelimiter.see → to use /vtl see <player>

    Compatibility

    This plugin is compatible with Bukkit, Spigot, and Paper servers.

    Known compatible plugins:
    • Custom Villager Modifications → LINK

    bStats

    VillagerTradeLimiter uses bStats to collect data on how this plugin is used. This helps me keep track of server and plugin versions. You can turn this off in the config by changing the following line in config.yml:
    Code (Text):
    bStats: false
    Click HERE to see the statistics for VillagerTradeLimiter!


    Default Config
    Code (Text):
    #---------------------------------------------------------------------------------#
    #                          VTL ~ VillagerTradeLimiter                             #
    #                                By: PretzelJohn                                  #
    #---------------------------------------------------------------------------------#


    #-------------------------------- GLOBAL SETTINGS --------------------------------#
    # This helps me keep track of what server versions are being used. Please leave this set to true.
    bStats: true

    # Database connection settings
    database:
      mysql: false
      host: 127.0.0.1
      port: 3306
      database: villagertradelimiter
      username: root
      password: root
      encoding: utf8
      useSSL: false

    # Add world names for worlds that you want to completely disable ALL villager trading. Set to [] to disable this feature.
    DisableTrading:
    - world_nether
    - world_the_end

    # The maximum level of the "Hero of the Village" (HotV) effect that a player can have. This limits HotV price decreases.
    #   * Set to -1 to disable this feature and keep vanilla behavior.
    #   * Set to a number between 0 and 5 to set the maximum HotV effect level players can have
    # For more information, see https://minecraft.fandom.com/wiki/Hero_of_the_Village#Price_decrement
    MaxHeroLevel: -1

    # The maximum discount (%) you can get from trading/healing zombie villagers. This limits reputation-based price decreases.
    #   * Set to -1.0 to disable this feature and keep vanilla behavior
    #   * Set to a number between 0.0 and 1.0 to limit the maximum discount a player can get. (NOTE: 30% = 0.3)
    #   * Set to a number above 1.0 to increase the maximum discount a player can get. (NOTE: 250% = 2.5)
    MaxDiscount: 0.3

    # The maximum demand for all items. This limits demand-based price increases.
    #   * Set to -1 to disable this feature and keep vanilla behavior
    #   * Set to 0 or higher to set the maximum demand for all items
    # WARNING: The previous demand cannot be recovered if it was higher than the MaxDemand.
    # For more information, see https://minecraft.fandom.com/wiki/Trading#Economics
    MaxDemand: -1

    # The maximum number of times a player can make any trade before a villager is out of stock.
    #   * Set to -1 to disable this feature and keep vanilla behavior
    #   * Set to 0 or higher to change the maximum number of uses for all items
    # For more information, see https://minecraft.fandom.com/el/wiki/Trading#Java_Edition
    MaxUses: -1

    # The per-player, per-trade cooldown in real-world time.
    # After a player makes a trade <MaxUses> times, the trade will be disabled for the player until the cooldown is over.
    #   * Set to 0 to disable this feature and keep vanilla behavior
    #   * Set to a number and interval to add a per-player, per-trade cooldown for all trades (see below)
    # A valid cooldown follows the <Number><Interval> format, such as 7d or 30s. The valid intervals are:
    #   * s = seconds (e.g. 30s)
    #   * m = minutes (e.g. 10m)
    #   * h = hours   (e.g. 1h)
    #   * d = days    (e.g. 3d)
    #   * w = weeks   (e.g. 2w)
    Cooldown: 0

    # The per-villager, per-trade cooldown in real-world time.
    # This is the same as Cooldown, but applies to a villager's restocking function
    #   * Set to 0 to disable this feature and keep vanilla behavior
    #   * Set to a number and interval to add a per-villager, per-trade cooldown for all trades (see below)
    Restock: 0


    #-------------------------------- PER-ITEM SETTINGS --------------------------------#
    # Override the global settings for individual items. To disable, set like this --> Overrides: none
    # To enable, add items below!
    #   * Enchanted books must follow the format: enchantment_name_level (ex: mending_1)
    #   * All other items must follow the format: item_name (ex: stone_bricks)
    # For each item you add, you can disable the trade (set Disabled: true), or override MaxDiscount and/or MaxDemand.
    Overrides:
      mending_1:
        MaxDiscount: 0.1
        MaxDemand: 36
      depth_strider_3:
        MaxDiscount: 0.6
      name_tag:
        MaxDiscount: -1.0
        MaxDemand: 60
        MaxUses: 2
        Cooldown: 7d
        Item1:
          Material: "book"
          Amount: 64
        Item2:
          Material: "ink_sac"
          Amount: 48
        Result:
          Material: "name_tag"
          Amount: 2
      clock:
        MaxDemand: 12
      paper:
        MaxUses: 1
        Restock: 1h

Recent Reviews

  1. xlxLoi
    xlxLoi
    5/5,
    Version: 1.5.0
    Thanks for the update fixing the dupe bug (: Very useful plugin, hard to find one that has balancing configurations rather than simply removing trading entirely!
  2. sonoffoe
    sonoffoe
    5/5,
    Version: 1.4.4
    I was looking for such a plugin for a long time and this one is amazing. Additionally, the developer is so friendly and helpful. I'd give 6 stars if I could :)
  3. cephalopoid_
    cephalopoid_
    5/5,
    Version: 1.4.4
    It's nice that there are such cool plugins from the same cool authors, and even for free)
  4. Snicko
    Snicko
    5/5,
    Version: 1.4.2
    Excellent plugin! Quick updates and open source is great. Thanks for making this!
    1. PretzelJohn
      Author's Response
      Thank you for your epic review, and THANK YOU for using VTL! Happy holidays! <3
  5. RuffNeck
    RuffNeck
    5/5,
    Version: 1.4.0
    This plugin is very good, it lacks some adjustments, but the result it proposes to do is something very satisfactory for most economy servers
    1. PretzelJohn
      Author's Response
      Thank you so much for the review! What kind of adjustments would you like to see in VTL? You can post your suggestions in the Discussion tab, or on our discord! Thanks again :)
  6. MelonHell
    MelonHell
    5/5,
    Version: 1.2.1
    Great plugin, I would love to see the ability to completely remove any item. For example, I would remove the option to buy Mending book
    1. PretzelJohn
      Author's Response
      Thank you for the kind review! Please post suggestions and issues in the discussion section in the future. I will add this feature ASAP!
  7. ValenGamerXD
    ValenGamerXD
    5/5,
    Version: 1.2.1
    Great plugin, idk if its possible but i would like the ability to disable trades in certain worlds
    1. PretzelJohn
      Author's Response
      Thank you for the 5-star review! In the future, please post issues or suggestions in the Discussion section, not the Review section.
  8. JoDo
    JoDo
    5/5,
    Version: 1.1.7
    Working! The economy on my server is saved. Fixed prices for all players, no discounts. No rewriting of villagers trades, just a simple adjustment of config.
    1. PretzelJohn
      Author's Response
      Thanks for taking the time to review VTL! I'm glad it saved your server's economy! If you need any support or have any suggestions, I'm just a click away!
  9. m100plis
    m100plis
    5/5,
    Version: 1.1.7
    Idk why it has so few downloads, awesome plugin. Great work :)
    .................
    1. PretzelJohn
      Author's Response
      That means alot! Thank you very much :D
  10. Cantibra
    Cantibra
    5/5,
    Version: 1.1.7
    Does what it should... Theres nothing else to say... Excellent work...
    I love it!