Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Изменение крафта любого предмета

Метки:
Теги Теги
evants java

Ansl

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Ansl
Здраствуйте, форумчане. Не могли бы кто-то из вас кинуть кусок кода на изменение крафта любого предмета.
Пример: Воронка
Именно не модом, а плагином.
Знаю так можн
о
 
Удаляем крафты и добавляем свои.
Удаляем, наверное, как-то так (не проверял в действии):
Java:
        Material [] todelete = {[B]Material.HOPPER[/B], Material.ARROW, Material.BEACON}; // список предметов, которые нужно удалить
        Iterator<Recipe> recipes = getServer().recipeIterator();
        for(Iterator<Recipe> r = recipes; r.hasNext();){
            Recipe recipe = r.next();
            Material m = recipe.getResult().getType();
            for(Material mat:todelete){
                if(m.equals(mat))r.remove();
            }
        }

Добавляем, например, так (кусок из моего старого плагина):
Java:
 ItemStack Hopper = new ItemStack(Material.HOPPER, 1);
 PotionMeta meta = (PotionMeta)Cider.getItemMeta();
meta.setDisplayName("§6Сидр");
 meta.addCustomEffect (new PotionEffect(PotionEffectType.WATER_BREATHING, 100, 0 ,true);
Cider.setItemMeta(meta);
// карта крафта
ShapedRecipe CiderRecipe = new ShapedRecipe (Cider);
CiderRecipe.shape (new String[]{" S ", " A ", "WWW"});
CiderRecipe.setIngredient('W', Material.POTION);
CiderRecipe.setIngredient('A', Material.GOLDEN_APPLE);
CiderRecipe.setIngredient('S', Material.SUGAR);
Bukkit.addRecipe(CiderRecipe);
}

Без модов рецепты будут доступны только на сервере. И мод на книгу рецептов такие рецепты игрокам не покажет.

P.S. Удалить воронку - Material.HOPPER
 
Последнее редактирование:
Удаляем крафты и добавляем свои.
Удаляем, наверное, как-то так (не проверял в действии):
Java:
        Material [] todelete = {[B]Material.HOPPER[/B], Material.ARROW, Material.BEACON}; // список предметов, которые нужно удалить
        Iterator<Recipe> recipes = getServer().recipeIterator();
        for(Iterator<Recipe> r = recipes; r.hasNext();){
            Recipe recipe = r.next();
            Material m = recipe.getResult().getType();
            for(Material mat:todelete){
                if(m.equals(mat))r.remove();
            }
        }

Добавляем, например, так (кусок из моего старого плагина):
Java:
 ItemStack Hopper = new ItemStack(Material.HOPPER, 1);
 PotionMeta meta = (PotionMeta)Cider.getItemMeta();
meta.setDisplayName("§6Сидр");
 meta.addCustomEffect (new PotionEffect(PotionEffectType.WATER_BREATHING, 100, 0 ,true);
Cider.setItemMeta(meta);
// карта крафта
ShapedRecipe CiderRecipe = new ShapedRecipe (Cider);
CiderRecipe.shape (new String[]{" S ", " A ", "WWW"});
CiderRecipe.setIngredient('W', Material.POTION);
CiderRecipe.setIngredient('A', Material.GOLDEN_APPLE);
CiderRecipe.setIngredient('S', Material.SUGAR);
Bukkit.addRecipe(CiderRecipe);
}

Без модов рецепты будут доступны только на сервере. И мод на книгу рецептов такие рецепты игрокам не покажет.

P.S. Удалить воронку - Material.HOPPER
спасибо
 

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

Назад
Верх