Содержание
Основа
Создадим класс для нашего предмета.
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 нужно создать и установить верстак.
Правила крафта:
- Для крафта нужно иметь определённые ингредиенты.
- Доски, каменный кирпич, песчаник и шерсть могут быть любого вида. Однако покрасить можно только белую шерсть.
- Ингредиенты должны быть расположены определённым образом друг относительно друга, за некоторыми исключениями. Если порядок в данном рецепте не важен, им можно воспользоваться и в инвентаре, если, конечно, все необходимые ингредиенты помещаются в сетку 2х2. Пример таких рецептов: красители, цветная шерсть, тушёные грибы, приготовленный паучий глаз, огненный шар.
- Расположение ингредиентов в сетке крафта не имеет значения. Например, факел можно скрафтить, поместив уголь над палкой в любом из 2 вариантов в сетке 2х2 или любом из 6 — для 3х3.
- За каждый крафт (за каждый щелчок по иконке результата) будет использован только один ингредиент из каждой ячейки. Если при этом зажать ⇧ Shift, будет сделано максимально возможное количество предметов.
- Если рецепт несимметричен относительно вертикальной оси, его можно сделать любым образом. Например, рецепт мотыги можно получить из рецепта лопаты добавлением материала как слева, так и справа. Рецепты, обладающие этим свойством: топор, мотыга, огниво, ножницы, ступени, удочка и лук.
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 | Добавлена классическая система крафта, как альтернатива упрощённой системе. |
См. также
- Плавка
- Зельеварение
- Зачарование
Игровой процесс
Просмотр: Шаблон:Игровой процесс/Содержимое