Как сделать мультитул minecraft modding
Обновлено: 05.07.2024
Из-за новой политики Microsoft в отношении сторонних ресурсов, Minecraft Wiki больше не является официальной. В связи с этим были внесены некоторые изменения, в том числе и обновлён логотип вики-проекта. Подробности на нашем Discord-сервере.
Содержание
Урок 5. Крафт [ ]
Собственно, у нас есть блок и предмет. Мы можем их держать в руках, а блок даже ставить. Но а если мы хотим достать их, играя в режиме Выживания? Тогда блок или предмет можно только найти или скрафтить. Добавить крафт очень просто. Предположим, рецепт блока должен быть следующим:
Тогда я запишу вот это в тело метода preLoad главного класса после строки регистрации блока в Forge:
Бесформенный крафт (то есть крафт, в котором можно располагать ингредиенты как угодно) опишите так:
То есть если вы положите в верстак/инвентарь 2 блока гравия и стрелу, то получите 4 блока Земли, покрытой травой.
Так же в игре, как мы знаем, присутствует переплавка одних предметов/блоков в другие. Рецепт такой переплавки создаётся всего одной строкой, которую нужно писать после регистрации блока bestblockever:
Но теперь разберём. Итак, первой в скобках указана переменная типа Block (также можно Item), в данном случае это наш блок, затем идет переменная типа ItemStack, которая создаётся сразу же. У этой переменной уточняется, что создастся стак с блоком или предметом, в данном случае алмазным блоком, в количестве 2. Ну и последняя переменная отвечает за количество опыта, получаемого при переплавке.
Урок 8. Прокси и инстанция [ ]
Прокси и инстанция (экземпляр) нужны для создания мобов, регистрация собственных рендеров, звуков и др. Для создания инстанции добавьте в главный файл модификации следующий код:
Теперь следует сделать прокси. Прокси фильтрует контент на то, что должно быть для сервера, а что для клиента. Сервер хранит данные о мире, в то время как клиент рендерит мир. Для создания прокси создайте два класса: ClientProxy для клиента и CommonProxy для сервера. Суперклассом ClientProxy должен быть CommonProxy. Теперь регистрация прокси. Просто добавьте следующий код в главный класс модификации:
Прокси и инстанция готовы.
Как установить мод Bushcraft Multitool
Установите фордж для майнкрафт.
Скачайте мод и поместите файл по адресу: C:\Users\ваш пользователь пк\AppData\Roaming\.minecraft\mods
Откройте лаунчер майнкрафт и выберите в профиле версию майнкрафт с форджем.
Где найти папку AppData?
Урок 9. Моб [ ]
Можно приступать к созданию моба. В примере будет создание враждебного моба, со скином игрока. Начните с главного файла модификации. Для удобства регистрации мобов, в примере будет создан отдельный метод:
Теперь в метод preLoad добавьте следующий код:
Параметр | Описание |
---|---|
MyBestEntity.class | Класс моба. |
«myBestEntity» | ID моба |
0x00FFFF | Цвет фона яйца |
0x00008B | Цвет пупырышек яйца. |
Теперь создайте класс моба и добавьте туда следующий код:
В примере суперклассом класса моба является класс «EntityMob», предназначенный для враждебных мобов. Также существуют классы «EntityCreature», «EntityAnimal», «EntityLiving» и другие.
Теперь модель, текстура и рендер. В класс CommonProxy добавьте следующий код:
Далее в класс ClientProxy добавьте следующий код:
Теперь надо вызвать созданный метод в главном файле модификации. Просто добавьте этот код:
Далее создайте класс RenderВашМоб. В нашем случае это «RenderMyBestEntity». Его суперклассом должен быть класс «RenderBiped». В класс добавьте следующий код:
Урок 4. Предмет [ ]
Ну вот мы и создали блок. Но ведь в игре присутствуют не только блоки, но и предметы. Такие как еда, инструменты, в общем всё подряд, что обычно нельзя поставить на землю. Давайте создадим такой предмет. Для примера возьмём кирку.
Перейдем в главный класс модификации. До метода preLoad() сразу после public static Block bestblockever; допишите:
Тем самым мы создадим переменную типа Item с кодовым названием кирки.
В методе preLoad() для удобства отступите одну строку от того что уже написано, и пишите туда следующее: (Я сразу напишу всё, что нужно, многие элементы описания предмета совпадают с описанием блока, особой разницы нет)
Теперь, не обращая внимания на появившуюся ошибку вставьте в тело это:
Тогда ошибка исчезнет. Строка super(ToolMaterial.EMERALD); говорит о том, что пошлёт в супер-класс информацию о том, что кирка обладает свойствами алмазной кирки. Ну и также допишем после этой строчки
тем самым добавив кирку в раздел инструменты в режиме «Творчество».
Почти готово. осталось только добавить текстуру, давайте модифицируем текстуру из Minecraft. Зайдите в папку c Minecraft\versions\1.7.2, там откройте jar-файл c помощью архиватора, в архиве перейдите в assets\items и там найдите какую-нибудь текстуру кирки, извлеките на рабочий стол. Файлы текстур НЕЛЬЗЯ редактировать обычным Paint’ом, так как текстура должна быть кое-где прозрачной, если вы не хотите конечно идеально квадратную кирку. В общем отредактируйте текстуру как угодно, главное чтоб была 16×16. Назовите текстуру BestPickAxe.jpg Теперь создайте в проекте директорию с текстурами предметов. Для этого ПКМ по src → New → package а в названии напишите assets.mybestmod.textures.items и туда мышью с раб. стола перенесите готовую текстуру и нажмите ОК. Теперь скажем предмету где его текстура. Пропишите следующее всё в том же методе кирки.
И можно запускать для проверки.
Создание модификаций с помощью Forge/1.7+/Основные уроки
Здесь представлены основные уроки по созданию модификаций с помощью Forge/1.7+. Остальную информацию по данной теме смотрите в соответствующей статье.
Tools Combine - мульти-инструменты [1.12.2] [1.10.2] [1.8] [1.7.10]
Архив файлов
1.7.10: toolscombine1.7.10.jar [39,53 Kb]
1.8: toolscombine-1.8.jar [46,5 Kb]
1.10.2: toolscombine1.10.2.jar [47,92 Kb]
1.12.2: toolscombine1.12.2.jar [83,75 Kb]
Урок 6. Компиляция [ ]
Что же, вы написали модификацию, она работает, но вы хотите чтобы он работал и просто на Minecraft. Давайте наконец его скомпилируем!
Компилировать модификацию очень просто, запустите файл gradlew.bat с командой build. Или другими словами создайте bat-файл (или измените оставшийся) с кодом:
и запустите его. После автоматического закрытия консоли модификация скомпилирована и находится в папке build/libs. Если для компиляции модификации требуется подключение дополнительных jar библиотек, то необходимо в корневой папке проекта (MCModding) создать папку libs и поместить все необходимые файлы в неё.
Так же немного о build.gradle Вы можете его модифицировать так, чтобы jar-файл автоматически назывался как надо. Откройте его любым текстовым редактором. Вы можете изменить следующие строки, как захотите, например так:
Сохраните файл. Таким образом вы получите при компиляции файл My Best Mod-1.0.jar
Урок 7. Генерация [ ]
Теперь мы сделаем так, чтобы теперь какой-либо блок, аналогично рудам, генерировался в обычном мире, в Нижнем мире или в краю. Теперь в главном классе (BaseMyBestMod) после регистрации блока в Forge регистрируем новую переменную:
и исправляем ошибку, создав нужный класс. Естественно, вместо BestBlockGenerator вы можете использовать любое название. Далее в методе preLoad() в любом месте после регистрации блока, который хотите генерировать, добавьте такой код:
Теперь в созданном классе после public class BestBlockGenerator добавьте implements IWorldGenerator и в тело класса добавьте это:
Теперь можно запускать и смотреть результаты.
Урок 1. Директория Eclipse (Установка среды) [ ]
Теперь вы можете приступать к созданию своей первой модификации.
Урок 3. Блок [ ]
Приступим к созданию своего первого собственного блока.
В самом начале тела Класса (После первой фигурной скобки если вы ещё не поняли) пишем:
Public значит, что объект bestblockever (такое кодовое имя мы дали блоку) может быть вызван откуда угодно. Static, что он статичный, а Block значит тип объекта. А вот описание объекта Block надо импортировать, так как в нашем классе этого не указано. Для этого нажмем по ошибке и выберите импорт из net.minecraft.block , а не откуда либо ещё. В случаях с множественными вариантами импорта Ctrl-Shift-O лучше не нажимать. Всё, ошибка исчезла.
Теперь укажем, где про блок будет написано более подробно. В теле метода preLoad() напишем строчку:
Эта строка говорит, что про объект bestblockever будет написано в классе BlockBestBlockEver. И он выдаёт ошибку. Естественно, ведь никакого класса BlockBestBlockEver не существует. Его легко создать, нажав по ошибке и выбрав Create Class… Далее нажмите Finish.
Итак, давайте поработаем над характеристиками блока. Это можно сделать из главного класса, указывая их через точку после bestblockever = new BlockBestBlockEver(); (до точки с запятой). Но можно и отсюда. Для этого пишите их в теле этого объекта после «this.» также можно не писать.
Также можно установить будет ли блок светиться. Чем больше число, тем светлее. Вместо 0 пишете уровень света, создаваемого блоком, умноженное на 10. Таким образом нужно вставить туда значение от 0 до 150 (150 означает уровень света 15, максимальное значение).
Теперь давайте добавим текстуру блоку. Она может быть любой, но размером 16×16 или 32х32 пикселей. Например можно создать картинку, написать в ней «Б» и уменьшить до 16×16 пикселей и чуть-чуть подредактировать. Можете скачать эту: Желательно, чтоб название было как у блока, а расширение обязательно .jpg
Так, текстура есть, теперь пропишем её в код. Следующее пропишите всё в том же методе блока.
Теперь поместим текстуру в проект. Слева в окне директорий проекта выберите src/main/resources и нажмите правой кнопкой и создайте директорию.(New → package) Назовите так: assets.краткое название модификации.textures.blocks (assets.mybestmod.textures.blocks). Теперь мышкой перетяните текстуру из windows в эту директорию. В окне выберите «Copy files».
Теперь нужно зарегистрировать блок. Перейдите в главный класс и в самом конце метода preLoad допишите
Это должно зарегистрировать блок в Forge.
Начиная с версии 1.9, блоки регистрируются в два этапа. О том, как это сделать, можно посмотреть здесь
И последнее: мы не указали, как будет называться блок в игре. Локализация описана в этом доп. уроке.
Ну вот и всё, блок создан. Теперь необходимо проверить его работоспособность. Запускайте Minecraft с вашей модификацией! Но сначала сохраните оба класса ( Ctrl-S ). Для запуска нужно нажать сверху зелёный круг с треугольником (или Ctrl-F11 ). После запуска посмотрите, есть ли ваша модификация в списке модификаций (в главном меню), создайте новый мир в режиме креатив и найдите свой блок в креатив-инвентаре во вкладке блоки. Если он там есть, берется, ставится и ломается, то поздравляю: модификация, добавляющая блок, создана!
Bushcraft Multitool - мультитул для начальных этапов майнкрафта
Этот мод очень поможет любому игроку в начале новой игры, ведь он соединяет в себе сразу же несколько функций - огниво, ножницы для стрижки овец и собирания растений.
Чтобы поджечь что-нибудь, возьмите в одну руку слиток железа или его кусочек, в другую наш нож из кремня и нажмите ПКМ! Чтобы остричь овцу, подойдите к ней с ножом и опять нажмите пкм, у Вас сразу же появится шерсть. Также этим ножом можно собирать лозы и другие растения.
В итоге получился удобный и полезный инструмент с лёгким крафтом!
Крафт:
Bushcraft Multitool [1.12.2] [1.12.1]
Урок 2. Главный класс [ ]
Итак, можно приступить к созданию модификации. Создадим его основу.
Вы написали, что ваша модификация называется «My Best Mod» и имеет версию 1.0. Но Eclipse сообщает об ошибке, так как ему неизвестно, что значит @Mod. Нужно импортировать соответствующий класс, для этого после строчки с указанием пакета ( package platon.mods.mybestmod; ) напишите следующую строчку:
Далее уже в теле (в фигурных скобках) пишем:
Вот и всё. Основа модификации готова. Можете запустить Minecraft (Зеленая кнопка сверху → Client) и увидеть в списке модификаций свою модификацию. По крайней мере для того, чтобы приступить к созданию первого блока.
Multitool | Every Tool in one Item
Do you hate it when your whole inventory is cluttered by tools?
With this data pack you can craft a multitool ; all tools in one item !
This data pack now has a resource pack available to change the Look of the Multitool to a Halbert! Check it out!
Now available for Minecraft 1.17 !
(Note when updating from 1.16 to 1.17 , the old Multitools stop working !)
You can now enchant your multitool.
It even works with the Grindstone and with the Anvil .
You can even upgrade your multitool in the smithing table . (This even works with my Upgrade Gear! data pack!)
Craft the multitool by combining all 4 tools and a sword of the same tier.
It switches between all the different tools , depending on the block you look at.
It even switches to a sword when looking at mobs .
If you sneak when looking at a tillable block, the tool switches to a hoe .
To give yourself a Multitool you can also use /function give:multitool.ps/<material>_multitool .
To change the durability, you can change the chance of regaining one durability on use if the file:
/data/ps_multitool/predicates/repair_chance.json
( 0.0 - like in 2.4 | 0.5 - double durability | 0.75 - 4 times durability | 0.8 - 5 times durability [default] | 1.0 - unbreakable)
This data pack should work with most - if not all custom enchantment data packs.
To uninstall the data pack run /function ps_multitool:uninstall !
Known Bugs (will be addressed):
- No bugs known in the current version.
If you find any bug or incompatibility please let me know with a command and I will try to fix it!
Читайте также: