Commit graph

894 commits

Author SHA1 Message Date
Zach Brown
6645aa1301 Fix patch conflict with upstream 2017-04-22 17:49:47 -05:00
Zach Brown
2aca63ddef Update upstream CB/S 2017-04-22 17:41:28 -05:00
Shane Freeder
4200b785dc 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:32:06 +01:00
Shane Freeder
24f6670a17 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
22e2858fee Update bStats implementation 2017-04-22 01:16:45 -05:00
Zach Brown
0d1f8be81d Update upstream B/CB 2017-04-21 23:42:59 -05:00
Zach Brown
17a3117d38 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
90927cd654 Update upstream B/CB 2017-04-20 08:22:08 -05:00
Shane Freeder
a4036ed3cb 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:08:27 +01:00
Zach Brown
515506c3ce Update upstream B/CB/S
Closes GH-658
2017-04-16 17:12:01 -05:00
Zach Brown
9aba83bfdc Update upstream CB/S 2017-04-10 22:11:26 -05:00
Riley Park
965f78b3af Fix NFE caused by attempting to read an EMPTY ItemStack
Thanks @gabizou
2017-04-09 23:50:46 -07:00
Zach Brown
66a6db73e0 Update upstream B/CB 2017-03-31 23:24:42 -05:00
Zach Brown
bc4e080971 Update upstream CB 2017-03-30 18:26:00 -05:00
Zach Brown
b6fe136d35 Switch metrics impl to use thread executor service 2017-03-26 18:29:38 -05:00
Zach Brown
4340ef97ca Switch to a bStats based Metrics system 2017-03-25 00:22:02 -05:00
Zach Brown
1471ac1b64 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
de6a101264 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:18:58 -05:00
Zach Brown
eb4870b509 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
b73556fc5c Update upstream B/CB 2017-03-18 21:01:13 -05:00
Shane Freeder
4a48c0504f Ensure that the world of a dead entity is not changed in a portal 2017-03-19 01:33:26 +00:00
Shane Freeder
33b8a43e4a Only set the location of the newly spawned entity 2017-03-17 13:17:52 +00:00
Zach Brown
5916c653b6 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
0b19d62632 Make sure the entity is still added to the world 2017-03-17 00:04:34 -05:00
Shane Freeder
4a940edbe8 Fix a duplicate alive entity on second world 2017-03-16 22:31:53 -05:00
Zach Brown
a69434f9d1 Update upstream B/CB/S
Closes GH-631
2017-03-15 09:32:50 -05:00
willies952002
cb08e8ae4c 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:19:04 -04:00
chickeneer
0c8c9b087a 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:01:46 -05:00
Zach Brown
252bca6deb Alter furnace cookTime based on total cook time
Fixes GH-613
2017-03-02 20:57:20 -06:00
Zach Brown
f17c296756 Do not let ArmorStands drown under water 2017-02-18 19:34:46 -06:00
Zach Brown
12310fa5f3 Update upstream B/CB/S 2017-02-17 20:03:38 -06:00
Zach Brown
3e91cc60e4 Update upstream B/CB/S 2017-02-10 18:12:58 -06:00
Brokkonaut
75618c5da8 Make chunk unload targetSize more aggressive
Re: GH-597
2017-02-08 15:11:43 -06:00
Zach Brown
3f2569f79f Disable Spigot's chunk unload queue throttling
Seems to be causing more problems than it's solving
Closes GH-597
2017-02-07 16:59:12 -06:00
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
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
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
Michael Himing
bb6dc9d970 Fix block break desync 2017-01-08 18:52:48 +11: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
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
3eec7df88a PlayerTeleportEndGatewayEvent
Allows you to access the Gateway being used in a teleport event
2016-12-31 21:46:34 -05: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
Aikar
2f831e83cd Change Outdated Build Download URL to Paper CI 2016-12-29 00:57:26 -05:00
Aikar
62d7e84ff0 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
9db5f4c20a New Firework API's
Get the launcher of a Firework and who it is boosting
2016-12-28 02:25:35 -05:00
Aikar
3967ce4cb3 Activation Range Improvements
Fixes and adds new Immunities to improve gameplay behavior
2016-12-28 00:19:58 -05:00
Zach Brown
3410e9035d 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 f88edb00e9
2016-12-27 19:23:18 -06:00
Aikar
34e0091024 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
86925b4446 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
352c322914 Upstream update 2016-12-27 13:07:43 -05:00
AlfieC
7aaab3347c Properly fix item duplication bug (#557)
Credit to prplz for figuring out the real issue
2016-12-27 16:03:37 +00:00
Aikar
6a3e97e28a Respect AsyncCatcher for Async Command Detection - Fixes #555 2016-12-27 11:00:15 -05:00
Alfie Cleveland
d334865466 Further optimise hoppers 2016-12-27 03:01:41 +00:00
Zach Brown
54f0061ce5 Update upstream CB 2016-12-22 15:06:59 -06:00
Aikar
bded01f0f5 continue instead of break for treasure map bounding
per: a5f9077242 (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
06e82119e2 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
038cde138a 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
f88edb00e9 Add option to remove invalid statistics
Closes GH-550
2016-12-21 12:41:30 -06:00
Riley Park
a0b12ef1e0 API for ArmorStand movement and option for entity lookups 2016-12-21 11:53:41 -06:00
Zach Brown
0fa5771dac Update to Paper to MC 1.11.2 2016-12-21 11:21:40 -06:00
Aikar
daab7ed781 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
c6ffa97c7a Revert "Optimize ItemStack.isEmpty()"
This reverts commit c2b8a4be32.

See a bug
2016-12-21 03:51:48 -05:00
Aikar
c2b8a4be32 Optimize ItemStack.isEmpty()
Remove hashMap lookup every check, simplify code to remove ternary
2016-12-21 03:50:43 -05:00
Zach Brown
4bfa933c52 Cleanup 'nerfed spawner mobs can float' patch 2016-12-20 21:57:07 -06:00
Zach Brown
cd80c0a2f7 Fix a merge conflict that was resolved improperly 2016-12-20 18:01:37 -06:00
Zach Brown
ec68dfff5a Update Paper to MC 1.11.1 2016-12-20 16:34:27 -06:00
Aikar
bc72d63bfc 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
a5f9077242 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
4506924566 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
fff0dc6598 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
310105c9c0 Update upstream 2016-12-19 22:58:12 -05:00
Aikar
e82cdab244 Fix worldborder bug
typo in variable name
2016-12-19 01:23:59 -05:00
Zach Brown
b3dd2f9212 Add obfhelper to vanish patch 2016-12-16 23:02:33 -06:00
Zach Brown
8076a6a231 Add ProjectileCollideEvent
Base our vanish changes on top of that event.
2016-12-16 22:13:45 -06:00
Techcable
e0ada11f1e Change base variables in BlockPos to force diff 2016-12-16 19:53:35 -06:00
Zach Brown
b17aa5f5ba Don't let FishingHooks use portals
Closes GH-531
2016-12-16 16:03:56 -06:00
Zach Brown
67a9e0cbf6 Update upstream CB 2016-12-10 17:50:31 -06:00
Zach Brown
b21c31c91d Update upstream B/CB 2016-12-09 18:07:35 -06:00
Zach Brown
cead4e0a74 Update upstream B/CB 2016-12-06 17:12:19 -06:00
Zach Brown
4acf56eb8b Update upstream, fix accidental removal from last 2016-12-02 21:11:39 -06:00
Zach Brown
9e40eaf85d Don't remove random diffs in update 2016-12-02 21:04:24 -06:00
Zach Brown
f0e32d948f Update upstream CB 2016-12-02 18:07:07 -06:00
Aikar
61526b1029 Optimize World.isLoaded(BlockPosition)Z
Reduce method invocations for World.isLoaded(BlockPosition)Z
2016-12-02 00:20:34 -05:00
Aikar
e5b4e80232 Ignore "Unable to resolve BlockEntity" debug messages - Fixes #489 2016-12-02 00:02:18 -05:00
Techcable
d0cfdc4c62 Speedup BlockPos by fixing inlining 2016-11-30 20:57:02 -06:00
AlphaBlend
37d3c5cd55 Add source to PlayerExpChangeEvent 2016-11-30 17:31:46 -06:00
Zach Brown
b3d302b6db Update upstream CB 2016-11-29 18:02:20 -06:00
willies952002
63870333cb Allow Reloading of Command Aliases
Use "/reload commands" to reload the aliases stored in commands.yml
2016-11-28 10:24:22 -05:00
Zach Brown
4241b49b85 Update upstream B/CB - hitEntity added upstream 2016-11-28 17:16:07 -06:00
Jamie Mansfield
0eb17ae4fe Update inventory. Fixes #505 2016-11-28 21:32:05 +00:00
Zach Brown
d5240abbbd Update patch number 2016-11-27 16:54:10 -06:00
Zach Brown
ede6f9994d Merge pull request #517
Don't process packets from offline players
2016-11-27 16:23:17 -06:00
Alfie Cleveland
ac3077af34 Don't process packets from offline players 2016-11-27 22:17:55 +00:00
Alfie Cleveland
e579fe5518 Optimise removeQueue 2016-11-26 22:35:42 -06:00
Alfie Cleveland
048e964b41 Fix double lock in ServerConnection 2016-11-26 22:06:23 -06:00
Zach Brown
1881616f15 Alter last to force conflicts but keep contents 2016-11-26 22:02:19 -06:00
Alfie Cleveland
a36e2a4378 Optimise NetworkManager 2016-11-25 20:35:15 +00:00
Zach Brown
5cc2d45a03 Update upstream B/CB/S 2016-11-24 21:12:18 -06:00
vemacs
53bdc0450b Optimize network queue by making size() constant-time
Idea from @AlfieC
2016-11-23 13:02:47 -05:00
Aikar
b1aa7e2ca9 Merge branch 'vemacs-cachedthreadpool-login'
* vemacs-cachedthreadpool-login:
  Cache user authenticator threads Idea from @AlfieC
2016-11-23 11:53:35 -05:00
vemacs
ec2ae627fb Cache user authenticator threads
Idea from @AlfieC
2016-11-23 08:36:45 -05:00
Zach Brown
b44bb52488 Update upstream B/CB/S 2016-11-22 18:06:14 -06:00
AlphaBlend
b36fbd6687 Relocate bad call to ProjectileHitEvent 2016-11-21 22:24:19 -08:00
Aikar
09a8e2f02f Update upstream 2016-11-21 18:00:40 -05:00
Zach Brown
464b0455bd Add ShulkerBoxes to the LootTable API 2016-11-19 11:31:01 -06:00
Aikar
7d73fa7ae0 Update Upstream 2016-11-18 23:58:56 -05:00
Aikar
8f3325047c Re-add dependency reduced pom
Learned the correct way to handle that file
2016-11-18 21:09:03 -05:00
Zach Brown
2b8aa1a8f2 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
4832b1a385 Update Paper to MC 1.11 2016-11-16 20:23:38 -06:00
Black Hole
502ade5e74 @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:20:14 -06:00
Zach Brown
6b146ebec2 Expand NBT filtering from last commit
cc GH-478
2016-11-13 19:36:23 -06:00
Zach Brown
513118af55 Filter bad data from ArmorStand and SpawnEgg items
Fixes GH-478
2016-11-12 23:29:32 -06:00
Zach Brown
f3fd0471f2 Always cleanup collideRule teams at startup
Fixes GH-463
2016-11-05 13:34:18 -05:00
Zach Brown
4916cf72cb Raise packet tolerance in spam threshold patch
Fixes GH-462
2016-11-04 22:31:37 -05:00