Class CTVillagerTrades

java.lang.Object
com.blamejared.crafttweaker.api.villager.CTVillagerTrades

@ZenRegister public class CTVillagerTrades extends Object
DocParam:
this villagerTrades
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final List<ActionTradeBase>
     
    static final List<ActionTradeBase>
     
    static final CTVillagerTrades
     
    static boolean
     
    static final Map<Class<net.minecraft.world.entity.npc.VillagerTrades.ItemListing>,Function<net.minecraft.world.entity.npc.VillagerTrades.ItemListing,CTTradeObject>>
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, int emeralds, net.minecraft.world.item.ItemStack forSale, int maxTrades, int xp, float priceMult)
    Adds a Villager Trade for emeralds for an Item.
    void
    addTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, BiFunction<net.minecraft.world.entity.Entity,Random,net.minecraft.world.item.trading.MerchantOffer> offerGenerator)
    Adds a new custom trade with the selling and buying items determined by the custom MerchantOffer generator.
    void
    addTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.entity.npc.VillagerTrades.ItemListing trade)
    Adds the specified VillagerTrades.ItemListing trade.
    void
    addTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.item.ItemStack input1, net.minecraft.world.item.ItemStack forSale, int maxTrades, int xp, float priceMult)
    Adds a Villager Trade for an Item for an Item.
    void
    addTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.item.ItemStack input1, net.minecraft.world.item.ItemStack input2, net.minecraft.world.item.ItemStack forSale, int maxTrades, int xp, float priceMult)
    Adds a Villager Trade for two Items for an Item.
    void
    addWanderingTrade(int rarity, int emeralds, net.minecraft.world.item.ItemStack forSale, int maxTrades, int xp)
    Adds a Wandering Trader Trade for emeralds for an Item.
    void
    addWanderingTrade(int rarity, IItemStack price, IItemStack forSale, int maxTrades, int xp)
    Adds a Wandering Trader Trade for emeralds for an Item.
    void
    addWanderingTrade(int rarity, net.minecraft.world.entity.npc.VillagerTrades.ItemListing trade)
    Adds the specific VillagerTrades.ItemListing trade to the Wandering Trader
    void
    removeAllTrades(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel)
    Removes all the trades for the given profession and villagerLevel
    void
    Removes all wandering trades of the given rarity
    void
    removeBasicTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack forSale, IItemStack price, IItemStack price2)
    Removes a `BasicTrade` Villager trade.
    void
    removeDyedArmorForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.item.Item buyingItem)
    Removes a Villager trade for Items for Dyed leather armor.
    void
    removeEmeraldForItemsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.item.Item tradeFor)
    Removes a Villager trade for Emeralds for Items.
    void
    removeEnchantBookForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel)
    Removes a Villager trade for an Enchanted Book.
    void
    removeEnchantedItemForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack buyingItem)
    Removes a Villager trade for an Enchanted Item.
    void
    removeItemsAndEmeraldsToItemsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack sellingItem, IItemStack buyingItem)
    Removes a Villager trade for Emeralds and Items for Items.
    void
    removeItemsForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack sellingItem)
    Removes a Villager trade for Items for Emeralds.
    void
    removeSuspiciousStewForEmeraldTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel)
    Removes a Villager trade for Suspicious Stew.
    void
    removeTippedArrowForItemsAndEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack potionStack, net.minecraft.world.item.Item sellingItem)
    Removes a Villager trade for Items for an Item with a PotionEffect.
    void
    removeTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IIngredient buying, IIngredient selling, IIngredient secondBuying)
    Removes the specified trade for the given profession and villagerLevel.
    void
    removeTradesBuying(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IIngredient buying)
    Removes all trades that have the specified item as the buying item for the given profession and villagerLevel.
    void
    removeTradesBuying(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IIngredient buying, IIngredient secondBuying)
    Removes all trades that have the specified items as the buying items for the given profession and villagerLevel.
    void
    removeTradesSelling(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IIngredient selling)
    Removes all trades that sell the specified item for the given profession and villagerLevel.
    void
    removeTreasureMapForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel)
    Removes a Villager trade for a Map.
    void
    removeWanderingTrade(int rarity, IIngredient tradeFor)
    Removes a Wandering Trader trade for Emeralds for Items.
    void
    removeWanderingTrade(int rarity, IItemStack tradeFor)
    Deprecated, for removal: This API element is subject to removal in a future version.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • CTVillagerTrades

      public CTVillagerTrades()
  • Method Details

    • addTrade

      public void addTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, BiFunction<net.minecraft.world.entity.Entity,Random,net.minecraft.world.item.trading.MerchantOffer> offerGenerator)
      Adds a new custom trade with the selling and buying items determined by the custom MerchantOffer generator. The function will only run when the villager resolves the trade.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      offerGenerator - A generator method to make a new MerchantOffer.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, offerGenerator (entity, random) => { return new MerchantOffer(<item:minecraft:dirt>, <item:minecraft:diamond>, 16, 0, 5); }
    • addTrade

      public void addTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, int emeralds, net.minecraft.world.item.ItemStack forSale, int maxTrades, int xp, float priceMult)
      Adds a Villager Trade for emeralds for an Item. An example being, giving a villager 2 emeralds for an arrow.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      emeralds - The amount of Emeralds.
      forSale - What ItemStack is being sold (by the Villager).
      maxTrades - How many times can this trade be done.
      xp - How much Experience is given by trading.
      priceMult - When this trade is discounted, how much should it be discounted by.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, emeralds 16, forSale <item:minecraft:diamond>, maxTrades 5, xp 2, priceMult 0.05
    • addTrade

      public void addTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.item.ItemStack input1, net.minecraft.world.item.ItemStack forSale, int maxTrades, int xp, float priceMult)
      Adds a Villager Trade for an Item for an Item. An example being, giving a villager 2 diamonds for an arrow.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      input1 - The ItemStack that is being given to the Villager.
      forSale - What ItemStack is being sold (by the Villager).
      maxTrades - How many times can this trade be done.
      xp - How much Experience is given by trading.
      priceMult - When this trade is discounted, how much should it be discounted by.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, input1 <item:minecraft:dirt> * 16, forSale <item:minecraft:diamond>, maxTrades 5, xp 2, priceMult 0.05
    • addTrade

      public void addTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.item.ItemStack input1, net.minecraft.world.item.ItemStack input2, net.minecraft.world.item.ItemStack forSale, int maxTrades, int xp, float priceMult)
      Adds a Villager Trade for two Items for an Item. An example being, giving a villager 2 diamonds and 2 dirt for an arrow.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      input1 - The main ItemStack that is being given to the Villager.
      input2 - The secondary ItemStack that is being given to the Villager.
      forSale - What ItemStack is being sold (by the Villager).
      maxTrades - How many times can this trade be done.
      xp - How much Experience is given by trading.
      priceMult - When this trade is discounted, how much should it be discounted by.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, input1 <item:minecraft:diamond> * 2, input2 <item:minecraft:dirt> * 2, forSale <item:minecraft:arrow>, maxTrades 5, xp 2, priceMult 0.05
    • addTrade

      public void addTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.entity.npc.VillagerTrades.ItemListing trade)
      Adds the specified VillagerTrades.ItemListing trade.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      trade - The trade to add.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, trade TreasureMapForEmeralds.create(1, <resource:minecraft:ruined_portal>, "display Name", <constant:minecraft:world/map/decorationtype:mansion>, 16, 8)
    • removeBasicTrade

      public void removeBasicTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack forSale, IItemStack price, IItemStack price2)
      Removes a `BasicTrade` Villager trade. `BasicTrades` are trades that allow any item, to any other item. It is only really used for mod recipes and is not used for any vanilla villager trade.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      forSale - What ItemStack is being sold (by the Villager).
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, forSale <item:minecraft:arrow>, price <item:minecraft:stick>, price2 <item:minecraft:emerald>
    • removeEmeraldForItemsTrade

      public void removeEmeraldForItemsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.item.Item tradeFor)
      Removes a Villager trade for Emeralds for Items. An example being, giving a villager 20 Wheat and getting an Emerald from the villager.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      tradeFor - What ItemStack is being sold (by the Villager).
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, tradeFor <item:minecraft:potato>.definition
    • removeItemsForEmeraldsTrade

      public void removeItemsForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack sellingItem)
      Removes a Villager trade for Items for Emeralds. An example being, giving a villager an Emerald and getting 4 Pumpkin Pies from the villager.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      sellingItem - What ItemStack is being given to the Villager.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, sellingItem <item:minecraft:apple>
    • removeItemsAndEmeraldsToItemsTrade

      public void removeItemsAndEmeraldsToItemsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack sellingItem, IItemStack buyingItem)
      Removes a Villager trade for Emeralds and Items for Items. An example being, giving a villager 6 uncooked Cod and an Emerald and getting back 6 Cooked Cod.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      sellingItem - What ItemStack is being given to the Villager.
      buyingItem - The item that the Villager is selling.
      DocParam:
      profession <profession:minecraft:fisherman>, villagerLevel 1, sellingItem <item:minecraft:cooked_cod>, buyingItem <item:minecraft:cod>
    • removeTippedArrowForItemsAndEmeraldsTrade

      public void removeTippedArrowForItemsAndEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack potionStack, net.minecraft.world.item.Item sellingItem)
      Removes a Villager trade for Items for an Item with a PotionEffect. An example being, giving a villager an Arrow and an Emerald and getting a Tipped Arrow with night vision.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      potionStack - The base ItemStack that a random potion effect will be applied to. E.G. A tipped Arrow with no effect applied.
      sellingItem - What ItemStack is being given to the Villager.
      DocParam:
      profession <profession:minecraft:fletcher>, villagerLevel 1, potionStack <item:minecraft:tipped_arrow>, sellingItem <item:minecraft:arrow>
    • removeDyedArmorForEmeraldsTrade

      public void removeDyedArmorForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.item.Item buyingItem)
      Removes a Villager trade for Items for Dyed leather armor. An example being, giving a villager Leather Leggings and 3 Emeralds and getting a Blue Dyed Leather Leggings.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      buyingItem - The base ItemStack that a random Dye colour will be applied to. E.G. A leather chestplate with no effect applied.
      DocParam:
      profession <profession:minecraft:leatherworker>, villagerLevel 1, buyingItem <item:minecraft:leather_chestplate>
    • removeTreasureMapForEmeraldsTrade

      public void removeTreasureMapForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel)
      Removes a Villager trade for a Map. An example being, giving a villager 13 Emeralds and getting a Map to a structure.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      DocParam:
      profession <profession:minecraft:cartographer>, villagerLevel 1
    • removeEnchantBookForEmeraldsTrade

      public void removeEnchantBookForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel)
      Removes a Villager trade for an Enchanted Book. An example being, giving a villager Emeralds and getting an Enchanted Book with a random Enchantment.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      DocParam:
      profession <profession:minecraft:librarian>, villagerLevel 1
    • removeEnchantedItemForEmeraldsTrade

      public void removeEnchantedItemForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack buyingItem)
      Removes a Villager trade for an Enchanted Item. An example being, giving a villager 3 Emeralds and getting an Enchanted Pickaxe.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      buyingItem - The ItemStack that the Villager is selling (including any NBT).
      DocParam:
      profession <profession:minecraft:armorer>, villagerLevel 1, buyingItem <item:minecraft:diamond_boots>
    • removeSuspiciousStewForEmeraldTrade

      public void removeSuspiciousStewForEmeraldTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel)
      Removes a Villager trade for Suspicious Stew. An example being, giving a villager an Emerald and getting a bowl of Suspicious Stew back.
      Parameters:
      profession - What profession this trade should be for.
      villagerLevel - The level the Villager needs to be.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1
    • removeAllTrades

      public void removeAllTrades(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel)
      Removes all the trades for the given profession and villagerLevel
      Parameters:
      profession - hat profession to remove from.
      villagerLevel - The level the Villager needs to be.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1
    • removeTrade

      public void removeTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IIngredient buying, IIngredient selling, IIngredient secondBuying)
      Removes the specified trade for the given profession and villagerLevel.
      Parameters:
      profession - That profession to remove from.
      villagerLevel - The level the Villager needs to be.
      buying - The first item that you are giving to the villager.
      selling - The item that the villager is selling to you.
      secondBuying - The second item that you are giving to the villager. Will default to air if not provided.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, buying <item:minecraft:potato>, selling <item:minecraft:emerald>, secondBuying <item:minecraft:air>
    • removeTradesSelling

      public void removeTradesSelling(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IIngredient selling)
      Removes all trades that sell the specified item for the given profession and villagerLevel.
      Parameters:
      profession - That profession to remove from.
      villagerLevel - The level the Villager needs to be.
      selling - The item that the villager is selling to you.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, selling <item:minecraft:emerald>
    • removeTradesBuying

      public void removeTradesBuying(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IIngredient buying)
      Removes all trades that have the specified item as the buying item for the given profession and villagerLevel.
      Parameters:
      profession - That profession to remove from.
      villagerLevel - The level the Villager needs to be.
      buying - The first item that you are giving to the villager.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, buying <item:minecraft:potato>
    • removeTradesBuying

      public void removeTradesBuying(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IIngredient buying, IIngredient secondBuying)
      Removes all trades that have the specified items as the buying items for the given profession and villagerLevel.
      Parameters:
      profession - That profession to remove from.
      villagerLevel - The level the Villager needs to be.
      buying - The first item that you are giving to the villager.
      secondBuying - The second item that you are giving to the villager. Will default to air if not provided.
      DocParam:
      profession <profession:minecraft:farmer>, villagerLevel 1, buying <item:minecraft:potato>, secondBuying <item:minecraft:air>
    • addWanderingTrade

      public void addWanderingTrade(int rarity, net.minecraft.world.entity.npc.VillagerTrades.ItemListing trade)
      Adds the specific VillagerTrades.ItemListing trade to the Wandering Trader
      Parameters:
      rarity - The rarity of the Trade. Valid options are `1` or `2`. A Wandering Trader can only spawn with a single trade of rarity `2`.
      trade - The trade to add.
      DocParam:
      rarity 1, trade TreasureMapForEmeralds.create(1, <resource:minecraft:ruined_portal>, "display Name", <constant:minecraft:world/map/decorationtype:mansion>, 16, 8)
    • addWanderingTrade

      public void addWanderingTrade(int rarity, int emeralds, net.minecraft.world.item.ItemStack forSale, int maxTrades, int xp)
      Adds a Wandering Trader Trade for emeralds for an Item. An example being, giving a Wandering Trader 2 emeralds for an arrow.
      Parameters:
      rarity - The rarity of the Trade. Valid options are `1` or `2`. A Wandering Trader can only spawn with a single trade of rarity `2`.
      emeralds - The amount of Emeralds.
      forSale - What ItemStack is being sold (by the Wandering Trader).
      maxTrades - How many times can this trade be done.
      xp - How much Experience is given by trading.
      DocParam:
      rarity 1, emeralds 16, forSale <item:minecraft:diamond>, maxTrades 16, xp 2
    • addWanderingTrade

      public void addWanderingTrade(int rarity, IItemStack price, IItemStack forSale, int maxTrades, int xp)
      Adds a Wandering Trader Trade for emeralds for an Item. An example being, giving a Wandering Trader 2 emeralds for an arrow.
      Parameters:
      rarity - The rarity of the Trade. Valid options are `1` or `2`. A Wandering Trader can only spawn with a single trade of rarity `2`.
      price - The ItemStack being given to the Wandering Trader.
      forSale - What ItemStack is being sold (by the Wandering Trader).
      maxTrades - How many times can this trade be done.
      xp - How much Experience is given by trading.
      DocParam:
      rarity 1, price <item:minecraft:dirt>, forSale <item:minecraft:diamond>, maxTrades 16, xp 2
    • removeWanderingTrade

      @Deprecated(forRemoval=true) public void removeWanderingTrade(int rarity, IItemStack tradeFor)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Removes a Wandering Trader trade for Emeralds for Items. An example being, giving a Wandering Trader 2 Emeralds for an Arrow.
      Parameters:
      rarity - The rarity of the Trade. Valid options are `1` or `2`. A Wandering Trader can only spawn with a single trade of rarity `2`.
      tradeFor - What ItemStack is being sold (by the Villager).
      DocParam:
      rarity 2, tradeFor <item:minecraft:arrow>
    • removeWanderingTrade

      public void removeWanderingTrade(int rarity, IIngredient tradeFor)
      Removes a Wandering Trader trade for Emeralds for Items. An example being, giving a Wandering Trader 2 Emeralds for an Arrow.
      Parameters:
      rarity - The rarity of the Trade. Valid options are `1` or `2`. A Wandering Trader can only spawn with a single trade of rarity `2`.
      tradeFor - What ItemStack is being sold (by the Villager).
      DocParam:
      rarity 2, tradeFor <item:minecraft:arrow>
    • removeAllWanderingTrades

      public void removeAllWanderingTrades(int rarity)
      Removes all wandering trades of the given rarity
      Parameters:
      rarity - The rarity of the Trade. Valid options are `1` or `2`. A Wandering Trader can only spawn with a single trade of rarity `2`.