Commit Graph

2493 Commits

Author SHA1 Message Date
Zach Brown e741a89374 Update upstream CB, reduce version cache time
Closes GH-602
2017-02-07 16:29:26 -06:00
Aikar 7daac312a5 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 c5851f632a 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 36ce1b950a Add more timings to Scheduler and other improvements 2017-02-05 00:13:16 -05:00
Aikar 01e765f886 Add API to get the url in a timing report listener 2017-02-04 23:07:09 -05:00
Aikar 8246be5c3d 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
Aikar adc43dff10 Run timings reports after end of tick
I believe we are getting data corruption by doing it in the middle of the tick, as I was seeing
really odd reports from automated ones vs command ones.

This will break issueing timings over rcon single command mode and getting the report link in the response back

But I will try to restore that (and make RCON no longer cause spikes) soon.

Reports will still generate, just because its async, the RCON connection
will drop if not in terminal mode before its done.
2017-02-04 20:46:27 -05:00
Zach Brown e3b3799b67 Update upstream S 2017-02-04 03:59:44 -06:00
Zach Brown 789bb0b834 Update upstream CB
Closes GH-596
2017-02-01 22:48:16 -06:00
Zach Brown a3cc3e37bd Update upstream S 2017-01-30 22:33:54 -06:00
Zach Brown 013c024ca2 Update upstream CB 2017-01-28 17:36:03 -06:00
Zach Brown 65a99a06a8 Update upstream B/CB/S 2017-01-25 22:27:42 -06:00
Zach Brown 21a724147a 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 9e81fe5059 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:14 -05:00
Zach Brown bff3f5cccd Yank import from last 2017-01-21 17:12:25 -06:00
Zach Brown 4cce8f0cda Expose WorldBorder@isInBounds(Location) check 2017-01-21 17:06:28 -06:00
Aikar 03263ff5df 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:02:52 -05:00
Zach Brown 51072f8241 Fixup patch file 2017-01-20 09:12:47 -06:00
BillyGalbreath 5d4b4bd35d Add fromBottle flag to Experience Orbs (#584)
* Add fromBottle flag to Experience Orbs
2017-01-20 09:01:53 -06:00
Zach Brown b0348aea3e Update upstream B/CB/S 2017-01-20 05:21:44 -06:00
Zach Brown f37dddfe3e Merge pull request #582 from prplz/player-count
Add World.getPlayerCount
2017-01-14 16:07:01 -06:00
Zach Brown 26f60ea587 Now I am become Death, the destroyer of newlines 2017-01-14 02:12:59 -06:00
Zach Brown 538cd29d93 Update upstream B/CB 2017-01-14 02:11:12 -06:00
Zach Brown ce10eb73f0 Assign the World in WorldGenStronghold
Fixes GH-580
2017-01-14 01:24:11 -06:00
Michael Himing 726b291d90 Add World.getPlayerCount 2017-01-13 23:00:33 +11:00
Zach Brown fe2f82587d Merge pull request #575 from prplz/fix-block-break-desync
Fix block break desync
2017-01-08 18:03:49 -06:00
Zach Brown eccac70eac 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:43:08 -06:00
Zach Brown 7732ba46d9 Merge pull request #573 from dedicatedmemers/master
Don't allow entities to become passengers of themselves
2017-01-08 16:35:48 -06:00
Michael Himing bb6dc9d970 Fix block break desync 2017-01-08 18:52:48 +11:00
Alfie Cleveland 519d60b747 Don't allow entities to ride themselves - #572 2017-01-08 04:32:04 +00:00
Zach Brown c9c9032b8d Revert "Set head rotation pitch in addition to yaw in TPs"
This reverts commit 87ebcab532.
2017-01-07 22:15:01 -06:00
Zach Brown 87ebcab532 Set head rotation pitch in addition to yaw in TPs 2017-01-07 21:32:11 -06:00
Aikar 11711a201d 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:08:16 -05:00
Aikar 24858ab25e 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 9bdc25e99b 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 b6dd3fb9d3 Update upstream B/CB
Closes GH-569
2017-01-06 15:45:59 -06:00
Aikar 710f32619e SPIGOT-2989: Use correct Horse Inventory 2017-01-04 21:23:16 -05:00
prplz d8444c5449 Better container checks (#564) 2017-01-03 09:16:57 +11:00
Aikar d309b6e872 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 aa074621bd 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 695ba0cbf5 Use alternate constructor for EndGateway - Fixes #563 2017-01-02 11:49:36 -05:00
Aikar beee3cd301 MC-112017: Allow 31 instead of 30 for item names 2017-01-02 02:43:50 -05:00
Aikar 7228b28a1a 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 3734a3acdb Fix build
I totally didn't notice that the patch had a conflict >_>
2017-01-02 02:05:02 -05:00
Aikar eee4d138dd Update upstream - fixes more Spawn Egg issues 2017-01-02 01:58:15 -05:00
Aikar 0d5ac24919 Remove my copyright headers, copy/pasted 2016-12-31 21:51:49 -05:00
Aikar 3eec7df88a PlayerTeleportEndGatewayEvent
Allows you to access the Gateway being used in a teleport event
2016-12-31 21:46:34 -05:00
Zach Brown fb686972fa Update upstream B/CB 2016-12-30 23:52:19 -06:00
Aikar 2c5f074c1d Fix String based Action Bar to use ChatComponent to handle proper escaping 2016-12-29 08:29:09 -05:00
Aikar 04c621bb48 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