本帖最后由 DJH666 于 2023-3-21 23:46 编辑 
前几天,我遇到了1.14无法使用空气与村民交易物品的问题。
但是
经过几日的冥思苦想,我终于找到了解决方法。
简单来说就是在玩家与村民互动时/give 给与玩家一个透明物品(用材质包改出来的),然后将需要的交易物品换成这个透明物品。
检测玩家和村民互动很简单,只需要一个十分简单的minecraft.custom:minecraft.talked_to_villager 计分板就行
然后给与玩家改过CustomModelData 的透明物品就行
至于玩家可能没有交易而导致的物品残留问题,只需使用一个简单的/schedule 命令延时执行一个清理玩家背包的函数就行。
基本可以实现从村民处凭空拿东西的效果。
前几天,我遇到了1.14无法使用空气与村民交易物品的问题。
但是
经过几日的冥思苦想,我终于找到了解决方法。
简单来说就是在玩家与村民互动时/give 给与玩家一个透明物品(用材质包改出来的),然后将需要的交易物品换成这个透明物品。
检测玩家和村民互动很简单,只需要一个十分简单的minecraft.custom:minecraft.talked_to_villager 计分板就行
然后给与玩家改过CustomModelData 的透明物品就行
至于玩家可能没有交易而导致的物品残留问题,只需使用一个简单的/schedule 命令延时执行一个清理玩家背包的函数就行。
基本可以实现从村民处凭空拿东西的效果。
未曾设想的道路(
但是假如背包满了怎么办?在执行schedule之前玩家丢出了物品怎么办?透明物品是基于什么物品改的?
但是假如背包满了怎么办?在执行schedule之前玩家丢出了物品怎么办?透明物品是基于什么物品改的?