[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, оставляйте комментарии, до скорого!
Minecraft Wiki
Из-за новой политики Microsoft в отношении сторонних ресурсов, Minecraft Wiki больше не является официальной. В связи с этим были внесены некоторые изменения, в том числе и обновлён логотип вики-проекта. Подробности на нашем Discord-сервере.
Экспериментальный игровой процесс
Предупреждение, появляющееся при активации экспериментального игрового процесса в настройках создания мира.
Экспериментальный игровой процесс (англ. Experimental Gameplay), или эксперименты (англ. Experiments), — это игровая опция, эксклюзивная для Bedrock Edition, которая позволяет игроку протестировать незавершённый или находящийся на стадии разработки контент.
Содержание
Настройки [ ]
Экспериментальный игровой процесс можно включить в настройках создания мира. Включение параметра не отключает достижения. В созданном мире отключить экспериментальный игровой процесс нельзя.
Включение этой опции в уже существующем мире создаёт его копию с приставкой [EX] в названии. В оригинальном мире без экспериментального игрового процесса всё ещё можно играть.
Предупреждения [ ]
Смысл экспериментального игрового процесса заключается в том, чтобы игрок мог посмотреть некоторые незаконченные нововведения, которые могут привести к аварийным завершениям игры или попрепятствовать корректной работе игрового мира. При создании, загрузке или копировании мира с экспериментальным игровым процессом, игрок может увидеть предупредительные сообщения. Попытка отключить данную опцию с помощью сторонних редакторов также может привести к различным сбоям.
Характеристики [ ]
На данный момент существуют 7 разделов:
С 1.17.11 в разделе «Caves & Cliffs» содержатся следующие возможности:
С beta 1.17.30.24 в разделе «Caves & Cliffs» содержатся следующие возможности:
Горные козлы и рыхлый снег добавлены в Minecraft Bedrock Beta
Спрячьтесь за блоком, наденьте полный комплект незеритовой брони и не забудьте захватить все элитры, которые только сможете найти! Да, я паникую, и вы тоже будете, когда узнаете, о чём пойдёт речь в этой статье.
Не верится? Тогда продолжайте читать, пока вас не бросит в дрожь от волнения/отчаяния, когда мы познакомим вас с новой бета-версией Mnecraft Bedrock, в которой вам встретится самый озорной моб в истории Minecraft — горный козёл!
Да, вы прочитали правильно: козлы, которые прыгают, скачут и норовят вас забодать, добавлены в первую бета-версию Minecraft Bedrock из обновления «Пещеры и горы». Эти скачущие по скалам создания можно встретить в биоме огромных гор. Они там… а чем горные козлы обычно занимаются в свободное время? Если не считать того, что они периодически прыгают, таранят любого горного туриста, подошедшего к ним достаточно близко, чтобы отправить его в полёт вниз с горы, на которую он долго взбирался. Дело не в том, что козлы враждебные, просто они слегка пассивно-агрессивны — я это могу понять, пропустив свой завтрак, второй завтрак, обед, ужин и даже кофе!
Но козлы — это не единственная причина, по которой нужно дважды подумать, прежде чем отправляться в горы. Рыхлый снег — наш самый снежный снег, после пластинчатого снега. Этот пористый блок предотвращает урон от падения, но будьте осторожны, наступая на него, можно провалиться сквозь него, что сильно ограничит вашу подвижность.
Если надеть кожаные ботинки, то можно будет ходить по блокам рыхлого снега, не проваливаясь, но поскольку я рекомендовал вам облачиться в незеритовую броню, то я чувствую себя виноватым.
Присоединяйтесь к бета-тестированию
Программа тестирования Minecraft Beta — это отличный способ получить доступ к нововведениям, которые пока ещё не выпущены в полной версии, который помогает нам улучшить их.
Горные козлы и рыхлый снег — не исключение, поэтому мы будем рады узнать ваши мысли и принять обратную связь уже сейчас на нашем сайте обратной связи. Если вам интересно подключиться к бета-тестированию (доступному на Windows 10, Xbox One и Android), то об этом здесь.
Не забудьте только включить козло-центрический контент с помощью переключателя «Caves and Cliffs» в настройках мира.
Как обычно, мы настоятельно рекомендуем вам сохранить резервную копию мира, прежде чем попробовать его в бета-версии.
Goats are jumping, bouncing, and charging into our first Caves & Cliffs-themed Bedrock Beta.
Создание модификаций с помощью Forge/1.7+/Дополнительные уроки
Здесь представлены основные уроки по созданию модификаций с помощью Forge/1.7+. Остальную информацию по данной теме смотрите в соответствующей статье.
Содержание
Локализация названий в игре [ ]
Собственно у нас есть некоторые предметы, блоки, а возможно даже кнопки, существа и надписи из нашего мода, называющиеся в инвентаре примерно так: item.block.name Естественно это нас не устраивает, и это можно исправить, даже не внося изменений в код!
Итак, приступим. Слева, в src/main/resources создайте пакет assets.mybestmod.lang Понятно, что mybestmod — это краткое имя мода(или modid), указанное в @Mod. Теперь где угодно создайте файл(создайте текстовой, а затем измените расширение) en_US.lang (где будут написаны английские название блоков, предметов и т. д.) и пропишите в нём то, что вы видите вместо названия в инвентаре (в случае нашего первого блока — tile.bestblockever.name), затем равно, и прямо за ним — ваше локализированное название, например: «Best Block EvAR!». То есть должно получиться:
Теперь скопируйте файл, и назовите копию ru_RU.lang (собственно русский перевод). Внутри него измените название на русское, например
Теперь оба этих файла можете перетащить в заранее созданную assets.mybestmod.lang При переносе выберите Copy files.
Чтобы локализировать вкладки в режиме творчество добавьте такой код:
tabTutorial — Название вашей вкладки
Вот и всё! Локализация завершена, теперь в игре будут отображаться выбранные вами названия.
Подобных названий можно вписывать сколько угодно, главное в столбик.
Скорее всего в игре русское название будет выглядеть вопросами! Это всё из-за кодировки. Исправить это можно зайдя в eclipse вкладку window\preferences\general и просто нажмите на workspace и внизу найдите text file encoding и поставьте на other и там выберите UTF-8. Всё! теперь у нас нормальный русский язык!
Дроп определённого предмета при разрушении блока [ ]
Всё очень просто. В конец класса созданного вами блока (перед последней фигурной скобкой) вставьте это:
То есть теперь при разрушении вашего блока из него выпадет алмаз. Вы можете написать, чтоб выпадало что угодно. Просто вместо return Items.diamond; напишите « return Item.getItemFromBlock(Blocks.); » (для блоков) или « return Items.; » (для предметов), а после ввода вами точки выпадет список возможных предметов или блоков.
Если хотите, чтоб выпадал не один предмет, а несколько, просто вставьте сразу после предыдущих строк
Тогда при разрушении выпадет 20 выбранных вами предметов или блоков. Всё очень легко и просто!
Разносторонняя текстура блока [ ]
Я буду использовать следующие текстуры: 





Для этого, добавьте такой код в тело класса:
И такой после конструктора класса:
Теперь в папку assets/ID мода/resources/textures/blocks/ добавьте файлы с таким именем: _
В игре блок будет выглядеть так:
Важно то, что текстура северной и восточной (2 и 5) части блока отображается зеркально. Если вы не поняли, то поставьте блок ТНТ и посмотрите на части, где написано TNT. С одной стороны написано «TNT», а с другой — «ТИТ».
Собственная вкладка в Творческом режиме [ ]
Для этого добавьте такой код в тело класса:
«ModID» заменяем на любое число. Рекомендую ID больше 11 (12 ID сразу на следующей странице творческого инвентаря).
Потом создайте класс TutorialTab. Если всё правильно, то ваш класс будет иметь extends CreativeTabs до первой фигурной скобки. Теперь добавьте этот метод в ново-созданный класс:
Для того что бы добавить что либо из вашего мода в собственную вкладку пишем:
Обновление Forge [ ]
Чтобы обновить версию Forge, на который вы создаёте моды, необязательно всё перекачивать.
Достаточно просто изменить build.gradle Так что если хотите обновить Forge откройте его любым редактором и найдите строчку
Там будет написана версия Forge, которая у вас сейчас, соответственно вам нужно всего лишь изменить значение на новое. Измените его на версию, до которой хотите обновить Forge (например на 1.7.2-10.12.0.1012) и сохраните файл. Далее запустите gradlew.bat с командой eclipse (то есть запустить bat-файл с кодом gradlew.bat eclipse ) и после завершения его работы ваша версия Forge обновлена!
Обновление ForgeGradle [ ]
Forge отделён от ForgeGradle, поэтому если вы попытаетесь обновиться на версию Forge, которая использует более новой ForgeGradle, вы получите ошибки. Вот таблица версия Forge, и какие версии ForgeGradle он использует.
| ForgeGradle | Forge | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| — | 959 Свой материал для инструмента [ ] Допустим вы хотите, чтобы ваш инструмент обладал свойствами не железной/алмазной кирок из майнкрафта, а собственными. Тогда где-нибудь(вы можете где угодно написать эту строку, главное, чтоб можно было вызвать.), например в главном классе вне каких либо методов (то есть можно перед последней фигурной скобкой) напишите: Не забудьте про импорт. Давайте разберемся: static означает, что переменная NEWMAT типа ToolMaterial доступна из других классов. Затем приравнивается значению, которое и даст вашей кирке определённые свойства. Теперь об аргументах, перечисленных через запятую: Теперь можно придать какому-нибудь инструменту эти свойства, для этого в инструменте (например в нашей кирке) измените super(ToolMaterial.EMERALD); на super(BaseMyBestMod.NEWMAT); В таком случае вы отправляете в супер-класс инструмента информацию о том, что свойства описаны переменной NEWMAT типа ToolMaterial, которая описана в классе BaseMyBestMod (или любой другой класс, где она написана). Вот и всё, свойства инструмента изменены. Создание брони [ ]Создание брони немного отличается от создания обычных предметов, точнее имеет свои особенности. Приступим. Мы не будем создавать для каждого предмета свой отдельный класс, а создадим один универсальный, который опишет сразу шлем, нагрудник, штаны и ботинки. Начнём с регистрации переменных. Шлем, нагрудник, штаны и ботинки соответственно. Теперь описываем эти переменные с помощью универсального класса. Естественно внутри метода preLoad() Здесь, вроде, всё знакомо, мы даём нелокализированное имя каждому из предметов, а также текстуру. Но здесь мы посылаем ещё и две цифры в метод BestArmor. Вторая цифра отвечает за тип брони (0 — шлем, 3 — ботинки), назначение первой неясно, но в данном случае она роли не играет. Далее тоже ничего нового, просто зарегистрируем эти предметы в Forge. Сделать это нужно после описания переменных. С главным классом работа окончена. Теперь щелкаем по одной из ошибок и создаём новый класс BestArmor. Теперь «продолжаем» класс ItemArmor, то есть пишем extends ItemArmor после названия класса. Теперь в тело класса вставляем следующее: Что ж, давайте разбираться. Первая переменная, просто обозначает начало пути к текстуре брони. Все нужные текстуры можно спокойно извлечь из майнкрафта и отредактировать по желанию. Вот мои отредактированные текстуры:
Текстуры предметов помещаются туда же, где и текстура кирки. А вот две текстуры самой брони нужно поместить в другую папку. Поэтому создайте её: нажмите ПКМ по src/main/resources и выберите New — Package и назовите его assets.mybestmod.textures.model.armor и уже туда перетащите две оставшиеся текстуры. Давайте дальше разбираться с кодом: следующим идёт метод BestArmor(), в который мы посылаем из главного класса параметры id и armorType. Напомню: от armorType зависит, какая это часть брони. В нём мы посылаем информацию о том, какой материал брони. Я написал, что броня будет аналогична алмазной, но можно создать свой материал для брони и вписать его. Далее мы настраиваем вкладку в креативе. Потом мы ограничиваем максимальное количество данного предмета в одной стопке до одного, чтобы броня не «стакалась». В конце концов мы вызываем созданный нами метод setTextureName() В этом нашем собственном методе происходит проверка, какая часть брони вызвала этот класс. И, если это был шлем, нагрудник или ботинки, то используется первая текстура, а если поножи, то вторая. Мы прибавляем к изначальному пути брони нужное окончание, чтобы в определённом случае грузилась одна текстура, а в другом — вторая. Последний же метод перезаписывает метод супер-класса и указывает Майнкрафту, что должна грузиться текстура по пути texturePath, который предварительно был отредактирован во втором методе. Теперь можно запускать игру и убивать мобов в новых блестящих доспехах! Свой материал для брони [ ]Почти не отличается от создания собственного материала для инструмента. В главном классе в любом месте, но вне каких-либо методов пишем: Затем импортируем ArmorMaterial. Теперь разберём: Вот и все. Теперь можно использовать этот материал для брони, например заменив ArmorMaterial.DIAMOND на BaseMyBestMod.BESTMAT Генерация предметов в контейнерах натуральных структур [ ]Итак, вы можете сделать так, чтобы ваш, или любой другой предмет/блок генерировался в сундуках сокровищницы. Для этого в методе preLoad() в главном классе вставьте следующее: Разберемся в параметрах: Атрибуты для моба [ ]Если вы уже проверили моба, то заметили, что он двигается очень медленно. Чтобы исправить это и изменить атрибуты для моба, добавьте в его класс следующий код:
Интеллект для моба [ ]Теперь моб будет просто двигаться, но ничего не делать. Для того, чтобы добавить ему интеллект создайте в класс моба следующий код: Теперь в конструктор класса добавьте следующий код: Первый аргумент метода «addTask» — приоритет назначения интеллекта, второй — сам интеллект. В примере используются следующие интеллекты: «Swimming», «AttackOnCollid», «Wander», «WatchClosest», «LookIdle», «HurtByTarget» и «NearestAttackableTarget». Разъяснение:
Свой скин при моддинге [ ]Внимание! Этот способ работает только на лицензионной версии Minecraft. Чтобы при создании мода вы видели свой скин, вместо стандартного скина Steve, нужно прописать 2 строчки в аргументы запуска. После этого, при заходе в игру вы будете видеть свой скин. Моды Minecraft доступны для компьютерных и мобильных версий игры, но устаревшие консольные версии не могут быть модифицированы с помощью практических методов. Модификации для Bedrock версии игры с использованием Minecraft «s API известны как„дополнение“. СОДЕРЖАНИЕТехническая осуществимостьИсторияПримерно в ноябре 2011 года были выпущены Forge Mod Loader и Minecraft Forge. Forge позволяла игрокам запускать несколько модов одновременно. Кузница использовала сопоставления MCP. Forge также выпустил серверную версию Forge, которая позволяла запускать моды на серверах, что в конечном итоге привело к тому, что люди стали создавать модифицированные серверы. Forge избавился от необходимости манипулировать базовым исходным кодом, позволив отдельным модам работать вместе, не требуя, чтобы они касались базового исходного кода. Forge также включал множество библиотек и хуков, которые упростили разработку модов. В середине 2014 года Spigot выпустила серверное программное обеспечение, предназначенное для соединения множества серверов. Проект назывался BungeeCord и имел отдельный API для плагинов от spigot, и плагины spigot могли работать бок о бок с BungeeCord. Многие популярные серверы Minecraft используют BungeeCord для соединения серверов Minecraft вместе. PaperMC также выпустила модифицированную версию BungeeCord под названием Waterfall, которая включает оптимизацию, отсутствующую в Spigot. В сентябре 2016 года был выпущен новый набор инструментов для моддинга, известный как Fabric. Fabric разработала собственный набор бесплатных отображений для использования вместо сопоставлений MCP. В Fabric также использовались миксины Sponge. Fabric был очень легким и не имел всех элементов мода Forge, а также мог быть выпущен из версий Minecraft для моментальных снимков разработки, чего не могли другие загрузчики модов. В 2018 году Forge претерпела большую переработку, частично из-за значительных изменений в Java Edition версии 1.13 и для поддержки их новой системы долгосрочной поддержки для будущих версий. Это заставило многих моддеров использовать 1.12.2 в качестве основной версии. Mod Coder Pack перестал получать обновления после 1.12.2. Liteloader не обновлялся до версии 1.13, и на смену ему пришел Rift. Rift был легким загрузчиком модов для версий 1.13–1.13.2, который также использовал миксины. Однако Liteloader и Rift не выпускали загрузчик модов для серверов, поэтому моды Liteloader и Rift могли работать только на игровом клиенте. Было выпущено новое серверное программное обеспечение для 1.12.2 под названием Magma, которое позволяло использовать плагины PaperMC и моды Forge вместе. В конце 2018 года Fabric полностью переписали. Были изменены имена сопоставлений и добавлено больше хуков, чтобы упростить моддинг. Fabric также стала очень популярной, и моддинг 1.14 начал разделяться между Forge и Fabric. Forge выпустила новую систему долгосрочной поддержки для Java Edition версии 1.14, и обновление модов до более новых версий стало проще. СпорыДругой был связан с модом Bukkit, API, который позволял другим устанавливать серверные моды. В 2014 году лидер команды Bukkit Уоррен «EvilSeph» Лу (ранее работавший в Mojang) объявил, что разработка прекращается, и Mojang вмешался, чтобы спасти проект. После объявления Mojang интеллектуальные права на проект стали неоднозначными. Лицензионные конфликты возникли между первоначальными создателями Bukkit и сопровождающими, в основном вращаясь вокруг того, кто «владел» проектом после ухода основных сопровождающих в отставку. Один крупный участник попытался отобрать у него права на использование своего кода в игре, фактически вынудив Bukkit на время прийти в негодность. Содержание модаТипы и виды контента, добавляемого этими модификациями, также принимают множество различных форм. Пакеты модовОфициальная поддержкаВлиятьСам МайнкрафтMojang также признал, что им понравилась вся работа, проделанная над серверным API Bukkit для моддинга. В 2012 году шведская компания наняла ведущих разработчиков проекта. В 2019 году kingbdogz, разработчик модов для Minecraft, известный тем, что создал мод The Aether, заявил в Твиттере, что он был нанят Mojang для работы с ними над Minecraft. ОбразованиеВ 2011 году была создана MinecraftEdu для продажи школам версии Minecraft, которая позволяла преподавать более широкий спектр предметов, включая язык, историю и искусство. В январе 2016 года Microsoft анонсировала новый инструмент «Minecraft: Education Edition», который будет разработан специально для использования в классе и продолжит наследие «MinecraftEdu» для обучения широкому кругу предметов с использованием Minecraft. В Руководстве для родителей по Minecraft автор Кори Дусманн отмечает, что домашнее обучение и Minecraft представляют собой интересное совпадение, поскольку создание простых модификаций может быть «иллюстрацией научных принципов», к которым восприимчивы поставщики домашнего обучения. Критический приемPC World ‘ s Nate Ральф называет установкой модов для Minecraft „несколько свернутый процесс“, но признатьэто может послужить игроккоторый желает „немного больше из опыта“ игры в игру. Макс Эдди из журнала PC Magazine также поднимает вопрос о процессе настройки игры, дополненной модами, утверждая, что «это кажется довольно сложным» и что сначала он «слишком боялся вообще модифицировать Minecraft», но научился ценить это, когда он понял, что создание модов для Майнкрафт «довольно снисходительно». Тем не менее Эдди упоминает, что, по его мнению, быстрые темпы развития Mojang в отношении основной игры замедлили развитие самых популярных модов. Мод Minecraft Galacticraft был модом недели в PC Gamer в июле 2013 года. |



.jpg)
