村民交易 1.20.1 Forge 长线教程计划
本篇教程的视频
本篇教程的源代码
GitHub地址:TutorialMod-1.20.1-Forge-Trade
村民交易
在Forge这里,添加村民交易可以直接用事件监听来实现
所以我们这里直接来写
首先我们新建一个类ModCustomTrades,并加上@Mod.EventBusSubscriber注解,里面写上我们的MOD_ID
1 | .EventBusSubscriber(modid = TutorialMod.MOD_ID) |
然后我们来创建一个方法addTrades,并加上@SubscribeEvent注解,它使用的事件是VillagerTradesEvent
1 |
|
然后我们来写我们的交易
1 | if (event.getType() == VillagerProfession.FARMER) { |
首先使用event.getType()方法获取村民的职业
然后使用event.getTrades()方法获取村民的职业对应的交易列表
再使用trades.get(int)方法获取村民的职业对应的交易列表中对应等级的交易列表
最后使用add()方法添加交易
我们再来看看MerchantOffer的各参数:
- 玩家给村民的物品(用绿宝石买东西的话,绿宝石就写在第一个)
- 玩家从村民那里得到的物品
- 最大的交易次数
- 村民每次交易能获得的经验
- 玩家声誉值影响的折扣率
以此类推我们就能写其他的交易了
然后我们就可以启动游戏进行测试了
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Tomorrow-Land!








