▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/EmiAccelerator
EmiAccelerator

EmiAccelerator

Caches the EMI item stack list to disk and defers search index building to a background thread, drastically reducing EMI reload time.

Оцените первым
5.6K
14

EMI Accelerator

Caches the EMI item stack list to disk and defers search index building to a background thread, drastically reducing EMI reload time.

Overview

Every time you join a world or reload resources, EMI rebuilds the entire item stack list and search index. For modpacks with a large number of mods, this process can take tens of seconds, and the game UI freezes completely while the search index is being built.

EMI Accelerator solves this problem with the following optimizations:

  • Stack Caching: Serializes EmiStackList.stacks to JSON and caches it to disk on the first load. Subsequent game launches skip the full reload (around 130ms compared to ~40 seconds).
  • Deferred Search: Defers EmiSearch.bake() to a background thread, eliminating roughly 10 seconds of UI blocking.
  • Auto Refresh: Automatically updates EMI search results once background indexing finishes, with no manual re-input required.

Usage

CommandDescription
/emiacc statusView cache status, file size, and hit count
/emiacc clearDelete the cache (rebuilds on next launch)
/emiacc reloadTrigger an EMI reload manually
/emiacc reload --forceClear cache and force a full EMI reload

Configuration

Config file path: config/emi-accelerator/emi-accelerator.properties

OptionTypeDefaultDescription
cacheEnabledbooleantrueEnable item stack caching
autoClearOnModChangebooleantrueAutomatically clear cache when mod list changes
maxFileSizeMbint100Maximum cache file size (MB)
diagnosticsEnabledbooleanfalseWrite stage timings to reload-timings.json
deferredSearchEnabledbooleantrueEnable background deferred search indexing

How It Works

  1. EMI tag sync triggers → EmiReloadManager.reload()ReloadWorker.run() starts
  2. Check if the cache exists and is valid (SHA-256 mod list hash verification)
  3. Cache hit: Deserialize stack list directly → skip full reload → build search index in background → complete
  4. Cache miss: Proceed with normal EMI reload → asynchronously write cache after completion
  5. Automatically refresh the EMI UI after search build finishes, showing [EMI Accelerator] Search Ready

Dependencies

ModVersionRequired
EMI1.1.22+Yes
  • Loader: NeoForge 21.1.228+
  • Side: Client-only
  • Environment: Minecraft 1.21.1

Build

./gradlew build

License

GNU AGPL 3.0

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x1.20.x

Платформы

Поддерживаемые окружения

Клиент

Зависимости

Ссылки

Создатели

Детали

Лицензия:
Опубликован:1 месяц назад
Обновлён:3 недели назад
Главная