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
AlphaBlend
96b534f1f1
Add hit entity to ProjectileHitEvent
2016-10-05 16:07:58 -05:00
Zach Brown
10469dfd46
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
Zach Brown
18799efd0d
Update upstream B/CB/S
2016-10-01 11:47:56 -05:00
Aikar
9e6cbc5203
Disable Vanilla Chunk GC in favor of Bukkits
2016-09-26 01:52:01 -04:00
Aikar
a57cf220e8
don't save level every tick for auto save. whoops
2016-09-26 01:50:26 -04:00
Zach Brown
3d2be415cc
Raise bad Y auto fix to avoid gameplay issues
...
Per discussion here, d3eb13d60d (commitcomment-19153154)
2016-09-23 17:26:14 -05:00
Aikar
f71ef566df
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:47 -04:00
Aikar
d3eb13d60d
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
bd4ececc82
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
501695c26a
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
6a4c510df4
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
1de58ca308
Log chunk save failures as ERROR level
2016-09-21 22:33:09 -04:00
Aikar
0fc642a189
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
56857ae801
Don't save players every tick, oops
2016-09-19 23:39:21 -04:00
Aikar
a63d6e9ea8
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
kashike
53997ebf2c
Configurable flying kick messages
...
Closes #423
2016-09-20 00:59:36 +00:00
Zach Brown
14c974629c
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
eb3ff14afd
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
2b244fb51e
Update upstrean CB/S
2016-09-11 14:55:02 -05:00
Zach Brown
2e880e7676
Make UseItem rate limiting stricter, configurable
2016-09-10 23:27:07 -05:00
Zach Brown
5626ad5f58
Fix patch, need to investigate build issues
2016-09-10 22:45:09 -05:00
Zach Brown
8a8fc89534
[ WHITESPACE ]
2016-09-10 22:09:14 -05:00
Zach Brown
c02c01b2c5
Add rate limiting to PacketPlayInUseItem as well
...
Also removes our toggle for Spigot's option, I doubt anyone uses it.
2016-09-10 21:44:06 -05:00
Zach Brown
3a128de0c1
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
feccc25412
Make collide team removal more patient, safer
...
Fixes GH-414
2016-09-06 12:33:47 -05:00
Zach Brown
d26051ef63
Create a team as needed for disabling collisions
...
Fixes GH-383
2016-09-04 17:29:25 -05:00
Zach Brown
eb7e4424fa
Update upstream B/CB
2016-09-04 16:59:06 -05:00
Brokkonaut
e153f46603
Fix an AIOOBE in inventory handling
...
Closes GH-404
2016-09-04 16:49:29 -05:00
Zach
8d5cd3f054
Merge pull request #408 from kashike/feature/health-conversion
...
Convert new health to a float
2016-09-04 16:05:38 -05:00
kashike
8f91416dcb
@Zbob750 missed a few name changes
2016-09-04 06:35:42 +00:00
Zach Brown
f9f96ea3a5
Update upstream B/CB/S
2016-09-02 22:44:52 -05:00
kashike
e44b71a6b4
Convert new health to a float during set
...
Convert the new health value to a float before doing any validation logic
2016-09-01 23:32:32 +00:00
Zach Brown
8eb7f073d6
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
d8acf96e94
Rename patch file to be more specific
2016-08-31 17:18:54 -05:00
killme
078b6fb1e0
Disable ticking of snow blocks
2016-08-30 23:45:59 +02:00
Zach Brown
8e220b8ef9
Make getEntity dead check more specific
2016-08-28 00:46:21 -05:00
Zach Brown
ba4aaaa607
Restore some timings functionality lost in last
2016-08-27 19:36:26 -05:00
Zach Brown
b170e8cedb
Update upstream B/CB/S
...
Remove two features added upstream
2016-08-27 18:41:58 -05:00
Aikar
173d0fa33f
Timings v2 updates for more chunk related timings (generations)
2016-08-20 00:07:26 -04:00
Alfie Cleveland
d9afd08cee
Optimise BlockStateEnum
2016-08-19 13:06:37 -05:00
Zach Brown
17c9d7d9da
Kick git and rebuild patches
2016-08-15 19:22:10 -05:00
Zach Brown
f80163c4ab
More changes to view distance API implementation
...
Should fix GH-381
2016-08-13 15:26:40 -05:00
Gabriele C
e51a3a332e
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:22:58 -05:00
Zach Brown
997fa37ee7
Update upstream B/CB
2016-08-11 15:07:07 -05:00
Zach Brown
15f3ca7ecb
Update upstream B/CB
2016-08-07 00:01:31 -05:00
Zach Brown
9f95fbcd24
Send Bukkit scoreboards as well as vanilla boards
...
Fixes GH-384
2016-08-04 19:46:35 -05:00
Zach Brown
ae77393ad9
Re-track players that dismount from other players
...
Fixes GH-265
2016-07-31 16:33:25 -05:00
Zach Brown
af70722300
Fix entity tracking when the player is the vehicle
...
Fixes GH-378
2016-07-31 15:22:25 -05:00
Zach Brown
2763f8fe5e
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
8f6208b1d3
Send a fake team as needed for the collision rule
2016-07-30 17:04:39 -05:00
Zach Brown
46bfd418a8
Update upstream B/CB/S
2016-07-30 18:02:34 -05:00
Zach Brown
c62efac3eb
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
7dcb9b67ea
Make alternative falling block ground detection configurable
...
Workaround for GH-336
2016-07-28 20:54:48 -05:00
Zach Brown
dff26d883a
More informative vehicle moved wrongly log message
2016-07-28 19:17:26 -05:00
Zach Brown
f9f1a2e97e
Cleanup obfuscation helper comment format
2016-07-28 19:09:54 -05:00
Zach Brown
e30fab8ee6
Update upstream B/CB
2016-07-26 19:30:03 -05:00
Zach Brown
56d669ca52
Push based hoppers cleanup
2016-07-22 18:54:48 -05:00
Zach Brown
9918f90710
Update upstream CB
2016-07-22 17:24:30 -05:00
Zach Brown
4a551284a5
Fix TNTPrimed head hight calculation
...
Fixes GH-370
2016-07-19 18:48:08 -05:00
Zach Brown
11fabc9552
Less strict skull validation
...
Fixes GH-367
2016-07-18 18:07:48 -05:00
Gabscap
a6ef4fa064
Fix-Banner Patch: Display correct time in F3
2016-07-17 19:56:16 +02:00
Zach Brown
29e16baccb
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
c03e56be67
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:18:38 -05:00
Zach Brown
f1691b34c5
Update upstream B/CB/S
2016-07-15 17:36:53 -05:00
Zach Brown
d67763d7a3
Update upstream B/CB/S
2016-07-12 23:22:58 -05:00
Zach Brown
aea3ab11ab
Block sketchy head items and blocks
2016-07-10 10:45:05 -05:00
Zach Brown
2e2f401132
Update upstream tacos B/CB/S
2016-07-04 18:49:14 -05:00
Zach Brown
97d0490c4a
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
2e2842032f
More Upstream tacos
2016-06-30 01:38:53 -04:00
Aikar
22f2c98375
Upstream tacos
2016-06-30 01:23:30 -04:00
Zach Brown
66bfe72181
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
36f28b9cae
Stop overwriting block locations, root issue looks to be the TE fixer itself
...
Fixes GH-352
2016-06-26 18:39:33 -05:00
Zach Brown
bb3c7b16e5
Move setBlock tile->tile transition workaround into TE removal
2016-06-26 14:13:27 -05:00
Zach Brown
92195ceb57
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
51e2a4f6d6
Update clients when setting blocks to air
2016-06-25 21:09:08 -05:00
Zach Brown
45d9b4c497
Update to MC 1.10.2
2016-06-25 12:21:26 -05:00
Aikar
18433121dc
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
1f940b2ffa
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
3faaaab75d
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
0973e46de1
Update upstream
2016-06-22 22:18:41 -04:00
Zach Brown
a656161705
Update upstream B/CB
2016-06-19 21:41:46 -05:00
Jadon Fowler
d61f37c0b2
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
0aa71fbf41
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
4d7917a87d
Fix issue with setting player view distance
2016-06-18 20:52:18 -05:00
Aikar
c8643cef2e
Remove the item from the correct hand when spawn egg depletes
2016-06-18 03:44:11 -04:00
Techcable
bf40dd5557
Make entities look for hoppers
...
Cherry-pick of PR GH-319
2016-06-18 01:06:44 -05:00
Zach Brown
fab2a52fe1
Fix missed case in top of nether void damage patch
...
General cleanup, etc.
Closes GH-343
2016-06-18 01:06:37 -05:00
Jadon Fowler
f9837e4068
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
d73cd6a4bc
Update upstream B/CB/S
2016-06-16 20:27:47 -05:00
Zach Brown
cabb2450ed
Remove timings addition that was fixed upstream
2016-06-15 17:51:30 -05:00
Zach Brown
cd6dadb8bc
Update upstreams
2016-06-15 17:43:51 -05:00
Zach Brown
98d1d2ac57
Update upstream B/CB
...
Merges fixes for SPIGOT-2404 and SPIGOT-2408 into Paper
2016-06-13 18:42:08 -05:00
Zach Brown
5bad141169
Update upstream CB/S
2016-06-12 12:00:07 -05:00
Zach Brown
14ffaf5d2c
Update upstream B/CB
2016-06-11 22:22:27 -05:00
Jedediah Smith
83191ef7a1
Resolve an ISE in MagmaBlock damage handling
2016-06-11 19:10:37 -05:00
Zach Brown
4924e9398f
MC-80966 - Always send chunk sections
2016-06-11 14:59:28 -05:00
Zach Brown
47db868df1
Update upstream and rebuild
2016-06-11 14:58:54 -05:00
Zach Brown
b864322a18
Simplify getEntity by UUID patch, misc readme changes
2016-06-09 21:43:32 -05:00
Zach Brown
c442e96eb9
Update to Minecraft 1.10
2016-06-08 23:42:46 -05:00
chickeneer
171a079cd2
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
3201cfe07a
Fix issue with chests being erased - #322 Fixed
2016-06-07 03:03:51 -04:00
Aikar
a9d8237509
more chunk unload queue fixes, hopefully fix various odd bugs
2016-06-07 02:08:59 -04:00
Aikar
092733e8ff
Fix bug with lootable refresh not saving inventory if on
2016-06-06 19:56:51 -04:00
Martin Panzer
cf65e06d96
Make falling block height nerf respect doEntityDrops
2016-06-06 21:14:35 +02:00
Aikar
b394ec0472
Add sub timings to chunk map
2016-06-05 00:10:50 -04:00
Zach
c2fd63eebf
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
dbbf2eb27b
Fix a few global configuration options being unavailable
2016-06-04 17:26:11 -05:00
Aikar
e483da14b5
remove part of my hopper patch, not sure its doing what I intended
2016-06-04 11:52:25 -04:00
Aikar
f4a43ec92d
Update Upstream
2016-06-04 11:41:04 -04:00
Martin Panzer
96a263cddf
Fix fallingblocks getting stuck on fences
2016-06-04 10:11:03 +02:00
Aikar
4becba32a6
Only send Dragon/Wither Death sounds to same world
...
Also fix view distance lookup
2016-05-31 23:56:19 -04:00
Aikar
1aef85c2bb
Fix skeleton horse spawn chance ignoring difficulty modifier if custom set
...
Also reduce diff
2016-05-30 12:50:57 -04:00
Zach
a272c3c0cb
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
0ae5768736
Update upstreams
2016-05-29 18:32:21 -05:00
Zach Brown
0a98d670fe
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
7add3186a7
Add server-name as server parameter
2016-05-28 16:56:55 +02:00
Aikar
a8d326f367
re-add timing that spigot missed
2016-05-27 22:29:09 -04:00
Aikar
dfd19063f9
Ensure chunks never load async
...
Force operation to main thread if it occurs async
2016-05-27 22:28:23 -04:00
Zach Brown
06a6c422b4
Update upstreams
2016-05-27 21:22:18 -05:00
Aikar
fe18b38aea
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
13492455a1
Update Upstream
2016-05-25 12:37:17 -04:00
Martin Panzer
391d0c04f8
Optimize Redstone torch list removal
2016-05-24 20:08:40 -05:00
Zach Brown
b71c0e6f49
Remove comment and fix build }}}}}
2016-05-22 21:20:15 -05:00
Zach Brown
3ab1f229c5
Re-add some method synchronization and move to a SingleThreadedExecutor in MCUtils
2016-05-22 21:17:19 -05:00
Zach Brown
aaf6c3f329
Temporarily remove synchronization from UserCache optimizations
...
In regards to GH-301
2016-05-22 21:07:45 -05:00
Zach Brown
be3daf857b
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
08701a47f7
Update upstream CB
...
Closes GH-303
2016-05-21 22:07:14 -05:00
Zach Brown
df1df5d4b4
Update B/CB/S
...
Closes GH-288
2016-05-20 17:32:50 -05:00
Aikar
d22f9071ff
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
2c6feab963
MC-99914 - ensure EntityItem loads before EntityPotion
2016-05-16 22:54:48 -04:00
Aikar
18b4817a33
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
a8271cdc05
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
484a23f437
Add Async Helper method to MCUtil
2016-05-16 20:50:09 -04:00
Aikar
e56bbcdcda
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
613655eae6
TileEntityLootable can call processRefill with a null player
...
Seems specific to EntityMinecartChest
Fixes GH-290
2016-05-15 01:41:36 -05:00
Aikar
024bc323bc
More cases of avoiding marking active for chunks, to stop potential leaks
2016-05-13 22:27:20 -04:00
Aikar
db83abe17d
Bring back an EAR optimization from 1.9.2
2016-05-13 01:39:03 -04:00
Aikar
bf2ed8af45
Fix chunk leak issue with queued light updates
2016-05-13 01:34:37 -04:00
Zach Brown
4cfcd525c4
Make watchdoge disabler its own patch file
...
Change implementation, smaller diff, less NPE
2016-05-12 23:05:46 -05:00
BlackHole
ad63fd7d6a
Override BlockPosition.MutableBlockPosition.isValidLocation()
...
Fixes GH-281
2016-05-12 12:58:45 -05:00
Aikar
74a73b7223
Fix T/TE removal list bug
...
Thanks @Cat6363
2016-05-12 08:55:35 -04:00
Aikar
dba25d1e86
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
8e57fdd12b
Fix chunk unload leak issues due to neighbor updates
2016-05-12 01:55:53 -04:00
Aikar
b59e2a51de
Paper 1.9.4 Update
2016-05-12 01:01:13 -04:00
Zach Brown
442d190103
Make beacons force secondary potion effect application
...
Fixes GH-273
Missed case from earlier fix 52f462d52d
2016-05-08 15:34:40 -05:00
Aikar
c10df228a7
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
0494f36efe
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
abd098642a
Add null-check to "Entity Tracking Improvement"
2016-05-06 16:42:09 +02:00
Zach Brown
fa24cff5ba
Move this somewhere sane
2016-05-05 20:18:20 -05:00
Zach Brown
32ecc21162
Revert "Add debug property to disable the watchdog"
...
This reverts commit d1c470756f962801e7d3bc19bee9440f33a4706e.
2016-05-05 20:10:32 -05:00
Zach Brown
4f73ddb766
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:04:28 -05:00
Aikar
9dffc43aec
Fix hopper suck in patch bug
...
was checking for ItemStack's instead of EntityItem
2016-05-05 20:22:01 -04:00
Aikar
f4a62ba294
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
53abbfdc4c
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
3f0e24eaf3
Do not load chunks for pathfinding
2016-05-04 19:53:33 -04:00
Aikar
211cba970b
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-04 19:46:28 -04:00
Aikar
368a822c47
Rename a Timings class and split up Tracker timings
2016-04-29 21:23:40 -04:00
Aikar
5aa3237a21
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
242ddc939b
comment out the other update call instead
...
otherwise might break stuff
2016-04-27 22:22:35 -04:00
Aikar
28bf70ee16
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
02494f5be7
Reimplement PlayerEditBookEvent
2016-04-26 23:04:20 -04:00
kashike
db8f9e663c
Add ability to disable, and to set min/max next tick delay, of frosted_ice. Resolves #172
2016-04-25 13:36:21 -07:00
kashike
0cfd3c0dc6
Merge pull request #230 from kashike/feature/arrow-pickup
...
Arrow pickup rule API
2016-04-25 13:27:51 -07:00
Zach Brown
ef64712c6c
SPIGOT-1401: Fix dispenser/dropper/furnace placement being different from SP
2016-04-24 19:56:04 -05:00
Aikar
9381554475
update upstream
2016-04-23 22:41:46 -04:00
Aikar
2cbd400e17
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
422f32484b
remove potentially bad check
2016-04-23 13:10:55 -04:00
Aikar
55afa33cbc
Fix a vanilla bug thats likely causing the mob spawn issues
2016-04-23 12:27:46 -04:00
Aikar
485ad4238b
improve the jackass test
2016-04-23 11:57:39 -04:00
Zach Brown
3591fb7ed9
Update upstream Spigot and rebuild
2016-04-22 22:21:10 -05:00
kashike
784ba17340
Fix wrong variable being checked. Fixes #233
2016-04-22 19:02:57 -07:00
Zach Brown
a1e3c0b12b
Check entity count adds and mark entities removed as needed
2016-04-22 20:35:24 -05:00
Zach Brown
e9ffa94994
More involved workaround for vehicle event cancellation
2016-04-22 18:43:22 -05:00
Zach Brown
4f7b7bb31a
Fix EntityDismountEvent and VehicleExitEvent cancellation
...
Perhaps "workaround" would be the better term
2016-04-22 15:45:22 -05:00
kashike
7ac2b8139e
Arrow pickup rule API
2016-04-22 00:07:58 -07:00
Zach Brown
a6536804fd
EntityHealthRegain isFastRegen API
2016-04-22 01:48:49 -05:00
Zach
b3a6b5d2a1
Merge pull request #212 from willies952002/feature/permReload
...
Also Reload Plugin-Defined Permissions
2016-04-22 00:58:32 -05:00
Zach Brown
9abe6f6882
Update upstream CB and rebuild
2016-04-20 11:58:49 -05:00
willies952002
a313078d97
Also Reload Plugin Defined Permissions
...
Closes https://github.com/PaperMC/Paper/issues/210
2016-04-19 17:29:33 -04:00
Zach Brown
c08f771081
Re-add PlayerLocaleChangeEvent implementation
...
Apparently this was missed at some point, likely during the 1.9 update"
2016-04-19 14:25:05 -05:00
Zach Brown
1bce5c2438
Here have a rebuild while we're at it
2016-04-18 09:43:19 -05:00
Zach Brown
68cdc4fa90
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:41:11 -05:00
Aikar
ce9e19cfed
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
2e57c5774e
Don't check velocities on Projectiles
...
Closes GH-217
2016-04-17 13:32:19 -05:00
Aikar
8ba4b64739
Configurable RCON IP address to bind to
2016-04-16 00:46:01 -04:00
Aikar
ba9266a37b
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
845090e570
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
8672653871
Check the block water mobs spawn in, not the block under
2016-04-15 15:49:39 -05:00
Aikar
77cdcc281b
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
794a848857
Revert "Only check for async callers, do not remove potentially used variables"
...
This reverts commit da7320fc42
.
2016-04-14 19:26:57 -05:00
Zach Brown
8ccd31ed38
Water mobs should only spawn in the water
...
Closes GH-199
2016-04-14 18:06:29 -05:00
Zach Brown
da7320fc42
Only check for async callers, do not remove potentially used variables
...
Potentially resolves GH-138
2016-04-14 16:48:52 -05:00
Zach
2924ae631e
Merge pull request #205 from kashike/feature/handshake
...
Add handshake event
2016-04-13 23:10:34 -05:00
kashike
66d3688b39
Add handshake event to allow plugins to handle client handshaking logic themselves
2016-04-13 21:12:57 -07:00
Zach Brown
d07eac31bc
Update bungeecord chat API graduations
2016-04-13 22:21:42 -05:00
Zach Brown
0084b02703
Re-add Configurable Player Collision
...
Nothing to see here, move along
2016-04-13 16:12:44 -05:00
Jedediah Smith
7ab9a51731
Fix some players not being kicked on shutdown
...
Closes GH-8
2016-04-13 16:04:21 -05:00
Jedediah Smith
15cdfc7472
Update SB's affectsSpawning API to use filters
...
Closes GH-169
2016-04-13 16:03:49 -05:00
Aikar
4ee5d3eb31
Configurable Player Collision - Resolves #161
2016-04-13 02:11:40 -04:00
Aikar
d98f9cc5ae
Don't tick Skulls - unused code - Fixes #202
2016-04-13 00:32:05 -04:00
Aikar
e177666bfb
Remove unused World Tile Entity List
...
Massive hit to performance and it is completely unnecessary.
2016-04-13 00:27:38 -04:00
Aikar
3f68b7f930
Update PlayerConnection for all teleportation of players
...
Previous fix for SPIGOT-1903 only applied to world changes, but many other
cases of players been teleporting can cause that same bug. So call it any time
setPosition is called to ensure we never falsely trigger "moved too quickly"
And this commit may be considered evil to some people.
2016-04-12 23:26:42 -04:00
Zach Brown
189235906d
Update upstream
2016-04-12 11:31:54 -05:00
Zach Brown
ef3f6a481a
Update upstreams
2016-04-11 10:30:12 -05:00
Aikar
a0d38c0b55
update MCUtil.cmpFromMessage to use proper JSON
2016-04-11 01:06:28 -04:00
Aikar
8f89e0f84c
SPIGOT-1903: Update PlayerConnection on world change - Fixes #120
2016-04-10 22:36:56 -04:00
Zach Brown
a3358b1915
Ugly workaround for SPIGOT-1915 & GH-114
...
Closes GH-114
2016-04-10 03:24:54 -05:00
Zach Brown
6fc0a013a5
Apply the Ensure inv drag is in bounds patch properly
...
Closes GH-174
2016-04-09 21:33:29 -05:00
Zach Brown
a97fe29d9d
Can't expect others to follow formatting if I don't
2016-04-09 13:54:47 -05:00
Zach Brown
4ed5672cd9
Backport a memory cleanup change from 16w14a
2016-04-09 13:50:56 -05:00
Zach Brown
38d2939ff1
Update upstreams and rebuild
2016-04-08 17:24:26 -05:00
Zach Brown
44a1d43781
Simplify vanilla scoreboard nickname coloring patch
...
Closes GH-195
2016-04-07 17:31:09 -05:00
Zach Brown
6b75dac6f4
Add basic support for using vanilla style, world-based, scoreboard name coloring
...
Closes GH-188
2016-04-06 01:10:26 -05:00
Aikar
11d1937145
Include Redstone Torches in the redstone physics event optimization
2016-04-05 23:20:46 -04:00
Aikar
539e1e024c
Remove Debug checks from DataBits
...
These are super hot and causing noticeable hits
Before: http://i.imgur.com/nQsMzAE.png
After: http://i.imgur.com/nJ46crB.png
2016-04-05 21:55:07 -04:00
Aikar
cdd926c1e9
Re-add fastutil map to Chunk map. Amaranth confirmed its faster by 3x
2016-04-05 20:43:11 -04:00
Aikar
8e68f444f1
Fix Nether/End world unloading spawn chunks - Fixes #92
2016-04-05 19:53:30 -04:00
Zach Brown
bce92696c6
Update upstream and rebuild
2016-04-04 09:53:03 -05:00
Aikar
94fd16aa4a
fix keep spawn loaded config
2016-04-03 23:08:13 -04:00
Aikar
62071aad36
Fix errorneous call of EntityDismountEvent
2016-04-03 19:11:25 -04:00
Aikar
d46dec88b4
Fix Cancelling BlockPlaceEvent triggering physics
2016-04-03 17:49:31 -04:00
Aikar
e11a8f0bd5
Configurable Keep Spawn Loaded range per world
...
This lets you disable it for some worlds and lower it for others.
2016-04-03 17:34:38 -04:00
Aikar
47221671ba
Configurable Grass Spread Tick Rate
...
Raise this value to make grass spread slower. Set to 0 to turn off grass spreading all together.
2016-04-03 16:29:39 -04:00
kashike
73fc582824
Fix reducedDebugInfo not initialized on client
2016-04-03 05:09:42 -05:00
Zach Brown
f6782d5738
Rebuild
2016-04-03 05:06:48 -05:00
Zach Brown
d463cc6139
Merge branch 'feature/unknown-use' of https://github.com/kashike/Paper into kashike-feature/unknown-use
2016-04-03 04:52:36 -05:00
Zach Brown
2f79610112
Mark chunk as active if ChunkUnloadEvent is cancelled
...
Potentially related to GH-169
2016-04-03 02:02:06 -05:00
Zach Brown
bb265b967d
We don't need to go fast anymore
2016-04-03 02:00:35 -05:00
kashike
871920f2f5
Add PlayerUseUnknownEntityEvent
2016-04-02 18:10:41 -07:00
Aikar
cd3d8fb27e
Update upstream
2016-04-01 22:08:40 -04:00
DemonWav
2b99b1095e
<~Z750> sex it up for me
2016-04-01 01:59:59 -05:00
Zach Brown
d8c6c41507
gottagofast
2016-04-01 01:33:12 -05:00
Aikar
081420d738
improve implementation of chunk access patch
2016-04-01 00:35:44 -04:00
Aikar
c0e1410682
Fix pom to be compile instead of provided for fastutil
2016-04-01 00:35:21 -04:00
Aikar
c92ce02363
Move fastutil from a patch file to a library, and improve EAR
2016-04-01 00:18:18 -04:00
Aikar
78202f87b7
Remove Long2ObjectHashMap for Chunks
...
Speaking with Amaranth, his point of his implementation was that most
of the lookups are on loaded chunks, so that code is optimized for that case.
While Long2Object should be faster as a general purpose map,
for MC uses, Amaranth's version should be faster. Will try to benchmark
the 2 at some future.
2016-03-31 22:17:33 -04:00
Aikar
d03da137f2
Fix isEdgeOfChunk check for MCUtils
2016-03-31 22:17:33 -04:00
Aikar
578af64827
Update upstream for memory leak patch
2016-03-31 21:47:17 -04:00
Aikar
dea2d41b86
Do not load chunks for light checks
...
Should only happen for blocks on the edge that uses neighbors light level
(certain blocks). In that case, there will be 3-4 other neighbors to get a light level from.
2016-03-31 19:29:06 -04:00
Aikar
0ba94906ad
Fix Massive Memory Leak
...
Pathfinder objects are storing references to ChunkCache's, and never cleaning up.
These ChunkCache's then leak other entity objects. Those entity objects then have leaks to their
own chunk cache. A recursive problem....
Clean up the ChunkCache reference after it is done being used.
2016-03-31 19:08:27 -04:00
Zach Brown
fb52abdf7e
Upstream merge CB, rebuild patch
2016-03-31 12:58:20 -05:00
Zach Brown
582ad801b5
Missed diff, unused config entry, general cleanup
...
cc GH-170
2016-03-30 22:56:30 -05:00
Aikar
3b2d6fd59e
add null check to getEntity API
2016-03-30 21:56:07 -04:00
Aikar
fb74f6dbfd
Use paperclip.properties so CI can work
2016-03-30 21:27:13 -04:00
Aikar
38df6e505c
Paper 1.9.2 Update
2016-03-30 20:50:23 -04:00
Aikar
f051ea2ab3
Use FastUtil Long/Int HashMap's
...
For DataWatcher, swap out plain Integer key HashMap for a Int2ObjectOpenHashMap
For ChunkProviderServer, swap out CB's custom LongHashMap with Long2ObjectOpenHashMap
These collections are super fast as seen
http://java-performance.info/hashmap-overview-jdk-fastutil-goldman-sachs-hppc-koloboke-trove-january-2015/
2016-03-30 09:43:11 -05:00
Zach Brown
a785a9460e
Skip dead entities in getEntity(UUID) API
2016-03-30 09:41:12 -05:00
DemonWav
4bf9c3c177
Add getEntity by UUID API
2016-03-30 01:20:36 -05:00
Zach Brown
d46c56abf0
Put this patch in the patches folder, so it's actually used
2016-03-29 13:56:19 -05:00
Antony Riley
af65eaaa3b
Sanitise RegionFileCache and make cache size configurable.
2016-03-29 19:09:43 +03:00
Fabse
d71444f966
Add a workaround for bugged Minecart drop names
2016-03-28 22:41:27 -05:00
Aikar
48dff29f31
Remove, not invalidate, Metadata on reload
...
Objects loaded over different class loaders are not the same. Nasty dragons lie here.
Also clean up the previous patch to no longer butcher imports.
2016-03-28 22:43:05 -04:00
Aikar
c09424fd33
Prevent Waterflow BlockFromToEvent from loading chunks
...
Many protection plugins would unintentionally trigger chunk loads
by calling .getToBlock() on an unloaded chunk, killing performance.
Simply skip the event call. as CraftBukkit blocks changing the block
of unloaded chunks anyways.
This keeps behavior consistent, vs inconsistent flowing based on plugin triggered loads.
2016-03-28 22:05:22 -04:00
Aikar
b99e8381ab
EntityPathfindEvent
...
Fires when an Entity decides to start moving to a location.
This is not the same as a move event. This only fires when an entity chooses
to start moving to a location, and allows cancelling that pathfind.
Additionally, only get is supported for now. Unsure if changing target location
is safe to do.
2016-03-28 21:24:45 -04:00
Aikar
9ff01b16ab
Add MCUtils helper
...
This will be used by my next commit. But trying to get the build going
since CI blew up
2016-03-28 21:01:42 -04:00
Aikar
fb3834f805
And AddTo is a different event than RemoveFrom
2016-03-28 20:58:42 -04:00
Aikar
53309e9172
Actually fire those events
2016-03-28 20:57:15 -04:00
Aikar
89c912061b
Configurable Chunk Inhabited Timer
...
Vanilla stores how long a chunk has been active on a server, and dynamically scales some
aspects of vanilla gameplay to this factor.
For people who want all chunks to be treated equally, you can disable the timer.
2016-03-28 20:47:46 -04:00
Aikar
22b248d631
Entity AddTo/RemoveFrom World Events
...
These events will give plugins a reliable way to track every entity that is added
or removed from a world, so that one may always ensure they are in a desired state.
2016-03-28 20:33:10 -04:00
Aikar
030de0f42a
Update upstream
2016-03-28 20:27:56 -04:00
Aikar
d52a49cfa1
Option to disable BlockPhysicsEvent for Redstone
...
Not sure of any reason a plugin would need to act on a Physics event
for redstone. There is a BlockRedstoneEvent that plugins can also use
for accessing redstone activity.
Defaulting this to false will provide substantial performance improvement
by saving millions of event calls on redstone heavy servers.
2016-03-28 19:57:13 -04:00
Zach Brown
0363644455
Don't set spawn world in PlayerInitialSpawnEvent
...
Fixes GH-85 and GH-157
2016-03-28 13:00:47 -05:00
Zach Brown
249e52e7a8
Fix player tab list API
2016-03-28 10:41:04 -05:00
Zach Brown
b210aa7dfe
Update upstream B/CB/Spigot and rebuild
2016-03-27 20:48:50 -05:00