MonitoringMinecraft MonitoringMinecraft

CME is Bad

Мод FabricForgeJava-agent

Мод для Майнкрафт помогает искать причины ошибок одновременного изменения и выхода за границы.

34.1к скачиваний 39 подписчиков
Оцените первым
Канал
Ядро
Версия

Мод для Майнкрафт, который помогает найти причину вылетов ConcurrentModificationException и IndexOutOfBoundsException в сборках. Он отслеживает изменения выбранного списка, множества или карты и записывает в журнал потоки и моды, обращавшиеся к этой коллекции.

Возможности

  • Следит за контейнерами List, Set и Map в указанном поле класса.
  • Создаёт файл CMESuckMyDuck.log с историей изменений и стеками вызовов: по нему можно определить мод или поток, вызвавший конфликт.
  • Может отслеживать вызовы метода в режиме внедрения и локальную переменную указанного индекса.
  • Позволяет исключить из журнала ожидаемые потоки, ограничить размер страниц лога и отфильтровать объекты по стеку конструктора.

Вылет ConcurrentModificationException

Журнал истории изменений коллекции

Как пользоваться

Поместите файл мода в папку mods, затем добавьте в аргументы JVM лаунчера:

-javaagent:mods/CMESuckMyDuck-<version>.jar=<class full name>;<field name>;<type>;<phase>

После следующего вылета откройте CMESuckMyDuck.log. В параметрах укажите:

  • <class full name> — внутреннее имя класса через / вместо точек;
  • <field name> — имя отслеживаемого поля; для Forge используется SRG-имя, для Fabric — intermediary-имя, для NeoForge — официальное имя;
  • <type> — List, Set или Map;
  • <phase> — static для статического поля либо nonstatic для обычного.

Для режима отслеживания вызова метода используйте:

-Dcme_suck_my_duck.inject_method=true

-javaagent:CMESuckMyDuck-<version>.jar=<class full name>;<method name>

Настройки

  • -Dcme_suck_my_duck.log_level=<level> — уровень журнала; 0 включает отладочные сообщения и сильно увеличивает лог.
  • -Dcme_suck_my_duck.file_max_entries=<size> — число записей на странице журнала.
  • -Dcme_suck_my_duck.whitelist_constructor_stacktrace=<str> — строка для отбора контейнеров по стеку конструктора.
  • -Dcme_suck_my_duck.ignore_threads=<thread name> — потоки, которые следует игнорировать.
  • -Dcme_suck_my_duck.local_var_index=<index> — индекс локальной переменной для отслеживания; при необходимости используйте -Dcme_suck_my_duck.match_local_index=<ordinal>.
  • -Dcme_suck_my_duck.transform_to_thread_safe=true — заменяет поле потокобезопасным контейнером, но может заметно замедлить игру.

Требования и совместимость

Для старых сред Майнкрафт может потребоваться указать совместимый уровень ASM через -Dcme_suck_my_duck.asm_api_version=<version>. Мод также подходит для отладки других Java-проектов: перед агентом добавьте GSON и ASM в classpath через -cp, а файл мода — в classpath после агента.

Как установить CME is Bad

Проще всего — через MineLauncher, в один клик. Нажмите «Установить через MineLauncher» вверху страницы: лаунчер сам подберёт версию Майнкрафт, поставит нужный загрузчик и добавит мод — без поиска файлов и возни с папками. MineLauncher бесплатный и работает на Windows и Android, так что моды можно ставить и на телефон.

Вручную:

  1. Установите загрузчик Fabric, Forge или NeoForge.
  2. Скачайте файл мода под свою версию игры на вкладке «Версии» (самая свежая — 26.2) и положите его в папку mods.
  3. Запустите игру с этим загрузчиком.
Смотрите также

Похожие подборки моды — по версиям Майнкрафта, загрузчикам и жанрам.

Сервера Майнкрафт

Играть интереснее на сервере — выбирайте в рейтинге серверов Майнкрафт и заходите прямо сейчас.

SkyBars
SkyBars Java + BE
774 онлайн
1.8 — 26.3 версия
🎁 БЕСПЛАТНЫЙ ДОНАТ ✅ ВЫЖИВАНИЕ 🏴 АНАРХИЯ 🎙 ГОЛОСОВОЙ ЧАТ 🟩 ОДИН БЛОК 🛏 БЕДВАРС 🔥 СМП ⚔️ ПВП
REALLYWORLD
465 онлайн
1.16.5 — 26.3 версия
ВСЕМ ДОНАТ - /FREE | ТОПОВЫЕ РЕСУРСЫ, БОЛЬШОЙ ОНЛАЙН, КОПИЯ РИЛИВОРЛДА
MigosMc
MigosMc Java + BE
684 онлайн
1.8 — 26.3 версия
🌿 MigosMc.net | Гриферский сервер с войс-чатом | Награды за онлайн ⭐ ВЫЖИВАНИЕ⭐ ОДИНБЛОК⭐ МИНИ-ИГРЫ
EDISONWORLD
465 онлайн
1.16.5 — 26.3 версия
ВСЕМ ДОНАТ - /FREE | СЕРВЕР КОМПОТА, ЭДИСОНА И ЛОЛОЛОШКИ, БОЛЬШОЙ ОНЛАЙН, КОПИЯ РИЛИВОРЛДА
MineLauncher
Лаунчер Майнкрафт без лицензии — все версии
Бесплатный лаунчер для ПК и Андроид — все версии 26.3, 1.21.11, 26.2, 26.1.2. Fabric, NeoForge, Quilt, шейдеры, моды и скины в один клик.
Без лицензии Fabric, NeoForge, Quilt Моды, шейдеры, скины Все версии Майнкрафта ПК и Андроид Для слабых ПК Сервера в лаунчере
Скачать бесплатно
Windows и Андроид · Бесплатно · Без лицензии
Наш чат