- Баллы
- 76
- Имя в Minecraft
- SiRiuS_OSiRiuS
СВОИ РЕЦЕПТЫ
Создание собственных рецептов и их регистрация при помощи Bukkit.
----------------------------------------------------------------------------------------
В этой теме мы покажем вам, как создавать рецепты для крафта своих предметов. Мы будем создавать изумрудный меч на основе алмазного.Создание собственных рецептов и их регистрация при помощи Bukkit.
----------------------------------------------------------------------------------------
Что вам понадобится
Сегодня нам понадобится класс, наследующий JavaPlugin, с наличием метода onEnable().
Переменные
Давайте начнём. В общей сложности нам понадобится 3 переменных в методе onEnable().
Java:
// Наша собственная переменная, которую мы будем изменять.
ItemStack item = new ItemStack(Material.DIAMOND_SWORD);
// Meta алмазного меча, где мы можем изменить имя и параметры предмета.
ItemMeta meta = item.getItemMeta();
// Мы проинициализируем следующую переменную после того, как сменим параметры меча
JavaScript:
// Давайте установим предмету название.
// Вместо символа "§" вы можете использовать ChatColor.<цвет>
meta.setDisplayName("§aИзумрудный меч");
// Установить meta меча на изменённую meta.
item.setItemMeta(meta);
// Добавить любое зачарование, чтобы сделать изумрудный меч особенным
// В этом случае мы добавляем зачарование, которое изменяет урон на пятый уровень
// 5 уровень представлен вторым параметром. Вы можете сменить его на всё, что совместимо с мечом
item.addEnchantment(Enchantment.DAMAGE_ALL, 5);
Отсюда начинается веселье. Здесь создаётся и используется наша третья переменная.
Java:
// Создаём переменную нашего рецепта
ShapedRecipe recipe = new ShapedRecipe(item);
// Здесь мы установим места. E и S могут обозначать что угодно, и символы могут быть любыми. Пробел означает отсутствие предмета в данной ячейке. Осторожно — чувствительно к регистру.
recipe.shape(" E ", " E ", " S ");
// Установим, что обозначают символы.
// E = Изумруд, S = Палка
recipe.setIngredient('E', Material.EMERALD);
recipe.setIngredient('S', Material.STICK);
// Наконец, добавим рецепт в рецепты Bukkit
Bukkit.addRecipe(recipe);
Всё готово!
Вот вы и завершили создание собственного рецепта.
Всё вместе должно выглядеть примерно так:
Java:
public void onEnable() {
// Наша собственная переменная, которую мы будем изменять.
ItemStack item = new ItemStack(Material.DIAMOND_SWORD);
// Meta алмазного меча, где мы можем изменить имя и параметры предмета.
ItemMeta meta = item.getItemMeta();
// Мы проинициализируем следующую переменную после того, как сменим параметры меча
// Установим предмету название.
// Вместо символа "§" вы можете использовать ChatColor.<цвет>
meta.setDisplayName("§aИзумрудный меч");
// Установить meta меча на изменённую meta.
item.setItemMeta(meta);
// Добаdить любое зачарование, чтобы сделать изумрудный меч особенным
// В этом случае мы добавляем зачарование, которое изменяет урон на пятый уровень
// 5 уровень представлен вторым параметром. Вы можете сменить его на всё, что совместимо с мечом
item.addEnchantment(Enchantment.DAMAGE_ALL, 5);
// Создаём переменную нашего рецепта
ShapedRecipe recipe = new ShapedRecipe(item);
// Здесь мы установим места. E и S могут обозначать что угодно, и символы могут быть любыми. Пробел означает отсутствие предмета в данной ячейке. Осторожно — чувствительно к регистру.
recipe.shape(" E ", " E ", " S ");
// Установим, что обозначают символы.
// E = Изумруд, S = Палка
recipe.setIngredient('E', Material.EMERALD);
recipe.setIngredient('S', Material.STICK);
// Наконец, добавим рецепт в рецепты Bukkit
Bukkit.addRecipe(recipe);
}
Вот правильный список import'ов:
Java:
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.*********ventory.ItemStack;
import org.*********ventory.ShapedRecipe;
import org.*********ventory.meta.ItemMeta;
Исходный ресурс взят из маленьких плагинов md-5 на GitHub:
https://github.com/md-5/SmallPlugin...word/src/main/java/net/md_5/EmeraldSword.java
Просьба уведомить в ЛС о наличии смысловых ошибок/ошибок в переводе или опечаток.
Последнее редактирование: