С чего же мы хотим начать? Конечно с того, чтобы добавить свой блок, не так ли? Отлично, этим мы сейчас и займёмся. После всех действий у нас выйдет блок, который похож на камень.
Создание нового блока
- Создайте файл с именем BlockExample.java в папке src.
- Такой должна быть структура этого файла:
Скопировать в буфер
package net.minecraft.src; import java.util.Random; public class BlockExample extends Block < public BlockExample(int i, int j) < super(i, j, Material.rock); //j — текстура, i — ID блока, от материала зависят свойства блока. >>
- Замечательно. Нам осталось поместить блок в игру. Откройте файл Block.java
- Есть объявление переменных в конце файла? Добавьте туда строчку:
public static final Block example;
- После объявлений переменных, вы должны увидеть определения этих переменных. Добавьте туда эту строчку:
example = (new BlockExample(98, 1)).setHardness(1.5F).setResistance(10F).setStepSound(soundStoneFootstep);
Этот код создаст блок, который будет как камень.
Как СДЕЛАТЬ Свой Предмет в Майнкрафте | 1.15+
new BlockExample(98, 1) создает новый блок, первая цифра — ID блока (можно заменить своим, НО УНИКАЛЬНЫМ!). Вторая цифра присваивает блоку текстуру камня — 1.
setHardness(1.5F) — Твёрдость. 1.5 — Дело в том, что камень имеет аналогичную твёрдость.
setResistance(10F) — устойчивость к подрыву.
setStepSound(soundStoneFootstep) — звук шагов по блоку.
Мы только что создали новый блок. Правда ведь, чтобы использовать этот блок, нам нужно его сначала получить? Легко. Это может быть сделано с помощью мода Single Player Commands: «/give 98».
Добавление нового итема
С этим проблем не возникнет тоже, так как процесс аналогичный. Приступим.
- Создайте файл ItemExample.java в папке src.
- Такой должна быть структура этого файла:
Скопировать в буфер
package net.minecraft.src; public class ItemExample extends Item < public ItemFood(int i) < super(i); maxStackSize = 64; >public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer) < >>
- Замечательно. Нам осталось поместить блок в игру. Откройте файл Item.java
- Есть объявление переменных в конце файла? Добавьте туда строчку:
public static Item example = (new ItemExample(95)).setIconIndex(42);
Эта функция создаст новый предмет с id 256 + 95 и иконкой id 42. Поэтому он будет выглядеть, как знак.
Наш совет: посмотрите на код других блоков и итемов, это поможет вам добавить вашему детищу уникальные характеристики.
- Создание нового рецепта крафтинга
- Добавление своего блока/итема
- Добавляем блок/руду в генератор карты
Источник: xgm.guru
[Guide][1.9] Как делать новые Item’ы
⭐ СОЗДАНИЕ КАСТОМНЫХ ВЕЩЕЙ НА СЕРВЕРЕ | EXECUTABLE ITEMS — ОБЗОРЫ ПЛАГИНОВ #20
И так. Создание новых предметов базируется на их специальном зачаровании и эффектах, которые будут накладываться на того, кто их использует. Все такие предметы делятся на два типа: Броня и обычные предметы. Обычные предметы можно использовать как артефакты или для чего-то еще. А вот с броней интереснее.
Как делать броню я буду показывать на примере моего мода, а в частности на Нагруднике Левитации. Приступим. Для начала разберем предметы!
Создание предмета основывается на команде /testfor т.е. мы проверяем наличие предмета у игрока, а затем выполняем какие-либо команды. Давайте разберем селекторы и дата-тэги.
Возможные Дата-тэги:
Inventory — Селектор, обозначающий, что мы ищем именно предмет в инвентаре, а не какую-либо сущность
SelectedItemSlot — Проверяем, выбрал ли игрок заданный слот (1-9 хотбар)
Slot — Проверяет слот на наличие предмета
Затем добавляем сам предмет:
tag — Селектор дополнительных тэгов
id — ID предмета
ench — Зачарование
display — Селектор отображения
Name — Имя предмета
Lore — Описание
Damage — Поврежденность предмета
Все возможные селекторы и тэги я разобрал. Давайте напишем команду:
Команду не тестил, может не работать! Если это так, пишите в комментарии.
Командные блоки ставим по примеру прошлой новости про свои крафты (Первый — Цикличный, Безусловный, остальные — Цепные, Условные.)
После того как мы прописали команду /testfor в первый командный блок можем прописать в следующие командные блоки все, что захотите. Например, мой Нагрудник Левитации основан на /particle и /effect. Вы можете сделать что-то свое.
Что вышло: Эта команда проверяет, есть ли в первом слоте хотбара каменный меч. Если да, то передает сигнал.
Когда я делал свой Нагрудник Левитации, я использовал команды:
/patricle
/effect
Как это работает?
Если мы в воздухе (Проверяется командой /testforblock) то нам выдается эффект левитации на 1 секунду, и будет он выдаваться до тех пор, пока мы летаем. Чтобы опуститься я сделал систему с Shift’ом. Как это сделать:
Примерно так-вот и делаются новые вещи. Если вам что-то интересно либо я что-то не дописал, пишите в комментарии, я исправлю. Новость получилась не очень большой, так-как про новые предметы говорить особо нечего. Еще могу добавить, что ID зачарований предмета лучше ставить больше 100, тогда их не будет видно, и их можно будет использовать при крафте новых предметов.
На этом я закончу свой гайд.
Буду рад плюсам в репу. Ведь их уже никто не ставит :,(.
Оценивайте новость, Дамы и Господа!
Источник: ru-minecraft.ru
Создание предмета#
Всё! Вот так быстро и просто мы создали основной класс для регистрации предметов. Чтобы использовать наш предмет, где-то в моде, достаточно написать ItemsRegistry.KEY . Больше никаких манипуляций с классом не требуется, его не нужно прописывать в стадии загрузки игры. Хотелось бы ещё отметить то, что блоки всегда будут регистрироваться раньше, чем предметы!
Модель#
После последних обновлений Forge для 1.12.2, произошли некоторые изменения в регистрации моделей для блоков и предметов. Для удобства напишем метод registryModel в нашем классе ItemsRegistry .
Теперь пропишем в наш ранее созданный метод-обработчик registryModel(KEY) . Всё! Наша модель для предмета KEY зарегистрирована! Далее перейдём к самой модели! Мы должны создать модель предмета, вы можете создать как плоскую модель(примером может послужить яблоко), так и объёмную модель.
Создадим файл key.json и перенесём его в папку по данному пути src/main/resources/assets/tut/models/item .
Пропишем такой код для плоской модели:
«parent»: «item/generated», «textures»: «layer0»: «tut:items/key» > >
tut — modId мода. key — регистрируемое имя нашего предмета.
Если ваша текстура к модели берётся из самого Minecraft, то tut: (modId) прописывать не надо! Текстуру необходимо добавить по пути:
src/main/resources/assets/tut/textures/items
Запускаем игру и видим, что у нас получилось(на скриншотах объёмная модель):
Источник: mcmodding.ru