Environment: Paper 1.20.6-79-master@f175193 on Lubuntu 24.04 with Java 21
The prompt method from ResourcePackRequest.Builder is nullable. However, when the prompt is not set or set to null, I get a NullPointerException. It works when the prompt is set.
(I don't know if it's Paper-related or Adventure-related?)
public class ResourcePackSend extends JavaPlugin implements Listener {
public URI uri = null;
public String hash = "e7c726200efca2f0f1f22eebe927ce28e4ac3082";
public UUID uuid = UUID.nameUUIDFromBytes(hash.getBytes());
@Override
public void onEnable() {
try {
this.uri = new URI("https://github.com/KyoriPowered/adventure/files/15357799/example_pack.zip");
Bukkit.getPluginManager().registerEvents(this, this);
} catch (URISyntaxException e) {
e.printStackTrace();
}
Bukkit.getServer().getConsoleSender().sendMessage(Component.text("[ResourcePackSend] Enabled"));
}
@EventHandler
public void onJoin(PlayerJoinEvent event) {
event.getPlayer().sendResourcePacks(ResourcePackRequest.resourcePackRequest().packs(
ResourcePackInfo.resourcePackInfo(uuid, uri, hash))
.prompt(null)
.asResourcePackRequest());
}
}
Stacktrace
[22:31:38 ERROR]: Could not pass event PlayerJoinEvent to ResourcePackSend v0.0.1
java.lang.NullPointerException: null
at java.base/java.util.Objects.requireNonNull(Objects.java:233) ~[?:?]
at java.base/java.util.Optional.of(Optional.java:113) ~[?:?]
at org.bukkit.craftbukkit.entity.CraftPlayer.sendResourcePacks(CraftPlayer.java:2523) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at paper_resourcepack.jar/re.sylfa.resourcepacksend.ResourcePackSend.onJoin(ResourcePackSend.java:37) ~[paper_resourcepack.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:1.20.6-79-f175193]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:627) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at net.minecraft.server.players.PlayerList.placeNewPlayer(PlayerList.java:347) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.server.network.ServerConfigurationPacketListenerImpl.handleConfigurationFinished(ServerConfigurationPacketListenerImpl.java:153) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:22) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:13) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:55) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1514) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:195) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1491) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1414) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1380) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1241) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[paper-1.20.6.jar:1.20.6-79-f175193]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Environment: Paper 1.20.6-79-master@f175193 on Lubuntu 24.04 with Java 21
The
prompt
method from ResourcePackRequest.Builder is nullable. However, when the prompt is not set or set tonull
, I get aNullPointerException
. It works when the prompt is set. (I don't know if it's Paper-related or Adventure-related?)Example
Used resource pack
Stacktrace