Commit Graph

1231 Commits

Author SHA1 Message Date
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
Minecrell
72eaa08320 Update TerminalConsoleAppender to 1.0.0 (updates JLine)
Fixes #879
2017-09-23 19:57:16 +02: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
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
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
Zach Brown
a0cd14a34c
Rebuild patches 2017-09-06 22:59:08 -04:00
Shane Freeder
3baf14a8ec
Rebuild patches 2017-09-03 01:09:35 +01:00
BillyGalbreath
75cb198fd2
LivingEntity#setKiller 2017-08-24 15:19:29 -04: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
Shane Freeder
d77731eee2
Update S 2017-08-12 22:51:29 +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
0181286eb9
Fix MC-117075: TE Unload Lag Spike
PaperMC port of https://github.com/MinecraftForge/MinecraftForge/pull/4281
2017-08-10 21:06:53 -05:00
Brokkonaut
c84dd9edfe MC-94186 Fix dragon egg falling in lazy chunks
Fixes falling dragon eggs in lazy chunks fall to the block below the last empty block and replacing that block with them.

See also https://bugs.mojang.com/browse/MC-94186
2017-08-11 03:36:59 +02:00
Shane Freeder
42faa9e529 Update CB (#846) 2017-08-09 14:44:28 -04:00
BillyGalbreath
6f32c51336 Ocelot despawns should honor nametags and leash (#821) 2017-08-07 23:26:44 -04:00
BillyGalbreath
128c35000b Reset spawner timer when spawner event is cancelled (#819) 2017-08-07 23:25:59 -04:00
chickeneer
52c8fc7633 Fix Nether Portal Creation on cancelled event
Spigot is manipulating the Travel Agents canCreatePortal, but forgot to reset it on cancel

This causes nether portals to not be generated if the event is ever cancelled
2017-08-07 23:08:50 -04:00
Aikar
ff5bd7b03b Upstream update 2017-08-07 23:05:16 -04:00
DemonWav
1ff893abe1
Fix this stupid bullshit 2017-08-06 17:18:20 -05:00
Shane Freeder
efe49baecf
fix construction order in CraftBanner 2017-08-06 16:36:48 +01:00
Shane Freeder
bec1253aa9
Update B/CB/S 2017-08-06 00:08:21 +01:00
Zach Brown
f7e23ba7fa
Update upstream CB 2017-08-04 22:10:30 -05:00
Minecrell
9f3f6e02a6 Update JLine to 3.4.0. Fixes #736 2017-08-04 09:15:09 +02:00
BlackHole
6879328bf6 Update to 1.12.1 2017-08-03 17:27:54 +02:00
Aikar
cdd6d8562a Update Upstream 2017-07-30 18:41:08 -04:00
Shane Freeder
fed4815fff
Update B/CB 2017-07-28 15:51:46 +01:00
Aikar
d841b8a345 Further refine logic 2017-07-28 00:04:01 -04:00
Aikar
5b6dfbc428 ProfileWhitelistVerifyEvent
Fires when the server is validating if a player is whitelisted.

Allows you to do dynamic whitelisting and change of kick message
2017-07-27 23:42:19 -04:00
Zach Brown
5c5e998cde
There is no reason to continue if we DC a player during shutdown
Thanks Ice
2017-07-27 21:40:07 -05:00
Aikar
7afc930c25 Fix a bug in recipe books that prevented them from working as they should 2017-07-27 09:38:21 -04:00
Aikar
11f2794bbe Remove use of FastUtil for unload queue, very bad performance 2017-07-27 00:25:13 -04:00
Aikar
fabe552ae9 Resolves GH-806: Respect saving disabled before unloading all chunks in a world
This behavior causes a save to occur even though saving was supposed to be turned off.

It's triggered when Hell/End worlds are empty of players.
2017-07-27 00:09:24 -04:00
Aikar
7a8cce428f Rebuild patches (forgot to pull :() 2017-07-26 23:45:03 -04:00
Aikar
9a7cdcec39 Add getI18NDisplayName API
Gets the Display name as seen in the Client.
Currently the server only supports the English language. To override this,
You must replace the language file embedded in the server jar.
2017-07-26 23:44:29 -04:00
Aikar
8e78124e46 Implement ensureServerConversions API
This will take a Bukkit ItemStack and run it through any conversions a server process would perform on it,
to ensure it meets latest minecraft expectations.
2017-07-26 23:44:29 -04:00
Aikar
4a35e438e9 Improve the Saddle API for Horses
Not all horses with Saddles have armor. This lets us break up the horses with saddles
and access their saddle state separately from an interface shared with Armor.
2017-07-26 23:44:29 -04:00
Shane Freeder
6177f2d61e Add missing coverages for getTileEntity in order to attempt to avoid exeptions when calling getTileEntity (#797) 2017-07-26 23:11:09 -04:00
willies952002
c86f61f8af Allow Changing of Player Sample in ServerListPingEvent 2017-07-26 23:06:56 -04:00
Zach Brown
c6c6b4f69a
JDK-8176055: Fix heap dumps on Java 8u141+
In Java 8u141 (1.8.0_141-b15) and newer, the
com.sun.management.HotSpotDiagnostic::dumpHeap API has changed and now
requires all heap dumps to end with the .hprof file extension.

Before this change, servers running 8u141 would be unable to perform a
heap dump.

For more information, please see the official release notes of Java 8
Update 141, linked below.
http://www.oracle.com/technetwork/java/javase/8u141-relnotes-3720385.html
2017-07-26 20:28:56 -05:00
Aikar
dcd4f3710f Upstream update 2017-07-26 21:12:40 -04:00
Zach Brown
43543c78c4
Update upstream CB 2017-07-24 06:47:43 -05:00
Zach Brown
c9b00ce95d
Update upstream CB 2017-07-22 20:16:06 -05:00
Aikar
cba0fa09d1 Remove last patch, didn't resolve issue. 2017-07-16 20:59:39 -04:00
Aikar
05a8914e8c SPIGOT-3427: Recalculate ConsoleSender permissions after plugins have loaded
Resolves a really weird race condition where the console sender could lose permission to execute
commands defined in plugin.yml with default=op
2017-07-16 20:41:30 -04:00
Aikar
a7cb000633 Update upstream (memory leak fix) 2017-07-16 20:36:27 -04:00
Zach Brown
5938592845
Port Sponge's heap dump command feature to Paper
To dump the server heap, run the following command:
`/paper heap`

This is added with the intent that it is useful for administrators and
developers to more easily identify and resolve memory leaks. Both by examining
these dumps themselves and by more easily allowing them to send them to
knowledgable parties.

This is a nearly line-for-line port of the same Sponge feature. So all
credit for the idea and implementation belongs to the that team.

Specifically the following commits:
be08be04b0
5e10a1b795
2017-07-15 18:59:18 -05:00
Zach Brown
fd624f502d
Clear plugin metadata only after onDisable()
Fixes GH-776
2017-07-15 14:38:16 -05:00
Aikar
00c64f7fb7 Fix Anvil Level sync to client
763827668e

Was done incorrectly and is now causing level desyncs to client.

Always send current level to the client, and instead make setWindowProperty set the level.
2017-07-11 23:23:17 -04:00
Shane Freeder
18be9d24e4
Update B/CB 2017-07-10 14:04:41 +01:00
Shane Freeder
1e4d3c3106
Update C 2017-07-09 10:56:36 +01:00
BillyGalbreath
e0e23db485
Add Entity#fromMobSpawner API
Merges and closes GH-752
2017-07-09 01:39:09 -05:00
Shane Freeder
18c16a6111
Fix javadoc warnings 2017-07-03 19:54:40 +01:00
Zach Brown
9aae84ea43
Block player logins during server shutdown
Adds GH-765
2017-07-02 21:37:56 -05:00
Aikar
a92bce595d Update upstream 2017-06-30 18:13:06 -05:00
Aikar
3244d917f3 Update upstream 2017-06-25 20:26:00 -04:00
Zach Brown
b61aec52a4
Update upstream B/CB 2017-06-25 18:00:32 -05:00
Minecrell
816fa83734 Avoid using System.out for colored messages. Fixes #757
Messages written to System.out are automatically redirected to the
root logger by CraftBukkit. However, before the messages reach the
logger, they are encoded and later decoded again using the standard
system encoding.

On some systems (e.g. FreeBSD), the standard system encoding is
US-ASCII by default, which doesn't support the section sign (§) that
is used for the color codes. Consequently, they will never reach
the formatter that translates them into ANSI escape codes.

There is no reason to write these messages to System.out - it just
adds additional overhead and the encoding problems. We can just log
the messages directly with the root logger.
2017-06-21 11:04:28 +02:00
Aikar
eb67c684d9 Fix Lootable bug 2017-06-20 18:59:18 -04:00
Aikar
825834273c update upstream 2017-06-20 18:53:55 -04:00
Zach Brown
272f130b5a
Update upstream CB/S 2017-06-18 20:37:08 -05:00
Aikar
1ebe37e5a3 Profile Lookup Events
Adds a Pre Lookup Event and a Post Lookup Event so that plugins may prefill in profile data, and cache the responses from
profiles that had to be looked up.
2017-06-17 20:57:29 -04:00
sweepyoface
a88fd61a23 Add UnknownCommandEvent (#746) 2017-06-17 20:53:31 -04:00
Aikar
68e8778890 Shoulder Entities Release API
Let's you eject the Parrot naturally and get the newly spawned Parrot.
2017-06-17 15:21:39 -04:00
Zach Brown
76cede4391
Update upstream CB 2017-06-17 14:18:29 -05:00
Minecrell
ca2b4c592f Continue reading from console input after EOT
There is usually no reason to stop reading from the console, so
preventing console input after EOT can be extremely confusing.

To prevent this, we can simply ignore the exception thrown by
JLine and continue reading normally.
2017-06-14 09:47:10 +02:00
Minecrell
56dcc3fcc7 Remove unneeded WINDOWS_COMPAT ConsoleAppender
It was originally added in Bukkit/CraftBukkit@6aafe7c5a1 as a
workaround for BUKKIT-4956 to fix console output on Windows.

I believe the original issue was related to LOG4J2-965 and fixed
in apache/logging-log4j2@d04659c. Minecraft 1.12 finally updated
the Log4J version so this issue is no longer present.

Console output is still working fine on Windows after removing this.
2017-06-13 10:36:35 +02:00
Zach Brown
2b51986c25
Update upstream B/CB/S 2017-06-12 22:28:09 -05:00
Zach Brown
cb887bb4f4
Renumber patches, fix conflicts, update for 1.12 2017-06-11 20:02:57 -05:00
BillyGalbreath
d6358a6ac1 PlayerAttemptPickupItemEvent (#732) 2017-06-11 19:46:11 -05:00
BillyGalbreath
209b70caab PlayerPickupItemEvent#setFlyAtPlayer (#683)
* PlayerPickupItemEvent#setFlyAtPlayer
2017-06-11 19:43:59 -05:00
BillyGalbreath
8ad4216e18 EntityPickupItemEvent (#679)
EntityPickupItemEvent
2017-06-11 19:42:01 -05:00
BillyGalbreath
1ca53dcefe Item#canEntityPickup (#680)
Item#canEntityPickup
2017-06-11 19:40:42 -05:00
Shane Freeder
06a34ec40a
Provide a configurable option to disable creeper lingering effect spawns 2017-06-11 21:29:04 +01:00
Zach
4eff799e80 Merge pull request #728 from Minecrell/terminalconsoleappender
Improve console implementation
2017-06-11 15:12:27 -05:00
Zach Brown
263bd3f539
Update upstream CB/S 2017-06-11 12:03:07 -05:00
Minecrell
de2af506f3 Improve console implementation
Rewrite console improvements (console colors, tab completion,
persistent input line, ...) using JLine 3.x and TerminalConsoleAppender.

New features:
  - Support console colors for Vanilla commands
  - Add console colors for warnings and errors
  - Server can now be turned off safely using CTRL + C. JLine catches
    the signal and the implementation shuts down the server cleanly.
  - Support console colors and persistent input line when running in
    IntelliJ IDEA

Other changes:
  - Update JLine to 3.3.1 (from 2.12.1)
  - Server starts 1-2 seconds faster thanks to optimizations in Log4j
    configuration
2017-06-11 14:31:21 +02:00
kashike
90b2d02091 Add configuration option to prevent player names from being suggested 2017-06-09 07:32:12 -07:00
Aikar
19e9e0d647 Update upstream 2017-06-09 08:29:44 -04:00
Shane Freeder
c829f34e0c
Re: Actually exit the JVM after stopping the server when /restart is ran 2017-06-09 01:46:54 +01:00
Shane Freeder
1f626a5ed9
Do not relocate fastutil 2017-06-08 19:07:00 +01:00
Shane Freeder
3c9f2a0a20
Update Paper to MC 1.12 2017-06-08 15:17:11 +01:00
Zach Brown
04d2d38581
Update upstream B/CB 2017-06-02 23:41:05 -05:00
Shane Freeder
adab11a1f7
Update to 1.12-pre6 2017-05-31 22:12:46 -05:00
Zach Brown
d032cd0568
Add more info, triggers to watchdog velocity warn
Adds entity name to exception message
Checks that the velocity to be set is NaN
2017-05-28 00:06:26 -05:00
Zach Brown
066f383b95
Update upstream B/CB/S 2017-05-27 23:25:17 -05:00
Zach Brown
9d6bb9d4c8
Bump outdated build notification back out to norm
Merge outdated notification patch into existing branding patch
2017-05-26 22:46:27 -05:00
Zach Brown
720769bf30
Update upstream B/S 2017-05-23 17:11:28 -05:00
Zach Brown
c1d0b4b4c6
Update Paper to MC 1.12-pre5 2017-05-20 23:49:56 -05:00
Zach Brown
7ff16c0197
Merge branch 'master' into pre/1.12 2017-05-18 18:43:21 -05:00
Shane Freeder
ee2ec9feac
Actually exit the JVM after stopping the server when /restart is ran 2017-05-18 21:15:47 +01:00
Zach Brown
210ef18495
Merge branch 'master' into pre/1.12 2017-05-17 17:53:13 -05:00
Shane Freeder
ca6254067f
Workaround a jansi bug with Windows
Update Paperclip too while we're here
2017-05-17 17:51:54 -05:00
Zach Brown
c6e0ceabd7
Add an option to make parrots stick to shoulders
When enabled, Parrots will not fly off of a player's shoulder everytime
they change Y level, touch water, sneeze, etc.
Instead, a player must toggle shift to "shake" the parrots off.
2017-05-16 21:34:47 -05:00
Zach Brown
baf762a2c1
Update upstream B/CB/S 2017-05-15 11:25:20 -05:00
Zach Brown
8e610af635
Merge branch 'master' into pre/1.12 2017-05-15 10:57:42 -05:00
Shane Freeder
a2459e30fd
Allow the watchdog to try sanely stopping the server 2017-05-15 16:36:15 +01:00
Zach Brown
6e2332a592
Switch 1.12-pre2 to its own version checks
Fix stream formatting issue that had been bugging me
2017-05-15 10:28:28 -05:00
Zach Brown
491286def4
Update to MC 1.12-pre2 2017-05-14 16:06:27 -05:00
Zach Brown
3052144be8
Update upstream CB 2017-05-13 20:37:46 -05:00
Zach Brown
a76ba5c118
Add system property to disable book size limits 2017-05-13 20:26:19 -05:00
Zach Brown
2103c75247
Publicly execute the main thread at dawn
GH-684

Better handles most true deadlock situations
2017-05-13 06:08:09 -05:00
Zach Brown
b0d78d461b
Properly handle async calls to restart the server
GH-681
2017-05-12 23:49:59 -05:00
Zach Brown
6c3faf6aa3
Update upstream B/CB/S 2017-05-04 18:08:52 -05:00
Zach Brown
e9abb69799
Raise book max title length to 32 2017-04-29 20:43:14 -05:00
Zach Brown
974b0afca9
Remove last bit of chunk exists region file fix
CraftBukkit removed their implementation that caused this issue,
switching to Mojang's implementation which doesn't appear to share it. I
already removed the important bit in the last upstream merge, this is
just unused and unnecessary now. So we remove it.
2017-04-29 05:27:31 -05:00
Zach Brown
8b2122a291
Update upstream B/CB/S 2017-04-28 19:25:52 -05:00
Zach Brown
5f3d5d8170
Fix patch conflict with upstream 2017-04-22 17:49:47 -05:00
Zach Brown
f68b2ab95e
Update upstream CB/S 2017-04-22 17:41:28 -05:00
Shane Freeder
ffb572ce9a
Remove Ignore invalid Marker Icon ID's in maps
Spigot has patched this issue inside MapIcon, meaning that we no longer need to maintain this patch; Spigots patch also fixes #668 in that it will verify the length of the array, as well as protect against a negative type value being fetched from the array. Only real change is that Spigots patch returns a MapIcon.Type.PLAYER, instead of the RED_MARKER as originally PR'd by Aikar.
2017-04-22 15:52:56 +01:00
Shane Freeder
7afde8f75f
Use lastIndexOf in Metrics class to futureproof
Because who's going to remember to change that line...
2017-04-22 02:37:58 -05:00
Zach Brown
2db4e57e4d
Update bStats implementation 2017-04-22 01:16:45 -05:00
Zach Brown
9db28f00db
Update upstream B/CB 2017-04-21 23:42:59 -05:00
Zach
56ba57b210 Merge pull request #663 from electronicboy/player-death-passenger-bug
Call stopRiding() on a Players death
2017-04-21 18:06:53 -05:00
Zach Brown
d5cf14188a
Update upstream B/CB 2017-04-20 08:22:40 -05:00
Shane Freeder
674913df0a
Call stopRiding() on a Players death
Currently, when a player dies they are not automatically ejected from the entity they are riding, which allows
for the ridden entity to affect the players location on respawn (we're still riding it for a part of a tick), as well as allows a dupe to occur with the ridden entity teleporting to the new world with the player
2017-04-18 15:17:54 +01:00
Zach Brown
63beca49fe
Update upstream B/CB/S
Closes GH-658
2017-04-16 17:12:14 -05:00
Zach Brown
362e425271
Update upstream CB/S 2017-04-10 22:11:26 -05:00
kashike
19b5d5b124 Fix NFE caused by attempting to read an EMPTY ItemStack
Thanks @gabizou
2017-04-09 23:52:14 -07:00
Zach Brown
e4a071f6e4
Update upstream B/CB 2017-03-31 23:24:42 -05:00
Zach Brown
e6a7d357ce
Update upstream CB 2017-03-30 18:26:00 -05:00
Zach Brown
ae17d2c28c
Switch metrics impl to use thread executor service 2017-03-26 18:29:38 -05:00
Zach Brown
5e2784e941
Switch to a bStats based Metrics system 2017-03-25 00:22:02 -05:00
Zach
246712ed92 Merge pull request #628 from willies952002/feature/reloadCommands
Don't Display Success Message on Alias Reload Fail
2017-03-24 22:34:13 -05:00
Zach Brown
07d0098a9e
Update upstream B/CB/S
Adds /paper command for reloading the paper config.
Closes GH-639

Per-world config logging has been removed in favor of all or nothing
logging for all paper settings. I don't believe it was used enough to
warrant maintaining. If this is not the case it should be possible to
re-add it.
2017-03-24 22:27:43 -05:00
Zach Brown
1d87ea2179
Remove unnecessary blocking of chest minecarts
This is already covered by recent changes.
Closes GH-373
2017-03-19 16:17:24 -05:00
Zach Brown
dbabbdbdbe
Update upstream B/CB 2017-03-18 21:01:13 -05:00
Shane Freeder
02afedb602
Ensure that the world of a dead entity is not changed in a portal 2017-03-19 01:33:31 +00:00
Shane Freeder
09e52007e3
Only set the location of the newly spawned entity 2017-03-17 13:17:52 +00:00
Zach Brown
60182fd473
Just make sure an entity's exit is set properly
Don't re-add, it's redundant and you end up with inconsistent
inconsistencies inconsistently
2017-03-17 00:50:43 -05:00
Zach Brown
08aa6e5f49
Make sure the entity is still added to the world 2017-03-17 00:09:26 -05:00
Shane Freeder
45ad47717e Fix a duplicate alive entity on second world 2017-03-16 22:31:53 -05:00
Zach Brown
7f3aa1ed29
Update upstream B/CB/S
Closes GH-631
2017-03-15 09:32:50 -05:00
willies952002
77fdfd6de1
Don't Display Success Message on Alias Reload Fail
Also add "commands" to Tab Completion
Note: This required a signature change to Bukkit#reloadCommandAliases() so that it returns a boolean based on if the command aliases reloaded or not.
2017-03-12 13:52:04 -04:00
chickeneer
ff73ad6dde Fix tick loop bug - Fixes #624
We were not calculating time after the sleep ,resulting in wrong
calculations. This caused us to go 100ms, 0ms, 100ms, 0 ms repeatedly.
2017-03-10 03:03:49 -05:00
Zach Brown
4b25be6d1f
Alter furnace cookTime based on total cook time
Fixes GH-613
2017-03-02 20:57:20 -06:00
Zach Brown
85aa230650
Do not let ArmorStands drown under water 2017-02-18 19:34:46 -06:00
Zach Brown
ae98591b8c
Update upstream B/CB/S 2017-02-17 20:03:38 -06:00
Zach Brown
5031a31da5
Update upstream B/CB/S 2017-02-10 18:12:58 -06:00
Brokkonaut
6b3c0bb3c6
Make chunk unload targetSize more aggressive
Re: GH-597
2017-02-08 15:16:36 -06:00
Zach Brown
03f1f9b06b
Disable Spigot's chunk unload queue throttling
Seems to be causing more problems than it's solving
Closes GH-597
2017-02-07 17:21:37 -06:00
Zach Brown
919cb9d19a
Update upstream CB, reduce version cache time
Closes GH-602
2017-02-07 16:29:26 -06:00
Aikar
ec31ab32af Shame on you Mojang
Someone wrote some horrible code that throws a world accessing task
onto the HTTP DOWNLOADER Thread Pool, for an activity that is not even
heavy enough to warrant async operation.

This then triggers async chunk loads!

What in the hell were you thinking?
2017-02-05 19:19:35 -05:00
Aikar
c7d8bd43fb Remove CraftScheduler Async Task Debugger
I have not once ever seen this system help debug a crash.
One report of a suspected memory leak with the system.

This adds additional overhead to asynchronous task dispatching
2017-02-05 00:13:28 -05:00
Aikar
d49de13c00 Add more timings to Scheduler and other improvements 2017-02-05 00:13:16 -05:00
Aikar
d033b57b47 More improvements to Timings, RCON now is no longer blocking!
Finally made timings accept "Callback style" reports, so plugins
can listen for when the report is done.

Added new Util interfaces, MessageCommandSender and BufferedCommandSender

This restores and improves using RCON to generate timings reports
2017-02-04 22:47:39 -05:00
Zach Brown
d3544dad18
Update upstream S 2017-02-04 03:59:44 -06:00
Zach Brown
8878ecc5f3
Update upstream CB
Closes GH-596
2017-02-01 22:48:16 -06:00
Zach Brown
1e1541a2e9
Update upstream S 2017-01-30 22:33:54 -06:00
Zach Brown
e08ef5457a
Update upstream CB 2017-01-28 17:36:03 -06:00
Zach Brown
88205cd8fe
Update upstream B/CB/S 2017-01-25 22:27:42 -06:00
Zach Brown
327535741d
Do not allow a zero max height in BiomeJungle
Fixes GH-592

Thanks to the forge team who noticed this issue long ago
2017-01-23 15:11:07 -06:00
Aikar
c9759766a3 Cap Entity Collisions - Resolves #577
Limit a single entity to colliding a max of configurable times per tick.
This will alleviate issues where living entities are hoarded in 1x1 pens

This is not tied to the maxEntityCramming rule. Cramming will still apply
just as it does in Vanilla, but entity pushing logic will be capped.

You can set this to 0 to disable collisions.
2017-01-22 18:24:22 -05:00
Zach Brown
1928933a96
Yank import from last 2017-01-21 17:12:25 -06:00
Zach Brown
3f88bc1ec7
Expose WorldBorder@isInBounds(Location) check 2017-01-21 17:06:28 -06:00
Aikar
10b1631d59 Remove the Vanilla Method Profiler
Spigot rebrought this back after it was removed for years due to the performance hit.

It is unknown if the JIT will optimize it out as effeciently with how it was
added, so we do not want any risk of performance degredation.

Paper has a proper Timings system that makes the Vanilla Method profiler obsolete and inferior.
2017-01-21 02:03:17 -05:00
Zach Brown
2a16ff905f
Fixup patch file 2017-01-20 09:12:47 -06:00
BillyGalbreath
36078e1a3d Add fromBottle flag to Experience Orbs (#584)
* Add fromBottle flag to Experience Orbs
2017-01-20 09:01:53 -06:00
Zach Brown
c1641b8e0c
Update upstream B/CB/S 2017-01-20 05:21:44 -06:00
Zach
099b85f54d Merge pull request #582 from prplz/player-count
Add World.getPlayerCount
2017-01-14 16:07:01 -06:00
Zach Brown
c141e3adf3
Now I am become Death, the destroyer of newlines 2017-01-14 02:12:59 -06:00
Zach Brown
28c0441d02
Update upstream B/CB 2017-01-14 02:11:12 -06:00
Zach Brown
aa86f4829a
Assign the World in WorldGenStronghold
Fixes GH-580
2017-01-14 01:31:38 -06:00
Michael Himing
9606774ee6 Add World.getPlayerCount 2017-01-13 23:00:33 +11:00
Michael Himing
0515329c1a Fix block break desync 2017-01-09 10:19:10 +11:00
Zach Brown
50f2e124a1
Compromise on warning of excessive velocity sets
We have long been receiving feedback about our warning messages when
excessive velocities are set on entities. We have, for the most part,
ignored much of this feedback because these warnings can be vital in
identifying the cause of a watchdog crash. These crashes would otherwise
be more difficult to identify without this information.

However, in many cases these warnings are unnecessarily verbose as the
server handles these excessive sets itself without user intervention.

As a compromise, we will only warn the user as part of a watchdog crash
log, and we will only include the most recent occurrence. This commit
represents a first effort on this front. It may need to be tweaked later
to provide more relevant information, such as the time it occurred,
and/or not printing the warning at all if the occurrence was a certain
time period ago.
2017-01-08 16:48:37 -06:00
Alfie Cleveland
4a6c4f0dc3 Don't allow entities to ride themselves - #572 2017-01-08 04:32:04 +00:00
Zach Brown
3e3743eb0c
Revert "Set head rotation pitch in addition to yaw in TPs"
This reverts commit b6c1b2d3e7.
2017-01-07 22:15:01 -06:00
Zach Brown
b6c1b2d3e7
Set head rotation pitch in addition to yaw in TPs 2017-01-07 21:32:11 -06:00
Aikar
e4ef645032 Enforce Sync Chunk Unloads
Unloading Chunks async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
2017-01-07 16:10:56 -05:00
Aikar
2e3081d45c Enforce Sync Player Saves
Saving players async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
2017-01-07 15:48:22 -05:00
Aikar
7e06f2145e Provide E/TE/Chunk count stat methods
Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
2017-01-07 15:27:46 -05:00
Zach Brown
63130fd2aa
Update upstream B/CB
Closes GH-569
2017-01-06 15:45:59 -06:00
Aikar
849653ebac SPIGOT-2989: Use correct Horse Inventory 2017-01-04 21:23:16 -05:00
prplz
9b9a43e472 Better container checks (#564) 2017-01-02 17:16:57 -05:00
Aikar
13ac2d8ff8 ShulkerBox Dupe Prevention - Fixes #488
This ensures that Shulker Boxes can never drop their contents twice, and
that the inventory is cleared incase it some how also got saved to the world.
2017-01-02 16:49:08 -05:00
Aikar
6d06f31c10 Defensive copy chunk list to avoid "effective CME" - Fixes #313
Lighting operations apparently can load chunks, which will cause an NPE
in the same fashion you would trigger a CME during the chunk iteration.
2017-01-02 14:08:55 -05:00
Aikar
bd7c76a1cf Use alternate constructor for EndGateway - Fixes #563 2017-01-02 11:49:36 -05:00
Aikar
7a1b393715 MC-112017: Allow 31 instead of 30 for item names 2017-01-02 02:43:50 -05:00
Aikar
0c4ef7349f MC-111699: Ignore Improper Anvil Item Name Packets
The client is improperly sending Item Name Packets to the server BEFORE
the click event. This causes the server to reset before the click event is processed

This breaks the ability to rename more than 1 item at a time.

See: https://bugs.mojang.com/browse/MC-111699
2017-01-02 02:09:31 -05:00
Aikar
61d4b9e2ab Fix build
I totally didn't notice that the patch had a conflict >_>
2017-01-02 02:05:02 -05:00
Aikar
86e5224d94 Update upstream - fixes more Spawn Egg issues 2017-01-02 01:58:15 -05:00
Aikar
16b99d6dab PlayerTeleportEndGatewayEvent
Allows you to access the Gateway being used in a teleport event
2016-12-31 21:46:34 -05:00
Aikar
067c5c3f70 Fix String based Action Bar to use ChatComponent to handle proper escaping 2016-12-29 08:29:09 -05:00
Aikar
ef781648ef Fix ItemStack Data Conversion
Spigot did not copy our version, and their version is not 100% correct.

The current state results in item meta and damage data value conversions clashing for control

For example on a horse egg, on itemstack creation, the 100 Damage is converted to 0 and sets EntityTag

SetItemMeta then drops the previous NBTTagCompound and makes a new one, which has no EntityType associated
to it as the previous stack had no metadata.

This change makes it so that itemstack conversion is delayed until after meta applies

Pretty much restores our previous implementation before Spigot tried to resolve it.
2016-12-29 07:58:49 -05:00
Aikar
cd8f388582 Change Outdated Build Download URL to Paper CI 2016-12-29 00:57:26 -05:00
Aikar
c148342731 Vehicle Dismount Event Improvements
player.getVehicle() was returning null during the event. Paper had added lots of code to
cause the player to remount the entity on cancel.

I've simplified the diff and made player.getVehicle() work during the event by setting the
vehicle back during the event, and only set it to null if the event is not cancelled.
2016-12-29 00:53:02 -05:00
Aikar
49aca0c04d New Firework API's
Get the launcher of a Firework and who it is boosting
2016-12-28 02:25:35 -05:00
Aikar
4bf7275588 Activation Range Improvements
Fixes and adds new Immunities to improve gameplay behavior
2016-12-28 00:19:58 -05:00
Zach Brown
373e390735
Make invalid stat removal use proper config key
Server-wide static config values should always be prefixed by
`settings.`. Get it right @Zbob750, geez

Issue introduced in a81ad3d8a8
2016-12-27 19:23:18 -06:00
Zach Brown
1870320545
Update upstream CB
Closes GH-556
2016-12-27 18:46:41 -06:00
Aikar
d231cef8cd Incremental Auto Save Players
Take same approach we did for chunks, and only save player if its been X time since last save,
instead of doing it all in 1 tick.

This is even more helpful considering Player Saving is done sync for File IO.
2016-12-27 16:11:25 -05:00
Aikar
fc6f3510a2 Change implementation of String based Action Bar API
Appears colors did not work for Bungee version, as Action Bar is stricter
2016-12-27 15:06:14 -05:00
Aikar
64f6edc759 Upstream update 2016-12-27 13:07:43 -05:00
AlfieC
d8b42d5a7a Properly fix item duplication bug (#557)
Credit to prplz for figuring out the real issue
2016-12-27 11:03:37 -05:00
Aikar
c655b3caf3 Respect AsyncCatcher for Async Command Detection - Fixes #555 2016-12-27 11:00:15 -05:00
Alfie Cleveland
043859300f Further optimise hoppers 2016-12-27 10:31:58 -05:00
Zach Brown
fe913c51c4
Update upstream CB 2016-12-22 15:06:59 -06:00
Aikar
d9a999639c continue instead of break for treasure map bounding
per: 01cf3186bd (commitcomment-20268968)

The break may of been skipping attempts at valid chunks. I thought break was the right abort, but maybe it is not.
2016-12-21 21:28:01 -05:00
Aikar
23236ef8aa IllegalPacketEvent - Resolves #419
Fire an event when an illegal packet is received to let plugins handle it

Lets plugins change the kick message and if it should kick or not.
2016-12-21 21:22:02 -05:00
Zach Brown
a4152b2ad1
Fix missed diff causing lava to move too quickly
Missed diff from old patch file was causing lava to always move at the
faster 'nether' speed, ignoring the slower overworld speed entirely.
This is why we use obfuscation helpers now.

Fixes GH-521
2016-12-21 15:29:50 -06:00
Zach Brown
a81ad3d8a8
Add option to remove invalid statistics
Closes GH-550
2016-12-21 12:41:30 -06:00
kashike
c8fb4667af
API for ArmorStand movement and option for entity lookups 2016-12-21 11:56:09 -06:00
Zach Brown
cae453c16b
Update to Paper to MC 1.11.2 2016-12-21 11:21:40 -06:00
Aikar
98e7d01ce8 Optimize isEmpty() to remove Map lookup
Every call to .isEmpty() made a horribly wasteful map lookup just to get the
reference to the Air Item for checking.

We will now cache a copy of that item
2016-12-21 04:21:42 -05:00
Aikar
a18f763412 Revert "Optimize ItemStack.isEmpty()"
This reverts commit 257c591391.

See a bug
2016-12-21 03:51:48 -05:00
Aikar
257c591391 Optimize ItemStack.isEmpty()
Remove hashMap lookup every check, simplify code to remove ternary
2016-12-21 03:50:43 -05:00
Zach Brown
748d86a540
Cleanup 'nerfed spawner mobs can float' patch 2016-12-20 21:57:07 -06:00
Zach Brown
f099ddc99e
Fix a merge conflict that was resolved improperly 2016-12-20 18:01:37 -06:00
Zach Brown
33163525f3
Update Paper to MC 1.11.1 2016-12-20 17:45:00 -06:00
Aikar
99ffe80ebc Configurable Cartographer Treasure Maps
Allow configuring for cartographers to return the same map location

Also allow turning off treasure maps all together as they can eat up Map ID's
which are limited in quantity.
2016-12-20 15:28:32 -05:00
Aikar
01cf3186bd Bound Treasure Maps to World Border
Make it so a Treasure Map does not target a structure outside of the
World Border, where players are not even able to reach.

This also would help the case where a players close to the border, and one
that is outside happens to be closer, but unreachable, yet another reachable
one is in border that would of been missed.
2016-12-20 15:17:18 -05:00
Aikar
2c0075031c Ignore invalid Marker Icon ID's in maps - Fixes #497
Replace with the red marker. Should of only happened by creative abuse.
2016-12-19 23:39:52 -05:00
Aikar
a9f87fd8fe Prevent Pathfinding out of World Border - Fixes #547
This prevents Entities from trying to run outside of the World Border
2016-12-19 23:08:31 -05:00
Aikar
c222ffd4cd Update upstream 2016-12-19 22:58:12 -05:00
Aikar
4ac2cac9f9 Fix worldborder bug
typo in variable name
2016-12-19 01:23:59 -05:00
Zach Brown
d850fc67db
Add obfhelper to vanish patch 2016-12-16 23:02:33 -06:00
Zach Brown
5ff732798d
Update upstream B/CB 2016-12-16 22:23:03 -06:00
Zach Brown
0728696e06
Add ProjectileCollideEvent
Base our vanish changes on top of that event.
2016-12-16 22:13:46 -06:00
Techcable
bf86516043
Change base variables in BlockPos to force diff 2016-12-16 20:02:46 -06:00
Zach Brown
7c567d6ed4
Don't let FishingHooks use portals
Closes GH-531
2016-12-16 16:03:56 -06:00
Zach Brown
1d8b7e2ecc
Update upstream B/CB 2016-12-16 15:00:16 -06:00
Zach Brown
7c210e35b4
Update upstream CB 2016-12-10 17:50:31 -06:00
Zach Brown
b41a5ab566
Update upstream B/CB 2016-12-09 18:07:35 -06:00
Zach Brown
57c2b8de43
Update upstream B/CB 2016-12-06 17:12:19 -06:00
Zach Brown
6c7152dbfe
Update upstream, fix accidental removal from last 2016-12-02 21:11:39 -06:00
Zach Brown
7e6d4b54e1
Don't remove random diffs in update 2016-12-02 21:06:21 -06:00
Zach Brown
f986ebbae5
Update upstream CB 2016-12-02 18:07:07 -06:00
Aikar
4de83c79ab Optimize World.isLoaded(BlockPosition)Z
Reduce method invocations for World.isLoaded(BlockPosition)Z
2016-12-02 00:20:34 -05:00
Aikar
5d1cc02e6a Ignore "Unable to resolve BlockEntity" debug messages - Fixes #489 2016-12-02 00:02:18 -05:00
Techcable
33e453fcfd
Speedup BlockPos by fixing inlining 2016-11-30 21:03:50 -06:00
AlphaBlend
dfdd4e3334
Add source to PlayerExpChangeEvent 2016-11-30 17:33:06 -06:00
Zach Brown
2bfdbc4afa
Update upstream CB 2016-11-29 18:02:20 -06:00
Jamie Mansfield
b4c00f4b27
Resolve previous pr 2016-11-29 19:58:13 +00:00
willies952002
6d966ed034 Allow Reloading of Command Aliases
Use "/reload commands" to reload the aliases stored in commands.yml
2016-11-28 21:54:19 -05:00
Zach Brown
ed6bd4ea4a
Update upstream B/CB - hitEntity added upstream 2016-11-28 17:16:07 -06:00
Jamie Mansfield
b45c0327c8
Update inventory. Fixes #505 2016-11-28 21:32:05 +00:00
Zach Brown
9571357cce
Rebuild patches 2016-11-27 17:39:16 -06:00
Zach Brown
2807fdcf84
Update patch number 2016-11-27 16:54:10 -06:00
Zach
3f5dffc4e5 Merge pull request #517
Don't process packets from offline players
2016-11-27 16:23:17 -06:00
Alfie Cleveland
a2301816d0 Don't process packets from offline players 2016-11-27 22:17:55 +00:00
Alfie Cleveland
a0fce85086
Optimise removeQueue 2016-11-26 22:36:10 -06:00
Alfie Cleveland
ed90e5b3a6
Fix double lock in ServerConnection 2016-11-26 22:06:39 -06:00
Zach Brown
8c27c1fd27
Alter last to force conflicts but keep contents 2016-11-26 22:02:19 -06:00
Alfie Cleveland
324acd64b4
Optimise NetworkManager 2016-11-26 21:48:09 -06:00
Zach Brown
a68f5fbec0
Update upstream B/CB/S 2016-11-24 21:12:18 -06:00
vemacs
ddbf7318b2 Optimize network queue by making size() constant-time
Idea from @AlfieC
2016-11-23 13:20:16 -05:00
Aikar
8d4d85ccb8 Merge branch 'vemacs-cachedthreadpool-login'
* vemacs-cachedthreadpool-login:
  Cache user authenticator threads Idea from @AlfieC
2016-11-23 12:03:34 -05:00
vemacs
4eaa6f6dbc Cache user authenticator threads
Idea from @AlfieC
2016-11-23 08:48:47 -05:00
Zach Brown
4ea87e5378
Update upstream B/CB/S 2016-11-22 18:06:14 -06:00
AlphaBlend
5eebb50cf2 Relocate bad call to ProjectileHitEvent 2016-11-22 01:47:43 -05:00
Aikar
2290e5f85d Update upstream 2016-11-21 18:00:40 -05:00
Zach Brown
97e0eac6e7
Update upstream B/CB 2016-11-21 15:51:27 -06:00
Zach Brown
cb66c8dce7
Add ShulkerBoxes to the LootTable API 2016-11-19 11:31:01 -06:00
Aikar
9725050889 Update Upstream 2016-11-18 23:58:56 -05:00
Aikar
ae5a66ed1b Re-add dependency reduced pom
Learned the correct way to handle that file
2016-11-18 21:09:03 -05:00
Zach Brown
7e37e54053
Simplify the affects spawning API implementation
Get the hell away from EntitySelectors, not that that one right anyway
Fixes GH-482
2016-11-18 18:55:14 -06:00
Zach Brown
a6d146a939
Update Paper to MC 1.11 2016-11-18 16:21:06 -06:00
Black Hole
6c1880847f
@Z750 There are other command block types
Blocks.dc and .dd (don't know why they ain't renamed yet).
cc GH-478
2016-11-13 20:21:37 -06:00
Zach Brown
bd503d35b0
Expand NBT filtering from last commit
cc GH-478
2016-11-13 19:36:23 -06:00
Zach Brown
dec715e07b
Filter bad data from ArmorStand and SpawnEgg items
Fixes GH-478
2016-11-12 23:32:40 -06:00
Zach Brown
65538782cd
Update upstream B/CB/S 2016-11-12 20:21:46 -06:00
Zach Brown
d7276f6ffd
Always cleanup collideRule teams at startup
Fixes GH-463
2016-11-05 13:34:18 -05:00
Zach Brown
f0acdb8df6
Raise packet tolerance in spam threshold patch
Fixes GH-462
2016-11-04 22:35:59 -05:00
Aikar
c0aeab4cf9 Chunk Save Stats Debug Option
Adds a command line flag to enable stats on how chunk saves are processing.

Stats on current queue, how many was processed and how many were queued.
2016-11-04 02:21:33 -04:00
Aikar
4f39daf70a Rework that save cap patch and make it configurable 2016-11-04 01:55:36 -04:00
Aikar
ab7b7d8072 Don't process auto save if the save queue is filled
This avoids ever growing pending NBT objects which eat up memory.
2016-11-04 01:33:08 -04:00
Aikar
4f5d91198f Prevent Hoppers from loading chunks by double chest 2016-11-04 01:32:53 -04:00
Aikar
3725f9d940 Fix faulty logic in Auto Save check - Fixes #443 2016-11-04 01:31:49 -04:00
AlphaBlend
02006e6b24
Add EntityZapEvent 2016-10-30 21:31:02 -05:00
Zach Brown
88e1379b38
Update upstream CB 2016-10-23 01:32:04 -05:00
Zach Brown
557c26bec4
Revert CB's SPIGOT-1903 fix in favor of ours
Fixes GH-453
2016-10-22 15:36:19 -05:00
Zach Brown
812618deba
Remove changes to lava/water cobblestone gen
Unintended side effects in recent versions, this patch has likely
outlived its usefulness.

Closes GH-452
2016-10-21 16:08:34 -05:00
Zach Brown
28d9568ed5
Properly update patches for upstream merge 2016-10-21 15:43:40 -05:00
Zach Brown
92567cc43a
Update upstream B/CB 2016-10-21 15:28:44 -05:00
Aikar
874c7a2ef8 Updated Timings to better detail saves 2016-10-20 00:21:35 -04:00
Aikar
64e537e63c Revert "Option to hide plugins from the Query Protocol"
This already exists

This reverts commit 3407aa3285.
2016-10-19 23:38:18 -04:00
Aikar
3407aa3285 Option to hide plugins from the Query Protocol 2016-10-19 23:37:14 -04:00
Zach Brown
2645ee04ae
Update upstream CB 2016-10-16 15:35:34 -05:00
Zach Brown
8377df063a
Update upstream CB/S 2016-10-13 17:29:38 -05:00
Zach Brown
b2c262e382
Update upstream CB 2016-10-10 21:29:08 -05:00
Zach Brown
5ecb6f1358
Add option to remove corrupt tile entities
Closes GH-437
2016-10-05 16:28:17 -05:00
AlphaBlend
96b534f1f1
Add hit entity to ProjectileHitEvent 2016-10-05 16:07:58 -05:00
Zach Brown
10469dfd46
Remove TE Fixer changes
Ultimately they should be unnecessary now that upstream's fix has been
in place for a while. Removing this reduces our own footprint, and gets
rid of any possible unintended behavior.
2016-10-05 15:46:44 -05:00
Zach Brown
18799efd0d
Update upstream B/CB/S 2016-10-01 11:47:56 -05:00
Aikar
9e6cbc5203 Disable Vanilla Chunk GC in favor of Bukkits 2016-09-26 01:52:01 -04:00
Aikar
a57cf220e8 don't save level every tick for auto save. whoops 2016-09-26 01:50:26 -04:00
Zach Brown
3d2be415cc
Raise bad Y auto fix to avoid gameplay issues
Per discussion here, d3eb13d60d (commitcomment-19153154)
2016-09-23 17:26:14 -05:00
Aikar
f71ef566df Raise string limit for packet serialization
The default limit is possible to hit with 50 page books with color codes, causing clients to disconnect.

Bump the limit up a hair to above currently seen sizes.
2016-09-21 23:56:47 -04:00
Aikar
d3eb13d60d Auto fix bad Y levels on player login
Bring down to a saner Y level if super high, as this can cause the server to crash
2016-09-21 23:49:27 -04:00
Aikar
bd4ececc82 Remove FishingHook reference on Craft Entity removal
This caused some bugs chickeneer reported to me, with fishing.
2016-09-21 23:45:05 -04:00
Aikar
501695c26a Process NMS Data Conversion post ItemMeta on Copy
ItemMeta apply is a destructive process that expects to be the authority on
what the items NBT data is.

When CraftItemStack.asNMSCopy was called, the conversion ran, potentially setting
the converted data into the ItemStacks tag.

Then if that item had ItemMeta, it would completely undo that conversion by
erasing the NBT Tag.

On copy, run conversion post ItemMeta apply.
2016-09-21 23:42:13 -04:00