Создание предмета#

Основа

Создадим класс для нашего предмета.

public class ItemKey extends Item { public ItemKey() { this.setRegistryName(«key»); this.setUnlocalizedName(«key»); } }

  • setRegistryName(name) — задаёт регистрируемое имя для нашего предмета, т.е. данное имя будет зарегистрировано в игре и его нельзя будет уже использовать более. В игре будет отображаться как modid:*item_name*. Чтобы это увидеть нажмите сочетание клавиш F3+H
  • setUnlocalizedName(name) — задаёт локализованное имя для нашего предмета, т.е. чтобы нам сделать перевод имени для предмета мы задаём имя которое будет в конечном итоге выглядеть вот так item.*item_name*.name.

Регистрация

Создадим класс ItemsRegistry.

/* * Указывает ModId для других ObjectHolder в классе * Если не добавлять аннотацию над классом, то каждый раз придётся прописывать ModId вручную. * Подробнее см. https://mcforge.readthedocs.io/en/latest/concepts/registries/#injecting-registry-values-into-fields */ @ObjectHolder(«tut») @Mod.EventBusSubscriber// Автоматическая регистрация статичных обработчиков событий public class ItemsRegistry { /* * Получение предмета по ключу. Вы также можете использовать данную аннотацию для получения ванильных предметов * Если вы не добавляли аннотация над классом, то в таком случаи вам нужно прописать вместо `key` -> `tut:key` */ @ObjectHolder(«key») public static final Item KEY = null; /* * Начиная с 1.12 регистрацию предметов/блоков/моделей и т.п. следует проводить в специальном событии. * Событие Register<IForgeRegistryEntry> поддерживает регистрацию: Block, Item, Potion, Biome, SoundEvent, * PotionType, Enchantment, IRecipe, VillagerProfession, EntityEntry. * Обратите внимание! Метод является статичным, так как мы используем EventBusSubscriber */ @SubscribeEvent public static void onRegistryItem(RegistryEvent.Register<Item> e) { // Также вместо `register` можно использовать `registerAll`, чтобы прописать все предметы разом e.getRegistry().register(new ItemKey()); } /* * Начиная с 1.11 регистрацию моделей для предметов/блоков следует проводить в специальном событии. * Обратите внимание! Метод является статичным, так как мы используем EventBusSubscriber */ @SubscribeEvent @SideOnly(Side.CLIENT) public static void onRegistryModel(ModelRegistryEvent e) { // См. следующую часть данной главы } }

Всё! Вот так быстро и просто мы создали основной класс для регистрации предметов. Чтобы использовать наш предмет, где-то в моде, достаточно написать ItemsRegistry.KEY. Больше никаких манипуляций с классом не требуется, его не нужно прописывать в стадии загрузки игры. Хотелось бы ещё отметить то, что блоки всегда будут регистрироваться раньше, чем предметы!

Теперь можете запустить Minecraft и посмотреть свой предмет в живую. Чтобы получить предмет пропишите /give @p tut:key. Вместо tut у вас должен быть modId вашего мода! Вместо key у вас должно быть регистрируемое имя вашего предмета.

Модель

После последних обновлений Forge для 1.12.2, произошли некоторые изменения в регистрации моделей для блоков и предметов. Для удобства напишем метод registryModel в нашем классе ItemsRegistry.

@SideOnly(Side.CLIENT) private static void registryModel(Item item) { final ResourceLocation regName = item.getRegistryName();// Не забываем, что getRegistryName может вернуть Null! final ModelResourceLocation mrl = new ModelResourceLocation(regName, «inventory»); ModelBakery.registerItemVariants(item, mrl);// Регистрация вариантов предмета. Это нужно если мы хотим использовать подтипы предметов/блоков(см. статью подтипы) ModelLoader.setCustomModelResourceLocation(item, 0, mrl);// Устанавливаем вариант модели для нашего предмета. Без регистрации варианта модели, сама модель не будет установлена для предмета/блока(см. статью подтипы) }

Теперь пропишем в наш ранее созданный метод-обработчик 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) прописывать не надо! Текстуру необходимо добавить по пути:

Сетка для крафта 2×2 из инвентаряСетка для крафта 3×3 из верстака

Крафт (крафтинг, от англ. crafting) — это способ получения большей части существующих в Minecraft блоков и предметов. Крафт был добавлен в версии Indev.

Для того, чтобы скрафтить что-либо, игроку нужно определённым образом разместить в сетке крафта необходимые ресурсы.

В инвентаре игрок может воспользоваться сеткой крафта 2х2. Для работы с сеткой 3х3 нужно создать и установить верстак.

Правила крафта:

  1. Для крафта нужно иметь определённые ингредиенты.
  2. Доски, каменный кирпич, песчаник и шерсть могут быть любого вида. Однако покрасить можно только белую шерсть.
  3. Ингредиенты должны быть расположены определённым образом друг относительно друга, за некоторыми исключениями. Если порядок в данном рецепте не важен, им можно воспользоваться и в инвентаре, если, конечно, все необходимые ингредиенты помещаются в сетку 2х2. Пример таких рецептов: красители, цветная шерсть, тушёные грибы, приготовленный паучий глаз, огненный шар.
  4. Расположение ингредиентов в сетке крафта не имеет значения. Например, факел можно скрафтить, поместив уголь над палкой в любом из 2 вариантов в сетке 2х2 или любом из 6 — для 3х3.
  5. За каждый крафт (за каждый щелчок по иконке результата) будет использован только один ингредиент из каждой ячейки. Если при этом зажать ⇧ Shift, будет сделано максимально возможное количество предметов.
  6. Если рецепт несимметричен относительно вертикальной оси, его можно сделать любым образом. Например, рецепт мотыги можно получить из рецепта лопаты добавлением материала как слева, так и справа. Рецепты, обладающие этим свойством: топор, мотыга, огниво, ножницы, ступени, удочка и лук.

MATTIS

В карманном издании (при выборе планшетного интерфейса) используется другой тип крафта — MATTIS. Создание этого вида крафта обусловлено адаптацией для сенсорных экранов. В отличие от ПК версии при крафте не нужно выкладывать все ингредиенты в нужном порядке, так как они сами располагаются на нужных местах при выборе предмета. Все рецепты крафта выбираются из списка предметов.

  • Окно крафта в карманном издании до Alpha 0.9.0

  • Окно крафта в карманном издании после Alpha 0.9.0, сетка 2х2

  • Окно крафта в карманном издании после Alpha 0.9.0, сетка 3х3

Панель крафта в инвентаре и верстаке выглядит следующим образом: с правой стороны расположена сетка крафта, ниже неё есть кнопка создания предмета. С левой стороны расположен список блоков и предметов.

Основные рецепты

Основная статья: Крафт/Основное

Блоки

Основная статья: Крафт/Блоки

Инструменты

Основная статья: Шаблон:Инструменты

Оружие

Основная статья: Шаблон:Оружие

Броня

Основная статья: Крафт/Броня

Транспорт

Основная статья: Крафт/Транспортировка

Механизмы

Основная статья: Крафт/Механизмы

Еда

Основная статья: Крафт/Еда

Остальные рецепты

Основная статья: Крафт/Остальное

Красители

Основная статья: Крафт/Красители

Зельеварение и зачаровывание

Основная статья: Крафт/Зельеварение

История

Indev-версия Java Edition
29 января 2010 Крафт добавлен в игру.
Добавлен более управляемый инвентарь, необходимый для крафта.
Ранние рецепты включают в себя палки, кирки, факелы, мечи, топоры, а также золотые и железные блоки.
30 января 2010 Добавлено множество новых рецептов. С добавлением новых блоков и предметов в игру добавляются соответствующие им рецепты крафта.
Бета-версия Java Edition
1.2 Добавлены бесформенные рецепты.
1.8 Зажатие ⇧ Shift во время получения объекта крафта автоматически даёт максимальное количество объектов из имеющихся в сетке ингредиентов.
Официальный выпуск Java Edition
1.8 14w30a Добавлены фиксированные рецепты.
1.12 Добавлена книга рецептов.
Альфа-версия Pocket Edition
17 апреля 2012 Даниэль Каплан представил изображения системы крафта Minecraft Advanced Touch Technology Interface System (MATTIS).
0.3.0 Система крафта MATTIS добавлена в игру.
0.6.0 Добавлен камнерез.
0.9.0 build 1 Распределение блоков и предметов в окне крафта по категориям.
Окно крафта показывает только рецепты, доступные для крафта.
0.12.0 Добавлена классическая система крафта для Windows 10 издания
0.13.0 Удалён функционал камнереза. Рецепты, ранее доступные для него, перекочевали в стандартный интерфейс крафта.
0.14.0 build 1 Добавлена возможность доступа к системе крафта в творческом режиме.
Официальный выпуск Pocket Edition
1.0 build 1 Добавлена возможность доступа к классической системе крафта для мобильных устройств.
Официальный выпуск Bedrock Edition
1.2 beta 1.2.0.2 Система крафта MATTIS заменена классической системой крафта.
Добавлена книга рецептов для классической системы крафта.
Legacy Console Edition
TU1 CU1 1.00 Patch 1 NS Patch 1 Добавлена упрощённая система крафта для консолей.
TU25 CU14 1.17 Добавлена классическая система крафта, как альтернатива упрощённой системе.

См. также

  • Плавка
  • Зельеварение
  • Зачарование

Игровой процесс

Просмотр: Шаблон:Игровой процесс/Содержимое

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *