Skip to content

Version 2.1.0

Latest

Choose a tag to compare

@1Thillo 1Thillo released this 16 Sep 18:40
22103fa

Adds Folia support. Everything else is unchanged from 2.0.1. Requires Paper 26.2 or newer, or Folia, and Java 25.

Folia

The plugin declares folia-supported: true and runs on a regionised server. Image conversion happens on an async thread, frame changes run on the scheduler of the frame they belong to, and the shared state is safe to reach from several regions at once.

Folia splits a world into regions that tick independently, and a thread may only touch the blocks and entities of its own region. Two operations look at a whole image at once and are limited by that:

  • placing an image
  • /imagemap frame, which changes every frame of the image you are looking at

If the image reaches past a region border, both refuse with a message and change nothing. Moving a few blocks and trying again is usually enough, since regions cover a large area and merge while they are next to each other.

An image that already spans a border is not a problem in itself. Each of its frames is ticked by its own region and renders normally.

Paper is unaffected

The region checks are no-ops on a single region server, where the whole world belongs to one region, and the entity scheduler is the same thread as before. Verified against an existing 152 map installation on Paper 26.2 build 116.

Verified on Folia

Folia 26.2 build 7, with a 135 map image, a 16 map image and a single map image: commands ran on a region thread rather than the main thread, so map creation and lookup are confirmed working from there. All three frame properties in both directions, rotation refused while protected and allowed once released, and maps.yml written from the region shutdown thread on stop. No thread check violations anywhere in the log.