Coder Social home page Coder Social logo

tetratau / toki Goto Github PK

View Code? Open in Web Editor NEW
47.0 3.0 4.0 595 KB

A Paper fork providing a Fabric-based modding platform.

License: Apache License 2.0

Kotlin 100.00%
bukkit fabric-loader fabricmc minecraft papermc fabric minecraft-api modding paper paper-fork java craftbukkit minecraft-server

toki's Introduction

Toki

Toki is a server-side modding platform which makes it possible to create and port Fabric mods on the Paper server software and its forks.

See the Toki example mod as a reference.

!WARNING!

  1. The project doesn't let you run already existing Fabric mods, instead it aims to provide developers an easy tool for porting those mods for Paper and its forks.
  2. The project is highly WIP, expect bugs and limitation in the toolchain, please create issues for bug reports and feature requests.

Join discord for discussion

Download

For now you can download builds only from our Github releases

Infrastructure

This is a Gradle plugin which provides Paper source code and Loom's features like Mixin remapping. For now it is WIP, but it is suitable for basic Mixin development using Mojang mappings.

This is an application and library which lets you install Toki on forks of Paper.
It is also used in the Toki's buildscript for building purposes.

Motivation and goals

This project exists to solve two problems: Hybrid server software problem and Plugin API limitation problem.

Hybrid server software problem

Server admins often want to have modded servers which 1) support bukkit plugins 2) have good performance.

The issue with hybrid server software is stability and support, almost none of mods or plugins provide an official support for hybrid server software, so for now the sanest solution is to use the vanilla server software with mods which 1) replace plugins 2) optimize the server.

The main issue there is optimization mods, which usually don't do invasive changes for the sake of performance. On the other hand, Paper does such changes using its patch system and performs better than almost all of the server optimization modpacks, so the solution this project provides is providing an easy to use toolchain and APIs for making / porting fabric mods to it.

Plugin API limitiation problem

Usually plugins can't modify Minecraft server internals, and if they do, they do it badly. Plugins don't have an official support of modding tools like Mixins and Access wideners, on one hand it makes plugins more compatible with each other, on the other hand it limits plugin possibilites.

So if you're a plugin developer willing to do more than usual plugins are capable of, you can use this platform, make mods and run them on Paper or any other Paper fork.

TODOs / Plans

  • Implement Fabric Loader on top of Paper.
  • Create a Gradle plugin for developers to be able to develop mods with this project.
  • Create a Toki API mod which has a compatibility with the Fabric API on the client side. (Registry sync)
  • Make Bukkit API flexible enough to handle modded content.

Contributing and Technical documentation

See this file.

toki's People

Contributors

maestro-denery avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

toki's Issues

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.