Class VillagerTradesEvent
java.lang.Object
net.neoforged.bus.api.Event
net.neoforged.neoforge.event.village.VillagerTradesEvent
public class VillagerTradesEvent
extends net.neoforged.bus.api.Event
VillagerTradesEvent is fired during reload by
TagsUpdatedEvent
. It is used to gather the trade lists for each profession.
It is fired on the NeoForge.EVENT_BUS
.
It is fired once for each registered villager profession.
Villagers pick two trades from their trade map, based on their level.
Villager level is increased by successful trades.
The map is populated for levels 1-5 (inclusive), so Map#get will never return null for those keys.
Levels outside of this range do nothing, as specified by VillagerData.canLevelUp(int)
which is called before attempting to level up.
To add trades to the merchant, simply add new trades to the list. BasicItemListing
provides a default implementation.-
Field Summary
Modifier and TypeFieldDescriptionprivate final RegistryAccess
protected it.unimi.dsi.fastutil.ints.Int2ObjectMap
<List<VillagerTrades.ItemListing>> protected VillagerProfession
-
Constructor Summary
ConstructorDescriptionVillagerTradesEvent
(it.unimi.dsi.fastutil.ints.Int2ObjectMap<List<VillagerTrades.ItemListing>> trades, VillagerProfession type) Deprecated, for removal: This API element is subject to removal in a future version.VillagerTradesEvent
(it.unimi.dsi.fastutil.ints.Int2ObjectMap<List<VillagerTrades.ItemListing>> trades, VillagerProfession type, RegistryAccess registryAccess) -
Method Summary
Modifier and TypeMethodDescriptionit.unimi.dsi.fastutil.ints.Int2ObjectMap
<List<VillagerTrades.ItemListing>> getType()
-
Field Details
-
trades
-
type
-
registryAccess
-
-
Constructor Details
-
VillagerTradesEvent
@Deprecated(forRemoval=true, since="1.21.1") public VillagerTradesEvent(it.unimi.dsi.fastutil.ints.Int2ObjectMap<List<VillagerTrades.ItemListing>> trades, VillagerProfession type) Deprecated, for removal: This API element is subject to removal in a future version. -
VillagerTradesEvent
@Internal public VillagerTradesEvent(it.unimi.dsi.fastutil.ints.Int2ObjectMap<List<VillagerTrades.ItemListing>> trades, VillagerProfession type, RegistryAccess registryAccess)
-
-
Method Details
-
getTrades
-
getType
-
getRegistryAccess
-
VillagerTradesEvent(Int2ObjectMap, VillagerProfession, RegistryAccess)
instead