spad
本帖最后由 spad 于 2020-10-9 00:38 编辑
  1. @EventHandler
  2.     public void VillagerAcquireTradeEvent(VillagerAcquireTradeEvent e) {
  3.         Merchant mi = e.getEntity();
  4.         List<MerchantRecipe> recipes = new ArrayList<MerchantRecipe>();
  5.         MerchantRecipe recipe = new MerchantRecipe(new ItemStack(Material.DIAMOND, 64), 10);
  6.         recipe.addIngredient(new ItemStack(Material.STICK, 1));
  7.         recipes.add(recipe);
  8.         mi.setRecipes(recipes);
  9.     }
复制代码


VillagerAcquireTradeEvent  这个事件可以在生成村民交易配方时,修改/设置交易内容
可是修改之后都会留下一个原本的配方修改不掉 请问有没有大大知道怎麽解决?


William_Shi
https://bukkit.windit.net/javado ... pes-java.util.List-

This will not change the selected trades of players currently trading with this merchant.


你的代码触发时机是VillagerAcquireTradeEvent  
这个事件触发是需要进行交易的

按照wiki
https://wiki.biligame.com/mc/%E6 ... #.E4.BA.A4.E6.98.93
经过几次交易之后,村民会锁定交易并有概率开启一项新的交易。


这也就意味着,你在解锁交易时,仍然选中了一个交易。
而这个方法,不可以改变被玩家选中的交易。

Ray_Hughes
监听交易事件然后取消 换上自己的代理
完成
注: 我指的是构造一个新的交易页面

南柯郡守
https://github.com/Themeda/AnimalTrade

我的开源项目 有相关问题解决方式

如果照搬请注意开源协议

第一页 上一页 下一页 最后一页