Commit Graph

732 Commits

Author SHA1 Message Date
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: https://github.com/PaperMC/Paper/commit/a5f9077242fdaba3ae77170383c6cd12a2d82c10#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