Skip to content

WorldCreator#createWorld crashes on Arclight 1.21.1 #1811

Open
@Artasov

Description

@Artasov

I have confirmed that ...

  • Arclight is up to date
  • all dependencies are installed
  • all plugins and mods are up to date
  • unable to reproduce in Spigot
  • unable to reproduce in specific Mod-loader Server (Forge/NeoForge/Fabric)

Arclight version

arclight-neoforge-1.21.1-1.0.0-3457560 and arclight-neoforge-1.21.1-1.0.1-SNAPSHOT-bf5195f

OS & Java versions

OpenJDK Runtime Environment (build 21.0.6+7-Ubuntu-120.04.1)

Plugins and Mods

Plugins (13): §aLuckPerms§f, §axlduels§f, §aPlaceholderAPI§f, §aCMILib§f, §apacketevents§f, §aVault§f, §aCMI§f, §aSkinsRestorer§f, §aSimpleScore§f, §aVulcan§f, §aAuctionGUIPlus§f, §aCMIEInjector§f, §aANDMYPLUG_WITH_WORLD_CREATION

Mods:
 AdditionalStructures-1.21-(v.6.3.0-NEO).jar
 AI-Improvements-1.21-0.5.3.jar
 almanac-1.21.x-neoforge-1.0.2.jar
 almostunified-neoforge-1.21.1-1.2.5.jar
 appliedenergistics2-19.2.10.jar
 architectury-13.0.8-neoforge.jar
 attributefix-neoforge-1.21.1-21.1.2.jar
 automobility-0.5.0.h+1.21.1-neoforge.jar
 balm-neoforge-1.21.1-21.0.41.jar
 bcc-21.1.3+mc1.21.1.jar
 biomereplacer-2.0-hippo-neo.jar
 BiomesOPlenty-neoforge-1.21.1-21.1.0.7.jar
 bookshelf-neoforge-1.21.1-21.1.59.jar
 carryon-neoforge-1.21.1-2.2.2.11.jar
 Chunky-NeoForge-1.4.23.jar
 cloth-config-15.0.140-neoforge.jar
 Clumps-neoforge-1.21.1-19.0.0.1.jar
 collective-1.21.1-8.3.jar
 coroutil-neoforge-1.21.0-1.3.8.jar
 CraftTweaker-neoforge-1.21.1-21.0.27.jar
 CreativeCore_NEOFORGE_v2.13.2_mc1.21.1.jar
 CreeperOverhaul-neoforge-1.21.1-4.0.6.jar
 CTM-1.21-1.2.1+3.jar
 edf-remastered-5.0-beta4.jar
 emotecraft-for-MC1.21.1-2.4.10-neoforge.jar
 endermanoverhaul-neoforge-1.21.1-2.0.2.jar
 FallingTree-1.21.1-1.21.1.7.jar
 ferritecore-7.0.2-neoforge.jar
 geckolib-neoforge-1.21.1-4.7.5.1.jar
 getittogetherdrops-neoforge-1.21-1.3.2.jar
 GlitchCore-neoforge-1.21.1-2.1.0.0.jar
 guideme-21.1.9.jar
 immersive_aircraft-1.2.2+1.21.1-neoforge.jar
 industrialforegoing-1.21-3.6.29.jar
 ironchest-1.21-neoforge-16.0.7.jar
 ItemPhysic_NEOFORGE_v1.8.6_mc1.21.1.jar
 jamlib-neoforge-1.3.5+1.21.1.jar
 kleeslabs-neoforge-1.21.1-21.1.3.jar
 konkrete_neoforge_1.9.9_MC_1.21.jar
 Ksyxis-1.3.3.jar
 LeavesBeGone-v21.1.0-1.21.1-NeoForge.jar
 letmedespawn-1.21.x-neoforge-1.5.0.jar
 lmft-1.0.4+1.21-neoforge.jar
 mcw-bridges-3.0.0-mc1.21.1neoforge.jar
 mcw-lights-1.1.1-mc1.21.1neoforge.jar
 modernfix-neoforge-5.21.0+mc1.21.1.jar
 MutantMonsters-v21.1.0-1.21.1-NeoForge.jar
 mvs-4.3.0-1.21.jar
 Necronomicon-NeoForge-1.6.0+1.21.jar
 Neruina-2.3.0-beta.4-neoforge+1.21.jar
 netherportalfix-neoforge-1.21.1-21.1.1.jar
 NoChatReports-NEOFORGE-1.21.1-v2.9.1.jar
 noisium-neoforge-2.3.0+mc1.21-1.21.1.jar
 nyfsspiders-neoforge-1.21.1-2.3.2.jar
 open-parties-and-claims-neoforge-1.21.1-0.24.2.jar
 packetfixer-neoforge-2.1.0-1.21-to-1.21.3.jar
 Philips-Ruins1.21.1-2.0-NeoForge.jar
 Ping-Wheel-1.10.2-neoforge-1.21.1.jar
 plushies-neoforge-1.5.1.jar
 polymorph-neoforge-1.0.10+1.21.1.jar
 prickle-neoforge-1.21.1-21.1.6.jar
 PuzzlesLib-v21.1.34-1.21.1-NeoForge.jar
 regions_unexplored-neoforge-1.21.1-0.5.6.1.jar
 resourcefulconfig-neoforge-1.21-3.0.11.jar
 resourcefullib-neoforge-1.21-3.0.12.jar
 rightclickharvest-neoforge-4.5.3+1.21.1.jar
 ScalableLux-0.1.0+beta.2+neoforge.1a07a27-all.jar
 skin_changer-neoforge-1.21-0.9.2.jar
 SmartBrainLib-neoforge-1.21.1-1.16.7.jar
 spark-1.10.124-neoforge.jar
 Structory_1.21.x_v1.3.10.jar
 structure_layout_optimizer-neoforge-1.0.10.jar
 TerraBlender-neoforge-1.21.1-4.1.0.8.jar
 Terralith_1.21.x_v2.5.8.jar
 TinySkeletons-v21.1.0-1.21.1-NeoForge.jar
 titanium-1.21-4.0.37.jar
 TreeChop-1.21.1-neoforge-0.19.3.jar
 useful_backpacks-neoforge-1.21.1-3.0.2.128.jar
 u_team_core-neoforge-1.21.1-5.6.2.364.jar
 voicechat-neoforge-1.21.1-2.5.30.jar
 watut-neoforge-1.21.0-1.2.7.jar
 weaponmaster_ydm-1.21.1-neoforge-4.2.7.jar
 worldedit-mod-7.3.8.jar
 yet_another_config_lib_v3-3.6.6+1.21.1-neoforge.jar
 zombieawareness-neoforge-1.21.0-1.13.2.jar

Description

Bug Report: WorldCreator#createWorld crashes on Arclight 1.21.1

Overview

On Arclight 1.21.1, any attempt to generate or load a new world via WorldCreator#createWorld() results in a NoSuchMethodError, crashing the server before the plugin can handle the call.

Environment

  • Arclight: arclight-neoforge-1.21.1-1.0.0-3457560 (MC: 1.21.1)
  • Arclight test 2: arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f (MC: 1.21.1)
  • API Version: 1.21.1-R0.1-SNAPSHOT
  • Java: OpenJDK 21.0.2
  • OS: Ubuntu 22.04 x86_64

Build Configuration

build.gradle
plugins {
    id 'java'
    id("xyz.jpenilla.run-paper") version "2.3.1"
    id 'com.github.johnrengelman.shadow' version '7.1.2'
}

group = 'org.xlduels'
version = '1.0-SNAPSHOT'

repositories {
    mavenCentral()
    maven { url 'https://jitpack.io' }
    maven {
        name = "spigotmc-repo"
        url = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/"
    }
    maven {
        name = "sonatype"
        url = "https://oss.sonatype.org/content/groups/public/"
    }
    maven { url 'https://repo.kyori.net/repository/maven-public/' }
}

dependencies {
    compileOnly("org.spigotmc:spigot-api:1.21.1-R0.1-SNAPSHOT")
    implementation 'net.kyori:adventure-api:4.17.0'
    implementation 'net.kyori:adventure-platform-bukkit:4.3.2'
    implementation 'commons-io:commons-io:2.15.0'
}

tasks {
    runServer {
        minecraftVersion("1.21")
    }
}

def targetJavaVersion = 21
java {
    def javaVersion = JavaVersion.toVersion(targetJavaVersion)
    sourceCompatibility = javaVersion
    targetCompatibility = javaVersion
    if (JavaVersion.current() < javaVersion) {
        toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
    }
}

tasks.withType(JavaCompile).configureEach {
    options.encoding = 'UTF-8'

    if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
        options.release.set(targetJavaVersion)
    }
}

processResources {
    def props = [version: version]
    inputs.properties props
    filteringCharset 'UTF-8'
    filesMatching('plugin.yml') {
        expand props
    }
}
shadowJar {
    mergeServiceFiles()
}

jar {
    enabled = false
}
tasks.build {
    dependsOn shadowJar
    shadowJar {
        archiveClassifier.set('')
    }
}
// xxx.java
World w = wc.createWorld();
...
w.getWorldBorder().setSize(500);
w.setGameRule(GameRule.SPAWN_CHUNK_RADIUS, 0); // ← CRASH: NoSuchMethodError
w.setAutoSave(false);

In this environment, CraftServer#createWorld is compiled against a newer GameRules.IntegerValue#set(int, ServerLevel), but the loaded runtime class only defines set(int), leading to:

Caused by: java.lang.NoSuchMethodError: 
  void net.minecraft.world.level.GameRules$IntegerValue.set(int, net.minecraft.server.level.ServerLevel)

Heeeelp

Maybe I'm just doing something wrong, how do I dynamically create worlds and connect players there?

Step to reproduce

Try create bukkit plugin with world creation

Logs

arclight | [18:54:45 ERROR] [Minecraft]: null
arclight | org.bukkit.command.CommandException: Unhandled exception executing command 'duel' in plugin xlduels v1.0-SNAPSHOT
arclight | at TRANSFORMER/[email protected]+bf5195f/org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f.jar%23266!/:arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f]
arclight | at TRANSFORMER/[email protected]+bf5195f/org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:150) ~[arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f.jar%23266!/:arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f]
arclight | at TRANSFORMER/[email protected]+bf5195f/org.bukkit.craftbukkit.v1_21_R1.CraftServer.dispatchCommand(CraftServerMixin.java:922) ~[arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f.jar%23266!/:arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f]
arclight | at TRANSFORMER/[email protected]+bf5195f/org.bukkit.craftbukkit.v1_21_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:50) ~[arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f.jar%23266!/:arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f]
arclight | at MC-BOOTSTRAP/[email protected]/com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.3.10.jar%23133!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:29) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:13) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.commands.execution.CommandQueueEntry.execute(CommandQueueEntry.java:8) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:107) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.commands.Commands.executeCommandInContext(CommandsMixin_NeoForge.java:363) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.commands.Commands.performCommand(CommandsMixin_NeoForge.java:284) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.server.network.ServerGamePacketListenerImpl.performUnsignedChatCommand(ServerGamePacketListenerImplMixin_HighPriority.java:1282) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$7(ServerGamePacketListenerImplMixin_HighPriority.java:1269) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.server.TickTask.run(TickTask.java:18) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoopMixin.java:148) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.doRunTask(MinecraftServerMixin_NeoForge.java:872) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.doRunTask(MinecraftServerMixin_NeoForge.java:170) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoopMixin.java:122) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServerMixin_NeoForge.java:855) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.pollTask(MinecraftServerMixin_NeoForge.java:849) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoopMixin.java:111) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServerMixin_NeoForge.java:825) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.runServer(MinecraftServerMixin_NeoForge.java:712) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServerMixin_NeoForge.java:267) ~[server-1.21.1-20240808.144430-srg.jar%23264!/:?]
arclight | at java.base/java.lang.Thread.run(Unknown Source) [?:?]
arclight | Caused by: java.lang.NoSuchMethodError: 'void net.minecraft.world.level.GameRules$IntegerValue.set(int, net.minecraft.server.level.ServerLevel)'
arclight | at TRANSFORMER/[email protected]+bf5195f/org.bukkit.craftbukkit.v1_21_R1.CraftServer.createWorld(CraftServerMixin.java:1248) ~[arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f.jar%23266!/:arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f]
arclight | at TRANSFORMER/[email protected]+bf5195f/org.bukkit.Bukkit.createWorld(Bukkit.java:740) ~[arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f.jar%23266!/:arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f]
arclight | at TRANSFORMER/[email protected]+bf5195f/org.bukkit.WorldCreator.createWorld(WorldCreator.java:430) ~[arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f.jar%23266!/:arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f]
arclight | at org.xlduels.manager.ArenaManager.createArena(ArenaManager.java:82) ~[?:?]
arclight | at org.xlduels.command.DuelCommand.handleArena(DuelCommand.java:122) ~[?:?]
arclight | at org.xlduels.command.DuelCommand.onCommand(DuelCommand.java:60) ~[?:?]
arclight | at TRANSFORMER/[email protected]+bf5195f/org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f.jar%23266!/:arclight-1.21.1-1.0.1-SNAPSHOT-bf5195f]
arclight | ... 26 more

Server pack link (Optional)

No response

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions