Commit Graph

3774 Commits

Author SHA1 Message Date
Shane Freeder 1875fb559b
Update metrics to support java 9
http://openjdk.java.net/jeps/223
Java decided to change their versioning scheme and in doing so modified the
java.version system property to return $major[.$minor][.$secuity][-ea], as
opposed to 1.$major.0_$identifier we can handle pre-9 by checking if the "major"
is equal to "1", otherwise, 9+

of course, it really wouldn't be all that simple if they didn't add a quirk, now would it.
valid strings for the major may potentially include values such as -ea to deannotate a pre release
2017-09-26 06:04:00 +01:00
Kyle Wood 6af424cb45
Update to final Java 9 compatible Paperclip 2017-09-25 21:28:14 -05:00
Kyle Wood 1fd3be5bfa
Update Paperclip, fixes subdirectory issue 2017-09-24 23:14:16 -05:00
Zach Brown 219f850ae6
Update paperclip 2017-09-24 14:38:20 -04:00
kashike e5e5063a7d Merge pull request #890 from Minecrell/slf4j
Allow plugins to use SLF4J for logging
2017-09-23 12:57:11 -07:00
Minecrell a4ed512a93 Disable logger prefix for various plugins bypassing the plugin logger
Some plugins bypass the plugin logger and add the plugin prefix
manually to the log message. Since they use other logger names
(e.g. qualified class names) these would now also appear in the
log. Disable the logger prefix for these plugins so the messages
show up correctly.
2017-09-23 21:45:34 +02:00
Minecrell 5a3fb946d8 Add workaround for plugins modifying the parent of the plugin logger
Essentials uses a custom logger name ("Essentials") instead of the
plugin logger. Log messages are redirected to the plugin logger by
setting the parent of the "Essentials" logger to the plugin logger.

With our changes, the plugin logger is now also called "Essentials",
resulting in an infinite loop. Make sure plugins can't change the
parent of the plugin logger to avoid this.
2017-09-23 21:45:34 +02:00
Minecrell ce34fd1ade Allow plugins to use SLF4J for logging
SLF4J is a commonly used abstraction for various logging frameworks
such as java.util.logging (JUL) or Log4j. Currently, plugins are
required to do all their logging using the provided JUL logger.
This is annoying for plugins that target multiple platforms or when
using libraries that log messages using SLF4J.

Expose SLF4J as optional logging API for plugins, so they can use
it without having to shade it in the plugin and going through
several layers of logging abstraction.
2017-09-23 21:45:27 +02:00
Minecrell bbfc0c8ee3 Handle plugin prefixes in Log4j configuration 2017-09-23 21:30:35 +02:00
Minecrell 10893fea38 Use Log4j IOStreams to redirect System.out/err to logger
Log4j2 provides an optimized implementation of PrintStream that
redirects its output to a logger. Use it instead of a custom
implementation for minor performance improvements and some fixes.

With the old implementation, each call to System.print()
results in a separate line, even though it should not result in
a line break. Log4j's implementation handles it correctly.
2017-09-23 20:42:15 +02:00
DemonWav 1eadde1ee5
Use absolute paths for pointing Paperclip to files 2017-09-23 13:30:55 -05:00
DemonWav 4fb6555d6e
Update Paperclip 2017-09-23 13:25:57 -05:00
DemonWav f3b8afd56a
Move eclipse compiler patch to POM changes patch
Also update to Paperclip 1.1-SNAPSHOT
2017-09-23 13:21:02 -05:00
kashike f7de07e2b9 Merge pull request #892 from Minecrell/tca-1.0.0
Update TerminalConsoleAppender to 1.0.0
2017-09-23 11:12:52 -07:00
Minecrell 72eaa08320 Update TerminalConsoleAppender to 1.0.0 (updates JLine)
Fixes #879
2017-09-23 19:57:16 +02:00
DemonWav 73e1b3f2f0
Remove eclipse compiler for Paper-API
Fixes building with JDK9
2017-09-22 20:12:23 -05:00
kashike 5a42891c48 Avoid NPE in AdvancementDataWorld thanks to Spigot being dumb 2017-09-21 07:01:40 -07:00
Zach Brown 88ba5fcaac
Update upstream CB
Fixes GH-887
2017-09-18 22:01:43 -04:00
Aikar dfe2b00874 World can be null for sign conversion, fixes #886 2017-09-18 21:03:45 -04:00
kashike 60cdf86b8a Avoid NPE during CraftBlockEntityState load 2017-09-18 13:39:40 -07:00
Zach Brown 71e2d0e88c
Update B 2017-09-18 12:03:48 -04:00
Shane Freeder d934dcc1e3
Update to 1.12.2, May the Tacos be with you 2017-09-18 12:04:01 +01:00
Shane Freeder 836db0ec9c
Update CB, refactor 0229-Fix-this-stupid-bullshit
Refactored 0229-Fix-this-stupid-bullshit in order to prevent merge conflicts
when spigot decides to update the timer and to provide some form of hint in the
console/log on startup.
2017-09-15 15:37:05 +01:00
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
Zach Brown 6d9375d222 Fix race condition with chunks, dead tile entities
Fixes PaperMC/Paper#883 same issue as MinecraftForge/MinecraftForge#4386

A more detailed anaylsis of what is probably going on, courtesy of
@bs2609 and the MCForge Issue Tracker is:

When a chunk is unloaded, the entities and tile entities it contains are
marked for removal. The actual removal (from the world) occurs later,
when the world ticks its entities.
Conversely, when a chunk is loaded, it generally adds its entities to
the world promptly, without queuing.

Here's the normal sequence of events:

Chunk unloaded
Old entities removed
Chunk loaded
New entities added

However, what can happen:

Chunk unloaded
Chunk loaded
New entities added
Old entities removed

This occurs when an unloaded chunk is reloaded before its corresponding
entities have been removed.
2017-09-11 22:21:57 -04:00
Shane Freeder 2104c3a683
Update CB/S 2017-09-09 08:17:12 +01:00
Zach Brown a0cd14a34c
Rebuild patches 2017-09-06 22:59:08 -04:00
CDAGaming 15a47148c7 Update CB & B (#876) 2017-09-06 12:31:37 -04:00
Shane Freeder 3baf14a8ec
Rebuild patches 2017-09-03 01:09:35 +01:00
CDAGaming f520871b4f Update CB and B (#873) 2017-09-02 14:01:45 -04:00
CDAGaming d375188e15 Update CB 2017-08-31 17:38:48 -05:00
CDAGaming 40426d52ad Update Bukkit 2017-08-26 11:27:46 -05:00
BillyGalbreath 75cb198fd2
LivingEntity#setKiller 2017-08-24 15:19:29 -04:00
Zach 5c94603f46 Merge pull request #861 from CDAGaming/master
Update CB and BD
2017-08-23 11:16:32 -04:00
CDAGaming 84c2351e37 Update CB and BD 2017-08-23 09:13:12 -05:00
kashike 85c6f826e4 Deprecate usages of authlib
ref #828
2017-08-22 19:12:34 -07:00
Shane Freeder 48d8add662
Update B 2017-08-20 11:50:29 +01:00
kashike d43da9fc70 Allow specifying a custom "authentication servers down" kick message
Thanks to @phenomax in #855
2017-08-17 16:16:44 -07:00
Shane Freeder 4368f412c6
Update CB 2017-08-16 16:47:06 +01:00
Zach Brown a8c70655c0
Update paperclip script for folder move 2017-08-13 15:44:27 -05:00
Zach Brown 9ff170660b
Move mc decompile source to its own folder
Makes caching easier, ever so slightly more organized.
2017-08-12 18:56:59 -05:00
Zach Brown cb011c365e
Hi my name is Travis-CI and I'm high maintenance 2017-08-12 18:28:14 -05:00
Shane Freeder d77731eee2
Update S 2017-08-12 22:51:29 +01:00
Shane Freeder 225bfcff56
[CI-SKIP] Travis: linux sudo vm's have more ram, also stop travis screwing with the git modules 2017-08-12 21:15:37 +01:00
Zach b22423be8b Merge pull request #853 from Brokkonaut/dragon-egg-falling
I forgot the // Paper comment
2017-08-11 21:39:54 -05:00
Brokkonaut fe8ce33ef5 I forgot the // Paper comment 2017-08-12 02:23:35 +02:00
Zach Brown bab98cf5ff
Don't let Player#getLocale return null
Thanks for reporting @MatrixTunnel
2017-08-11 18:16:00 -05:00
Zach Brown a8508dc5df
Remove null values in TileEntity tick list
Because who wouldn't want to tick a null tile entity right?
Fixes GH-851
2017-08-11 17:59:44 -05:00
Shane Freeder 912ee23e25
Update CB 2017-08-11 13:05:23 +01:00
Zach Brown 98d8483c7a
Skip paperclip step on Travis-CI 2017-08-10 21:14:10 -05:00