Необходимо редактировать .class файл в minecraft что-бы увеличить радиус обнаружения ИИ ну и может улучшить сам ии по возможности. По умолчанию радиус поиска ии 16 блоков нужно хотя-бы 32 или выше для того что-бы мобы могли хотя бы видеть противников на свервере вооружённых куда лучше и расстреливающих их с большёго расстояния в перспективе увеличить дальность атаки скелета до 50 блоков. В конфигах ничего не нашёл вероятно всё хранится в minecraft.jar в .class файлах.

Лучший ответ

Гуглим java decompile .class
Другой вариант — найти исходники майнкрафта и их скомпилировать.
В любом случае, дело обещает быть непростым, кода очень много, но первое наверно таки проще.

SencisПрофи (509) 7 лет назад

Открыть их удалось но код непонятный вероятно он обфусцирован любые названия переменных или констант в коде набор случайных символов т. ч. придётся искать исходники.

SencisПрофи (509) 7 лет назад
Нашёл способ:
через Minecraft_Coder_Pack
хотя ещё не опробовал но наверняка подходит всем спасибо.
Остальные ответы

Как редактировать файлы .class на телефоне?

для начала тебе придётся декомпилировать эти файлы, получить исходники (просто текстовые файлы по сути), отредактировать их, потом заново скомпилировать

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

DJ Java Decompiler

а чё вы даже в играх честно поступать не умеете?

правду говорят, посади свинью за стол — она и ноги на стол.

Источник: otvet.mail.ru

Редактирование исходных классов minecraft

Есть настроенный eclipse и forge. Есть также просто декомпилированные исходники майнкрафта. Нужно изменить классы чистого майнкрафта, чтобы например мод можно было установить добавлением скомпилированных файлов мода и затронутых файлов майнкрафта с удалением manifest.
Я мод уже написал в eclipse, проверил, все работает. Но проблема в том, что когда собираешь мод для forge в конечной версии измененные классы майна не подтягиваются, то есть мод не работает, так как forge по всей видимости не внедряет измененные классы в майнкрафт. Хотелось бы вообще без forge обойтись. Вот только в джаве я не силен и как впилить изменения не знаю.

Icosider

Kotliner

Администратор
3,580 99 655
funsfox написал(а):

Есть настроенный eclipse и forge. Есть также просто декомпилированные исходники майнкрафта. Нужно изменить классы чистого майнкрафта, чтобы например мод можно было установить добавлением скомпилированных файлов мода и затронутых файлов майнкрафта с удалением manifest.
Я мод уже написал в eclipse, проверил, все работает. Но проблема в том, что когда собираешь мод для forge в конечной версии измененные классы майна не подтягиваются. Хотелось бы вообще без forge обойтись. Вот только в джаве я не силен и как впилить изменения не знаю.

Как конвертировать .class файл в .java

D:Forge $versionbuildtmprecompileMcsourcesnet от туда берём классы и пихаем к себе в D:Forge $versionsrcmainjava

Источник: forum.mcmodding.ru

Как мне отредактировать файлы Minecraft Mod Class?

Я пытаюсь отредактировать одну строку в модуле Pam Harvestcraft. Причина в том, что в игре эти «сады» внутри мод появляются слишком часто. Для этого мода есть файл конфигурации, однако минимально возможное значение для rarity = 1 все еще слишком велико.

Эта редкость — это int, и я хочу изменить ее на float внутри этого файла.class Mod jar, чтобы я мог использовать 0.5 или что-то меньшее, чем 1, чтобы уменьшить вероятность появления этих садов. Я копирую и вставляю файл.class в intelliJ, но он доступен только для чтения. Написание собственного текстового файла и изменение расширения на.class, очевидно, искажает файл. В прошлый час я пытался ответить Google.

Читайте также:  Уникальные артефакты minecraft dungeons

Люди говорят, что вам может понадобиться настроить среду моддинга, декомпилировать код и затем перекомпилировать его после изменений. Это кажется очень затянутым для простой линии редактирования кода. Редактировать: Я еще не понял. Что-то добавить: я загрузил этот редактор файлов классов http://dirty-joe.com/ Он разрешил мне редактировать поле с int, чтобы плавать.

Однако есть две проблемы: 1, мне также нужно отредактировать метод getInt() для getFloat(), который я не могу сделать. 2. Когда я сохраняю новый отредактированный файл класса, попробуйте снова открыть его с помощью этого редактора JOE. ДАВАЙТЕ МЕНЯ ОШИБКА ФАЙЛА. Это указывало на то, что если я отредактирую файл класса, он все равно его развращает.

Alex Mm 24 янв. 2018, в 19:26
Поделиться

Если это скомпилированный файл .class, для этого есть причина. Я бы не стал этого делать или изучать API для файла, а затем разрабатывать что-то из этого.

OcelotcR 24 янв. 2018, в 18:04

Изменение типа переменной, настолько простое, насколько это кажется (может быть не таким простым, в зависимости от того, как значение обрабатывается внутри кода в коде), действительно потребует перекомпиляции кода на строго типизированном языке, таком как Java. Если вы заинтересованы в этом, вам нужно посмотреть, как настроить мод для разработки, декомпилировать и перекомпилировать код обратно. Обратите внимание, что это может вызвать побочные эффекты и непредвиденные ошибки, поскольку декомпилированный источник не всегда будет дословным. Запрос моду dev на внесение изменений и запрос источников и / или помощи в настройке среды могут облегчить задачу.

Xavi López 24 янв. 2018, в 18:12

Кроме того, ручное редактирование файла класса определенно не подходит, так как .class — это нечитаемый / не редактируемый формат по замыслу — по крайней мере, для людей. Отредактируйте источник (декомпилированный, если он недоступен) и скомпилируйте его снова.

Xavi López 24 янв. 2018, в 18:15

Вместо того, чтобы пытаться изменить файл класса, возможно, вы можете расширить его или создать свой собственный класс, который периодически обновляет значение rarity с 1 до 0 или с 0 до 1.

Andrew S 24 янв. 2018, в 18:28

Спасибо за комментирование Ocelot и спасибо за объяснение Хави. Я собираюсь посмотреть на редактирование модов. Эндрю, это тоже интересная идея. Могу проверить это тоже, если я не могу редактировать сам мод.

Я не хочу ничего менять в отношении тикрейта или каких-либо базовых файлов Minecraft, но ваша идея может сработать, поменяв местами редкость от 0 до 1. Хотя это поколение садов происходит только в мире, поэтому, вероятно, это просто мгновенно. Я не уверен.

Alex Mm 24 янв. 2018, в 18:51

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

QBrute 24 янв. 2018, в 19:05
Показать ещё 4 комментария
Поделиться:

2 ответа

Лучший ответ

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

Читайте также:  Самый большой самолет в Майнкрафт

Есть несколько способов сделать это, и я не вижу, чтобы кто-то из них перечислял, поэтому я упомянул об этом.

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

Второй вариант, и это было бы самым простым, если бы не изменение типа поля, — редактирование машинного кода. Java компилируется в код сборки, который специально используется JVM. Вы найдете инструкцию, измените значение, и вы будете золотыми. (Я говорю проще, но если вы никогда не видели собрания раньше, все это будет выглядеть как греческий).

Назад к вопросу: Вы говорите об изменении типа данных. Этого будет недостаточно. Вам не только потребуется изменить тип данных, но и все точки, в которых используется тип данных, и вызывается метод get . Каждое место, которое получает getter, ожидает ожидаемое значение int. Если это float входящий в int , он просто будет автоматически преобразован в int .

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

Christopher Schneider 24 янв. 2018, в 17:16
Поделиться

Спасибо за чрезвычайно хорошо напечатанное предложение Кристофер. Мне удалось отредактировать файл с помощью случайного редактора (упомянутого выше в моем исходном посте), и я также понял, что мне нужно обновить getInt () до getFloat (), как вы умно предложили. Я не уверен на 100%, но это могут быть только те 2 поля, которые мне нужно отредактировать.

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

Alex Mm 24 янв. 2018, в 18:58

Я собирался декомпилировать, изменять и затем перекомпилировать код, но если вы скажете, что он повредил файл, я мог бы просто оставить его. Такой позор. Интересно, смогу ли я создать свой собственный мод для перезаписи этого поля. Спасибо!

Alex Mm 24 янв. 2018, в 19:02

Моя ошибка, мод с открытым исходным кодом для версии 1.12.2. Однако мне понадобится 1.10.2 от нее, который, я думаю, доступен только для платных членов Patreon.

Alex Mm 24 янв. 2018, в 19:13

Еще одна идея, которая у меня была: вместо того, чтобы преобразовать ее в число с плавающей точкой, которое может иметь много побочных эффектов, выясните, где рассчитывается вероятность появления и увеличьте это число. Например, если шанс равен x/10 , просто измените его на x/100 . Это позволит вам более точно настроить значение.

Christopher Schneider 25 янв. 2018, в 17:19
Показать ещё 2 комментария

Пойдите, сделайте проблему или запрос Pull на странице HarvestCraft GitHub.

Кроме того, вы можете скачать источник оттуда, внести изменения и скомпилировать версию, которую вы можете использовать для себя. Вам, конечно же, придется создать среду разработки Forge, но это тоже не очень сложно:

  1. Перейти на страницу загрузки Forge
  2. Загрузите MDK для соответствующей версии Minecraft
  3. Разархивировать в каталог
  4. Запустите gradlew setupDecompWorkspace и gradlew setupEclipse из командной строки в этом каталоге
  5. Загрузите и установите Eclipse
  6. Добавьте каталог HarvestCraft src в каталог Forge src (так, чтобы содержимое одного заканчивалось в другой Forge/src/java , а не Forge/src/src/java ).
  7. Запустите Eclipse, сообщите ему, чтобы открыть существующее рабочее пространство, укажите его там, где вы установили Forge.
  8. Внесите изменения
  9. Запустить конструкцию gradlew build
  10. Получите полученную банку из Forge/builds/lib
Читайте также:  Как установить клона в Майнкрафт

Draco18s 24 янв. 2018, в 21:31
Поделиться

Ещё вопросы

  • 0 Медиа-запросы не работают на мобильных устройствах, набор метаданных
  • 0 хранить $ http получить обещание объект локально
  • 1 Java использует таймер для отключения клиентов от сервера
  • 1 Обновления Firebase для нескольких путей просто перезаписывают предполагаемый узел
  • 0 Считать несовпадающие строки как ноль — как? [Дубликат]
  • 0 перезагрузить только элементы определенного класса по клику — jquery
  • 1 Ошибка компиляции связанных обобщений Java
  • 1 Команда Java get action с событием keyTyped
  • 1 Значения десериализации одноэлементного Java остаются по умолчанию
  • 0 Как я могу заставить пользователя выбрать диапазон в тексте?
  • 1 ASP.NET дружественные URL-адреса PostBackUrl RequestType поставляется как GET
  • 1 Использовать идентификатор приложения Facebook для ProfilePictureView
  • 1 Реализовать окно для входа в LinkedIn в MVC 5
  • 0 Редактируйте много одноименных изолированных переменных одновременно в Angularjs
  • 1 Вложение фрагментов внутри фрагмента окна просмотра вызывает исключение IndexOutOfBoundsException
  • 1 Строка соответствия перед специальным символом
  • 0 Как применить проверки JavaScript только к видимым элементам на странице HTML, если я использую методы jhuery .hide () и .show ()?
  • 1 Как получить контрольную сумму подписи моего APK?
  • 1 Unity App зависает при загрузке нескольких видео на одной сцене
  • 1 Python 3.x Как конвертировать и обрабатывать байты в список (который также имеет dict)?
  • 1 Как получить имя оператора из двух сим-телефона Android?
  • 1 Печать (и перезапись) одной и той же строки для индикатора состояния
  • 0 Получить JSON на основе другого JSON в Angular Service
  • 0 Структуры данных связанного списка
  • 0 Страница входа aspx.net с базой данных rds через Mysql Workbench
  • 1 Plotly Dash Ошибка загрузки макета
  • 0 Компиляция и оптимизация кода
  • 0 Как узнать, что поток находится в приостановленном состоянии
  • 0 Изменение размера на стороне клиента с помощью JQuery fileupload
  • 0 MySQL поиск значения в двух столбцах и сумма третьего столбца
  • 0 PHP внутри угловых результатов
  • 1 Как создать XML из Java-объекта с помощью Jaxb
  • 0 ошибка «Ошибка времени выполнения JavaScript: невозможно получить свойство« scrollLeft »с неопределенной или нулевой ссылкой» при поиске позиции прокрутки
  • 1 Как я могу ждать, пока десять задач не будут завершены, а затем выполнить следующие десять задач
  • 0 Как обновить страницу с помощью Ajax и MVC4
  • 0 Как скомпилировать C ++ монго проект
  • 0 поисковый скрипт, который находит веб-страницу на сайте, хранящемся в базе данных
  • 1 Android — настраиваемое действие в Broadcast Intent
  • 0 Можем ли мы вернуть массив из запроса к базе данных, используя API остальных в nodeJs
  • 1 Как нарисовать несколько прямоугольников с помощью мыши на изображении?
  • 0 Как связать библиотеки C ++ MySQL Connector с Cmake?
  • 0 Аргумент функции Javascript — это слово «Array» вместо строки mySQL.
  • 0 PHP Как увеличить только 4 строки файла CSV
  • 1 Почему свойства навигации коллекции не инициализируются для ленивых загрузок прокси-классов
  • 1 Где я ошибаюсь, используя обещание внутри класса?
  • 1 Использование класса POCO в качестве класса домена, но с пользовательскими получателями и установщиками ссылок?
  • 0 Получение полного модифицированного пакета icmp в сокете Linux raw
  • 0 Mysql порядок запросов со значением длинного текста как int
  • 0 Есть ли способ однозначно построить целое число из данных ниже?
  • 1 Модуль ‘a’ не имеет атрибута ‘b’ при импорте модуля из того же каталога

Источник: overcoder.net