что такое дополнительные возможности моддинга в майнкрафт
[Guide][1.9] Моддинг 1.9 #1 Подготовка
Добрый вечер|день сегодня я выпускаю гайд по моддингу на minecraft 1.9.
Далее я напишу сам код в спойлере:
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
@Mod(modid = /название мода\.modid, name = /название мода\.name, version = /название мода\.version)
public class /название мода\ <
public static final String modid = «/название мода\»;
public static final String name = «/название мода\»;
public static final String version = «0.0.1»;
@Instance(«/название мода\»)
public static /название мода\ instance;
@EventHandler
public void preInit(FMLPreInitializationEvent event) <
>
@EventHandler
public void Init(FMLInitializationEvent event) <
>
@EventHandler
public void postInit(FMLPostInitializationEvent event) <
>
>
Вышла большая статья, но она может быть поможет minecraft’y стать лучше!
С вами был CheshirX, оставляйте комментарии, до скорого!
Экспериментальный игровой процесс
Предупреждение, появляющееся при активации экспериментального игрового процесса в настройках создания мира.
Экспериментальный игровой процесс (англ. Experimental Gameplay), или эксперименты (англ. Experiments), — это игровая опция, эксклюзивная для Bedrock Edition, которая позволяет игроку протестировать незавершённый или находящийся на стадии разработки контент.
Содержание
Настройки
Экспериментальный игровой процесс можно включить в настройках создания мира. Включение параметра не отключает достижения. В созданном мире отключить экспериментальный игровой процесс нельзя.
Включение этой опции в уже существующем мире создаёт его копию с приставкой [EX] в названии. В оригинальном мире без экспериментального игрового процесса всё ещё можно играть.
Предупреждения
Смысл экспериментального игрового процесса заключается в том, чтобы игрок мог посмотреть некоторые незаконченные нововведения, которые могут привести к аварийным завершениям игры или попрепятствовать корректной работе игрового мира. При создании, загрузке или копировании мира с экспериментальным игровым процессом, игрок может увидеть предупредительные сообщения. Попытка отключить данную опцию с помощью сторонних редакторов также может привести к различным сбоям.
Характеристики
На данный момент существуют 7 разделов:
С 1.17.11 в разделе «Caves & Cliffs» содержатся следующие возможности:
С beta 1.17.30.24 в разделе «Caves & Cliffs» содержатся следующие возможности:
Экспериментальный игровой процесс
Предупреждение, появляющееся при активации экспериментального игрового процесса в настройках создания мира.
Экспериментальный игровой процесс (англ. Experimental Gameplay), или эксперименты (англ. Experiments), — это игровая опция, эксклюзивная для Bedrock Edition, которая позволяет игроку протестировать незавершённый или находящийся на стадии разработки контент.
Содержание
Настройки [ ]
Экспериментальный игровой процесс можно включить в настройках создания мира. Включение параметра не отключает достижения. В созданном мире отключить экспериментальный игровой процесс нельзя.
Включение этой опции в уже существующем мире создаёт его копию с приставкой [EX] в названии. В оригинальном мире без экспериментального игрового процесса всё ещё можно играть.
Предупреждения [ ]
Смысл экспериментального игрового процесса заключается в том, чтобы игрок мог посмотреть некоторые незаконченные нововведения, которые могут привести к аварийным завершениям игры или попрепятствовать корректной работе игрового мира. При создании, загрузке или копировании мира с экспериментальным игровым процессом, игрок может увидеть предупредительные сообщения. Попытка отключить данную опцию с помощью сторонних редакторов также может привести к различным сбоям.
Характеристики [ ]
На данный момент существуют 7 разделов:
С 1.17.11 в разделе «Caves & Cliffs» содержатся следующие возможности:
С beta 1.17.30.24 в разделе «Caves & Cliffs» содержатся следующие возможности:
Создание модификаций с помощью Forge/1.7+
Здесь находятся инструкции по созданию модификаций, работающие для версии 1.7+
Содержание
Подготовка среды и настройка [ ]
Сначала подготовим среду для работы с кодом Minecraft.
Forge [ ]
Собственно, для создания модификаций нужен Forge. Скачать его можно здесь с пометкой Mdk или с пометкой Src (для версий 1.8/1.7). Теперь создайте любую папку там, где вам удобно (в примере это D:\MCModding ), в ней будет находиться Forge и модификация. В эту папку распакуйте содержимое архива с Forge. Вы увидите следующее:
С 15 января 2020 года Maven больше не поддерживает протокол HTTP и требует использовать HTTPS, поэтому для создание модификаций под версию 1.7.10 необходимо в файле gradle/wrapper/gradle-wrapper.properties изменить значение параметра distributionUrl :
Среда разработки [ ]
Теперь нам нужно установить Forge, который при установке также произведёт декомпиляцию и деобфускацию кода Minecraft, чтобы сразу можно было начать создание модификации. Для этого необходимо установить Java Development Kit (JDK), скачав с официального сайта Oracle. При этом JDK должен быть одной версии с Java(JRE)
Первая предпочтительней, так как в отличие от второй команды, подготавливает рабочее пространство с возможностью просмотра исходного кода Minecraft во время разработки. То есть вы всегда сможете посмотреть, как работает генерация мира, анимация движений, применение эффектов и т. д. Таким образом можно создавать модификации, не опираясь на руководства, которых может и не быть на конкретную цель.
Если вы являетесь пользователем операционной системы Linux, нужно прописать следующие строки в терминале:
Выполнение команды займёт какое-то время, после чего должно появиться сообщение рода Build Successful.
Пример результата выполнения команды: [1]
gradlew.bat setupDecompWorkspace eclipse
Если же появляется какая-либо ошибка:
Настройка Eclipse [ ]
Нужно настроить Eclipse для работы с Minecraft. Первым делом зайдите в него. Он предложит выбрать рабочую директорию (Workspace). Введите туда путь к папке «eclipse» в папке (Путь к папке должен содержать только английские буквы), куда вы распаковали содержимое Forge и поставьте галочку для того чтоб окно больше не появлялось. В примере это «D:\MCModding\eclipse». Если всё прошло успешно, то слева в Eclipse вы увидите раскрывающееся меню Minecraft, а снизу не увидите красных ошибок.
Интерфейс Eclipse после правильной установки.
Настройка IntelliJ IDEA [ ]
Если вместо Eclipse Вы решили использовать IntelliJ IDEA, то после того как вы установите ее, в стартовом окне в правом нижнем углу нажмите на кнопку «Configure», откройте вкладку «Project Defaults» и выберите пункт «Project Structure».
Стартовая страница IntelliJ IDEA
В открывшемся окне нажмите на красную надпись «No SDK», для контекстного меню и выберите пункт с вашей версией JDK. (Если же в меню нет вашей версии JDK нажмите «Add SDK» и укажите путь. В нашем случае это C:\Program Files\Java\jdk1.8.0_241 )
После этого можно воспользоваться двумя способами:
Первый способ: [ ]
После того, как Forge скомпилирован и установлен, необходимо запустить IDEA, и в появившемся окне нажать ‘Import Project’. После чего выбираем в папке «D:\MCModding» файл build.gradle. В появившемся окне Вам предложат выбрать способ компиляции (рекомендуется оставить значение Use default gradle wrapper.) В строчке ниже выберите Ваш JAVA_HOME. В пункте «Формат проекта» нужно обязательно выбрать «.ipr (file based)». В противном случае, придётся подключать все библиотеки и настраивать запуск самостоятельно. После всего этого нажмите OK. Ждите, пока сборка скомпилируется.
Второй способ: [ ]
После того, как вы распаковали файлы в «D:\MCModding», сразу запускайте IntelliJ IDEA. В появившемся окне нажать ‘Import Project’. После чего выбираем в папке «D:\MCModding» файл build.gradle.
Если IDEA указывает на старую версию Gradle, нужно обновить ее на более новую. Для этого запустите консоль с директорией к папке с Forge (щелкните ⇧ Shift + ПКМ по папке с Forge > Открыть консоль команд) и выполните следующую команду:
Список всех версий можно посмотреть на официальном сайте.
Потребуется подождать пару минут, пока среда разработки полностью все выполнит и импортирует. После завершения процесса откройте меню «View» в верхней части экрана и выберите пункты «Tools Windows > Gradle». У вас откроется окно с Gradle задачами. Переходим в раздел Tasks > forgegradle.
Готово. Мы проделали все то же самое, что и в первом способе, только без использования консоли, а это может быть большим плюсом для новичков.
Запуск [ ]
После выполнения выше перечисленных действий, в верхней части экрана перейдите в раздел «Run» и выберите пункт «Run configurations». По очереди выберите «Minecraft Client» и «Minecraft Server» и уже в правой части окна, в раскрывающемся списке «Use classpath of module» выберите тот пункт, который заканчивается на _main. Теперь вы можете запустить клиент или сервер и удостовериться, что все работает.
Поздравляем! Вы успешно настроили среду для того, чтобы начать писать модификации при помощи нее.
Дополнительные возможности моддинга майнкрафт что такое
Здесь представлены основные уроки по созданию модификаций с помощью Forge/1.7+. Остальную информацию по данной теме смотрите в соответствующей статье.
Локализация названий в игре [ ]
Теперь скопируйте файл, и назовите копию ru_RU.lang (собственно русский перевод). Внутри него измените название на русское, например
Теперь оба этих файла можете перетащить в заранее созданную assets.mybestmod.lang При переносе выберите Copy files.
Чтобы локализировать вкладки в режиме творчество добавьте такой код:
Вот и всё! Локализация завершена, теперь в игре будут отображаться выбранные вами названия.
Подобных названий можно вписывать сколько угодно, главное в столбик.
Генерация предметов в контейнерах натуральных структур [ ]
Итак, вы можете сделать так, чтобы ваш, или любой другой предмет/блок генерировался в сундуках сокровищницы. Для этого в методе preLoad() в главном классе вставьте следующее:
Разберемся в параметрах:
Свой материал для брони [ ]
Почти не отличается от создания собственного материала для инструмента.
В главном классе в любом месте, но вне каких-либо методов пишем:
Затем импортируем ArmorMaterial. Теперь разберём:
Вот и все. Теперь можно использовать этот материал для брони, например заменив ArmorMaterial.DIAMOND на BaseMyBestMod.BESTMAT
Дроп определённого предмета при разрушении блока [ ]
Всё очень просто. В конец класса созданного вами блока (перед последней фигурной скобкой) вставьте это:
То есть теперь при разрушении вашего блока из него выпадет алмаз. Вы можете написать, чтоб выпадало что угодно. Просто вместо return Items.diamond; напишите « return Item.getItemFromBlock(Blocks.); » (для блоков) или « return Items.; » (для предметов), а после ввода вами точки выпадет список возможных предметов или блоков.
Если хотите, чтоб выпадал не один предмет, а несколько, просто вставьте сразу после предыдущих строк
Тогда при разрушении выпадет 20 выбранных вами предметов или блоков. Всё очень легко и просто!
Мод: Мультивселенные
Мод Multidimension добавляет в мир Майнкрафт сразу 4 новых измерения. Каждый из них уникален своей структурой, а в некоторых даже есть сильные босы.
Пещерное измерение
Первое измерение в этом моде является Пещерное измерение, оно сложное и опасное, но очень полезное.
Для активации портала вам понадобится специально ведро с лавой и специальный ключ. После создания рамки портала, бросьте предмет в один из углов.
Когда вы попадёте в него, вас будет ждать множество руд, толпы Скелетов-иссушителей. Пауки также появляются здесь естественным образом.
Небесное измерение
Следующее измерение называется Небесным или Небесными землями. Измерение представляет собой небольшую область над небом.
Рамка портала создаётся из кварца, а сам портал активируется специальным факелом. После создания рамки портала, бросьте предмет факела в один из углов.
В этом измерении появляются Зомби-Пиглины, есть таинственный храм и много ценных ресурсов.
В этом измерении обитает босс Небесный дракон. Он имеет 800 единиц здоровья, а также усиленную защиту, когда здоровье достигнет половины. При атаке использует ударные волны с разрушительным уроном в 40 единиц, небесные сферы и создаёт молнии.
Измерение храма
Следующее измерение является неумолимым: измерение храма. Достигается это 10 песчаником и обычным кремнем, брошенным в один из углов.
Рамка портала создаётся из песчаника, а сам портал активируется новым типом кремния. После создания рамки портала, бросьте созданный кремний в один из углов.
В этом измерении есть башни и храм, тут обитают Отбросы. В большом храме находится Босс-мумия, охраняемая скелетами.
Мумия
Мумия внутри пирамиды представляет собой нового босса. Босс неподвижен, но способен атаковать ударными волнами, отбрасывая вас назад. Также для атаки босс использует огненные шары. У него 600 единиц здоровья и он получит щит, когда здоровье окажется на половине.
Мумия имеет вторую фазу, которая представляет собой Огромного червя. Червь извергает ядом и атакует ударными волнами. У него 600 единиц здоровья и усиленная защита.
Измерение руин
Это последнее и самое опасное измерение в этом моде.
Рамка портала создаётся из кирпичей, а активация портала происходит путём бросания специального предмета-лазурита в один из углов рамки.
Это измерение представляет собой небольшую часть уже давно не существующего мира. Если посмотреть на него, то можно понять, что раньше там обитали люди, всё процветало. Теперь эта область бесплодна, мрачна…
Здесь появляются Руинные големы, которые иногда сражаются друг с другом и могут даже случайно ударить вас.
Арена огня душ ведёт к самому сильному боссу — Скелетному дракону. Он не может летать, но у него 800 единиц здоровья, и становится сильнее, когда теряет половину здоровья.
Новая руда
Обновление v4 добавляет новую руду — Руда мультивселенных. Эта руда генерируется во всех основных измерениях.
Её можно использовать для создания новой брони, которая немного лучше железной, а также можно создавать инструменты.
Новую броню и инструменты также можно зачаровывать.
Музыкальный автомат мультивселенной
Слиток новой руды также можно использовать для создания нового музыкального автомата. Он может проигрывать три новых диска, которые выпадают с боссов.
Вот выглядят новые пластинки:
Монолиты
В обычном мире вы сможете найти новую структуру, которую охраняет новый монолитный босс. С него выпадают ключи, которые нужны для доступа к новым измерениям.
С него может выпасть секира и одна из трех новых пластинок.
Зелье мультивселенных
Новую руду также можно использовать для варки нового зелья, для создания которого понадобится мирское зелье. Это странное зелье даст вам огнестойкость и ловкость, а также мощный межпространственный эффект, который невозможно убрать в течение целой минуты.
Интеллект для моба [ ]
Теперь моб будет просто двигаться, но ничего не делать. Для того, чтобы добавить ему интеллект создайте в класс моба следующий код:
Теперь в конструктор класса добавьте следующий код:
Интеллект | Описание |
---|---|
Swimming | Может ли существо плавать? |
AttackOnCollid | Базовый тип атаки, который используют зомби и пауки. |
Wander | Существо будет ходить вокруг, когда никого не атакует. |
WatchClosest | Ищет назначенное существо на заданном расстоянии. |
LookIdle | Существо будет осматриваться, просто стоя. |
HurtByTarget | Сделает целью какого-либо моба, который его ударил. |
NearestAttackableTarget | Ищет любое существо, которое подходит по второму параметру. |
Атрибуты для моба [ ]
Параметр | Описание |
---|---|
maxHealth | Максимальное здоровье |
followRange | Дистанция, на которой моб будет преследовать кого-либо |
knockbackResistance | Сопротивление к отбрасыванию |
movementSpeed | Скорость движения |
attackDamage | Сила атаки |
Характеристики [ ]
На данный момент существуют 7 разделов:
С 1.17.11 в разделе «Caves & Cliffs» содержатся следующие возможности:
С beta 1.17.30.24 в разделе «Caves & Cliffs» содержатся следующие возможности:
Содержание
Свой материал для инструмента [ ]
Допустим вы хотите, чтобы ваш инструмент обладал свойствами не железной/алмазной кирок из майнкрафта, а собственными.
Тогда где-нибудь(вы можете где угодно написать эту строку, главное, чтоб можно было вызвать.), например в главном классе вне каких либо методов (то есть можно перед последней фигурной скобкой) напишите:
Не забудьте про импорт. Давайте разберемся: static означает, что переменная NEWMAT типа ToolMaterial доступна из других классов. Затем приравнивается значению, которое и даст вашей кирке определённые свойства. Теперь об аргументах, перечисленных через запятую:
Теперь можно придать какому-нибудь инструменту эти свойства, для этого в инструменте (например в нашей кирке) измените super(ToolMaterial.EMERALD); на super(BaseMyBestMod.NEWMAT); В таком случае вы отправляете в супер-класс инструмента информацию о том, что свойства описаны переменной NEWMAT типа ToolMaterial, которая описана в классе BaseMyBestMod (или любой другой класс, где она написана).
Вот и всё, свойства инструмента изменены.
Экспериментальный игровой процесс
Предупреждение, появляющееся при активации экспериментального игрового процесса в настройках создания мира.
Предупреждения [ ]
Свой скин при моддинге [ ]
Внимание! Этот способ работает только на лицензионной версии Minecraft.
Чтобы при создании мода вы видели свой скин, вместо стандартного скина Steve, нужно прописать 2 строчки в аргументы запуска.
Собственная вкладка в Творческом режиме [ ]
Для этого добавьте такой код в тело класса:
«ModID» заменяем на любое число. Рекомендую ID больше 11 (12 ID сразу на следующей странице творческого инвентаря).
Потом создайте класс TutorialTab. Если всё правильно, то ваш класс будет иметь extends CreativeTabs до первой фигурной скобки. Теперь добавьте этот метод в ново-созданный класс:
Для того что бы добавить что либо из вашего мода в собственную вкладку пишем:
Обновление ForgeGradle [ ]
Forge отделён от ForgeGradle, поэтому если вы попытаетесь обновиться на версию Forge, которая использует более новой ForgeGradle, вы получите ошибки. Вот таблица версия Forge, и какие версии ForgeGradle он использует.
ForgeGradle | Forge |
---|---|
— | 959 Дополнительные параметры->Переменные среды: в JAVA_HOME указан путь к папке c Java (по-умолчанию: «C:\Program Files\Java\jre1.8.0_241») и в Path был указан путь к bin-папке JDK после точки с запятой (по-умолчанию: « C:\Program Files\Java\jdk1.8.0_241\bin »). Если вы являетесь пользователем операционной системы Linux, нужно прописать следующие строки в терминале: Если же появляется какая-либо ошибка: Настройка Eclipse [ ]Нужно настроить Eclipse для работы с Minecraft. Первым делом зайдите в него. Он предложит выбрать рабочую директорию (Workspace). Введите туда путь к папке «eclipse» в папке (Путь к папке должен содержать только английские буквы), куда вы распаковали содержимое Forge и поставьте галочку для того чтоб окно больше не появлялось. В примере это «D:\MCModding\eclipse». Если всё прошло успешно, то слева в Eclipse вы увидите раскрывающееся меню Minecraft, а снизу не увидите красных ошибок. Интерфейс Eclipse после правильной установки. Настройка IntelliJ IDEA [ ]Если вместо Eclipse Вы решили использовать IntelliJ IDEA, то после того как вы установите ее, в стартовом окне в правом нижнем углу нажмите на кнопку «Configure», откройте вкладку «Project Defaults» и выберите пункт «Project Structure». Стартовая страница IntelliJ IDEA В открывшемся окне нажмите на красную надпись «No SDK», для контекстного меню и выберите пункт с вашей версией JDK. (Если же в меню нет вашей версии JDK нажмите «Add SDK» и укажите путь. В нашем случае это C:\Program Files\Java\jdk1.8.0_241 ) После этого можно воспользоваться двумя способами: Первый способ: [ ]После того, как Forge скомпилирован и установлен, необходимо запустить IDEA, и в появившемся окне нажать ‘Import Project’. После чего выбираем в папке «D:\MCModding» файл build.gradle. В появившемся окне Вам предложат выбрать способ компиляции (рекомендуется оставить значение Use default gradle wrapper.) В строчке ниже выберите Ваш JAVA_HOME. В пункте «Формат проекта» нужно обязательно выбрать «.ipr (file based)». В противном случае, придётся подключать все библиотеки и настраивать запуск самостоятельно. После всего этого нажмите OK. Ждите, пока сборка скомпилируется. Второй способ: [ ]После того, как вы распаковали файлы в «D:\MCModding», сразу запускайте IntelliJ IDEA. В появившемся окне нажать ‘Import Project’. После чего выбираем в папке «D:\MCModding» файл build.gradle. Если IDEA указывает на старую версию Gradle, нужно обновить ее на более новую. Для этого запустите консоль с директорией к папке с Forge (щелкните ⇧ Shift + ПКМ по папке с Forge > Открыть консоль команд) и выполните следующую команду: Список всех версий можно посмотреть на официальном сайте. Потребуется подождать пару минут, пока среда разработки полностью все выполнит и импортирует. После завершения процесса откройте меню «View» в верхней части экрана и выберите пункты «Tools Windows > Gradle». У вас откроется окно с Gradle задачами. Переходим в раздел Tasks > forgegradle. Готово. Мы проделали все то же самое, что и в первом способе, только без использования консоли, а это может быть большим плюсом для новичков. Запуск [ ]После выполнения выше перечисленных действий, в верхней части экрана перейдите в раздел «Run» и выберите пункт «Run configurations». По очереди выберите «Minecraft Client» и «Minecraft Server» и уже в правой части окна, в раскрывающемся списке «Use classpath of module» выберите тот пункт, который заканчивается на _main. Теперь вы можете запустить клиент или сервер и удостовериться, что все работает. Поздравляем! Вы успешно настроили среду для того, чтобы начать писать модификации при помощи нее. Настройки [ ]Экспериментальный игровой процесс можно включить в настройках создания мира. Включение параметра не отключает достижения. В созданном мире отключить экспериментальный игровой процесс нельзя. Включение этой опции в уже существующем мире создаёт его копию с приставкой [EX] в названии. В оригинальном мире без экспериментального игрового процесса всё ещё можно играть. Разносторонняя текстура блока [ ]Я буду использовать следующие текстуры: Для этого, добавьте такой код в тело класса: И такой после конструктора класса: Теперь в папку assets/ID мода/resources/textures/blocks/ добавьте файлы с таким именем: _ В игре блок будет выглядеть так: СодержаниеСоздание брони [ ]Создание брони немного отличается от создания обычных предметов, точнее имеет свои особенности. Приступим. Мы не будем создавать для каждого предмета свой отдельный класс, а создадим один универсальный, который опишет сразу шлем, нагрудник, штаны и ботинки. Начнём с регистрации переменных. Шлем, нагрудник, штаны и ботинки соответственно. Теперь описываем эти переменные с помощью универсального класса. Естественно внутри метода preLoad() С главным классом работа окончена. Теперь щелкаем по одной из ошибок и создаём новый класс BestArmor. Теперь «продолжаем» класс ItemArmor, то есть пишем extends ItemArmor после названия класса. Теперь в тело класса вставляем следующее: Что ж, давайте разбираться. Первая переменная, просто обозначает начало пути к текстуре брони. Все нужные текстуры можно спокойно извлечь из майнкрафта и отредактировать по желанию. Вот мои отредактированные текстуры: Давайте дальше разбираться с кодом: следующим идёт метод BestArmor(), в который мы посылаем из главного класса параметры id и armorType. Напомню: от armorType зависит, какая это часть брони. В нём мы посылаем информацию о том, какой материал брони. Я написал, что броня будет аналогична алмазной, но можно создать свой материал для брони и вписать его. Далее мы настраиваем вкладку в креативе. Потом мы ограничиваем максимальное количество данного предмета в одной стопке до одного, чтобы броня не «стакалась». В конце концов мы вызываем созданный нами метод setTextureName() Последний же метод перезаписывает метод супер-класса и указывает Майнкрафту, что должна грузиться текстура по пути texturePath, который предварительно был отредактирован во втором методе. Теперь можно запускать игру и убивать мобов в новых блестящих доспехах! Обновление Forge [ ]Чтобы обновить версию Forge, на который вы создаёте моды, необязательно всё перекачивать.
|