▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Lattice

Lattice

A Java 21 shared runtime and framework for structured Paper/Folia plugin development.

Оцените первым
69
1
Все версииLattice 0.8.7

Lattice 0.8.7

Beta13.06.2026

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

Lattice 0.8.7 - Folia Thread-Safety Hardening

Fixed

Critical (AsyncCatcher Errors)

  • [CRITICAL] Fixed PaperTaskService.scheduleEntity() thread validation

    • Added thread ownership validation before entity access
    • Prevents unsafe entity lookups from async contexts
    • Uses ReentrantLock for better granularity
  • [CRITICAL] Fixed race conditions in UI event handlers

    • Synchronized onInventoryClick() with ReentrantLock
    • Synchronized onPrepareAnvil() with ReentrantLock
    • Added closed() checks to prevent operations on closed sessions
  • [CRITICAL] Fixed block/player access in text input renderers

    • Protected getBlock() calls in PaperVirtualSignTextInputRenderer.restore()
    • Protected getLocation() calls in both virtual sign and anvil renderers
    • Prevents AsyncCatcher errors during text input UI operations
  • [CRITICAL] Fixed PacketEvents callback thread safety

    • Wrapped PacketEvents listeners to execute in global region scheduler
    • Prevents unsafe operations from packet thread

Important (Race Conditions)

  • [IMPORTANT] Added volatile modifiers to PaperTextInputUiSession

    • completed, anvilView, signPosition, signLocation are now volatile
    • Ensures visibility across event handler and scheduler threads
  • [IMPORTANT] Synchronized handleVirtualSignChange() with ReentrantLock

    • Prevents race condition with concurrent session removal
  • [IMPORTANT] Synchronized PaperInventorySurfaceRenderer.render() page access

    • Copies button list atomically to avoid concurrent modification
    • Prevents IndexOutOfBoundsException
  • [IMPORTANT] Synchronized runOnPlayer() ownership check

    • Prevents race condition between region ownership check and schedule
  • [IMPORTANT] Added thread-safety documentation to PlaceholderAPI integrations

    • Documents that handlers are called from arbitrary threads
    • Lists unsafe and safe operations

Minor (Edge Cases)

  • Improved lock granularity in session(Inventory) lookup
  • Prevented double registration in registerRefreshEvent()

Файлы

lattice-paper-0.8.7-standalone.jar(19.58 MiB)
Основной
Скачать

Метаданные

Канал релиза

Beta

Номер версии

0.8.7

Загрузчики

Paper

Версии игры

1.21.11

Загрузок

5

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

13.06.2026

Загрузил

ID версии

Главная