Class CTVillagerTrades
java.lang.Object
com.blamejared.crafttweaker.api.villager.CTVillagerTrades
- DocParam:
- this villagerTrades
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final List<ActionTradeBase>static final List<ActionTradeBase>static final CTVillagerTradesstatic booleanstatic final Map<Class<net.minecraft.world.entity.npc.VillagerTrades.ItemListing>,Function<net.minecraft.world.entity.npc.VillagerTrades.ItemListing, CTTradeObject>> UseICraftTweakerPlugin.registerVillagerTradeConverters(IVillagerTradeRegistrationHandler)to register custom trades to this list -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTrade(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.voidaddTrade(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.voidaddTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.entity.npc.VillagerTrades.ItemListing trade) Adds the specifiedVillagerTrades.ItemListingtrade.voidaddTrade(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.voidaddTrade(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.voidaddWanderingTrade(int rarity, int emeralds, net.minecraft.world.item.ItemStack forSale, int maxTrades, int xp) Adds a Wandering Trader Trade for emeralds for an Item.voidaddWanderingTrade(int rarity, IItemStack price, IItemStack forSale, int maxTrades, int xp) Adds a Wandering Trader Trade for emeralds for an Item.voidaddWanderingTrade(int rarity, net.minecraft.world.entity.npc.VillagerTrades.ItemListing trade) Adds the specificVillagerTrades.ItemListingtrade to the Wandering TradervoidremoveAllTrades(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel) Removes all the trades for the given profession and villagerLevelvoidremoveAllWanderingTrades(int rarity) Removes all wandering trades of the given rarityvoidremoveBasicTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack forSale, IItemStack price, IItemStack price2) Removes a `BasicTrade` Villager trade.voidremoveDyedArmorForEmeraldsTrade(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.voidremoveEmeraldForItemsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, net.minecraft.world.item.Item tradeFor) Removes a Villager trade for Emeralds for Items.voidremoveEnchantBookForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel) Removes a Villager trade for an Enchanted Book.voidremoveEnchantedItemForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack buyingItem) Removes a Villager trade for an Enchanted Item.voidremoveItemsAndEmeraldsToItemsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack sellingItem, IItemStack buyingItem) Removes a Villager trade for Emeralds and Items for Items.voidremoveItemsForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel, IItemStack sellingItem) Removes a Villager trade for Items for Emeralds.voidremoveSuspiciousStewForEmeraldTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel) Removes a Villager trade for Suspicious Stew.voidremoveTippedArrowForItemsAndEmeraldsTrade(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.voidremoveTrade(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.voidremoveTradesBuying(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.voidremoveTradesBuying(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.voidremoveTradesSelling(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.voidremoveTreasureMapForEmeraldsTrade(net.minecraft.world.entity.npc.VillagerProfession profession, int villagerLevel) Removes a Villager trade for a Map.voidremoveWanderingTrade(int rarity, IIngredient tradeFor) Removes a Wandering Trader trade for Emeralds for Items.voidremoveWanderingTrade(int rarity, IItemStack tradeFor) Deprecated, for removal: This API element is subject to removal in a future version.
-
Field Details
-
INSTANCE
-
ACTIONS_VILLAGER_TRADES
-
ACTION_WANDERING_TRADES
-
TRADE_CONVERTER
public static final Map<Class<net.minecraft.world.entity.npc.VillagerTrades.ItemListing>,Function<net.minecraft.world.entity.npc.VillagerTrades.ItemListing, TRADE_CONVERTERCTTradeObject>> UseICraftTweakerPlugin.registerVillagerTradeConverters(IVillagerTradeRegistrationHandler)to register custom trades to this list -
RAN_EVENTS
public static boolean RAN_EVENTS
-
-
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 specifiedVillagerTrades.ItemListingtrade.- 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 specificVillagerTrades.ItemListingtrade 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, 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
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`.
-
removeWanderingTrade(int, IIngredient)