Commit Graph

2535 Commits

Author SHA1 Message Date
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
ee7f13ea3c Add API to get the url in a timing report listener 2017-02-04 23:07:09 -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
Aikar
f938ae30fd 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
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
Zach
e3070b32a7 Merge pull request #575 from prplz/fix-block-break-desync
Fix block break desync
2017-01-08 18:03:49 -06: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
Zach
be870bc656 Merge pull request #573 from dedicatedmemers/master
Don't allow entities to become passengers of themselves
2017-01-08 16:35:48 -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
1b18e93607 Remove my copyright headers, copy/pasted 2016-12-31 21:51:49 -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
Zach Brown
3a8acfba6b
Update upstream B/CB 2016-12-31 00:08:30 -06: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