Go to file
Shane Freeder 9c79dd3214
Cache generated EventExecutors (fixes #786)
the first 'major' change in this PR is to cache the generated event
executrs from the ASM class, by doing this we only generate a single
class for every method that we need an executor for, thus reducing the
number of classes that are needed, especially in cases where plugins
re/unregister events all the time.

The second change is to modify the generated classloader map, generated
classloaders are not held against the plugin itself but the classloader
that the event is declared in, the implication here is that we cannot
drop generated classloaders when a plugin disable, and so we use a guava
weak-key'd hashmap, downfall here is that classes won't be GC'd until
guava drops the generated classloader, however the first change should
deal with most of the grunt.
2017-09-14 14:57:50 +01:00
.github Update ISSUE_TEMPLATE.md 2016-03-26 14:00:59 +01:00
Spigot-API-Patches Cache generated EventExecutors (fixes #786) 2017-09-14 14:57:50 +01:00
Spigot-Server-Patches Fix race condition with chunks, dead tile entities 2017-09-11 22:21:57 -04:00
scripts Update paperclip script for folder move 2017-08-13 15:44:27 -05:00
work Update CB/S 2017-09-09 08:17:12 +01:00
.gitignore Move mc decompile source to its own folder 2017-08-12 18:56:59 -05:00
.gitmodules Cleanup and restructure the project 2016-04-01 23:15:41 -05:00
.travis.yml Move mc decompile source to its own folder 2017-08-12 18:56:59 -05:00
CONTRIBUTING.md [CI-SKIP] Fix CONTRIBUTING.md formatting 2016-09-06 15:01:46 -05:00
README.md [CI-SKIP] Add javadocs to readme (#427) 2016-09-21 23:50:38 -04:00
paper fix shell match to account for /usr/local for homebrew installs of zsh on macOS 2017-03-17 23:44:58 +00:00
pom.xml Improve console implementation 2017-06-11 14:31:21 +02:00

README.md

Paper CI Status

High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.

IRC Support and Project Discussion

Documentation

Access the Paper docs here: paper.readthedocs.io
Access the Paper API javadocs here: paperdocs.emc.gs

How To (Server Admins)

Paperclip is a jar file that you can download and run just like a normal jar file.

Download a copy of paperclip.jar from our build server, here.

Run the Paperclip jar directly from your server. Just like old times

Paper requires Java 8 or above.

How To (Compiling Jar From Source)

To compile Paper, you need JDK 8, maven, and an internet connection.

Clone this repo, run ./paper jar from bash, get files.

How To (Pull Request)

See Contributing

Special Thanks To:

YourKit-Logo

YourKit, makers of the outstanding java profiler, support open source projects of all kinds with their full featured Java and .NET application profilers. We thank them for granting Paper an OSS license so that we can make our software the best it can be.