Skip to content

Datapack is saved into a dimension folder on 26.x, so it never loads on fresh servers #776

Open

Description

@JsNcAr

Describe the bug
On a fresh 26.x server, initializeDatapack() saves movecraft-data.zip into a dimension folder instead of the world's datapacks folder, so the server never loads it.

Since 26.x, World#getWorldFolder() returns the dimension folder (world/dimensions/minecraft/<dimension>), while datapacks are still read from world/datapacks. The loop in Movecraft#initializeDatapack() never checks world/datapacks (which already exists), falls through to the last world, and writes the pack to world/dimensions/minecraft/the_end/datapacks.

This is a different cause from #434: restarting does not fix it, and after a restart Movecraft looks enabled but loads no craft types.

To Reproduce

  1. Start a fresh Paper 26.2 server with only Movecraft installed.
  2. First start: the pack is written to world/dimensions/minecraft/the_end/datapacks, Failed to automatically load movecraft datapack is logged, and Movecraft disables itself with an IllegalPluginAccessException.
  3. Restart: Conflicting datapack already exists in ./world/dimensions/minecraft/the_end/datapacks is logged and Movecraft enables, but the pack is still not loaded and /crafttype list is empty, so no craft can be piloted.

Expected behavior
The datapack is saved to world/datapacks, loaded and enabled on first start, and craft types load.

Workaround
Move movecraft-data.zip from world/dimensions/minecraft/the_end/datapacks to world/datapacks and restart. Movecraft then enables normally and loads the craft types.

Versions:

  • Movecraft: 8.0.0_beta-6, dev build from main @ b49f891 (Actions run 42399290477)
  • Addons: none
  • Java: Eclipse Temurin 25.0.4.1
  • Minecraft: Paper 26.2 build 135

Additional context
Also reproduced on Paper 26.3 build 248 with the build from #775. Existing servers are not affected if the pack was already installed in world/datapacks before upgrading to 26.x.

Possibly a separate issue: after initializeDatapack() calls setEnabled(false), onEnable() keeps going and schedules tasks, which causes the IllegalPluginAccessException.

Activity

  1. added
    bugIssues causing negative effects for end users
    on Nov 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIssues causing negative effects for end users

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions