Как поменять айди предметов в майнкрафте

Обновлено: 01.07.2024

Айдишники ремувнули ещё на снапшотах 1.7, никак ты их не задашь легальным способом, а уж тем более через итем.

GoogleTan

Картошка :3

Это неудобно, так как может потеряться совместимость с другими модами.

Uberm Sternenzelt Richtet Gott, wie wir gerichtet.

Spokers

GoogleTan, Оке но всё же как сделать даже если будут такие ошибки можно переделать ID

Maxik

Голубой Петушок

Для того чтобы такие ошибки не возникали, эта система автоматических айдишников и была придумана.
Ты сейчас вставляешь палки в колесо велосипеда на котором едешь. Вопрос - зачем? Ты мазохист?

Делаю воксельные(и не только) 3D-модели для ваших Minecraft проектов. Портфолио можете увидеть полистав группу моего мода Soviet Lab - все модели сделаны мной.

Spokers

Допустим,
Но согласись
Лучше когда ты можешь так
give @a 2004 1
А не искать его в гм-ке

Sainthozier

Стрелочник

Лучше бы ты так заморачивался над своей грамматикой(второй скрин).
И лучше, когда я могу вот так: "/give Sainthozier mymod:myitem 1", а не зубрить с десяток айдишников.

По теме - никак. Но можешь на всякий случай посмотреть моды, которые призваны устранить конфликты совпадающих id(если таковы имеются на 1.7.10), возможно найдёшь для себя подсказку )

Итак, ID - это положительное целочисленное значение, присваиваемое каждому объекту в игре. Поскольку количество идентификаторов ограничено (Максимальный ID для блока - 4095), разработчикам модов не всегда удаётся избежать использования тех ID, которые уже были заняты другими модами. Поскольку мы решаем эту проблему в ручном режиме, нам не потребуется использовать специальные моды для переназначения уже занятых ID.

Начать стоит с отчёта об ошибке, который появляется после попытки запустить игру. Обычно в самом начале этого текста содержится следующая строчка:

java.lang.IllegalArgumentException:
Slot *a* is already occupied by *b* when adding *c*

*a* - ID, который не поделили моды *b* и *c*

Обратите внимание: изменения можно внести как в конфигурационный файл мода *b*, так и мода *c*. Если оба мода не поддерживают изменение ID через конфигурационные файлы, решить конфликт вручную не выйдет.

Это был один из двух возможных способов ручного устранения конфликта ID. Второй мы рассмотрим в следующей статье.

Мой совет: устанавливая каждый следующий мод, проверяйте, работает ли сборка после его установки. Так не возникнет цепной реакции, связанный с использованием одинаковых идентификаторов.

Также, советую посмотреть видео-урок по устранения конфликта ID в ручном режиме:

Ну в заголовке есть вопрос, на него нужно найти ответ. У меня есть желание удалить некоторые вещи из мода, решил изменить их айди на -1, но не знаю как это сделать. Заранее спасибо.

hohserg



Числовые id, начиная с версии 1.7.10 являются особенностью внутренней реализации(или вообще не используются), поэтому опираться нужно на буквенные registry name. Если нужно удалить из игры предмет/блок, то лучший способ - убрать все способы получения его игроком(крафт, генерация, дроп). Удалять из регистрации - плохая идея, т.к. может сломаться какой-то кусок кода, который ожидает существование предмета. Максимум можно заменить предмет/блок на свой экземпляр.

Новая рандомная ава топовая) Ender'sMagic 1.4b - УРААА!))


Таумкрафт 6 - ураа!
Пишу на Scala
Какая ирония: написание тутора позволяет понять тему лучше, чем его чтение
Test BB-code

В моддинге на minecraft новичек. Можно ли как нибудь изменить характеристики стандартных предметов, мобов и.т.д? Например: увеличить количество здоровья у крипера. До сих пор не понял как это сделать. Заранее спасибо.

Мираж

Вообще. Можно, но не все характеристики. Можно увеличить урон меча, силу мобов. Но насчёт хп мобов я не знаю. Если только выдать им эффект увеличения здоровья. Коды не напишу, сама не знаю. Допустим есть мод изменяющий свойства, вид и зону поражения зелий.

Вамиг Алиев

Да, можно. Один из способов - так называемые "хуки", с помощью которых меняют исходный код Майнкрафта. Отличной и простой, на мой взгляд, является эта библиотека HookLib: [Гайд][Легко][1.6+] Модификация чужого кода при запуске (трансфомеры). Автор библиотеки в теме подробно объяснил, как ей пользоваться, в коде библиотеки также много комментариев. В теме есть пример с уменьшением показателей брони в 2 раза.

Например, Вы хотите уменьшить здоровье Крипера. Открываете класс Крипера.

Осматриваете его. Далее путем анализа делаете вывод, что нужно хуком добавить в класс метод getMaxHealth(), чтобы перезаписать одноименный метод из super-класса EntityLivingBase.

Вообще, хуки для того и нужны, чтобы менять код игры.

Dahaka

Нет, это слишком костыль. Можно поймать PlayerConstructingEvent и добавить атрибутам свои модификаторы.

Читайте также: