Giter Club home page Giter Club logo

moltenkt's Introduction

MoltenKT Moved

MoltenKT is now split to Ascend, Stacked & Sparkle and this repository is now archived and out of support!

Open Source Built by developers Written in Kotlin


πŸ‘‹ Welcome to MoltenKT

MoltenKT is a multi-vector platform framework developed using the Kotlin programming language. MoltenKT does as a framework provide supporting systems, functions and properties for other Kotlin projects and is additionally optimized for other sub-areas besides the general Kotlin JVM.

MoltenKT's goal is to simplify and improve development with different platforms through its own, mostly easy to use systems, functions and properties.

πŸ“ˆ Version

Currently, MoltenKT is working with Kotlin version 1.7, which is the latest Kotlin version. In the future, versions of both Kotlin, and those of Minecraft / Paper will be constantly updated to provide the best API as possible.

πŸ‘» Modules

MoltenKT currently offers 4 different project modules, each with its own platform goals, but all of these are based on the base-plate module MoltenKT-Core. This integrated system allows to easily adapt new features across all of the modules, and also allows for easy integration of new features into the base-plate module.

πŸ’Ύ MoltenKT-Core

MoltenKT-Core is the main module, all other modules of MoltenKT, which also work on the JVM basis of Kotlin, is using this module. This is because this is where the most MoltenKT library-content is located, which you can also use in your projects. Here int this module is the more general system and structure located, that is compatible with any JVM project based on Kotlin and/or Java.

🀯 MoltenKT-Paper

MoltenKT-Paper is the module for Minecraft server paper plugin development, which is based on the PaperMC server API. With MoltenKT-Paper specifically this development area is supported, with functions & systems which are precisely adapted for this system & plattform.

πŸŽ“ MoltenKT-Unfold

MoltenKT-Unfold is the module for the development of displayable content via the Adventure-Game-API. This module allows special ways to communicate to the Adventure API and build structure and custom content with it. Because it's based on Adventure, it is also cross-plattform compatible at its target, so Minecraft-Servers and cloud structure based on minecraft technology can use it.

βš™οΈ Setup

Repository

How can I use MoltenKT in my own projects? For this you need to know what your project is based on, or should be based on. We ourselves recommend that you use Gradle Kotlin in all your projects, but you can also use other systems like Gradle and Maven!

Using JitPack

Repository
maven("https://jitpack.io")
Dependency
implementation("com.github.TheFruxz.MoltenKT:moltenkt-core:$moltenVersion")
implementation("com.github.TheFruxz.MoltenKT:moltenkt-paper:$moltenVersion") // optionally add MoltenKT-Paper
implementation("com.github.TheFruxz.MoltenKT:moltenkt-unfold:$moltenVersion") // or MoltenKT-Unfold

Using GitHub Packages

Repository
maven("https://maven.pkg.github.com/TheFruxz/MoltenKT") {
        credentials {
            credentials {
                username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
                password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
            }
        }
    }
Dependency
implementation("de.moltenKT:moltenkt-core:$moltenVersion")
implementation("de.moltenKT:moltenkt-paper:$moltenVersion") // optionally add MoltenKT-Paper
implementation("de.moltenKT:moltenkt-unfold:$moltenVersion") // or MoltenKT-Unfold

πŸ” Auth

You need to have set the system variables USERNAME and TOKEN to your GitHub-Username and GitHub-Personal-Access-Token, to access the packages via the GitHub-Packages Feature. You can also use the project variables gpr.user and gpr.key, but don't publish them to the web!

πŸ—ž Version

Since we always try to use the latest versions as soon as possible, as already described in the point 'Version Policy', current versions quickly become obsolete, so we will soon release a list of versions, where it will be shown exactly how long a certain version is still being supported.

πŸ‘₯ Contribution

Of course, you can also participate in MoltenKT and contribute to the development. However, please follow all community and general guidelines of GitHub and the repositories. You also have to respect the licenses set in this repository as well as in other repositories.

If you have any questions, suggestions or other items you would like to contribute to MoltenKT or just discuss, check out the Discussions' section of this repository, where you will find the respective areas where you can create your own questions or join in discussions on other things.

πŸ—’ Sidenotes

The MoltenKT-Paper-Runnable jar includes (/ shadowed) these small amount of dependencies, so you don't have to provide them:

  • MoltenKT-Core
  • MoltenKT-Paper
  • MoltenKT-Unfold
  • Kotlin Standard Library
  • Kotlin Standard Library JDK8
  • Kotlin Reflect
  • KotlinX Serialization JSON
  • KotlinX Coroutines Core
  • SLF4J-API
  • JetBrains Exposed Core
  • JetBrains Exposed DAO
  • JetBrains Exposed JDBC
  • Ktor Client Core JVM
  • Ktor Serialization KotlinX JSON
  • Ktor Client CIO
  • Ktor Client Content Negotiation
  • Adventure API
  • Adventure text Serializer Legacy
  • Adventure text MiniMessage
We build & use MoltenKT on Java 17 - Eclipse Temurin.
Also build & run MoltenKT with Eclipse Temurin to get the best possible experience!
Different modules getting split to different repositories and may receive each its own brand in future
The movement to Ascend, Sparkle and Stacked finished!

moltenkt's People

Contributors

coasterfreakde avatar dependabot[bot] avatar jalumu avatar thefruxz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

moltenkt's Issues

sorted interface

A interface called sorted, which have two functions

  • next()
  • previous()

JET-Paper and JET-Waterfall Multi-Plattform

Allow plugins, to multi-plattforming between the JET-Paper and JET-Waterfall plattform, by providing a consistent api across the two plattforms.
This should be cross-compatible with way more different plattforms in the future, like different server-vendors and systems.

Finish the language-system

Currently we have the remaining dust of the old language-system and currently only running in a "static mode".
This should be changed, by allowing to modify the path to the language file (use the JET custom path extension/api) and pushing the language files into a outside directory, instead of keeping the files inside the internal resources directory.

Precise player liquid checking

Add an easy-to-use function to the Player called

  • Player#isInLiquid
  • Player#isInWater
  • Player#isInLava

As the optional parameter: percentage, to detect a percentage amount, or nothing, to detect, if the player touches the liquid.
Example:

Player.isInWater(minPercentage = 20.percent)

Using the bounding box technology to detect the amount inside of a block (maybe add this as a additional function)

Terminal Console Issues

There are currently multiple deep issues inside the terminal console feature:

  • top level content not accessable
  • successfull execution of interchange not returning to the input-request

External paths

Add external paths, which direct paths and //local/ to access a file in the resources

Checking, if the get(#restriction) target-branch accepts the #restriction

The get(#restriction) function inside the InterchangeExecution block should check, if the targeted branch even accepts the #restriction provided as the function parameter. (every branch has its own restrictions, does the use-case or the restriction itself matches the requested restriction?)

[BUG]: Module Interchanges First-Init

What happened?

At the first initialization, the interchanges are not blocked like a manual deactivation of the modules, they are simply not reaction (registered as executer)

Version

v1.0 BETA 4 (preview)

What Server-Version are you seeing the problem on?

1.17

Relevant log output

No response

Check & Safe

  • I agree to have checked, that this is no duplicated issue

[BUG]: /component list JET:Chat

What happened?

/component list JET:Chat does not trigger a usage output!

Version

v1.0 BETA 2 (preview)

What Server-Version are you seeing the problem on?

1.17

Relevant log output

[21:39:01 INFO]: Fruxz issued server command: /component list JET:Chat
[21:39:01 WARN]: DEBUG /!/ Executor Fruxz as PLAYER successfully executed component-interchange!

Check & Safe

  • I agree to have checked, that this is no duplicated issue

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.