Question Cannot use Material enum without errors

Brunolator

New member
May 18, 2025
3
0
1
Hello, I am making a plugin where I need to use functions like Material.getMaterial. I can import org.bukkit.Material but when I code with it, it doesn't work on my server even though no errors show in IntelliJ. The plugin is enabled on the server but it says an error occurred when trying to execute a command that involves Material. When I created a main method inside the plugin to test it inside IntelliJ, it crashes whenever I use the Material enum. For example, the following code produces the following error message

screenshot.png

Exception in thread "main" java.lang.NoClassDefFoundError: org/bukkit/Material
at <plugin>.Test.main(Test.java:7)
Caused by: java.lang.ClassNotFoundException: org.bukkit.Material
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
... 1 more

The BlockType class also has a similar problem. My IntelliJ is updated to the latest version and I am using Java 21 and coding for Minecraft 1.21.4.
 

Brunolator

New member
May 18, 2025
3
0
1
Here is the error message in the console for the command in the server. And I should also say that when I made a similar class that didn't use Material, it worked fine, but I need to use the materials for the plugin to have its functionality.

Code:
[19:46:35 ERROR]: Command exception: /clutchblock Brunolator hard 5
org.bukkit.command.CommandException: Unhandled exception executing command 'clutchblock' in plugin ClutchBlock v1.0.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.21.4-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:82) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.3.10.jar:?]
    at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:30) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:13) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.commands.execution.CommandQueueEntry.execute(CommandQueueEntry.java:5) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:105) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:450) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.commands.Commands.performCommand(Commands.java:357) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.commands.Commands.performCommand(Commands.java:347) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.commands.Commands.performCommand(Commands.java:341) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.performUnsignedChatCommand(ServerGamePacketListenerImpl.java:2214) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$11(ServerGamePacketListenerImpl.java:2187) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:155) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1448) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:176) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:129) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1428) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1422) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:139) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1379) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1387) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1264) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:310) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class me.Brunolator.clutchBlock.ClutchBlockTier
    at ClutchBlock-1.0.0.jar/me.Brunolator.clutchBlock.ClutchBlockCommand.onCommand(ClutchBlockCommand.java:28) ~[ClutchBlock-1.0.0.jar:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.21.4-R0.1-SNAPSHOT.jar:?]
    ... 27 more
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NullPointerException [in thread "Server thread"]
    at java.base/java.util.ImmutableCollections$SetN.probe(ImmutableCollections.java:1014) ~[?:?]
    at java.base/java.util.ImmutableCollections$SetN.<init>(ImmutableCollections.java:923) ~[?:?]
    at java.base/java.util.Set.of(Set.java:612) ~[?:?]
    at ClutchBlock-1.0.0.jar/me.Brunolator.clutchBlock.ClutchBlockTier.<clinit>(ClutchBlockTier.java:10) ~[ClutchBlock-1.0.0.jar:?]
    at ClutchBlock-1.0.0.jar/me.Brunolator.clutchBlock.StepListener.onPlayerMove(StepListener.java:21) ~[ClutchBlock-1.0.0.jar:?]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.21.4-R0.1-SNAPSHOT.jar:?]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.21.4-R0.1-SNAPSHOT.jar:?]
    at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.21.4-R0.1-SNAPSHOT.jar:?]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleMovePlayer(ServerGamePacketListenerImpl.java:1541) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket.handle(ServerboundMovePlayerPacket.java:61) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$PosRot.handle(ServerboundMovePlayerPacket.java:132) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:29) ~[paper-1.21.4.jar:1.21.4-227-7675321]
    ... 14 more
 
Last edited:

Brunolator

New member
May 18, 2025
3
0
1
Okay, I don't know what I did but I got the plugin to work in game. It turns out that in the command I had some of the arguments mixed up. But the Material class only works in Minecraft and not directly from IntelliJ, how would I fix this?
 
Last edited: