[BUG] Getting component display name of item w/o meta (eg. air) throws exception
bug :lady_beetle:completed 👍
### What happened?
Using the `component display name of %item%` expression assumes that all itemstacks have an item meta, and tries to get the display name from the item meta.
However, for items which do not have an item meta (namely, air), this causes a NullPointerException to be thrown.
### Steps to reproduce
1. Run the following snippet by effect commands or other means: `send component display name of air`
2. An exception is thrown.
### Expected behavior
An empty component should be returned, as is custom when checking the display name of an item that hasn't been renamed.
### SkBee Version
3.24.0
### Server Version
Paper 26.1.2 (build 69-stable)
### SkBee Info
```
--- [SkBee Loading Info] ---
- [NBTAPI] Found Minecraft: 26.1.2.build.69! Trying to find NMS support
- [NBTAPI] NMS support 'MC26_1' loaded!
- NBT Elements successfully loaded
- Advancement Elements successfully loaded
- BossBar Elements successfully loaded
- Bound Elements successfully loaded
- Damage Source Elements successfully loaded
- Dialog Elements successfully loaded
- Fastboard[Adventure] Elements successfully loaded
- Fishing Elements successfully loaded
- Game Event Elements successfully loaded
- Item Component Elements successfully loaded
- Property Elements successfully loaded
- RayTrace Elements successfully loaded
- Recipe Elements successfully loaded
- Registry Elements successfully loaded
- Scoreboard Elements successfully loaded
- Statistic Elements successfully loaded
- Structure Elements successfully loaded
- SwitchCase Elements successfully loaded
- Text Component Elements successfully loaded
- Tick Manager Elements successfully loaded
- Villager Elements successfully loaded
- Virtual Furnace Elements disabled via config
- World Creator Elements successfully loaded
- Plugin is up to date!
--- [Server Info] ---
Server Version: Paper 26.1.2-69-76d2ac7 (MC: 26.1.2)
Skript Version: 2.15.3 (skriptlang-github)
Skript Addons:
SkBee Version: 3.24.0
SkBee Website: https://github.com/ShaneBeee/SkBee
```
### Additional Information
Here's my stacktrace, if desired:
```
[01:46:15 ERROR]: #!#!
[01:46:15 ERROR]: #!#! [Skript] Severe Error:
[01:46:15 ERROR]: #!#!
[01:46:15 ERROR]: #!#! An unexpected error occurred with Skript. This issue is likely not your fault.
[01:46:15 ERROR]: #!#! You are using some plugins that alter how Skript works (addons).
[01:46:15 ERROR]: #!#! Full list of addons:
[01:46:15 ERROR]: #!#! SkBee v3.24.0 (https://github.com/ShaneBeee/SkBee)
[01:46:15 ERROR]: #!#! DiscordSRV v1.30.5 (https://github.com/DiscordSRV/DiscordSRV)
[01:46:15 ERROR]: #!#! We could not identify related addons, it might also be a Skript issue.
[01:46:15 ERROR]: #!#! Try temporarily removing the listed plugins one by one to identify the cause.
[01:46:15 ERROR]: #!#! If removing a plugin resolves the issue, please report the problem to the plugin developer.
[01:46:15 ERROR]: #!#!
[01:46:15 ERROR]: #!#! Stack trace:
[01:46:15 ERROR]: #!#! Caused by: java.lang.NullPointerException: Cannot invoke "org.bukkit.inventory.meta.ItemMeta.displayName()" because "itemMeta" is null
[01:46:15 ERROR]: #!#! at SkBee-3.24.0.jar//com.shanebeestudios.skbee.elements.text.expressions.ExprItemName.lambda$convert$0(ExprItemName.java:62)
[01:46:15 ERROR]: #!#! at SkBee-3.24.0.jar//com.shanebeestudios.skbee.api.util.ItemUtils.getValue(ItemUtils.java:168)
[01:46:15 ERROR]: #!#! at SkBee-3.24.0.jar//com.shanebeestudios.skbee.elements.text.expressions.ExprItemName.convert(ExprItemName.java:56)
[01:46:15 ERROR]: #!#! at SkBee-3.24.0.jar//com.shanebeestudios.skbee.elements.text.expressions.ExprItemName.convert(ExprItemName.java:21)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//org.skriptlang.skript.lang.converter.Converters.convert(Converters.java:513)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//org.skriptlang.skript.lang.converter.Converters.convertUnsafe(Converters.java:596)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:234)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//ch.njol.skript.expressions.base.SimplePropertyExpression.get(SimplePropertyExpression.java:39)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:196)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//ch.njol.skript.lang.util.SimpleExpression.getArray(SimpleExpression.java:86)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//ch.njol.skript.lang.util.ConvertedExpression.getArray(ConvertedExpression.java:213)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//org.skriptlang.skript.bukkit.text.elements.effects.EffMessage.execute(EffMessage.java:63)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//ch.njol.skript.lang.Effect.run(Effect.java:42)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:40)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:67)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//ch.njol.skript.command.Commands.handleEffectCommand(Commands.java:192)
[01:46:15 ERROR]: #!#! at Skript-2.15.3.jar//ch.njol.skript.command.Commands$2.lambda$onPlayerChat$0(Commands.java:293)
[01:46:15 ERROR]: #!#! at org.bukkit.craftbukkit.scheduler.CraftFuture.run(CraftFuture.java:88)
[01:46:15 ERROR]: #!#! at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:474)
[01:46:15 ERROR]: #!#! at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1792)
[01:46:15 ERROR]: #!#! at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1645)
[01:46:15 ERROR]: #!#! at net.minecraft.server.dedicated.DedicatedServer.tickServer(DedicatedServer.java:444)
[01:46:15 ERROR]: #!#! at net.minecraft.server.MinecraftServer.processPacketsAndTick(MinecraftServer.java:1703)
[01:46:15 ERROR]: #!#! at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1373)
[01:46:15 ERROR]: #!#! at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:304)
[01:46:15 ERROR]: #!#! at java.base/java.lang.Thread.run(Thread.java:1474)
[01:46:15 ERROR]: #!#!
[01:46:15 ERROR]: #!#! Skript: 2.15.3 (latest)
[01:46:15 ERROR]: #!#! Flavor: skriptlang-github
[01:46:15 ERROR]: #!#! Date: 15:56:00.516894
[01:46:15 ERROR]: #!#! Bukkit: 26.1.2.build.69-stable
[01:46:15 ERROR]: #!#! Minecraft: 26.1.2
[01:46:15 ERROR]: #!#! Java: 25.0.3 (OpenJDK 64-Bit Server VM 25.0.3+9-LTS)
[01:46:15 ERROR]: #!#! OS: Linux amd64 6.1.0-41-amd64
[01:46:15 ERROR]: #!#!
[01:46:15 ERROR]: #!#! Server platform: Paper
[01:46:15 ERROR]: #!#!
[01:46:15 ERROR]: #!#! Current node: null
[01:46:15 ERROR]: #!#! Current item: message (componentcustom name of [[itemstack:0 airs]] >> ch.njol.skript.lang.util.ConvertedExpression$$Lambda/0x000000009de19c20@1f650dba: ConverterInfo{from=class com.shanebeestudios.skbee.api.wrapper.ComponentWrapper,to=interface net.kyori.adventure.text.Component,converter=com.shanebeestudios.skbee.elements.text.type.Types$$Lambda/0x000000009dade940@4f4014e5,flags=0}) to event-command sender
[01:46:15 ERROR]: #!#! Thread: Server thread
[01:46:15 ERROR]: #!#! Language: english
[01:46:15 ERROR]: #!#! Link parse mode: DISABLED
[01:46:15 ERROR]: #!#! End of Error.
[01:46:15 ERROR]: #!#!
```
have a good day! :)
关闭于 2026-06-21 2 条评论