Commit graph

894 commits

Author SHA1 Message Date
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
Aikar
1d9fc7dfc2 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
3732877c5c Rework that save cap patch and make it configurable 2016-11-04 01:55:36 -04:00
Aikar
e9542e33fd 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
5fe1de30c9 Prevent Hoppers from loading chunks by double chest 2016-11-04 01:32:53 -04:00
Aikar
c15001e24d Fix faulty logic in Auto Save check - Fixes #443 2016-11-04 01:31:49 -04:00
AlphaBlend
e0f49c8788 Add EntityZapEvent 2016-10-16 23:27:02 -07:00
Zach Brown
5b6d46e4c8 Update upstream CB 2016-10-23 01:32:04 -05:00
Zach Brown
3552c9103a Revert CB's SPIGOT-1903 fix in favor of ours
Fixes GH-453
2016-10-22 15:36:19 -05:00
Zach Brown
745be9013b 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
4bef47531a Properly update patches for upstream merge 2016-10-21 15:42:49 -05:00
Zach Brown
2515c80051 Update upstream B/CB 2016-10-21 15:28:44 -05:00
Aikar
4708920d8d Updated Timings to better detail saves 2016-10-20 00:21:35 -04:00
Aikar
59eb1231b5 Revert "Option to hide plugins from the Query Protocol"
This already exists

This reverts commit d6a9c326c7.
2016-10-19 23:38:18 -04:00
Aikar
d6a9c326c7 Option to hide plugins from the Query Protocol 2016-10-19 23:37:14 -04:00
Zach Brown
d5ae910f82 Add option to remove corrupt tile entities
Closes GH-437
2016-10-05 16:28:17 -05:00
AlphaBlend
793dc2df52 Add hit entity to ProjectileHitEvent 2016-10-05 16:07:29 -05:00
Zach Brown
6d41d88931 Remove TE Fixer changes
Ultimately they should be unnecessary now that upstream's fix has been
in place for a while. Removing this reduces our own footprint, and gets
rid of any possible unintended behavior.
2016-10-05 15:46:44 -05:00
Aikar
c59127a587 Disable Vanilla Chunk GC in favor of Bukkits 2016-09-26 01:52:01 -04:00
Aikar
e081f311cb don't save level every tick for auto save. whoops 2016-09-26 01:50:26 -04:00
Zach Brown
dd0277fdb5 Raise bad Y auto fix to avoid gameplay issues
Per discussion here, 663fbf798e (commitcomment-19153154)
2016-09-23 17:25:21 -05:00
Aikar
731f141042 Raise string limit for packet serialization
The default limit is possible to hit with 50 page books with color codes, causing clients to disconnect.

Bump the limit up a hair to above currently seen sizes.
2016-09-21 23:56:41 -04:00
Aikar
663fbf798e Auto fix bad Y levels on player login
Bring down to a saner Y level if super high, as this can cause the server to crash
2016-09-21 23:49:27 -04:00
Aikar
59b9ad36e6 Remove FishingHook reference on Craft Entity removal
This caused some bugs chickeneer reported to me, with fishing.
2016-09-21 23:45:05 -04:00
Aikar
d330ae5050 Process NMS Data Conversion post ItemMeta on Copy
ItemMeta apply is a destructive process that expects to be the authority on
what the items NBT data is.

When CraftItemStack.asNMSCopy was called, the conversion ran, potentially setting
the converted data into the ItemStacks tag.

Then if that item had ItemMeta, it would completely undo that conversion by
erasing the NBT Tag.

On copy, run conversion post ItemMeta apply.
2016-09-21 23:42:13 -04:00
Aikar
cc1f66ce0e add a chunk registration fix
World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is treated

Keep them consistent
2016-09-21 22:56:19 -04:00
Aikar
77825c2a60 Log chunk save failures as ERROR level 2016-09-21 22:33:09 -04:00
Aikar
6c7ea0b67a Auto Save Improvements
Makes Auto Save Rate setting configurable per-world. If the auto save rate is left -1, the global bukkit.yml value will be used.

Process auto save every tick instead of once per auto tick interval, so that chunk saves will distribute over many ticks instead of all at once.

Re-introduce a cap per tick for auto save (Spigot disabled the vanilla cap) and make it configurable.
2016-09-21 22:12:56 -04:00
Aikar
7c6d0644a2 Don't save players every tick, oops 2016-09-19 23:39:21 -04:00
Aikar
f18f712da2 Incremental Auto Saving
Process auto save every tick instead of once per auto tick interval, so that chunk saves will distribute over many ticks instead of all at once.
2016-09-19 23:31:42 -04:00
Riley Park
57569597bd Configurable flying kick messages
Closes #423
2016-09-20 00:58:32 +00:00
Zach Brown
66dc00b4dd Stop collideRule team from seeing invis 'friends'
More appropriately aligns ourself with the no team option, because the
collideRule team is only a team because it has to be, not because we want
anyone to have any sort of gameplay based relationship.

Also block any options from being set on this team to further enforce that
it is not a persistent team and should not be treated as such.
2016-09-15 16:36:57 -05:00
Zach Brown
e4251a092b Block minecart portal teleports in some instances
Mitigates GH-373
Technically a workaround rather than a true fix
2016-09-14 18:52:41 -05:00
Zach Brown
ca7a828688 Update upstrean CB/S 2016-09-11 14:55:02 -05:00
Zach Brown
4bf0ca21fe Make UseItem rate limiting stricter, configurable 2016-09-10 23:27:07 -05:00
Zach Brown
5ba385dd4c Fix patch, need to investigate build issues 2016-09-10 22:45:09 -05:00
Zach Brown
4b7796fe7c [ WHITESPACE ] 2016-09-10 22:09:14 -05:00
Zach Brown
4dcb73693a Add rate limiting to PacketPlayInUseItem as well
Also removes our toggle for Spigot's option, I doubt anyone uses it.
2016-09-10 21:42:47 -05:00
Zach Brown
b0a15ca1ea Further safety for player collision setting
Hopefully the end of similar problems
Fixes GH-415
2016-09-08 12:39:40 -05:00
Zach Brown
6dedb92652 Make collide team removal more patient, safer
Fixes GH-414
2016-09-06 12:33:47 -05:00
Zach Brown
949fc0534f Create a team as needed for disabling collisions
Fixes GH-383
2016-09-04 17:29:25 -05:00
Zach Brown
b4eceb16ec Update upstream B/CB 2016-09-04 16:59:06 -05:00
Brokkonaut
449309fc3d Fix an AIOOBE in inventory handling
Closes GH-404
2016-09-04 16:49:29 -05:00
Zach Brown
65858cf283 Merge pull request #408 from kashike/feature/health-conversion
Convert new health to a float
2016-09-04 16:05:38 -05:00
Riley Park
7a403d82a0 @Zbob750 missed a few name changes 2016-09-04 06:26:05 +00:00
Riley Park
ac750065e3 Convert new health to a float during set
Convert the new health value to a float before doing any validation logic
2016-09-01 09:54:06 +00:00
Zach Brown
2df56fa35b Revert team creation for player collision setting
Needs more work, have redone it locally but its not quite ready for
prime time.
2016-08-31 19:22:43 -05:00
Zach Brown
0ccbb356f1 Rename patch file to be more specific 2016-08-31 17:18:54 -05:00
killme
755861dfb6 Disable ticking of snow blocks 2016-08-30 16:42:17 +02:00
Zach Brown
246294d161 Make getEntity dead check more specific 2016-08-28 00:46:21 -05:00
Zach Brown
8a2d6a1790 Restore some timings functionality lost in last 2016-08-27 19:36:26 -05:00
Zach Brown
fcbbc76319 Update upstream B/CB/S
Remove two features added upstream
2016-08-27 18:41:58 -05:00
Aikar
086939fe19 Timings v2 updates for more chunk related timings (generations) 2016-08-20 00:07:26 -04:00
Alfie Cleveland
3820e163d4 Optimise BlockStateEnum 2016-08-19 01:53:36 +01:00
Zach Brown
e9de969c6f More changes to view distance API implementation
Should fix GH-381
2016-08-13 15:26:40 -05:00
Gabriele C
a4cb20da95 Introduce a setting to handle offline proxies
Servers behind a bungeecord proxy in offline mode
will now properly pull offline mode UUIDs and data
when this setting is set to false. Default is unchanged.
2016-08-12 18:08:53 -05:00
Zach Brown
58ba189a32 Send Bukkit scoreboards as well as vanilla boards
Fixes GH-384
2016-08-04 19:46:35 -05:00
Zach Brown
25f92d9a28 Re-track players that dismount from other players
Fixes GH-265
2016-07-31 16:33:25 -05:00
Zach Brown
55e3d057b8 Fix entity tracking when the player is the vehicle
Fixes GH-378
2016-07-31 15:22:25 -05:00
Zach Brown
10961ebac6 Randomly generate team names for earlier commit
[17:17] _MylesC: the biggest issue you run into is bungee not handling
2 teams with same name :(
http://i.imgur.com/jbDigxW.png
2016-07-30 18:13:56 -05:00
Zach Brown
a48b906896 Send a fake team as needed for the collision rule 2016-07-30 17:04:39 -05:00
Zach Brown
4db0ba851c Update upstream B/CB/S 2016-07-30 18:02:34 -05:00
Zach Brown
163d33a68b Default configuration changes
Disable push based hoppers by default
Set chunk unload delay to 15s by default
Neither of these changes are retroactive for old users
2016-07-28 20:57:36 -05:00
Zach Brown
2ea6b93c67 Make alternative falling block ground detection configurable
Workaround for GH-336
2016-07-28 20:54:48 -05:00
Zach Brown
023780514f More informative vehicle moved wrongly log message 2016-07-28 19:17:26 -05:00
Zach Brown
2ee4beaa3a Cleanup obfuscation helper comment format 2016-07-27 17:46:02 -05:00
Zach Brown
608d77d492 Update upstream B/CB 2016-07-26 19:30:03 -05:00
Zach Brown
96e8a799b4 Push based hoppers cleanup 2016-07-22 18:54:48 -05:00
Zach Brown
359f9ad8cf Update upstream CB 2016-07-22 17:24:30 -05:00
Zach Brown
4b8526fd6d Fix TNTPrimed head hight calculation
Fixes GH-370
2016-07-19 18:48:08 -05:00
Zach Brown
e9a21993b2 Less strict skull validation
Fixes GH-367
2016-07-18 18:07:48 -05:00
Gabscap
a589eedb2a Fix-Banner Patch: Display correct time in F3 2016-07-17 18:25:24 +02:00
Zach Brown
949044df1a Don't try and lookup profiles that have no UUID and no name
Closes GH-347
2016-07-16 20:19:25 -05:00
Zach Brown
950ad80c15 Remove use-hopper-check functionality that we restored
Our improved hopper checking system should provide a better benefit without
as many vanilla behavior issues.
2016-07-16 20:10:43 -05:00
Zach Brown
719164b4ce Update upstream B/CB/S 2016-07-15 17:36:53 -05:00
Zach Brown
aff7563c30 Update upstream B/CB/S 2016-07-12 23:22:58 -05:00
Zach Brown
b9926dcb47 Block sketchy head items and blocks 2016-07-10 10:45:05 -05:00
Zach Brown
78f5fda472 Disable delayed chunk unloads by default
While the option remains a powerful tool we recommend everyone use, 30s is
proving to be a bit much for certain gametypes and many admins are confused
that after updating they are now facing extreme loaded chunk counts.

We do recommend experienced users configure this value as needed, but we
cannot keep it as a default option given the variety of gametypes, the
potential inexperience of new users, and previous users upgrading and
now facing extreme chunk counts that offer little benefit.
2016-06-30 21:41:10 -05:00
Aikar
122f47ac1c More Upstream tacos 2016-06-30 01:38:53 -04:00
Zach Brown
b978b76443 Update upstream CB
It seems they've gotten their own workaround figured out, we'll keep our own fix for TE removal in but let them try theirs and see if it's better now.
2016-06-26 22:51:20 -05:00
Zach Brown
98c7a31d79 Stop overwriting block locations, root issue looks to be the TE fixer itself
Fixes GH-352
2016-06-26 18:38:39 -05:00
Zach Brown
afb1926947 Move setBlock tile->tile transition workaround into TE removal 2016-06-26 13:58:12 -05:00
Zach Brown
e93299df87 Update upstream CB
Doesn't change anything except puts the last commit upstream, where it belongs
because we're nice like that, or something
2016-06-25 21:34:09 -05:00
Zach Brown
e213840fce Update clients when setting blocks to air 2016-06-25 21:09:08 -05:00
Zach Brown
57cff1f17f Update to MC 1.10.2 2016-06-25 12:19:04 -05:00
Aikar
ba61e44475 Fix Old Sign Conversion
1) Sign loading code was trying to parse the JSON before the check for oldSign.
       That code could then skip the old sign converting code if it triggers a JSON parse exception.
    2) New Mojang Schematic system has Tile Entities in the new converted format, but missing the Bukkit.isConverted flag
       This causes Igloos and such to render broken signs. We fix this by ignoring sign conversion for Defined Structures
2016-06-22 22:56:57 -04:00
Aikar
faa5f1fb18 Fix Double World Add issues - Fixes #328
Vanilla will double add Spider Jockeys to the world, so ignore already added.

Also add debug if something else tries to, and abort before world gets bad state
2016-06-22 22:50:19 -04:00
Aikar
6463bc2fe2 Optimize isInvalidYLocation, getType and getBlockData
Some pretty micro optimizations, but this is the hottest method in the server....

This will drastically reduce number of operations to perform getType

the 2 previous patches was squashed into 1
2016-06-22 22:43:02 -04:00
Aikar
03553d232e Update upstream 2016-06-22 22:18:41 -04:00
Zach Brown
7253bb10ca Update upstream B/CB 2016-06-19 21:41:46 -05:00
Jadon Fowler
62af55a00c Toggleable Elytra Wall Damage
Instead of calculating the damage taken from hitting a wall, you can
disable it in the config.
2016-06-18 23:14:58 -07:00
Aikar
284e2f4856 Delay Chunk Unloads based on Player Movement
When players are moving in the world, doing things such as building or exploring,
they will commonly go back and forth in a small area. This causes a ton of chunk load
and unload activity on the edge chunks of their view distance.

A simple back and forth movement in 6 blocks could spam a chunk to thrash a
loading and unload cycle over and over again.

This is very wasteful. This system introduces a delay of inactivity on a chunk
before it actually unloads, which is maintained separately from ChunkGC.

This allows servers with smaller worlds who do less long distance exploring to stop
wasting cpu cycles on saving/unloading/reloading chunks repeatedly.
2016-06-18 23:33:57 -04:00
totokaka
cd0d4d1674 Fix issue with setting player view distance 2016-06-18 20:52:11 -05:00
Aikar
76ccb4c5f0 Remove the item from the correct hand when spawn egg depletes 2016-06-18 03:44:11 -04:00
Techcable
94a6e8cb09 Make entities look for hoppers
Cherry-pick of PR GH-319
2016-06-18 01:03:40 -05:00
Zach Brown
9127c31ed6 Fix missed case in top of nether void damage patch
General cleanup, etc.
Closes GH-343
2016-06-18 00:25:37 -05:00
Jadon Fowler
3093562782 Fix infinite loop when saving chunks
Running `/save-all flush` would start an infinite loop that prints:
    ThreadedAnvilChunkSotrage (world): All chunks are saved
2016-06-17 02:29:57 -07:00
Zach Brown
9e7853d9dd Remove timings addition that was fixed upstream 2016-06-15 17:51:30 -05:00
Zach Brown
3497f7000d Update upstreams 2016-06-15 17:43:51 -05:00
Zach Brown
03eeadc2df Update upstream B/CB
Merges fixes for SPIGOT-2404 and SPIGOT-2408 into Paper
2016-06-13 18:42:08 -05:00
Zach Brown
0aaf5eb95c Update upstream B/CB 2016-06-11 22:22:27 -05:00
Jedediah Smith
ad39344717 Resolve an ISE in MagmaBlock damage handling 2016-06-11 19:10:18 -05:00
Zach Brown
4282b7c95d MC-80966 - Always send chunk sections 2016-06-11 14:59:28 -05:00
Zach Brown
2a773b737b Update upstream and rebuild 2016-06-11 14:58:54 -05:00
Zach Brown
59cc0a9834 Simplify getEntity by UUID patch, misc readme changes 2016-06-09 21:43:32 -05:00
Zach Brown
9b192b2708 Update to Minecraft 1.10 2016-06-08 22:57:14 -05:00
chickeneer
f53bec077b Fix Potion Equals Bug
Will be in Spigot 1.10, but getting it in for 1.9 users
2016-06-08 20:41:10 -04:00
Aikar
c9bf3f3819 Fix issue with chests being erased - #322 Fixed 2016-06-07 03:03:51 -04:00
Aikar
85df861eda more chunk unload queue fixes, hopefully fix various odd bugs 2016-06-07 02:08:59 -04:00
Aikar
49c8b34653 Fix bug with lootable refresh not saving inventory if on 2016-06-06 19:56:51 -04:00
Martin Panzer
74a3b887ff Make falling block height nerf respect doEntityDrops 2016-06-06 21:14:35 +02:00
Aikar
fbcd3ce763 Add sub timings to chunk map 2016-06-05 00:10:50 -04:00
Zach Brown
ebfc40dde6 Merge pull request #317 from MyPlayPlanet/fix-fence-fallblock
Fix fallingblocks getting stuck on fences
2016-06-04 18:24:27 -05:00
Zach Brown
d9e7de59e9 Fix a few global configuration options being unavailable 2016-06-04 17:26:11 -05:00
Aikar
e18cef3e72 remove part of my hopper patch, not sure its doing what I intended 2016-06-04 11:52:25 -04:00
Martin Panzer
fb10fff9b0 Fix fallingblocks getting stuck on fences 2016-06-04 10:11:03 +02:00
Aikar
ba0a4c75bd Only send Dragon/Wither Death sounds to same world
Also fix view distance lookup
2016-05-31 23:56:19 -04:00
Aikar
a9ec7b3a75 Fix skeleton horse spawn chance ignoring difficulty modifier if custom set
Also reduce diff
2016-05-30 12:50:57 -04:00
Zach Brown
44857e00e2 Merge pull request #310 from MyPlayPlanet/server-name-param
Add server-name as server parameter
2016-05-29 18:35:03 -05:00
Zach Brown
a618f33267 Stop relocating jopt-simple
Workaround for GH-189
Relocation breaks the lookup of a resource bundle, and this is easier than forking and maintaining our own version
 AFAIK this should be fine to do. Guess we'll see
2016-05-29 18:26:35 -05:00
Martin Panzer
805e5c6be7 Add server-name as server parameter 2016-05-28 12:02:57 +02:00
Aikar
d9971432c2 re-add timing that spigot missed 2016-05-27 22:29:09 -04:00
Aikar
e9c7cca230 Ensure chunks never load async
Force operation to main thread if it occurs async
2016-05-27 22:28:23 -04:00
Zach Brown
ff2c1ee38e Update upstreams 2016-05-27 21:22:18 -05:00
Aikar
cac7bbc139 Remove unneeded mob spawn cap patch - Fixes #235
I misread the code and thought the code kept looping until the mob spawn cap was hit.

Upon furthur review, this is not true, so this patch doesn't do anything sane.
2016-05-27 21:35:28 -04:00
Aikar
45aa7db5c4 Update Upstream 2016-05-25 12:37:17 -04:00
Martin Panzer
bd2fb5d530 Optimize Redstone torch list removal 2016-05-24 20:08:40 -05:00
Zach Brown
50277c2ceb Remove comment and fix build }}}}} 2016-05-22 21:20:15 -05:00
Zach Brown
4e74c43218 Re-add some method synchronization and move to a SingleThreadedExecutor in MCUtils 2016-05-22 21:14:17 -05:00
Zach Brown
87366c4f4d Temporarily remove synchronization from UserCache optimizations
In regards to GH-301
2016-05-22 21:07:40 -05:00
Zach Brown
5f6f6c6321 Update old TNT cannon mechanics patch to 1.9.4
Behavior may be buggy or otherwise broken, testing with the option is needed.
`fix-cannons` has been removed in favor of `enable-old-tnt-cannon-behaviors`
2016-05-22 20:26:15 -05:00
Zach Brown
32ea7542d2 Update upstream CB
Closes GH-303
2016-05-21 22:07:14 -05:00
Zach Brown
143ab568d4 Update B/CB/S
Closes GH-288
2016-05-20 17:32:50 -05:00
Aikar
8bee892ded Avoid blocking on Network Manager creation
Fixes #294

Use a pending list to handle new connections so that the netty threads
do not block waiting for the main thread to finish ticking
2016-05-16 23:21:26 -04:00
Aikar
c623104ffa MC-99914 - ensure EntityItem loads before EntityPotion 2016-05-16 22:54:48 -04:00
Aikar
4bead5b898 bump the default maxMobSpawns default to 250, and add support for unlimited
Use -1 to represent vanilla/unlimited.
Updated PaperWorldConfig to also update the individual worlds limit if it was set
to the new default value.

Should hopefully help #235
2016-05-16 22:07:12 -04:00
Aikar
478f246490 Optimize UserCache / Thread Safe
Because Techable keeps complaining about how this isn't thread safe,
easier to do this than replace the entire thing.

Additionally, move Saving of the User cache to be done async, incase
the user never changed the default setting for Spigot's save on stop only.
2016-05-16 21:14:28 -04:00
Aikar
1a5414bc4e Add Async Helper method to MCUtil 2016-05-16 20:50:09 -04:00
Aikar
e4c179e827 Refactor Lighting Queue System
may help #284

Cleans up the lighting queue system, reducing diff and improving implementation.

We no longer stop chunk unloads due to lighting updates, and instead simply flush the lighting queue.
The cost of forcing the chunk (and its neighbors!) to stay loaded waiting for its
lighting work to finish is much greater than simply taking the hit and doing the work.

This change also helps reduce the diff and avoid bugs with missed diffs by removing
duplicated logic.

Also switches to a more effecient data structure (ArrayDeque instead of LinkedList) for the queue itself.
2016-05-15 18:48:39 -04:00
Zach Brown
b9c321ff21 TileEntityLootable can call processRefill with a null player
Seems specific to EntityMinecartChest
Fixes GH-290
2016-05-15 01:41:36 -05:00
Aikar
0c78971552 More cases of avoiding marking active for chunks, to stop potential leaks 2016-05-13 22:27:20 -04:00
Aikar
016dca3390 Bring back an EAR optimization from 1.9.2 2016-05-13 01:39:03 -04:00
Aikar
b6d0dd32c6 Fix chunk leak issue with queued light updates 2016-05-13 01:34:37 -04:00
Zach Brown
f30c245be2 Make watchdoge disabler its own patch file
Change implementation, smaller diff, less NPE
2016-05-12 23:04:49 -05:00
BlackHole
b2087ca1af Override BlockPosition.MutableBlockPosition.isValidLocation()
Fixes GH-281
2016-05-12 12:56:48 -05:00
Aikar
4e3d8a41ee Fix T/TE removal list bug
Thanks @Cat6363
2016-05-12 08:55:35 -04:00
Aikar
1850ae22cf unmark chunk as unloading when unload is cancelled
no obviousy bugs caused by this at the moment, but we may need to clean up process to be like
how I use to have it before vanilla did it, and we shouldn't leave this boolean in an invalid state.
2016-05-12 02:07:39 -04:00
Aikar
a1916005e1 Fix chunk unload leak issues due to neighbor updates 2016-05-12 01:55:53 -04:00
Aikar
34fcd8ccc2 Paper 1.9.4 Update 2016-05-11 22:07:46 -04:00
Zach Brown
324bde1f10 Make beacons force secondary potion effect application
Fixes GH-273
Missed case from earlier fix 29dccccac4
2016-05-08 15:33:53 -05:00
Aikar
68f8205a32 Don't save empty scoreboard teams to scoreboard.dat - Fixes #244
While I can't think of any reason to do this except some REALLY weird workflow, I still added a config
to let you save them incase someone runs into issues.
2016-05-07 23:39:22 -04:00
Aikar
e7be15b884 fix bug with lootable API
was returning the NMS instance of objects instead of the Bukkit API objects
2016-05-07 21:16:38 -04:00
Gabscap
b9cdcf1d68 Add null-check to "Entity Tracking Improvement" 2016-05-06 16:09:52 +02:00
Zach Brown
b6da0fdf02 Move this somewhere sane 2016-05-05 20:18:20 -05:00
Zach Brown
da5cd0a63e Revert "Add debug property to disable the watchdog"
This reverts commit d1c470756f962801e7d3bc19bee9440f33a4706e.
2016-05-05 20:10:32 -05:00
Zach Brown
139c4ccf0d Add debug property to disable the watchdog
Use at your own risk, we will not waste our time with support
if your server times out and you cant put 2+2 together to
figure out that its because you killed the watchdoge
2016-05-05 20:02:38 -05:00
Aikar
5c5c2b0a22 Fix hopper suck in patch bug
was checking for ItemStack's instead of EntityItem
2016-05-05 20:22:01 -04:00
Aikar
2570184ba1 Implement getNMSWorld on EntityMinecartContainer
Was missed because the class is abstract and nothing implementing the class was imported in Paper
2016-05-04 20:33:16 -04:00
Aikar
37eafdba1b Entity Tracking Improvements
If any part of a Vehicle/Passenger relationship is visible to a player,
send all passenger/vehicles to the player in the chain.
2016-05-04 20:10:22 -04:00
Aikar
7947dd83ae Do not load chunks for pathfinding 2016-05-04 19:53:33 -04:00
Aikar
3da6be053f LootTable API & Replenishable Lootables Feature
Provides an API to control the loot table for an object.
Also provides a feature that any Lootable Inventory (Chests in Structures)
can automatically replenish after a given time.

This feature is good for long term worlds so that newer players
do not suffer with "Every chest has been looted"

API and Event added to control the Auto Replenish feature for players.
2016-05-01 23:54:08 -04:00
Aikar
496b49861c Rename a Timings class and split up Tracker timings 2016-04-29 21:23:40 -04:00
Aikar
b1e4588ae7 Improve Maps (in item frames) performance and bug fixes
Maps used a modified version of rendering to support plugin controlled
imaging on maps. The Craft Map Renderer is much slower than Vanilla,
causing maps in item frames to cause a noticeable hit on server performance.

This updates the map system to not use the Craft system if we detect that no
custom renderers are in use, defaulting to the much simpler Vanilla system.

Additionally, numerous issues to player position tracking on maps has been fixed.
2016-04-29 20:04:12 -04:00
Aikar
156b1cc524 comment out the other update call instead
otherwise might break stuff
2016-04-27 22:22:35 -04:00
Aikar
1652bda38d Improve Minecraft Hopper Performance
Removes unnecessary extra calls to .update() that are very expensive
Also reset cooldown each hopper tick that a hopper is full.
2016-04-27 22:15:57 -04:00
willies952002
4d7ed88be2 Reimplement PlayerEditBookEvent 2016-04-26 23:00:23 -04:00
Riley Park
f7f0155c11 Add ability to disable, and to set min/max next tick delay, of frosted_ice. Resolves #172 2016-04-21 23:54:34 -07:00
Riley Park
9d57423ba3 Merge pull request #230 from kashike/feature/arrow-pickup
Arrow pickup rule API
2016-04-25 13:27:51 -07:00
Zach Brown
c2407019bf SPIGOT-1401: Fix dispenser/dropper/furnace placement being different from SP 2016-04-24 19:56:04 -05:00
Aikar
8b2f631d9b Fix Player View Distance API corrupting Chunk Sending - Fixes #207
The Player View Distance patch has been screwing with the configured world view distance.

The world a player was created in would set the players view distance, which would be locked to that distance.

Then switching worlds would not give you an updated view distance.

This then caused issues with what view distance the player should have in the chunk map and did not send chunks to the client correctly during movement.

This patch has now been changed to use a -1 default for "default" and will not override view distance until someone has actually used the API to change it.
2016-04-23 21:39:22 -04:00
Aikar
b91603c782 remove potentially bad check 2016-04-23 13:10:55 -04:00
Aikar
73c44798c5 Fix a vanilla bug thats likely causing the mob spawn issues 2016-04-23 12:27:46 -04:00
Aikar
2a2540e76c improve the jackass test 2016-04-23 11:57:39 -04:00
Riley Park
7735f35e04 Fix wrong variable being checked. Fixes #233 2016-04-22 19:02:57 -07:00
Zach Brown
088c935ff4 Check entity count adds and mark entities removed as needed 2016-04-22 20:35:24 -05:00
Zach Brown
2c501cabe6 More involved workaround for vehicle event cancellation 2016-04-22 17:01:28 -05:00
Zach Brown
1ed12cfca6 Fix EntityDismountEvent and VehicleExitEvent cancellation
Perhaps "workaround" would be the better term
2016-04-22 15:45:22 -05:00
Riley Park
a1de1619c6 Arrow pickup rule API 2016-04-22 00:07:16 -07:00
Zach Brown
ebff483051 EntityHealthRegain isFastRegen API 2016-04-22 01:48:49 -05:00
Zach Brown
c385ec89b5 Merge pull request #212 from willies952002/feature/permReload
Also Reload Plugin-Defined Permissions
2016-04-22 00:58:32 -05:00
Zach Brown
08cfefeb50 Update upstream CB and rebuild 2016-04-20 11:58:49 -05:00
willies952002
9762849407 Also Reload Plugin Defined Permissions
Closes https://github.com/PaperMC/Paper/issues/210
2016-04-19 17:29:33 -04:00
Zach Brown
2197b74f38 Re-add PlayerLocaleChangeEvent implementation
Apparently this was missed at some point, likely during the 1.9 update"
2016-04-19 14:24:55 -05:00
Zach Brown
dea3485028 Remove non-zero BlockIterator block and Loading chunks earlier in player TP patches
Allowing only non-zero BlockIterators breaks an API contract explicitly allowing them
(*eyeroll*)

And loading chunks earlier in the TP patch did not resolve the original issue, and now
that it is resolved, shouldn't actually provide any tangible benefits
2016-04-18 09:40:58 -05:00
Aikar
d306bc67aa Prevent Fire from loading chunks
This causes the nether to spam unload/reload chunks, plus overall
bad behavior.
2016-04-17 17:28:16 -04:00
Zach Brown
f44524249f Don't check velocities on Projectiles
Closes GH-217
2016-04-17 13:32:19 -05:00
Aikar
06e483502f Configurable RCON IP address to bind to 2016-04-16 00:46:01 -04:00
Aikar
d46f2997c2 Allow capping number of attempts at spawning mobs
By default, this logic would loop endlessly trying to fill the world
with entities until it hits the worlds spawn.

This patch will cap the # of attempts to so that the tick does not spend
extra long time on mob spawning
2016-04-15 22:35:03 -04:00
Aikar
75eb8243f7 Ensure we actually removed entity from chunk before decrementing counts
If a plugin hacks into NMS and triggers entity removal, it could
result in an entity being attempted to remove from the chunk twice.

The 2nd pass will return false, as it did not find the entity in the list.

We should not touch entity counts if the entity was not removed, to avoid
going negative.
2016-04-15 21:31:12 -04:00
Zach Brown
d42782457e Check the block water mobs spawn in, not the block under 2016-04-15 15:49:39 -05:00
Aikar
82c08cfbda Fix Bugs with Spigot Mob Spawn Logic - Fixes #138
Spigot drastically altered vanilla mob spawn logic and caused a few issues.
1) Used only spawnable chunks vs entire world for entity counting, resulting in ignoring
other entities in the world, and causing the world to go over its intended limit.

Specially with servers using smaller mob spawn ranges than view distance, as well as affects spawning API

2) Spigot was using 16x16 division instead of vanilla 17x17 division.

Issues got worse in 1.9 due to more chunks being loaded due to 1.9 changes, that fall out
of the monster spawn radius.

This patch returns mob counting to use all loaded chunks, and 17x17 division.
2016-04-14 21:03:57 -04:00
Zach Brown
19eb02cab0 Revert "Only check for async callers, do not remove potentially used variables"
This reverts commit 271e7c5cb4.
2016-04-14 19:26:57 -05:00
Zach Brown
9f0a7201a1 Water mobs should only spawn in the water
Closes GH-199
2016-04-14 17:49:11 -05:00
Zach Brown
271e7c5cb4 Only check for async callers, do not remove potentially used variables
Potentially resolves GH-138
2016-04-14 16:48:52 -05:00
Zach Brown
92d86e55ed Merge pull request #205 from kashike/feature/handshake
Add handshake event
2016-04-13 23:10:34 -05:00
Riley Park
30175bcf9d Add handshake event to allow plugins to handle client handshaking logic themselves 2016-04-13 20:23:07 -07:00
Zach Brown
567224a84c Update bungeecord chat API graduations 2016-04-13 22:18:46 -05:00
Zach Brown
0472876995 Re-add Configurable Player Collision
Nothing to see here, move along
2016-04-13 02:11:40 -04:00
Jedediah Smith
1f9d65d57c Fix some players not being kicked on shutdown
Closes GH-8
2016-04-13 16:02:59 -05:00
Jedediah Smith
4588a80cdc Update SB's affectsSpawning API to use filters
Closes GH-169
2016-04-13 15:57:34 -05:00
Aikar
1fc2eb982f Configurable Player Collision - Resolves #161 2016-04-13 02:11:40 -04:00