Помогите Запрет всех ванильных крафтов

  • Автор темы Автор темы Sewix
  • Дата начала Дата начала

Sewix

Участник
Баллы
31
Можно ли как-то отключить все ванильные крафты в самом ядре то как? Если нет то с помощью какого плагина можно организовать
 
Можно ли как-то отключить все ванильные крафты в самом ядре то как? Если нет то с помощью какого плагина можно организовать
Код:
@EventHandler
    public void onCraft(CraftItemEvent event) {
        event.setCancelled(true);
    }
}
 
Код:
@EventHandler
    public void onCraft(CraftItemEvent event) {
        event.setCancelled(true);
    }
}
С таким же успехом можно и Bukkit.clearRecipes(), оно ещё и удалит рецепты из книги рецептов.
Только вот это запретит вообще все рецепты, а не только ванильные.
Если нужно именно ванильные, то должно быть примерно так:
PHP:
Iterator<Recipe> iterator = Bukkit.recipeIterator();
while (iterator.hasNext()) {
    Recipe recipe = iterator.next();
    if (!(recipe instanceof CraftingRecipe)) continue;
    CraftingRecipe craftingRecipe = (CraftingRecipe) recipe;
    if (!craftingRecipe.getKey().getNamespace().equals(NamespacedKey.MINECRAFT)) continue;
    iterator.remove();
}
Ну и молчу о том, что это раздел помощи, а не разработки.

Из готовых решений нашёл вот такое:
https://spigotmc.org/resources/disable-recipe.85786
https://spigotmc.org/resources/limitcrafting.12962
Сам не тестировал, но отзывы в основном положительные
 
Последнее редактирование:
Назад
Верх Низ