1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как создать трейд-инвентаря Жителя (Merchant)

Тема в разделе "Разработка плагинов для новичков", создана пользователем clysic, 9 сен 2019.

  1. Автор темы
    clysic

    clysic Новичок Пользователь

    Баллы:
    11
    Спешу собственно я к вам с интереснейшим вопросом, ответ на который не нашёл на просторах интернета: не нашёл ни единого какого-нибудь гайда по созданию трейд-инвентаря Жителя или как он назван в bukkit Merchant.
    Код:
     public void MS(Merchant m) {
             m = Bukkit.createMerchant("test");
         }
    // Что дальше врубиться не могём
    Что дальше создания самого мерча - пока хз :D.
    Если у кого-то был опыт, то буду весьма благодарен за выручку.
     
  2. CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    https://github.com/redwallhp/VillagerUtils
    Код:
    Player player = (Player) sender;
    Villager target = VillagerHelper.getVillagerInLineOfSight(player);
    MerchantRecipe recipe = plugin.getTradeWorkspace().get(player.getUniqueId());
    List<MerchantRecipe> recipes = new ArrayList<MerchantRecipe>();
    recipes.addAll(target.getRecipes());
    recipes.add(recipe);
    target.setRecipes(recipes);
    
    Это в случае, если используется одна из последних версий api.
     
  3. Автор темы
    clysic

    clysic Новичок Пользователь

    Баллы:
    11
    А без api?
     
    Последнее редактирование: 9 сен 2019
  4. CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    Xezard
  5. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Код:
            Villager villager = VillagerNMS.createVillager(world);
            MerchantRecipe recipe = new MerchantRecipe(stack1, maxUses);
            recipe.addIngredient(stack2);
            recipe.addIngredient(stack3);
            villager.getRecipes().add(recipe);
            player.openMerchant(villager, true);
    VillagerNMS.createVillager(world); фейковый торговец. Код с NMS не покажу, тут уникумы негадуют на форуме.
     
    Последнее редактирование: 10 сен 2019

Поделиться этой страницей