0

I just started to learn paper and Kotlin, and i have a problem with my plugin. Every time I right-click, I see java.lang.NoClassDefFoundError. I can't find what the problem is, can you please help me? Thank you in advance!

src/main/kotlin/org.example.tutorial:

package org.example.tutorial

import org.bukkit.Material
import org.bukkit.entity.Fireball
import org.bukkit.event.EventHandler
import org.bukkit.event.Listener
import org.bukkit.event.player.PlayerInteractEvent
import org.bukkit.plugin.java.JavaPlugin

class TutorialPlugin : JavaPlugin(), Listener {
    override fun onEnable() {
        logger.info("Enabled TutorialPlugin")
        server.pluginManager.registerEvents(this, this)
    }

    @EventHandler
    fun shootFireball(event: PlayerInteractEvent) {
        val action = event.action.isRightClick
        val item = event.item
        val player = event.player

        if (action && item != null && item.type == Material.IRON_SWORD) {
            val fireball = player.launchProjectile(Fireball::class.java)
            fireball.velocity = player.location.direction.multiply(5)
        }
    }
}

build.gradle.kts:

plugins {
    kotlin("jvm") version "1.5.31"
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
    maven("https://papermc.io/repo/repository/maven-public/")
}

dependencies {
    compileOnly("io.papermc.paper:paper-api:1.17.1-R0.1-SNAPSHOT")

    implementation("org.jetbrains.kotlin:kotlin-stdlib:1.5.31")
}

tasks {
    processResources {
        filesMatching("**/*.yml") {
            expand(project.properties)
        }
    }

    withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class) {
        kotlinOptions {
            jvmTarget = "16"
        }
    }
}

the error:

java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
    at org.example.tutorial.TutorialPlugin.shootFireball(TutorialPlugin.kt) ~[untitled-1.0-SNAPSHOT.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Paper-300]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.17.1.jar:git-Paper-300]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Paper-300]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:626) ~[patched_1.17.1.jar:git-Paper-300]
    at org.bukkit.craftbukkit.v1_17_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:543) ~[patched_1.17.1.jar:git-Paper-300]
    at org.bukkit.craftbukkit.v1_17_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:506) ~[patched_1.17.1.jar:git-Paper-300]
    at org.bukkit.craftbukkit.v1_17_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:501) ~[patched_1.17.1.jar:git-Paper-300]
    at org.bukkit.craftbukkit.v1_17_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:497) ~[patched_1.17.1.jar:git-Paper-300]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItem(ServerGamePacketListenerImpl.java:1862) ~[app:?]
    at net.minecraft.network.protocol.game.ServerboundUseItemPacket.handle(ServerboundUseItemPacket.java:28) ~[app:?]
    at net.minecraft.network.protocol.game.ServerboundUseItemPacket.handle(ServerboundUseItemPacket.java:8) ~[app:?]
    at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[app:?]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Paper-300]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[app:?]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[app:?]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1418) ~[patched_1.17.1.jar:git-Paper-300]
    at net.minecraft.server.MinecraftServer.shouldRun(MinecraftServer.java:192) ~[patched_1.17.1.jar:git-Paper-300]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[app:?]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1396) ~[patched_1.17.1.jar:git-Paper-300]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1389) ~[patched_1.17.1.jar:git-Paper-300]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[app:?]
    at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1367) ~[patched_1.17.1.jar:git-Paper-300]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1278) ~[patched_1.17.1.jar:git-Paper-300]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-300]
    at java.lang.Thread.run(Thread.java:831) ~[?:?]
prettykim
  • 33
  • 6

0 Answers0