С чего же мы хотим начать? Конечно с того, чтобы добавить свой блок, не так ли? Отлично, этим мы сейчас и займёмся. После всех действий у нас выйдет блок, который похож на камень.
Создание нового блока
- Создайте файл с именем 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);
Этот код создаст блок, который будет как камень.
Как создать свой 3D блок для minecraft в MCreator
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
Создание блока#
Вы так же можете вынести Material в параметр конструктора, чтобы можно было задавать разные материалы для других блоков.
Как Добавить СВОЙ Блок в Майнкрафт | 1.15+
Регистрация#
Создадим класс BlocksRegister.
- setRegister(block) — данный метод будет регистрировать наш блок
- setRender(block) — данный метод будет регистрировать модель для нашего блока
Возможно вы заметили, что в методе setRegister появился ещё один регистратор в виде предмета. Начиная с 1.9 версии Minecraft, блоки регистрируются в два этапа. Первый этап это сам блок, который ставится и блок в виде предмета.
Нам нужно добавить в CommonProxy, в метод preInit такую строку кода BlocksRegister.register(); .
Модель#
Для начала добавим такой код в BlocksRegister, в метод setRender
Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(Item.getItemFromBlock(block), 0, new ModelResourceLocation(block.getRegistryName(), «inventory»));
Создадим файл best_stone.json . По пути:
└── src └── main └── resources └── assets └── tut └── blockstates
«variants»: «normal»: «model»: «tut:best_stone» > > >
Теперь Вы должны создать тип рендера блока, Вы можете создать как стандартный тип рендера блока, примером может послужить камень, так и тип рендера в виде модели. Вот пример стандартного типа рендера:
«parent»: «block/cube_all», «textures»: «all»: «tut:blocks/best_stone» > >
Название файла должно быть таким же как и в blockstates -> best_stone , в переменной model !
Теперь Вам надо создать best_stone.json . По пути:
└── src └── main └── resources └── assets └── tut └── models └── item
«parent»: «tut:block/best_stone» >
В этом файле будет хранится информация о состояниях блоков. (Подробнее про состояние блоков, вы сможете прочитать в следующей статье)
Если ваша текстура к модели берётся из самого Minecraft, то tut: (modid) прописывать не надо! В примере с объёмной моделью я решил использовать текстуру камня из Minecraft.
tut — modid нашего мода. best_stone — регистрируемое имя нашего блока.
Когда ваша модель готово, добавьте её по пути:
└── src └── main └── resources └── assets └── tut └── models └── block
Добавим в ClientProxy, в метод init такой код BlocksRegister.registerRender(); .
И вот, что в конечном итоге у нас может получится.
Источник: mcmodding.ru
Как использовать блок-конструктор в Minecraft 1.10
Данное пошаговое руководство по использованию блока-конструтора (многие его называют структурным блоком, якобы от англ. structure block) расскажет о его использовании для клонирования любых конструкций в Minecraft 1.10.
Последняя версия игры предлагает разработчикам карт и простым игрокам новый блок-конструктор, который служит для сохранения и загрузки любых структур на карте. По своему предназначению он чем-то напоминает командный блок.
Надпись однозначно определяет название нового типа блоков.
Он предназначен, по сути, для обеспечения сохранения готовой конструкций в файл, чтобы потом её можно было использовать много раз на разных картах.
- Применение блока-конструктора;
- Как использовать его для клонирования зданий (пошаговый пример);
Применение блока-конструктора в Minecraft 1.10
В Minecraft 1.10 у этого блока имеется четыре режима: режим сохранения, загрузки, угловой режим и режим данных (именно этот режим ставится по-умолчанию). Эти четыре варианта работают вместе для сохранения структуры в файл и загрузки из файла. Это позволяет сохранить построенную игроком конструкцию, вроде дома. Затем можно многократно разместить этот дом в любом игровом мире.
Таким образом, по сути, речь идёт о шаблоне сохранения и копирования. При размещении сохранённой конструкции её можно поворачивать и размещать зеркально, оставлять предметы внутри или избавляться от них одним кликом.
Конструкция сохраняется в файл, и даже если мир Minecraft откуда она скопирована будет удалён, вы можете вставить её из файла в любое место другого мира.
Впервые эти блоки появились в Майнкрафт 1.9 и были доступны только разработчикам. Выглядели они тогда немного иначе и их называли структурными. Сейчас их могут использовать обычные игроки, а выглядят они так (кликните на изображения для просмотра в полном размере):
Режимы блока-конструктора в Minecraft 1.10 | ||
![]() |
Сохранение | Сохраняет конструкцию в файл. Вы можете задать её координаты самостоятельно, или автоматически определить их с использованием угловых блоков |
![]() |
Загрузка | Загружает сохраненную конструкцию из файла и размещает её в указанном месте |
![]() |
Угол | Используется для обозначения границ сохраняемого объекта |
![]() |
Данные | Применяется для указании информации о содержимом копируемого объекта. Например, для обозначения сундуков и разных предметов, использующих дополнительные теги |
Овца справа пришла посмотреть, чем я тут занимаюсь.
Как использовать блок-конструктор
Его нет в меню творческого режима игры. Поэтому получить его можно с помощью команды /setblock или дать его игроку командой /give через консоль (по умолчанию вызывается клавишей «T»). Это можно сделать так:
/give имя_пользователя minecraft:structure_block
Этой командой мы даём игроку atombox блок-конструктор.
Клонирование любого здания можно условно разделить на три шага:
- Выбор конструкции;
- Сохранение этой конструкции в файл;
- Вставка сохранённой конструкции из файла в нужное место.
В каждом шаге используется свой тип блока-конструктора.
Шаг 1: Использование углового режима для выбора структуры
Например, вы хотите скопировать маленький дом из деревни NPC и потом использовать его где угодно на своих картах.
Поместите блок-конструктор на нижний угол дома так, чтобы ни одна плоскость дома не пересекала плоскость блока:
Необходимо разместить его ниже уровня конструкции, чтобы они не пересекались: ниже увидите почему. Поставим его в земле.
Теперь откройте графический интерфейс блока правой кнопкой мыши и перейдите в режим угла. Для этого в открывшемся окне несколько раз нажмите кнопку «Д», пока не откроете нужный режим.
Название кнопки будет изменяться в зависимости от того, в каком режиме находится настраиваемый блок-конструктор.
Перейдя на режим «Угол», дайте выбранной конструкции название вроде «дом»:
Имена на русском прекрасно работают.
В диагональном направлении от первого углового блока разместите второй блок по тому же принципу.
Снова перейдите в угловой режим и дайте второму блоку то же название «дом». Имена блоков-конструкторов одного копируемого объекта должны совпадать.
Шаг 2: Сохранение выбранного объекта
Радом с выделенной конструкцией поместите новый блок-конструктор:
Откройте его графический интерфейс и перейдите в режим сохранения, нажатием всё той же кнопки с «Д».
Название должно совпадать, так как этот блок определяет координаты объекта, отмеченного двумя угловыми блоками.
После присвоения имени нажмите кнопку «Определить» и у дома появится трёхмерный контур, содержащий его целиком.
Контур начинается от угла первого углового блока на земле и идёт до второго углового блока в воздухе. Если поместить первый угол на земле, то дом останется без фундамента.
Если вы хотите видеть невидимые блоки, которые обозначают пустые места в получившемся контуре, то нажмите «Показать невидимые блоки».
Визуально удобно, когда копируется сложный объект. Или когда рядом много посторонних элементов.
Теперь снова отрываем интерфейс третьего блока-конструктора и жмём «Сохранить». Наш дом будет сохранён в файл с названием «Дом».
Если вы хотите скопировать все объекты внутри здания, выберите «Включать сущности: Вкл».
Шаг 3: Загружаем сохранённый дом
Поместите новый блок-конструктор на землю в том месте, куда планируете поставить сохранённое здание.
Он будет являться исходной точкой координат нового здания.
Перейдите в режим загрузки этого блока-конструктора, введите название загружаемого объекта (в нашем случае «дом»).
Здесь можно указать вставлять ли объекты, которые были скопированы внутри здания, или повернуть дом в горизонтальной плоскости.
Нажмите «Загрузить» и структура будет сгенерирована.
Чтобы дом не висел в воздухе поменяйте относительные координаты на 0 / 0 / 0, поскольку позиция по умолчанию 0 / 1 / 0 приподнимает конструкцию над землёй на один блок.
Либо учтите этот момент заранее и просто вкопайте блок-конструктор на уровень земли:
Если менять координаты в уже загруженном доме, то он опустится вниз на один уровень. Но верхний ряд блоков тогда будет продублирован. Может это исправят в будущем.
На этом всё. Сегодня вы узнали о том, как в Minecraft 1.10 копировать здания с использованием блока-конструктора. Если хотите узнать больше, оставайтесь с нами! Впереди много интересных руководств.
Источник: crafthub.ru