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

Emage

A Minecraft plugin that displays images and GIFs on item frames.

269
2
Все версииEmage 1.1.1

Emage 1.1.1

Release4 мес. назад

Список изменений

🎨 Emage 1.1.1

🎉 Major Release - Custom Color Engine, GIF Caching & Stability Overhaul

This release introduces a completely custom color matching system, GIF processing cache, improved stability, and a complete code reorganization for better maintainability.


⚠️ Breaking Changes

  • Maximum GIF grid size reduced from unlimited to 4x4
  • Maximum static image grid size set to 10x10
  • Minimum frame delay increased to 50ms (20 FPS max)

✨ New Features

Custom Color System

  • Replaced Bukkit's MapPalette with custom EmageColors class
  • Perceptually-weighted color matching (green-biased for human vision)
  • Pre-computed 262,144 entry color cache for instant lookups
  • Full Minecraft 1.17+ palette with all 248 map colors
  • Fixed dark colors appearing as yellow/banana or transparent

GIF Caching System

  • Processed GIFs are cached to avoid reprocessing
  • Cache key based on URL + grid size + quality
  • Maximum 20 entries or 100MB memory
  • Auto-expires after 30 minutes of no use
  • LRU (Least Recently Used) eviction when full
  • Second use of same GIF is instant

New Commands

CommandDescription
/emage cacheView GIF cache statistics (hit rate, memory, count)
/emage clearcacheClear all cached GIF data

New Flags

FlagAliasesDescription
--nocache--nc, --freshForce reprocess GIF, ignore cache

Grid Size Limits

Content TypeMaximumRecommended
Static Images10x10 (100 maps)Any size
Animated GIFs4x4 (16 maps)2x2 or smaller

User Warnings

  • Warning displayed for GIF grids of 3x3 or larger
  • Error displayed when exceeding maximum grid sizes
  • Help text updated with limits and recommendations

🚀 Performance Improvements

Lag Fixes

  • Fixed player timeout issues with large GIF grids
  • Fixed 40%+ CPU usage spikes during GIF playback
  • Removed aggressive parallel processing that flooded network
  • Single-threaded processing prevents system overload

Animation System

  • Animation tick runs every 2 ticks (100ms) instead of every tick
  • Only sends map updates when frames actually change
  • All maps in sync group update together efficiently
  • needsRender flag prevents redundant canvas updates
  • Animation starts only after all maps are applied

Memory Management

  • Sequential frame processing reduces memory usage
  • Reusable pixel buffers across frames
  • Frame references cleared immediately after processing
  • Efficient buffer reuse throughout processing pipeline

Processing

  • Proper frame disposal handling (restoreToPrevious, restoreToBackgroundColor)
  • Correct metadata extraction for delays and positions
  • Better handling of 0-delay frames (defaults to 100ms)

🐛 Bug Fixes

Color Issues

  • Fixed dark colors appearing as banana/yellow color
  • Fixed very dark areas appearing as transparent
  • Fixed COLOR_BLACK palette entries being skipped incorrectly

GIF Playback

  • Fixed GIFs running at 5 FPS instead of correct speed
  • Fixed frame skipping in first few seconds of playback
  • Fixed maps showing different frames (desync issues)
  • Fixed animation starting before all maps were ready

Stability

  • Fixed player timeout issues with large GIF grids
  • Fixed CPU spikes during GIF playback
  • Fixed memory leaks from unreleased frame data
  • Fixed network flooding from excessive map updates

Файлы

Emage-1.1.1.jar(82.83 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.1.1

Загрузчики

Bukkit
Paper
Purpur
Spigot

Версии игры

1.18–1.21.10

Загрузок

75

Дата публикации

4 мес. назад

Загрузил

ID версии

Главная