Как создать мод на майнкрафт
Перейти к содержимому

Как создать мод на майнкрафт

  • автор:

How to modify Minecraft the easy way with TypeScript

Josh Wulf

Usually, modifying Minecraft requires coding in Java, and a lot of scaffolding. Now you can write and share Minecraft mods using TypeScript/Javascript.

ScriptCraft is an open source JavaScript Minecraft modding library, and we’ve written support for TypeScript, and a bunch of tooling to create a familiar developer experience for those coming from JavaScript land (including Yeoman and NPM).

In this article I’ll walk you through getting set up and building your first TypeScript Minecraft mod in under an hour — as little as 20 minutes, depending on your internet connection.

In this video (click here if the embed doesn’t work above) I show you how to write a basic Minecraft mod using TypeScript, and run it on your local computer with both a desktop and a mobile Minecraft server.

Below, I’ll walk you through the steps, with links to resources.

Prerequisites

You’ll need some software installed on your computer, to run the Minecraft server and the tools for writing your plugin. Install all of the four following:

    — a containerisation solution. — a JavaScript execution engine and library. — a web-based GUI for managing Docker containers. — a code editor.

Minecraft Client

You need a Minecraft client to test your plugin.

Install at least one of the following:

    JavaEdition — a desktop client, if you want to test against a Bukkit server. — a mobile client, if you want to test against a Nukkit server (phone/tablet/Xbox). If you use this, you can use Minecraft Pocket Edition Bedrock Launcher to run the mobile client on your computer.

Installation

Now that you have the prerequisites installed, it is time to install the tools for the server and for plugin development.

  1. Run the following command:

This will install four things on your computer:

  • smac — Scriptcraft Modular Architecture Controller, a program that runs Minecraft Servers for your plugins.
  • yo — Yeoman, a scaffolding tool.
  • generator-sma-plugin — a Yeoman plugin for generating a new Minecraft plugin using the Scriptcraft Modular Architecture.
  • typescript — the TypeScript transpiler, for converting TypeScript code into ES5 JavaScript that can run in Minecraft.

Create a new plugin

Now that you have the toolset installed, create a new plugin by running this command:

This starts the plugin wizard:

There is only one question you need to answer here — the name of your plugin. The wizard will create a new folder with the name of the plugin, and place the files for the new plugin in it.

MCreator — программа для создания модов Майнкрафт [1.19.2] [1.18.2] [1.16.5] [1.15.2] [1.14.4] [1.12.2] [1.11.2] [1.8.9] [1.7.10]

MCreator - программа для создания модов Майнкрафт [1.19.2] [1.18.2] [1.16.5] [1.15.2] [1.14.4] [1.12.2] [1.11.2] [1.8.9] [1.7.10]

Программа MCreator — она же м-креатор это интересная программа которая позволяет достаточно просто и быстро создавать собственные моды для майнкрафта без знания языков программирования. Это небольшая студия которая позволит вам создать свои блоки, мобов, миры, структуры и указать им различные свойства.

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

К сожалению программа не имеет поддержки русского языка и не имеет возможности перевести программу, но если посмотреть пару тройку гайдов, то вы сможете в ней работать. Я не будут создавать гайд, так как он будет очень объемным и трудоемким, просто посмотрите серию гайдов на ютубе.

Minecraft Modding#

Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, сущность или целое измерение?

На этом сайте вы найдете интересный, понятный и подробный учебник по созданию собственных модов для Minecraft.

Вы думаете это сложно? На самом деле нет (с помощью этого учебника)

С чего начать?#

Первый и абсолютно необходимый навык для создания модов — знание основ программирование и Java.

Переменная, объект, класс, метод — все эти слова должны быть вам достаточно хорошо знакомы. Если вы не знаете, что это, то вам необходимо пройти самые основы языка Java.

Теперь поговорим об API.

API — набор инструментов для упрощения работы с программой (в нашем случае, с Minecraft).

К сожалению, никакого встроенного API для создания модов у Minecraft нет.

Minecraft не поддерживает моды!

Однако, исходный код игры можно получить, и многие разработчики стали разрабатывать свои неофициальные API: Forge, Sponge и так далее. О Forge вы наверняка не раз слышали. Это самое популярное на сегодня API для создания модов.

Поэтому у вас есть выбор.

Писать моды с помощью API#

Это будет проще. Но запускаться ваши моды смогут только на клиенте с заранее установленным API. Моды, написанные с помощью Forge пойдут только на Minecraft, где предварительно установлен Forge.

Большинство всех Minecraft модов написаны при помощи Forge API.

Плюсы

  • Простое создание модов
  • Удобный перенос на другие Minecraft версии
  • Совместимость (и даже взаимодействие) с другими модами

Минусы

  • Необходимость иметь установленное API на клиенте

Писать моды без помощи API#

Это несколько сложнее, так как потребует от вас глубокого понимания внутреннего устройства работы Minecraft. При написании модов без использования API вы напрямую редактируете исходный код игры. Получается, что вы словно пишете свой собственный Minecraft (или новую его версию), и никакие другие моды работать вместе с вашим скорее всего не будут.

Плюсы

  • Не нужно ничего предварительно устанавливать
  • Полный контроль над происходящим в игре
  • Возможность менять исходные файлы игры

Минусы

  • Почти абсолютная несовместимость с другими модами
  • Относительная сложность написания
  • Сложный перевод мода под другие Minecraft версии

Что выбрать?#

В большинстве случаев рекомендуется писать моды при помощи Forge API. Он сейчас наиболее популярен и является практически стандартом.

Большинство модов и уроков по их созданию написано с помощью этого API. Forge настолько распространен, что частенько под созданием модов для Minecraft понимается именно их создание с помощью Forge API.

У меня вопрос/проблема!#

Если что-то не работает, но должно, или (что еще хуже), что-то работает, но не должно, смело обращайтесь на форум за помощью.

Кстати, там можно не только просить о помощи, но еще и общаться с другими создателями модов, обмениваться опытом и рекламировать свои моды!

Как поделиться с другом?#

Вы можете просто скинуть ссылку на статью. Однако, статьи на данном сайте порой достигают внушительных размеров. В таком случае, можно поделиться ссылкой на конкретный раздел статьи.

Разделы статьи разделяются заголовками. Наведите на заголовок курсор мышки. Справа от него появится значок ссылки. Нажмите на него правой кнопкой и выберите пункт «Копировать адрес ссылки».

Вклад в учебник#

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

О сайте#

На просторах интернета достаточно много штучных учебников под какие-то конкретные Minecraft версии. Получается, что нет единого источника информации, который поддерживается сообществом, а не единственным автором.

Здесь мы реализуем другой подход.

Сайт работает на статическом генераторе MkDocs с темой Material. Такой подход позволяет не возиться с исходниками сайта, а писать статьи в удобной markdown разметке, которая автоматически собирается в готовый и красивый сайт.

Создание модификаций с помощью Forge/1.12+

В этой статье описывается создание модификаций на основе Minecraft Forge с использованием Eclipse для версий Minecraft с 1.12.

Содержание

Установка Forge Gradle [ ]

Для начала работы, создайте папку с названием вашей модификации избегая кириллицы. Если ваш мод имеет название из двух слов, желательно называть папку без пробелов, к примеру Tutorial-Mod или TutorialMod. Далее перейдите на официальный сайт Forge и скачайте версию с пометкой MDK (Modder Development Kit). Из загруженного архива извлеките папку gradle и файл build.gradle в папку модификации, остальные файлы сохранены для совместимости и/или дополнительных функций и для начала не понадобятся. Далее импортируйте в Eclipse проект как Existing Gradle Project указав папку модификации. Затем в колонке Gradle tasks поочерёдно выполните setupDecompWorkspace из набора forgegradle и eclipse из набора ide (Для пользователей IntelliJ IDEA task genIntelliJRuns), и обновите среду (ПКМ по проекту и Refresh). Теперь можно удалить два файла с расширением .launch, так как для тестовых запусков мы будем использовать задачи Gradle. Для настройки папок ресурсов создайте в папке проекта два каталога: src\main\java и src\main\resources после чего выделите их и по ПКМ найдите пункт Build Patch и нажмите Us as source folder.

Не забудьте! Далее, все связанное с Java кодом мы будем делать в каталоге src\main\java, а остальное в src\main\resources.

Примечание! Для установки потребуется компьютер с минимальным объёмом ОЗУ от 4Гб! Если у вас недостаточно ОЗУ, добавьте необходимый объём из файла подкачки, но такой метод работает лишь на 64-битных системах.

Создание модификации [ ]

build.gradle [ ]

Это файл, который задает свойства проекта и его нужно немного подправить:

Если вы используете IntelliJ IDEA, то в конец build.gradle дополнительно добавьте это:

pack.mcmeta [ ]

Этот файл нужен для корректной работы игры с ресурсами модификации, такими как локализации, модели, рецепты, таблицы добычи и так далее. Заполняется следующим образом:

mcmod.info [ ]

Этот файл задаёт более подробную информацию о модификации и заполняется следующим образом:

Класс модификации [ ]

Данный класс создается в патче и является главным файлом, благодаря которому игра видит нашу модификацию. Заполняется следующим образом:

Класс блока [ ]

Для создания блока создайте класс с названием блока в стиле TutorialBlock в пакете патч.blocks и заполните его следующим образом:

Примечание регистрируемое имя и ключ локализации указывать только в нижнем регистре, используя при надобности нижнее подчёркивание!

Модель [ ]

Модель (которую, например, можно создать здесь) решает то, как наш блок будет выглядеть. Важно знать, что для блоков используется две модели. Одна задает вид блока, поставленного в мире, а вторая, его иконку в инвентаре. Это дает нам возможность сделать блоку отдельную иконку для инвентаря. Сами же модели для блока подключаются к нему как состояния, normal для блока в мире и inventory для его иконки в инвентаре. Поэтому для начала создадим файл идентификатор_блока.json в пакете assets.идентификатор_мода.blockstates, который и подключит наши модели.

Теперь подключим модели. Для этого создайте файл регистрируемое_имя.json в пакете assets.идентификатор_мода.models.block со следующим содержимым:

Теперь зададим иконку блока в инвентаре в пакете assets.идентификатор_модификации.models.block с именем идентификатор_блока.json со следующим содержанием:

Регистрация [ ]

Наш блок имеет текстуры и свойства, но его нужно зарегистрировать в игре. Создадим в пакете домен.автор.мод.init класс BlocksInit :

Теперь в главном классе в методе preInit добавьте инструкцию BlocksInit.registerBlocks а в методе init BlocksInit.registerBlocksRender .

Предмет [ ]

Основное [ ]

Класс предмета [ ]

Для создания предмета создадим класс с именем TutorialItem:

Регистрация [ ]

Для регистрации предмета создадим класс ItemsRegister:

В классе CommonProxy, в методе preInit() добавляем строку ItemsRegister.register(); , а в методе init() ItemsRegister.registerRender(); .

Модель [ ]

Теперь у нас есть предмет, однако если мы запустим игру и выдадим себе его, то он будет выглядеть как куб с фиолетовыми и черными клетками. Это говорит о том, что игра не нашла модель предмета. Для исправления этой проблемы создаём в папке src/main/resources/assets/имя_мода/models/item файл с расширением .json и пишем в нём следующий текст:

Примечание: название файла модели должно совпадать с RegistryName предмета

Второй вариант используется для моделей инструментов и оружия. Однако теперь, когда у нас есть модель для предмета, осталось добавить текстуру по пути src/main/resources/assets/имя_мода/textures/items дав ему имя, идентичное указанному в файле модели.

Добавить комментарий

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