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 TypeFieldDescriptionprotected 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) -
Method Summary
Modifier and TypeMethodDescriptionit.unimi.dsi.fastutil.ints.Int2ObjectMap
<List<VillagerTrades.ItemListing>> getType()
-
Field Details
-
trades
-
type
-
-
Constructor Details
-
VillagerTradesEvent
public VillagerTradesEvent(it.unimi.dsi.fastutil.ints.Int2ObjectMap<List<VillagerTrades.ItemListing>> trades, VillagerProfession type)
-
-
Method Details
-
getTrades
-
getType
-