Commit Graph

941 Commits

Author SHA1 Message Date
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