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

Создание рецептов (выделено из темы: [FUN/MECH] CameraObscura v0.1.3 - Сейчас отсюда вылетит птичка)

Статус
Закрыто для дальнейших ответов.

Про100 Я

Активный участник
Пользователь
Баллы
63
Имя в Minecraft
Semior001
Уважаемый fromgate! Я видел ваш код для крафта в плагине CameraObscura. Не можете ли вы мне помочь его разжевать? Я изучил код, но не могу понять как там используются ЯЧЕЙКИ крафта. У меня есть предположения что вы обозночали их буквами, ну там кнопка на букву B, железный слиток на W и т.д....
Не могли бы вы меня осведомить (конечно же, если у меня правильное предположение на счет латинских букв), какую взаимосвязь имеют латинские буквы и ячейки крафта?
А также хочу попросить рассказать мне как настроить какой предмет выходит из крафта. Ну например у вашей камеры - часы...
 
Собственно там всё как выяснилось просто. Раз уж речь идёт о CameraObscura, то возьмем код прямо из него.

Java:
    public static void initRecipes(Obscura plg){
        ShapedRecipe camera = new ShapedRecipe (newCamera(plg));
        camera.shape("B  ","WRW","WGW");
        camera.setIngredient('B', Material.STONE_BUTTON);
        camera.setIngredient('W', Material.IRON_INGOT);
        camera.setIngredient('R', Material.DIODE);
        camera.setIngredient('G', Material.DIAMOND);
        plg.getServer().addRecipe(camera);

        ItemStack paperstack = newPhotoPaper (plg,3);
        ShapedRecipe paper = new ShapedRecipe (paperstack);
        paper.shape("III","RGB","PPP");
        paper.setIngredient('I', Material.INK_SACK);
        paper.setIngredient('R', Material.INK_SACK,1);
        paper.setIngredient('G', Material.INK_SACK,2);
        paper.setIngredient('B', Material.INK_SACK,4);
        paper.setIngredient('P', Material.PAPER);
        plg.getServer().addRecipe(paper);
    }

Начну с того как назначать результат рецепта. Собственно делается это сразу при создании объекта ShapedRecipe:

ShapedRecipe camera = new ShapedRecipe (newCamera(plg));

Здесь newCamera() - это метод, который возвращает ItemStack, соответственно создание рецепта можно наичинать и так:
ShapedRecipe camera = new ShapedRecipe (new ItemStack (id, количество, data));

Дальше тоже всё просто. Описываем рецепт (три строки из трёх символов каждая, описывают клетки верстака):
camera.shape("B ","WRW","WGW");
Буквы - можно использовать любые, потом этим буквам надо сопоставить реальный материал.

camera.setIngredient('B', Material.STONE_BUTTON);

Соответственно везде, где в рецепте прописана буква "B" необходимо будет использовать каменную кнопку.

Ну и после того как описали всё, добавляем рецепт на сервер:
plg.getServer().addRecipe(camera);
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх