Giter Site home page Giter Site logo

ilblu's Introduction

Ilblu

GitHub-CI Workflow Status CodeMC-CI Build Status Paper Behind By Forks

Ilblu is a fork of the Minecraft Server Software Paper, it should support all Spigot plugins.

This project improves on the framework by byof and EMC. Also includes many small changes from Tuinity, Purpur, YAPFA, Draco and Akarin.

The main goal of this project is creating a better framework for forks of paper and in turn also their forks!

Example projects

Small showcase of all current forks of Ilblu:

  • Ibento - Adds many new Events

Get Ilblu

Download

Downloading Ilblu isnt really useful as it doesnt add any features. This project is meant to be forked!

Build

Requirements

  • Java (JDK) 8 or above
  • Git, with a configured user name and email. On windows you need to run from git bash.

Optionally

  • Maven 3+ (Will be installed locally if not present)
  • Gradle 6+ (Uses gradle wrapper anyway)

Compile

If all you want is a paperclip server jar, just run:

./gradlew ilbluInitApply
./gradlew ilbluPaperclip

Fork

Creating a fork via Ilblu has several advantages:

  • Modular inclusion of other forks
  • More modern framework for developing than older solutions (E.g byof)
  • Incremental building

Getting started

  1. Fork this project
  2. Edit gradle.properties to your likings
  3. Add your fork name to the end of /patches/apply
  4. Run ./gradlew ilbluInitApply ilbluRebuildPatches
  5. (Edit the README.md)

Add patch modules

Create a new folder/symlink in /patches containing the api and server subdirectories

Now add the name of the path to the patches folder above your fork in /patches/apply.

Only use valid folder names; no dots, slashes, asterisks etc.

Keep in sync

Since Ilblu is patched frequently to stay up to date with Paper, keeping your fork in sync is important to get any new features as soon as they come out. Choose any way you prefer:

  • Sync Ilblu (Recommended): ./gradlew ilbluSync

  • Only update Paper: ./gradlew ilbluMergeUp

  • Do it by manually. Not sure how? GitHub Help - Syncing a Fork

Developing

To get started clone this repository and run ./gradlew ilbluInitApply or ./ilblu patch init to setup your workspace.

Creating patches

  • Make changes to /<NAME>-API or /<NAME>-Server and commit them
  • Run ./gradlew ilbluRebuildPatches or ./ilblu rebuild to create the patch files
  • Finish by committing and pushing the changes made to the patch files

Testing

Important: Test jars contain copyrighted material and should be distributed under no circumstances

To build your test server jar just run ./gradlew shadowJar, output in /<NAME>-Server/build/libs

Deploying

To get a distributable server jar (paperclip), just run ./gradlew ilbluPaperclip, output in main directory

Still confused?

Just head over to the example project Ibento.

Creating and editing patches is explained in great detail over at PaperMC.

Side note: Rebasing will be one of your best friends when creating patches, be sure to understand it well.

LICENSE

See LICENSE

Everything in this repository is free to be used in your own fork, except when noted otherwise.

See list above for the license of material used/modified by this project.

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.