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

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем Про100 Я, 27 мар 2013.

Статус темы:
Закрыта.
  1. Автор темы
    Про100 Я

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

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

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Собственно там всё как выяснилось просто. Раз уж речь идёт о CameraObscura, то возьмем код прямо из него.

    Код:
        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);
     
    Vlado, Sanchez218, VaNnOrus и 3 другим нравится это.
Статус темы:
Закрыта.

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