Unofficial site, not affiliated with modrinth.com.What is this?
Плагины/XGamemode
XGamemode

XGamemode

You're not switching modes, you're switching dimensions.

2.0K
4
Все версииFinal fixes

Final fixes

Release1 нед. назад

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

Added

  • Folia scheduler support with automatic fallback to Bukkit scheduler
  • SQLite ON CONFLICT detection for better UPSERT performance
  • UUID-based write locks for thread-safe player data operations
  • Player save queue (pendingSaves) to serialize async database writes per UUID
  • Offline player name caching to reduce I/O operations during batch processing
  • YAML save debouncing with resettable timer (scheduleYamlSave)
  • Atomic reference for nameToUUIDs and uuidToName maps for safe reload
  • Legacy YAML format detection and migration support (uuid: GAMEMODE)
  • Support for setting gamemode for players who have never joined the server
  • GamemodeChangeEvent custom event for API integration
  • -all, -online, -offline batch operation flags
  • Database transaction support for batch offline player updates
  • Automatic config.yml key merging with missing defaults preservation
  • Connection retry mechanism with configurable attempts and delay
  • Debug logging controlled by config option

Fixed

  • NPE in onDisable() when storageType is not "yaml" and yamlCache is null
  • Race condition in onPlayerJoin where async save could overwrite recently set gamemode
  • SQL operation silent failure - now logs error after max retry attempts
  • Write lock timeout now logs debug message instead of failing silently
  • Skipped offline players during batch operations now logged with warning count
  • Config merge now properly adds missing keys without overwriting existing values
  • Migration now handles both legacy (flat) and modern (nested) YAML formats

Changed

  • Replaced pendingSaves Set<String> with Map<UUID, CompletableFuture<Void>> for per-UUID queuing
  • Refactored tryWriteLock pattern into withWriteLock helper method
  • Optimized processOfflinePlayersData with name cache and early empty check
  • Cached UPSERT SQL generation to avoid repeated ON CONFLICT detection
  • Message placeholder replacement now uses Matcher.quoteReplacement() to escape $ and \
  • Folia reflection now uses Consumer.class with proper generic erasure handling
  • savePlayerModeDirect now updates memory cache immediately before async DB write
  • Batch migration now uses incremental executeBatch() to avoid memory issues

Removed

  • Legacy yamlCache.set(uuid.toString(), mode.name()) flat format write
  • Redundant saveYamlCache() call when using database storage
  • Unused SAVE_DELAY field from earlier versions

Файлы

XGamemode-4.5-rls.jar(22.98 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

4.5-rls

Загрузчики

Bukkit
Folia
Paper
Purpur
Spigot

Версии игры

1.7.9–26.1.2

Загрузок

23

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

1 нед. назад

Загрузил

ID версии

Главная