Code Monkey home page Code Monkey logo

empirecraft's Introduction

EmpireCraft

What

EmpireCraft is a fork of Paper used by the Empire Minecraft Server.

It contains many gameplay changes to suit our server and some potential performance improvements to be contributed back to Paper / Sponge.

We also have many APIs that we privately use but may choose not to publicly PR upstream.

Why we don't release all APIs

APIs are tough to design. In public projects such as Bukkit, Spigot, Paper, etc., once an API is commited, it's almost forever. You can't go breaking it without solid justification. This is the politics game.

With that in mind, much thought has to be given to our APIs in current and future use cases and applications to ensure it can be extended without breaking.

This is a lot of politics that we don't have time in our lives to deal with.

Therefore, we write APIs to OUR base needs, which is often not 'complete' or 'up to style guidelines' of upstream repositories. We do not have the time to write code that we personally do not need for these APIs.

We also want to retain the ability to make breaking changes to these APIs if it results in a better way to do things or performance improvements.

By contributing it upstream, we would give up that power.

So that is why we have many extremely useful APIs that are not PR'd upstream. Several APIs may find their way upstream at some point.

License, Support, & Usage of Patches

All patches written by Aikar, Starlis LLC, and/or Contractors of Starlis LLC that are included within EmpireCraft are licensed MIT, and are free to be used in your own fork.

We offer ABSOLUTELY NO SUPPORT for these patches. If you wish to use them, you must take the effort to extract them from our repo, apply them to your own, and repair any code changes to get it to compile.

If we make any breaking changes, and you still wish to use these patches, it's your job to fix the changes!

So in summary, we love to share! Use anything we wrote in this repo how ever you please, but support it yourself :)

OS Support & Scripts

We only directly support the latest LTS Ubuntu for shell scripts. It may work elsewhere... but no promises.

Some scripts may try to push to our repos, please change that if you fork :)

build-data/importmcdev

Imports specific files from mc-dev that upstream does not use, but we need.

scripts/apatch

Used to attempt wiggle applying a patch when ./gradlew applyPatches is unable to do detect the conflicts.

Common Gradle commands

The most common gradle commands needed to use this project are listed here. ./gradlew cleanCache ./gradlew applyPatches ./gradlew rebuildPatches ./gradlew createReobfBundlerJar ./gradlew publishToMavenLocal

Common Gradle commands

Deprecated patches scheduled for removal in a future unannounced update API-0002-ItemStack-isSimiliar-API-to-skip-durability-and-name.patch API-0026-Chat-API.patch API-0032-Add-ChatColor.getById.patch API-0042-SpawnEggMeta-setSpawnedEntity-API.patch

empirecraft's People

Contributors

adryd325 avatar aikar avatar chickeneer avatar mrfrydae avatar triphora avatar willies952002 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  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  avatar

Watchers

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

empirecraft's Issues

Optimizing entity movement

Hello, are there any tries on optimizing entity movement? I'm talking about 1.8 version or similar. Entity.move() is on top of profilers, all the time.

EntityEffectAddedEvent uses wrong PotionEffect

PotionEffect in 0027-Add-EntityEffectAddedEvent.patch does not include predefined mobeffect.isAmbient(), mobeffect.isShowParticles(), mobeffect.isShowIcon() values (line 21).
Also, new PotionEffect does not include effect.hasIcon(), so effect.hasParticles() always controls icon instead (line 26).

Performance?

Are you sure Optimize-Entity-and-Tile-Entity-Removal patch gives performance boost? From the profilers it appears that it has higher percentage.

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.