public class VillagerTradesEvent extends Event
FMLServerAboutToStartEvent
. It is used to gather the trade lists for each profession.
It is fired on the MinecraftForge.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.func_221128_d(int)
which is called before attempting to level up.
To add trades to the merchant, simply add new trades to the list. BasicTrade
provides a default implementation.Event.HasResult, Event.Result
修飾子とタイプ | フィールドと説明 |
---|---|
protected it.unimi.dsi.fastutil.ints.Int2ObjectMap<java.util.List<VillagerTrades.ITrade>> |
trades |
protected VillagerProfession |
type |
コンストラクタと説明 |
---|
VillagerTradesEvent(it.unimi.dsi.fastutil.ints.Int2ObjectMap<java.util.List<VillagerTrades.ITrade>> trades,
VillagerProfession type) |
修飾子とタイプ | メソッドと説明 |
---|---|
it.unimi.dsi.fastutil.ints.Int2ObjectMap<java.util.List<VillagerTrades.ITrade>> |
getTrades() |
VillagerProfession |
getType() |
getListenerList, getParentListenerList, getPhase, getResult, hasResult, isCancelable, isCanceled, setCanceled, setPhase, setResult, setup
protected it.unimi.dsi.fastutil.ints.Int2ObjectMap<java.util.List<VillagerTrades.ITrade>> trades
protected VillagerProfession type
public VillagerTradesEvent(it.unimi.dsi.fastutil.ints.Int2ObjectMap<java.util.List<VillagerTrades.ITrade>> trades, VillagerProfession type)
public it.unimi.dsi.fastutil.ints.Int2ObjectMap<java.util.List<VillagerTrades.ITrade>> getTrades()
public VillagerProfession getType()