Учебники / создание модов forge
Содержание:
- Запускаем Minecraft на VDS или выделенном сервере
- Создание модификации
- Решение ошибок/крашей у модов
- Импорт модов Minecraft с помощью Minecraft Forge
- Open Server
- Атрибуты для моба[]
- Realms
- Как установить шейдеры Minecraft и значительно улучшить графику.
- Урожай#
- Предмет[]
- Создание модификации[]
- Функции MCreator
- Создание брони[]
- Создание чистого мода
- Особенности использования Minecraft Forge
Запускаем Minecraft на VDS или выделенном сервере
Сделать сервер Майнкрафт можно через хостинг. Для этого потребуется сервер с достаточно мощным железом. В таком случае нужно будет скачать серверную версию Minecraft и удаленно установить ее на арендованное оборудование.
В хостинге Timeweb можно купить готовый выделенный сервер или самостоятельно подобрать конфигурацию. Правда, этот вариант не самый дешевый. Если у вас ограничен бюджет, можно подключить VDS сервер. Это отличный вариант для начинающих геймеров.
Из минусов – это не самый простой способ, для его реализации требуются определенные знания и навыки в администрировании. При работе могут возникать какие-либо трудности и нюансы, также вполне допустимо возникновение проблем в процессе запуска и настройки сервера.
Но результат определенно того стоит – пользователь сможет реализовать на таком сервере любые возможности для игры, использовать любые шаблоны, моды и защитное ПО. Такой сервер доступен круглосуточно и не зависит от того, включен ваш компьютер или нет. Такой сервер можно будет использовать для игры с друзьями или продавать.
О том, как создать сервер Minecraft на VDS на базе платформы CentOS 7, ранее было рассказано в другой статье.
Создание сервера Minecraft на VDS с Ubuntu 18.04
Чтобы создать сервер Майнкрафт для игры с другом потребуется заранее установить на сервер дистрибутив Ubuntu 18.04 и включить поддержку SSH. В хостинге Timeweb можно выбрать тариф с оптимальными параметрами и ценами. Если выяснится, что этих характеристик недостаточно, вы сможете выбрать тариф с большей производительностью.
Первым делом после подготовки сервера надо установить Java. Рекомендуется версия 8 OpenJDK для Java, в частности, headless JRE. Это минимальная версия, не имеющая поддержки графического интерфейса в приложении. Именно поэтому она отлично подходит для запуска приложений Java на сервере. Для скачивания и установки надо ввести следующую команду:
sudo apt install openjdk-8-jre-headless
Еще нужно будет скачать приложение Screen (о его назначении говорилось выше), для этого дается следующий запрос:
sudo apt install screen
После того как все необходимо ПО установлено, потребуется активировать брандмауэр для разрешения трафика на сервер Minecraft. В игре по умолчанию используется порт 25565. Чтобы внедрить это правило, запускается такая команда:
sudo ufw allow 25565
Наконец пришло время для скачивания и установки сервера Minecraft. Для этого используем утилиту wget. Открываем сайт разработчика для загрузки сервера, копируем ссылку на загрузку и вставляем ее после утилиты. Примерно так это будет выглядеть:
wget https://launcher.mojang.com/v1/objects/c5f6fb23c3876461d46ec380421e42b289789530/server.jar
Как только загрузка завершится, потребуется принять лицензионное соглашение через файл. Надо для этого открыть в текстовом редакторе nano файл eula.txt. Затем следует найти параметр eula=false и поменять значение на true. Теперь можно приступать к запуску файла jar. Открываем приложение screen и даем в нем вот такую команду:
java -Xmx1024M -Xms1024M -jar minecraft_server.1.16.2.jar nogui
В течение нескольких секунд будет совершена инициализация. Потом выйдут результаты, примерно вот такие:
Server thread/INFO: Done (32s)! For help, type "help"
Это значит, что подключение сервера завершилось.
Создание модификации
Если вас интересует вопрос о том, как сделать моды «Майнкрафт 1. 5. 2» и других версий, то вам нужно будет провести немало времени в «Фордже», так как нужно будет отдельно прорабатывать каждый блок, который вы собираетесь добавить в игру, задавать его назначение, взаимодействие с другими блоками и предметами. В общем, объем работ будет просто огромен — даже для создания одного нового блока с какими-либо базовыми функциями вам понадобится несколько часов кропотливой работы. Что уж говорить про модификацию — даже самая простая из них займет у вас несколько десятков часов. Теперь вы должны представлять, сколько же времени ушло у создателей того же «Индастриал Крафта», чтобы выпустить подобный проект.
Решение ошибок/крашей у модов
При вылете игры (краше), наш лаунчер показывает «Консоль разработчика», дабы упростить нахождение проблемы и поиска решения.
1) Ошибка в «общих» классах игры или Java, пример:
Caused by: java.lang.SecurityException: class «javax.vecmath.Matrix4f»‘s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(Unknown Source) ~
Решение: Полная переустановка версии игры, самым простым способом является — «Полный сброс«, через настройки TLauncher.
2) Ошибка «java.lang.ClassNotFoundException может указывать на две возможные причины:
2.1) Отсутствие дополнительной библиотеки. Если в данной строчке есть упоминание какого мода с «Lib», то это указывает на необходимость установить данный дополнительный мод.
2.2) «Испорченный» мод. Если всё же в строчке фигурирует название полноценного мода, то есть резон попробовать установить мод актуальной версии или другую версию Forge (Не версию игры, а именно версию Мода и Forge!).
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.gui.inventory.GuiInventory
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~
Как установить Fabric в TLauncherКак установить карты в MinecraftКак установить скин в TLauncher
Импорт модов Minecraft с помощью Minecraft Forge
Теперь, когда ваш мод готов, все, что осталось сделать, это импортировать его в Minecraft.
Чтобы установить этот мод или любой другой мод, вам необходимо установить Minecraft Forge. Forge предоставляет простой и легкий способ установки пользовательских модов в саму Minecraft.
На домашней странице Forge загрузите установщик, подходящий для вашей операционной системы и версии Minecraft. Запустите установщик и при появлении запроса выберите Установить клиент.
После установки запустите или перезапустите Minecraft. От Minecraft Launcher, нажмите стрелка вверх справа от кнопки воспроизведения внизу. Выбрать ковать. Это загрузит Minecraft с Forge, так что вам придется делать это каждый раз, когда вы хотите использовать свой мод.
Находясь в Minecraft, все будет выглядеть по-другому с кузницей. Внизу есть дополнительный текст, а также Модификации кнопка.
Выбрать Модификации кнопку, и вы увидите, что ваш мод не виден. Вам нужно установить свой мод в Forge / Minecraft. Установка включает в себя копирование и вставку вашего мода в модов папка Майнкрафт.
- На Windows это в AppData / .minecraft /
- На Mac это в Библиотека / Поддержка приложений / minecraft /
Вам может понадобиться перезапустить Minecraft, если вы вставили свой мод во время его работы. Введите модов меню, и ваш мод будет отображаться, вместе с описанием, названием, изображением и информацией о создателе. Отлично сработано!
В этом примере «super_diamond» теперь виден вместе со всеми другими блоками.
Open Server
Далее все просто. Вам понадобится Open Server. Она бесплатная. При желании вы можете внести пожертвование, разработчики будут рады даже 100 рублям. Кстати, если вы переведете деньги, то сможете загрузить пакет за считанные секунды. Если нет, то придется немного подождать.
Что такое Опен Сервер? Удобная серверная платформа, которую создали специально для веб-мастеров. Если бы не она, то вам бы пришлось вручную устанавливать php, apache, MySql и кучу дополнительных программ. В общем масса геморроя.
Open Servere – это пакет, в котором уже есть все компоненты. Они понадобятся для серверной установки. Останется только распаковать все содержимое и можно заниматься разработкой сайта или написанием скрипта.
Представляете, чтобы использовать свой компьютер в качестве виртуального хостинга вам понадобится нажать только пару кнопок. Если бы не опен сервер, вам бы пришлось скачивать все элементы по отдельности, перенести все по нужным папкам, настроить.
Однако, Open Server – не единственный пакет. Одним из первых появился Denver, чуть позже xampp. Но я бы не назвал их лучшими. Обновляются довольно редко, а потому теряют свою популярность. Кроме того, вы можете управлять отдельными частями. Добавлять что-то свое, удалять или редактировать. Со временем это может пригодиться.
В Open Server есть множество дополнительных инструментов: просмотр логов, планировщик задач и многое другое.
Кстати, эту программу вы можете установить даже на флешку. Это очень удобно, если вы делаете сайт на заказ и не готовы показывать его в интернете. Просто копируете сайт на USB и готово. Можете вставлять съемный диск в любой компьютер. Заказчик увидит его точно также, как если бы портал уже был в интернете.
Но, довольно прелюдий. Давайте посмотрим на программу в деле. Для начала ее нужно скачать. Переходим в одноименный раздел, выбираем подходящую версию (basic, ultimate, premium), вводим цифра с картинки и переходим к скачиванию.
Качать самую полную версию не всегда имеет смысл. Уверены ли вы, что будете пользоваться CamStudio, который позволяет записывать видео, редактор фото PixBuilder или Skype? К примеру, я рассказывал уже про удаленного помощника TeamViewer. Убежден, что если вы не прочитаете мою статью о нем, то ни разу не откроете эту программу.
При желании все это можно будет установить позже. Я рекомендую брать Premium.
Если вы внесете пожертвование, то скорость загрузки увеличится. Если нет, то полностью загрузить пакет вам удастся только через несколько часов.
После того как вы загрузите программу и два раза щелкните на установочный файл вам предложат распаковать архив. Устанавливать его нужно именно в корень, а не какую-либо папку.
После того как процесс завершится вы увидите на диске С папку Open Server. В ней будет расположено несколько папок и 2 установочных файла. В папке domains будут располагаться папки с вашими сайтами. Modul – дополнительные установочные программы: php, mysql и так далее.
Два установочных файла рассчитаны на 32 и 64-битные системы. Вам нужно запустить одну из них, но предварительно советую отключить антивирус. В противном случае он может заблокировать действия программы и она не сможет действовать корректно.
Сразу после запуска вам предложат установить Microsoft Visual C++. Вполне вероятно, что все у вас уже установлено, но во избежание проблем и ошибок можно выполнить загрузку еще раз.
После загрузки в правой нижней части экрана, рядом с часами скроется панель Open Server. Нажав на кнопку «Запуск» вы активируете сервер, кнопка «Перезапустить» нужна после того, как вы сделаете какие-то изменения в папке и хотите, чтобы они вступили в силу, ну и «Остановить» прекращает его работу.
В настройках очень много пунктов. Сейчас я не буду о них рассказывать. Тот кто в этом разбирается и так все поймет, а новичкам будет совершенно непонятно. Не переживайте, со временем вы все освоите, а пока можете обойтись и без этой информации.
Ну вот в принципе и все. Благодаря этой программе вы можете создать из своего компьютера хостинг. В видео инструкции вы можете увидеть больше информации о создании сайтов и работе с программой.
Атрибуты для моба[]
Если вы уже проверили моба, то заметили, что он двигается очень медленно. Чтобы исправить это и изменить атрибуты для моба, добавьте в его класс следующий код:
@Override protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(32.0D); this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2.0D); }
Разъяснение:
Параметр | Описание |
---|---|
maxHealth | Максимальное здоровье |
followRange | Дистанция, на которой моб будет преследовать кого-либо |
knockbackResistance | Сопротивление к отбрасыванию |
movementSpeed | Скорость движения |
attackDamage | Сила атаки |
Атрибуты установлены.
Realms
Майнкрафт — культовая игра подростков. И было бы странно если бы разработчики не продумали вариант создания сервера и не встроили бы его в игру. Но благо Mojang AB (создатели игры) под руководством Microsoft отчетливо понимают, что нужно игрокам, и наделила свое детище уже готовым решением с серверами. Называется оно «Realms» и доступно сразу в главном меню. Однако, для того чтобы воспользоваться данным функционалом, требуется заплатить немного золотых. Сервис распространяется по подписке и стоит 219 рублей в месяц за возможность игры вдвоем и 479 рублей для 10 друзей.
На официальном сайте можно подробнее ознакомиться с функционалом. Так же имеется пробный период. И поскольку это предложение от официальных разработчиков, то вам не потребуется настраивать защиту сервера, заниматься его обновлением, беспокоиться о сохранениях и бэкапах. Все эти заботы берет на свои плечи разработчик. И хоть это самый простой и практичный способ из всех, он всё же не лишен определенных минусов.
Помимо оплаты за проезд за сервер, у всех участников должна быть куплена лицензионная версия продукта. Более того, вы не сможете устанавливать на выделенный сервер различные плагины и модификации, которые способны улучшить и разнообразить геймплей. На свой сервер можно пригласить до 20 игроков, однако онлайн не сможет превысить 10 человек. Если эти особенности вас не пугают, то вперёд, в совместное приключение!
Как запустить свой сервер с помощью Realms?
Всё интуитивно просто и понятно. Как и говорилось выше, в главном меню есть соответствующий пункт «Realms», нажав на который вы попадете в небольшое окно настроек, которое мало чем отличается от создания мира в одиночном режиме игры. После примененных настроек запускаем сервер и наслаждаемся! Profit!
Преимущества
- Официальная поддержка
- Автоматические обновления
- Встроенная защита
- Облачные сохранения и бэкапы
- Самая актуальная версия игры
- Стабильность сервера без отвалов
- Доступ к официальным мини-играм и ивентам от разработчиков
- Платит только владелец сервера
Недостатки
- Довольно высокая стоимость
- Требуется официальное издание у всех участников
- Отсутствие сторонних модов
- Ограниченные возможности настроек
- Маленький максимально возможный онлайн
Как установить шейдеры Minecraft и значительно улучшить графику.
шредеры для улучшения графики
Minecraft имеет свой фирменный квадратный стиль, завоевавший сердца миллионов игроков, но это уже не значит, что его нельзя немного изменить. Не без помощи шейдеров нам предоставляется возможность добавлять эффектные эффекты, тени, освещение и прочие украшения, благодаря которым игра выглядит феноменально.
Шейдеры несут ответственность за все дополнительные эффекты при деле. Благодаря им мы не только лишь представим новое освещение и тени, но также заставим блоки травы двигаться как на ветру, вода будет отражать свет, а солнышко будет сиять нашими глазами прекрасными лучами. Совместно с квадратным миром Minecraft это может дать ни с чем не сравнимый эффект.
И все-таки, перед тем как мы решим внедрить такие эффекты в нашу игру, помните, что они довольно требовательны и вам нужен вполне достаточно могучий компьютер с эффективной видеокартой. Существует помимо прочего некоторое количество способов установки шейдеров исходя из того, используете ли вы менеджер модов MultiMC и установлен ли у вас Forge.
Для целей руководства мы покажем стандартную установку как для чистой немодифицированной версии игры, так и для Minecraft с установленной Forge. В обоих случаях мы все станем использовать Minecraft версии 1.7.10. Помимо прочего нам потребуется мод Optifine для монтажа шейдеров (он расширяет настройки графики и повышает производительность игры).
Монтаж шейдеров на чистый Майнкрафт 1.7.10 в отсутствие Forge
1. Зайдите на сайт Optifine и скачайте мод в редакции HD Ultra, версия 1.7.10 HD U A4.
2. Запустите загруженный файл .jar. OptiFine отобразит установщик — мы подтверждаем, что вы хотите его установить.
3. Перейдите в официальную тему Shaders Mod на официальном форуме Minecraft. Shaders Mod — это исходный мод, который сам собой не имеет графических эффектов, но дает возможность вам активировать те, которые мы загрузим вслед за тем. Он доступен для Minecraft с Forge (Forge Edition) и в отсутствие Forge (Non-Forge Edition).
Скачать мод Shaders для Майнкрафт 1.7.10
Оттого, что мы устанавливаем шейдеры в чистую версию игры в отсутствие Forge, мы загружаем мод GLSL Shaders Mod v2.3.29 Non-Forge Edition для Minecraft 1.7.10.
4. Запустите загруженный файл .jar из GLSL Shaders Mod v2.3.29 Non-Forge Edition. Будет отображаться точно такой же установщик, как и в истории с OptiFine — подтверждаем готовность к монтаже.
Монтаж ShadersMod
5. У нас есть OptiFine и Shaders Moda — в настоящее время пора установить т.н. шейдерпака. Их можно отыскать много, и полный перечень можно отыскать в такой же теме, из которой мы загрузили Shaders Moda.
Скачиваем один из доступных шейдерных пакетов (применительно ко мне это будет 1-й из них, другими словами SEUS — Sonic Ether’s Unbelievable Shaders). Мы получим ZIP-файл.
6. Запустите официальный лаунчер Minecraft — в левом нижнем углу вы посчитаете список игровых профилей. Выберите профиль 1.7.10-OptiFine-ShadersMod из списка и включите нужную игру.
7. Перейдите в параметры игры, а после этого на вкладку Шейдеры. Пока список будет пустым. Внизу вы посчитаете кнопку «Открыть папку шейдерпаков» — щелкните по ней.
8. На экране будет замечен пустая директория, в которую нам нужно распаковать шейдеры. Для каждого загруженного пакета шейдеров мы создаем отдельную подпапку. Применительно ко мне я создам подкаталог с именем SEUS, поскольку я загружал такие шейдеры.
Создайте подпапку для выбранного шейдерпака.
Откройте заархивированный файл с загруженными шейдерами и перетащите каталог «Shaders», содержащийся в архиве, в нашу папку SEUS (или другую). После распаковки шейдеры должны оказаться в дороге «/ shaderpacks / SEUS / shaders».
9. Мы вернулись в игру, и в настоящее время SEUS будет отображаться в нашем списке доступных шейдеров. Щелкните по нему в нашем списке, и он готов — графика в Minecraft сразу изменится. Можем закрыть меню и полюбоваться новыми графическими эффектами.
Урожай#
В качестве дропа с кукурузы создадим… початок. Создаём ItemCorn и наследуем его от , что бы он был полноценной едой.
В супер-конструктор нужно передать три параметра: кол-во единиц восстанавливаемого голода, значение насыщения и логическую переменную, которая определяет, подходит ли данная еда для волков. Всё это будет определено в конструкторе при регистрации предмета.
Регистрируем предмет в классе регистрации предметов. При создании передаём имя, значение восполняемого голода (2 единицы), насыщение и , если не хотим иметь возможность кормить волков кукурузой.
Теперь создаём модель и текстуру. Создайте JSON файл corn.json.
Текстура:
Размещение аналогично семенам.
Предмет[]
Класс предмета
Для создания предмета создадим класс с именем TutorialItem:
import net.minecraft.item.Item; public class TutorialItem extends Item { public TutorialItem(String string) //Параметр string будет заполняться в регистраторе { this.setUnlocalizedName(string); //Имя предмета если нет файла локализации this.setRegistryName(string); //Имя в регистре игры, также используется в команде /give this.maxStackSize(целое число от 1 до 64); //Размер стопки для предмета, по умолчанию 64 this.setCreativeTab(вкладка); //Творческая вкладка, где будет размещен предмет, пример: this.setCreativeTab(CreativeTabs.MISC); this.setHasSubtypes(true или false); //Используется для обозначения, что у предмета есть подтипы, т.е. метадата } }
Регистрация
Для регистрации предмета создадим класс ItemsRegister:
public class ItemsRegister { public static Item ВАШ_ПРЕДМЕТ = new TutorialItem("item_tutorial"); public static void register() { setRegister(ВАШ_ПРЕДМЕТ); } @SideOnly(Side.CLIENT) public static void registerRender() { setRender(ВАШ_ПРЕДМЕТ); } private static void setRegister(Item item) { ForgeRegistries.ITEMS.registerAll(item); } @SideOnly(Side.CLIENT) private static void setRender(Item item) { Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, , new ModelResourceLocation(item.getRegistryName(), "inventory")); } }
В классе CommonProxy, в методе добавляем строку , а в методе .
Модель
Теперь у нас есть предмет, однако если мы запустим игру и выдадим себе его, то он будет выглядеть как куб с фиолетовыми и черными клетками. Это говорит о том, что игра не нашла модель предмета. Для исправления этой проблемы создаём в папке файл с расширением .json и пишем в нём следующий текст:
{ "parent" "item/generated", "textures" { "layer0" "имя_мода:items/имя_текстуры" } }
Либо
{ "parent" "item/handheld", "textures" { "layer0" "имя_мода:items/имя_текстуры" } }
Примечание: название файла модели должно совпадать с RegistryName предмета
Второй вариант используется для моделей инструментов и оружия. Однако теперь, когда у нас есть модель для предмета, осталось добавить текстуру по пути дав ему имя, идентичное указанному в файле модели.
Создание модификации[]
build.gradle
Это файл, который задает свойства проекта и его нужно немного подправить:
buildscript { repositories { jcenter() maven { url = "http://files.minecraftforge.net/maven" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' } } apply plugin: 'net.minecraftforge.gradle.forge' version = "версия_модификации" //Обычно согласно версии major.minor.patch group = "пакет_главного_класса" //Обычно в стиле домен.автор.идентификатор_модификации archivesBaseName = "идентификатор_модификации" //Без пробелов и только в нижнем регистре sourceCompatibility = targetCompatibility = '1.8' compileJava { sourceCompatibility = targetCompatibility = '1.8' } minecraft { version = "1.12.2-14.23.5.2768" runDir = "run" mappings = "snapshot_20171003" } dependencies { } processResources { inputs.property "версия_модификации", project.version inputs.property "1.12.2", project.minecraft.version from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' expand 'version'project.version, 'mcversion'project.minecraft.version } from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } runClient { args "--username=НикнеймАвтора" jvmArgs "-Xms2G", "-Xmx2G", "-XX:+UnlockExperimentalVMOptions", "-XX:+UseG1GC", "-XX:G1NewSizePercent=20", "-XX:G1ReservePercent=20", "-XX:MaxGCPauseMillis=50", "-XX:G1HeapRegionSize=32M" } runServer { jvmArgs "-Xmx2G", "-Xmx2G" }
Если вы используете IntelliJ IDEA, то в конец build.gradle дополнительно добавьте это:
apply plugin: 'idea' idea { module { inheritOutputDirs = true } } subprojects { apply plugin: 'idea' } task prepareAssets(type: Copy) { group = 'build' from project.file('src/main/resources') into project.file('build/classes/java/main') } classes.dependsOn(prepareAssets)
pack.mcmeta
Этот файл нужен для корректной работы игры с ресурсами модификации, такими как локализации, модели, рецепты, таблицы добычи и так далее. Заполняется следующим образом:
{ "pack" { "pack_format" 3, "description" "Описание вашего мода" } }
mcmod.info
Этот файл задаёт более подробную информацию о модификации и заполняется следующим образом:
, "credits" "Благодарности кому либо" }]
Класс модификации
Данный класс создается в патче и является главным файлом, благодаря которому игра видит нашу модификацию. Заполняется следующим образом:
@Mod(modid = "идентификатор", name = "название", version = "${version}", dependencies = "required-after:forge@[минимальная версия forge,)", useMetadata = true) public class TutorialMod { }
Функции MCreator
Создание брони[]
Создание брони немного отличается от создания обычных предметов, точнее имеет свои особенности. Приступим.
Мы не будем создавать для каждого предмета свой отдельный класс, а создадим один универсальный, который опишет сразу шлем, нагрудник, штаны и ботинки.
Начнём с регистрации переменных.
public static Item bestarmorhelmet; public static Item bestarmorplate; public static Item bestarmorpants; public static Item bestarmorboots;
Шлем, нагрудник, штаны и ботинки соответственно. Теперь описываем эти переменные с помощью универсального класса. Естественно внутри метода preLoad()
bestarmorhelmet = new BestArmor(, ).setUnlocalizedName("bestarmorhelmet").setTextureName("mybestmod:BestArmorHelmet"); bestarmorplate = new BestArmor(, 1).setUnlocalizedName("bestarmorplate").setTextureName("mybestmod:BestArmorPlate"); bestarmorpants = new BestArmor(, 2).setUnlocalizedName("bestarmorpants").setTextureName("mybestmod:BestArmorPants"); bestarmorboots = new BestArmor(, 3).setUnlocalizedName("bestarmorboots").setTextureName("mybestmod:BestArmorBoots");
Здесь, вроде, всё знакомо, мы даём нелокализированное имя каждому из предметов, а также текстуру. Но здесь мы посылаем ещё и две цифры в метод BestArmor. Вторая цифра отвечает за тип брони (0 — шлем, 3 — ботинки), назначение первой неясно, но в данном случае она роли не играет. Далее тоже ничего нового, просто зарегистрируем эти предметы в Forge. Сделать это нужно после описания переменных.
GameRegistry.registerItem(bestarmorhelmet, "bestarmorhelmet"); GameRegistry.registerItem(bestarmorplate, "bestarmorplate"); GameRegistry.registerItem(bestarmorpants, "bestarmorpants"); GameRegistry.registerItem(bestarmorboots, "bestarmorboots");
С главным классом работа окончена.
Теперь щелкаем по одной из ошибок и создаём новый класс BestArmor. Теперь «продолжаем» класс ItemArmor, то есть пишем после названия класса. Теперь в тело класса вставляем следующее:
private String texturePath = "mybestmod:textures/model/armor/"; public BestArmor(int id, int armorType) { super(ArmorMaterial.DIAMOND, id, armorType); this.setCreativeTab(CreativeTabs.tabCombat); this.setMaxStackSize(1); this.setTextureName(); } public void setTextureName () { if(armorType == ||armorType == 1||armorType == 3){ this.texturePath += "MyBestArmor_" + 1 + ".png"; } else { this.texturePath += "MyBestArmor_" + 2 + ".png"; } } @Override public String getArmorTexture(ItemStack itemstack, Entity entity, int slot, String type){ return this.texturePath; }
Что ж, давайте разбираться.
Первая переменная, просто обозначает начало пути к текстуре брони. Все нужные текстуры можно спокойно извлечь из майнкрафта и отредактировать по желанию. Вот мои отредактированные текстуры:
Текстуры предметов помещаются туда же, где и текстура кирки. А вот две текстуры самой брони нужно поместить в другую папку. Поэтому создайте её: нажмите ПКМ по и выберите New — Package и назовите его и уже туда перетащите две оставшиеся текстуры.
Давайте дальше разбираться с кодом: следующим идёт метод BestArmor(), в который мы посылаем из главного класса параметры id и armorType. Напомню: от armorType зависит, какая это часть брони. В нём мы посылаем информацию о том, какой материал брони. Я написал, что броня будет аналогична алмазной, но можно создать и вписать его. Далее мы настраиваем вкладку в креативе. Потом мы ограничиваем максимальное количество данного предмета в одной стопке до одного, чтобы броня не «стакалась». В конце концов мы вызываем созданный нами метод setTextureName()
В этом нашем собственном методе происходит проверка, какая часть брони вызвала этот класс. И, если это был шлем, нагрудник или ботинки, то используется первая текстура, а если поножи, то вторая. Мы прибавляем к изначальному пути брони нужное окончание, чтобы в определённом случае грузилась одна текстура, а в другом — вторая.
Последний же метод перезаписывает метод супер-класса и указывает Майнкрафту, что должна грузиться текстура по пути texturePath, который предварительно был отредактирован во втором методе.
Теперь можно запускать игру и убивать мобов в новых блестящих доспехах!
Создание чистого мода
Если вы хотите узнать о том, как создать мод для Minecraft, то вам нужно сразу же уяснить, что его можно делать двумя совершенно разными методами — с использованием API или без. Сначала нужно разобрать создание чистого мода, который не требует дополнительного программного обеспечения. В данном случае вам нужно хорошо разбираться в механике игры и иметь определенные дизайнерские навыки, а также умение программировать на высоком уровне. Тогда вы сможете внедрять в игру что-то новое, а также изменять определенные предметы, функции и многое другое. В итоге вы сможете создать уникальный и необычный мод, но вполне вероятно, что он будет ограничен в использовании другими геймерами, так как не будет стандартизован — соответственно, у кого-то из геймеров может возникнуть проблема с запуском и совместимостью, независимо от того, для какого режима создавалась эта модификация «Майнкрафт» — выживание или креатив.
Особенности использования Minecraft Forge
Многие геймеры, которые создают или используют моды, задаются вопросом о том, зачем вообще нужен «Фордж». Ведь это так неудобно — вам обязательно нужно установить сам API, чтобы иметь возможность затем запустить модификацию. Неужели нельзя делать чистые моды, которые не требуют ничего дополнительного для игры? На самом деле «Фордж» имеет гораздо больше преимуществ, чем недостатков (кстати, он есть только один, который заключается именно в необходимости предустановки API для запуска мода). Во-первых, процесс создания мода упрощается, во-вторых, у вас появляется гораздо больше возможностей, для использования которых не нужно прикладывать усилий. Но самое главное — ваш мод становится универсальным. Если вы делаете модификацию без API, как уже было сказано выше, велика вероятность того, что многие геймеры не смогут ее установить. Если же вы использовали «Фордж», то любой геймер с установленным API сможет установить и ваш мод без малейших проблем.