Skip to content

Map Minecraft 26.1+ dimension paths to legacy DIM types - #109

Merged
stwalkerster merged 8 commits into
GregoryAM-SP:mainfrom
derek-keeler:dek/handle-mc-26.1
Sep 28, 2026
Merged

stwalkerster merged 8 commits into
GregoryAM-SP:mainfrom
derek-keeler:dek/handle-mc-26.1

Conversation

@derek-keeler

Copy link
Copy Markdown
Contributor

Minecraft 26.1 moved region files from /region/ to /dimensions/minecraft/overworld/region/ (and similarly for nether and end). This adds a mapping so RegionSet correctly identifies the new paths as DIM0, DIM-1, and DIM1.

Fix cross-platform test mocking for resolve_world_path tests

@derek-keeler

Copy link
Copy Markdown
Contributor Author

Fixes #106

@derek-keeler

Copy link
Copy Markdown
Contributor Author

Also seems to fix #107

@derek-keeler

Copy link
Copy Markdown
Contributor Author

@Gregory-AM @greatmastermario any chance we can get this merged? I have other incoming fixes that rely on this...

@stwalkerster stwalkerster left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks mostly good to me (though I've not tested it), with one request to swap how we handle backwards compatibility.

Comment thread overviewer_core/world.py
derek-keeler and others added 4 commits April 9, 2026 10:16
Minecraft 26.1 moved region files from <world>/region/ to <world>/dimensions/minecraft/overworld/region/ (and similarly for nether and end). This adds a mapping so RegionSet correctly identifies the new paths as DIM0, DIM-1, and DIM1.

Fix cross-platform test mocking for resolve_world_path tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use the canonical names from MC 26.1+ instead of old style DIM naming

- Fix numpy issue with uin64/-ve integers
@derek-keeler

Copy link
Copy Markdown
Contributor Author

Seems that Windows is not affected, but there is some issue with upgrading numpy to whatever version ships with the various current LTS Ubuntu versions. I'm working through that right now. If the change is worthwhile I'll push it here as well, but from what I can see it's easy to work around the problems with numpy anyways.

…h Windows.

- numpy: remove setup's use of errors for declaration-after-statement

  - Not required for 1.x, and must be left out for 2.x

  - also, relax hard requirement on numpy 1.24 to support Ubuntu 26

- Pillow v9-12 must be supported between Ubuntu versions (26.04 needs 12 support)

  - Imaging* functions renamed to ov_* - Pillow 12 declares these in its header

  - added support in composite.c/overviewer.c across Pillow versions (OV_MODE_IS macro, IMAGENING_MODE_* enum)

Coauthored by Claude
@derek-keeler

Copy link
Copy Markdown
Contributor Author

Ah yeah, setup.py enforces -Werror-declaration-after-statement which would break numpy 2.x and isn't strictly necessary for numpy 1.x. Removed that, relaxed the dependencies to support numpy 2.x in Ubuntu 26, and made some compatibility updates for Pillow versions that ship with the Ubuntu versions 22, 24, and 26.

Tested across all three Ubuntu versions, with their shipped versions of Python, and on Windows 11 with Python 3.14.

@greatmastermario greatmastermario left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good to me. Need a maintainer review though before merging, and I am not a maintainer

@greatmastermario

greatmastermario commented Aug 26, 2026 •

Copy link
Copy Markdown

Even on your branch I am getting the following failure:

/usr/include/python3.14/Imaging.h:14:10: fatal error: Mode.h: No such file or directory
   14 | #include "Mode.h"
      |          ^~~~~~~~
compilation terminated.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/setuptools/_distutils/spawn.py", line 87, in spawn
    subprocess.check_call(cmd, env=_inject_macos_ver(env))
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
subprocess.CalledProcessError: Command '['/usr/bin/x86_64-linux-gnu-gcc', '-fno-strict-overflow', '-Wsign-compare', '-DNDEBUG', '-g', '-O2', '-Wall', '-fPIC', '-DOV_PILLOW_VERSION_MAJOR=12', '-I.', '-I/usr/lib/x86_64-linux-gnu/python3-numpy/numpy/_core/include', '-I/usr/include/python3.14', '-c', 'overviewer_core/src/Draw.c', '-o', 'build/temp.linux-x86_64-cpython-314/overviewer_core/src/Draw.o', '-Wno-unused-variable', '-Wno-unused-function', '-O3', '-std=gnu99']' returned non-zero exit status 1.


I am using the system default on Ubuntu 26.04 with the dependencies described in the docs installed:

python3-pil is already the newest version (12.1.1-2ubuntu1.2).
python3-dev is already the newest version (3.14.3-0ubuntu2).
Unpacking python3-numpy (1:2.3.5+ds-3ubuntu1)

Are the installation instructions different?

@derek-keeler

Copy link
Copy Markdown
Contributor Author

Ubuntu 26 wasn't out when I made this PR. Let me fix it up and move it to 22+24+26. (22 is EOL next year so we'll leave it in place for now).

derek-keeler and others added 2 commits September 12, 2026 17:28
Update Python dependency pins and venv-based build paths for Ubuntu 26 support. Match Pillow source headers to the installed Pillow version and raise the documented Python baseline to 3.10.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Clone matching Pillow sources into the runner temp directory so pytest does not collect Pillow's own test configuration from the repository workspace.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@derek-keeler

Copy link
Copy Markdown
Contributor Author

Even on your branch I am getting the following failure:

/usr/include/python3.14/Imaging.h:14:10: fatal error: Mode.h: No such file or directory
   14 | #include "Mode.h"
      |          ^~~~~~~~
compilation terminated.
...

I am using the system default on Ubuntu 26.04 with the dependencies described in the docs installed:

...

Are the installation instructions different?

Local build instructions are updated, now with (in my opinion of course) better assistance to ensure Pillow matches Python packages.

@greatmastermario - Please have a go and let me know your thoughts!

@derek-keeler

derek-keeler commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor Author

Latest revision:

  • Support for Minecraft 26.2
  • Support for Ubuntu 22.04, 24.04, and now 26.04
  • Support for Python specifically following Ubuntu
    • NOTE: Python version references all updated to 3.10+ throughout.
  • Pillow support updated to help provide better build support locally.
  • All PR comments are resolved (@stwalkerster I believe I handled the legacy support as suggested).

@stwalkerster
stwalkerster merged commit 7545478 into GregoryAM-SP:main Sep 28, 2026
1 check passed
@derek-keeler
derek-keeler deleted the dek/handle-mc-26.1 branch September 28, 2026 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants