Commit Graph

2063 Commits

Author SHA1 Message Date
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 d48896cf0e Z plays with scripts and GPG part 2 2016-04-13 22:39:54 -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
Zach Brown b53c80ce35 Revert "Z plays with the scripts and GPG some more"
This reverts commit e3e56baeea.
2016-04-13 22:39:54 -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 e3e56baeea Z plays with the scripts and GPG some more 2016-04-13 22:05:59 -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
Aikar 2e00b8d691 Don't tick Skulls - unused code - Fixes #202 2016-04-13 00:32:05 -04:00
Aikar bfdc936100 Remove unused World Tile Entity List
Massive hit to performance and it is completely unnecessary.
2016-04-13 00:27:38 -04:00
Zach Brown 1aa718c217 Only allow non-zero value maxDistances for BlockIterators
Prevents them from iterating infinitely and hanging the server
2016-04-12 23:08:55 -05:00
Aikar e0b057c30f 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 14f6bee0a1 Update upstream 2016-04-12 11:31:54 -05:00
Zach Brown f54aa3ca2c Update upstreams 2016-04-11 10:30:12 -05:00
Aikar 87deb42c1c update MCUtil.cmpFromMessage to use proper JSON 2016-04-11 01:06:28 -04:00
Aikar b602d093ec SPIGOT-1903: Update PlayerConnection on world change - Fixes #120 2016-04-10 22:36:56 -04:00
Aikar 52ca5f228b upstream 2016-04-10 19:58:05 -04:00
Zach Brown 348469459d Ugly workaround for SPIGOT-1915 & GH-114
Closes GH-114
2016-04-10 03:24:54 -05:00
Zach Brown 88d2d15bb4 Apply the Ensure inv drag is in bounds patch properly
Closes GH-174
2016-04-09 21:33:29 -05:00
Aikar f1da39ab0f Provide ability to wrap test server command for willies... 2016-04-09 21:46:09 -04:00
Zach Brown 309e2bd0d3 Update upstream CB 2016-04-09 20:44:54 -05:00
Aikar 755eaa845d Add testserver command - quickly start a test server
This will help encourage testing with some widely used plugins
to help identify issues caused by changes before they are pushed.
2016-04-09 21:33:32 -04:00
Zach Brown 15168bcbbe Update .travis.yml while we're here
Just in case we ever need it again
*cough* or they loosen up their restrictions on system use *cough*
2016-04-09 14:01:01 -05:00
Zach Brown 5cbb907ff1 Can't expect others to follow formatting if I don't 2016-04-09 13:54:47 -05:00
Zach Brown b6dd739ed4 Update B/CB 2016-04-09 13:51:47 -05:00
Zach Brown b605f1f95f Backport a memory cleanup change from 16w14a 2016-04-09 13:48:06 -05:00
Zach Brown c7bdf516da Update upstreams and rebuild 2016-04-08 17:24:26 -05:00
Zach Brown d6b1996ab3 Simplify vanilla scoreboard nickname coloring patch
Closes GH-195
2016-04-07 17:31:06 -05:00
Zach Brown 85a924b7dd Move comment to its proper location 2016-04-07 01:39:54 -05:00
Zach Brown d158c69570 Disable, Enable GPG signs as needed Pre, Post git am
Disable GPG signing before AM, slows things down and doesn't play nicely.
There is also zero rational or logical reason to do so for these sub-repo AMs.
It's re-enabled (if needed) immediately after, pass or fail.

Given GitHub's recent push for GPG signing, and our own testing, this is not
only helpful, but necessary.
2016-04-07 01:36:23 -05:00
Zach Brown 933829f334 Update upstream B/CB/Spigot 2016-04-07 00:32:10 -05:00
Zach Brown b9f596b8d2 Add basic support for using vanilla style, world-based, scoreboard name coloring
Closes GH-188
2016-04-06 01:10:26 -05:00
Zach Brown d79fcf72fa Use 'Paper' for our config file in timings 2016-04-05 23:27:53 -05:00
Aikar 1223fcc8bb Include Redstone Torches in the redstone physics event optimization 2016-04-05 23:20:46 -04:00
Aikar a161d480b4 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 48ba10bc77 Re-add fastutil map to Chunk map. Amaranth confirmed its faster by 3x 2016-04-05 20:43:11 -04:00
Aikar 0726de949b Fix Nether/End world unloading spawn chunks - Fixes #92 2016-04-05 19:53:30 -04:00
Kyle Wood ef6b4cafc0 Update CONTRIBUTING.md for the new build system 2016-04-05 12:34:56 -05:00
Zach Brown b4a0af94bb Upstream merge 2016-04-05 11:42:40 -05:00
Aikar 092d08f15c Update Timings to use Region based chunk reporting
This will drastically reduce file size on large servers and help
avoid the parser failing to load the report.

This will also reduce memory usage of timings data.
2016-04-05 01:20:25 -04:00
Zach Brown 3506f09ca7 Update upstream and rebuild 2016-04-04 09:53:03 -05:00