Skript/Server Version
[15:34:21 INFO]: [Skript] Server Version: 1.21.8-60-29c8822 (MC: 1.21.8)
[15:34:21 INFO]: [Skript] Skript Version: 2.14.1 (skriptlang-github)
[15:34:21 INFO]: [Skript] Installed Skript Addons:
[15:34:21 INFO]: [Skript] - skript-placeholders v1.7.0 (https://github.com/APickledWalrus/skript-placeholders)
[15:34:21 INFO]: [Skript] - RiftoriaPlugin v1.1
[15:34:21 INFO]: [Skript] - SkBee v3.16.1 (https://github.com/ShaneBeee/SkBee)
[15:34:21 INFO]: [Skript] Installed dependencies:
[15:34:21 INFO]: [Skript] - Vault v1.7.3-b131
[15:34:21 INFO]: [Skript] - WorldGuard v7.0.14+2339-43997ec
Bug Description
Skript 2.14.1 fails to load aliases on server startup, throwing a NullPointerException in EntityData$EntityDataInfo.getCodeNamePlacement. This causes all item aliases to be completely broken (even basic vanilla items like iron chestplate or coal are unrecognized), making every script that references items non-functional.
The issue appears to be in the async alias loading (loadAsync), where java.util.Map.get(Object) returns null when trying to map an entity type to its code name placement.
Expected Behavior
Aliases should load correctly on every server startup. The async alias loading should not throw a NullPointerException when mapping entity types, and all vanilla items (e.g. iron chestplate, coal) should be recognized by Skript after startup.
Steps to Reproduce
- Use an aliases un skript file
- restart server (this bug occurs at random times)
Errors or Screenshots
[05:00:43] [Server thread/ERROR]: #!#!
[05:00:43] [Server thread/ERROR]: #!#! [Skript] Severe Error:
[05:00:43] [Server thread/ERROR]: #!#! Could not load aliases concurrently
[05:00:43] [Server thread/ERROR]: #!#!
[05:00:43] [Server thread/ERROR]: #!#! You're running an outdated version of Skript! Update to the latest version here: https://github.com/SkriptLang/Skript/releases/latest
[05:00:43] [Server thread/ERROR]: #!#!
[05:00:43] [Server thread/ERROR]: #!#! Stack trace:
[05:00:43] [Server thread/ERROR]: #!#! Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because the return value of "java.util.Map.get(Object)" is null
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.Skript$1.run(Skript.java:664)
[05:00:43] [Server thread/ERROR]: #!#! at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:78)
[05:00:43] [Server thread/ERROR]: #!#! at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:474)
[05:00:43] [Server thread/ERROR]: #!#! at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1177)
[05:00:43] [Server thread/ERROR]: #!#! at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:310)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.lang.Thread.run(Thread.java:1583)
[05:00:43] [Server thread/ERROR]: #!#! Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because the return value of "java.util.Map.get(Object)" is null
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.entity.EntityData$EntityDataInfo.getCodeNamePlacement(EntityData.java:303)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.entity.EntityData.init(EntityData.java:398)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.lang.SkriptParser.parse(SkriptParser.java:266)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.lang.SkriptParser.parseStatic(SkriptParser.java:193)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.lang.SkriptParser.parseStatic(SkriptParser.java:181)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.entity.EntityData.parse(EntityData.java:618)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.aliases.AliasesProvider.addAlias(AliasesProvider.java:150)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.aliases.AliasesParser.loadSingleAlias(AliasesParser.java:680)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.aliases.AliasesParser.loadAlias(AliasesParser.java:589)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.aliases.AliasesParser.load(AliasesParser.java:96)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.aliases.Aliases.load(Aliases.java:562)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.aliases.Aliases.load(Aliases.java:548)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.aliases.Aliases.lambda$loadDirectory$2(Aliases.java:531)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.aliases.Aliases.loadDirectory(Aliases.java:524)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.aliases.Aliases.loadInternal(Aliases.java:487)
[05:00:43] [Server thread/ERROR]: #!#! at Skript-2.14.1.jar//ch.njol.skript.aliases.Aliases.lambda$loadAsync$1(Aliases.java:406)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
[05:00:43] [Server thread/ERROR]: #!#! at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
[05:00:43] [Server thread/ERROR]: #!#!
[05:00:43] [Server thread/ERROR]: #!#! Skript: 2.14.1 (outdated)
[05:00:43] [Server thread/ERROR]: #!#! Flavor: skriptlang-github
[05:00:43] [Server thread/ERROR]: #!#! Date: 14:11:39.323222700
[05:00:43] [Server thread/ERROR]: #!#! Bukkit: 1.21.8-R0.1-SNAPSHOT
[05:00:43] [Server thread/ERROR]: #!#! Minecraft: 1.21.8
[05:00:43] [Server thread/ERROR]: #!#! Java: 21.0.10 (OpenJDK 64-Bit Server VM 21.0.10+7-LTS)
[05:00:43] [Server thread/ERROR]: #!#! OS: Linux amd64 6.1.0-43-amd64
[05:00:43] [Server thread/ERROR]: #!#!
[05:00:43] [Server thread/ERROR]: #!#! Server platform: Paper
[05:00:43] [Server thread/ERROR]: #!#!
[05:00:43] [Server thread/ERROR]: #!#! Current node: null
[05:00:43] [Server thread/ERROR]: #!#! Current item: null
[05:00:43] [Server thread/ERROR]: #!#! Thread: Server thread
[05:00:43] [Server thread/ERROR]: #!#! Language: english
[05:00:43] [Server thread/ERROR]: #!#! Link parse mode: DISABLED
[05:00:43] [Server thread/ERROR]: #!#! End of Error.
[05:00:43] [Server thread/ERROR]: #!#!
Error examples:
[05:00:44] [Server thread/INFO]: Can't understand this structure: on rightclick with paper
[05:00:44] [Server thread/INFO]: Line: on rightclick with paper:
[05:00:44] [Server thread/INFO]: a slot can't be set to 'black stained glass pane named " "' because the latter is neither an item type nor an item stack
[05:00:44] [Server thread/INFO]: Line: set slot {_slotFirst} of {_gui} to black stained glass pane named " "
[05:00:44] [Server thread/INFO]: Can't understand this effect: else
[05:00:44] [Server thread/INFO]: Line: else if {_recipeType} is iron pickaxe:
[05:00:44] [Server thread/INFO]: a slot can't be set to 'iron boots' because the latter is neither an item type nor an item stack
[05:00:44] [Server thread/INFO]: Line: set event-entity's boots to iron boots
Other
I have script loader thread size: 0 in my config file
Agreement
Skript/Server Version
Bug Description
Skript 2.14.1 fails to load aliases on server startup, throwing a
NullPointerExceptioninEntityData$EntityDataInfo.getCodeNamePlacement. This causes all item aliases to be completely broken (even basic vanilla items likeiron chestplateorcoalare unrecognized), making every script that references items non-functional.The issue appears to be in the async alias loading (
loadAsync), wherejava.util.Map.get(Object)returnsnullwhen trying to map an entity type to its code name placement.Expected Behavior
Aliases should load correctly on every server startup. The async alias loading should not throw a
NullPointerExceptionwhen mapping entity types, and all vanilla items (e.g.iron chestplate,coal) should be recognized by Skript after startup.Steps to Reproduce
Errors or Screenshots
Error examples:
Other
I have
script loader thread size: 0in my config fileAgreement