Git Product home page Git Product logo

mckotlin's Introduction

MCKotlin

WorkFlow Latest Version Discord Modrinth Downloads GitHub Downloads

Get the ability to run and develop Kotlin plugins on your Minecraft server or proxy.

This plugin includes the necessary Kotlin libraries to the server to avoid including them independently in several plugins at the same time

Requirements

  • Java 8+

Compatibility

  • Velocity 3+
  • Sponge 8.1+
  • CraftBukkit/Spigot/Paper/forks 1.8+
  • BungeeCord/Waterfall

How to use

Server Admin

Simply install the latest version of the plugin on your server or proxy

Developers

Add MCKotlin as a dependency

Spigot

plugin.yml

depend: MCKotlin-Paper

Paper 1.19.4+

paper-plugin.yml

dependencies:
  server:
    MCKotlin-Paper:
      required: true

Velocity

@Plugin(
  id = "myplugin",
  dependencies = {
      @Dependency(id = "mckotlin-velocity")
  }
)
public class VelocityPlugin {}

Sponge

build.gradle

dependency('mckotlin-sponge') {
    version '1.4.0'
    loadOrder PluginDependency.LoadOrder.AFTER
    optional false
}

build.gradle.kts

dependency("mckotlin-sponge") {
  version("1.4.0")
  loadOrder(PluginDependency.LoadOrder.AFTER)
  optional(false)
}

Libraries included

  • Kotlin StdLib 1.9.21
  • Kotlin Reflect 1.9.21
  • KotlinX Coroutines

How does this plugin differ from other plugins such as Kotlin?

Unfortunately there are no plugins available that provide the necessary libraries to make kotlin plugins for environments like Velocity or Bungeecord. That was my motivation to develop this plugin that includes Kotlin-stlib 1.9.0 (created by Jetbrains, Apache 2 license)

mckotlin's People

Contributors

4drian3d avatar apehum avatar qwertiox avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

apehum qwertiox

mckotlin's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/gradle.yml
  • actions/checkout v4
  • actions/setup-java v4
  • nick-invision/retry v3
  • actions/upload-artifact v4
gradle
gradle.properties
settings.gradle.kts
  • org.gradle.toolchains.foojay-resolver-convention 0.8.0
build.gradle.kts
  • org.jetbrains.kotlin.jvm 1.9.22
build-logic/settings.gradle.kts
  • org.gradle.toolchains.foojay-resolver-convention 0.8.0
build-logic/build.gradle.kts
build-logic/src/main/kotlin/mckotlin.base.gradle.kts
build-logic/src/main/kotlin/mckotlin.kapt.gradle.kts
build-logic/src/main/kotlin/mckotlin.shadow.gradle.kts
bungee/build.gradle.kts
gradle/libs.versions.toml
  • com.velocitypowered:velocity-api 3.2.0-SNAPSHOT
  • io.github.waterfallmc:waterfall-api 1.19-R0.1-SNAPSHOT
  • com.destroystokyo.paper:paper-api 1.16.5-R0.1-SNAPSHOT
  • org.spongepowered:spongeapi 8.1.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-core 1.7.3
  • com.github.johnrengelman:shadow 8.1.1
  • org.jetbrains.kotlin:kotlin-gradle-plugin 1.9.22
  • xyz.jpenilla.run-paper 2.2.3
  • xyz.jpenilla.run-velocity 2.2.3
  • xyz.jpenilla.run-waterfall 2.2.3
  • net.minecrell.plugin-yml.bukkit 0.6.0
  • net.minecrell.plugin-yml.bungee 0.6.0
  • org.spongepowered.gradle.plugin 2.2.0
paper/build.gradle.kts
sponge/build.gradle.kts
velocity/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.6

  • Check this box to trigger a request for Renovate to run again on this repository

plugin.yml

hello plugin doesn't work because jar doesn't contain plugin.yml

Incompatible with `Jukebox`

Exceptionflug/protocolize#197 (comment)

  1. Install MCKotlin and Protocolize
  2. Install plugins that depend on MCKotlin (such as ClientCatcher)
  3. Start Velocity
  4. See error
[06:30:05 ERROR] [clientcatcher]: Cannot load configuration
java.util.concurrent.CompletionException: kotlin.jvm.KotlinReflectionNotSupportedError: Kotlin reflection implementation is not found at runtime. Make sure you have kotlin-reflect.jar in the classpath
        at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
        at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
        at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
        at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]
Caused by: kotlin.jvm.KotlinReflectionNotSupportedError: Kotlin reflection implementation is not found at runtime. Make sure you have kotlin-reflect.jar in the classpath
        at kotlin.jvm.internal.ClassReference.error(ClassReference.kt:88) ~[?:?]
        at kotlin.jvm.internal.ClassReference.isData(ClassReference.kt:70) ~[?:?]
        at io.github._4drian3d.clientcatcher.libs.org.spongepowered.configurate.kotlin.DataClassFieldDiscoverer.discover(ObjectMapping.kt:93) ~[?:?]
        at io.github._4drian3d.clientcatcher.libs.org.spongepowered.configurate.objectmapping.ObjectMapperFactoryImpl.newMapper(ObjectMapperFactoryImpl.java:131) ~[?:?]
        at io.github._4drian3d.clientcatcher.libs.org.spongepowered.configurate.objectmapping.ObjectMapperFactoryImpl.computeMapper(ObjectMapperFactoryImpl.java:120) ~[?:?]
        at io.github._4drian3d.clientcatcher.libs.org.spongepowered.configurate.objectmapping.ObjectMapperFactoryImpl.lambda$computeFromMap$5(ObjectMapperFactoryImpl.java:290) ~[?:?]
        at java.util.HashMap.computeIfAbsent(HashMap.java:1219) ~[?:?]
        at io.github._4drian3d.clientcatcher.libs.org.spongepowered.configurate.objectmapping.ObjectMapperFactoryImpl.computeFromMap(ObjectMapperFactoryImpl.java:288) ~[?:?]
        at io.github._4drian3d.clientcatcher.libs.org.spongepowered.configurate.objectmapping.ObjectMapperFactoryImpl.get(ObjectMapperFactoryImpl.java:109) ~[?:?]
        at io.github._4drian3d.clientcatcher.libs.org.spongepowered.configurate.objectmapping.ObjectMapperFactoryImpl.deserialize(ObjectMapperFactoryImpl.java:204) ~[?:?]
        at io.github._4drian3d.clientcatcher.libs.org.spongepowered.configurate.AbstractConfigurationNode.get(AbstractConfigurationNode.java:151) ~[?:?]
        at io.github._4drian3d.clientcatcher.libs.org.spongepowered.configurate.ConfigurationNode.get(ConfigurationNode.java:520) ~[?:?]
        at io.github._4drian3d.clientcatcher.ClientCatcher.loadConfig$lambda$1(ClientCatcher.kt:83) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        ... 6 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.