Commit Graph

3081 Commits

Author SHA1 Message Date
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
Zach Brown 7e5d36ded5
[16:55:31] *mibby pokes upstream 2016-05-16 17:00:53 -05: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
Aikar 433489ea32 Timings v2: Start methods return self for use in try-with-resources
try (Timing ignored = timing) {
  // Code to time
}
// auto stops timing, even if you return in 42 other places in the block
2016-05-15 17:34:26 -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 2304826f19
Move bad command registration workaround into SMP#dispatch
Fixes GH-274
2016-05-13 00:13:42 -05: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
Aikar 6b016cfcbf clean up spigot working files out of our Paper folder 2016-05-12 22:11:11 -04:00
Aikar 9a0f54ce99 Use a more reliable fixed width sequence for rebuild patches 2016-05-12 21:37:14 -04:00
Aikar 0ebd642d15 Be more targetted with patch deletion 2016-05-12 21:24:19 -04:00
Zach 153c12dfb3 Merge pull request #279 from DemonWav/tmux
Add tmux support to Paper test and add test to paper command help.
2016-05-12 13:09:51 -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
DemonWav f6ef574012
Add tmux support to Paper test and add test to paper command help. 2016-05-11 22:08:19 -05: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
Zach cc7e114f6b Merge pull request #269 from Gabscap/fix-entity-tracker
Add null-check to "Entity Tracking Improvement"
2016-05-06 09:47:21 -05: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 814c534481 Update Upstream 2016-05-04 20:10:27 -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 594fd61d17 update upstream 2016-05-01 15:58:10 -04:00
Aikar 776e0784af Try to determine plugin name on bad plugin command registration 2016-04-30 12:53:20 -04:00
Zach Brown 5f98ec08a5
Timings v2: Plugins don't always register commands properly
*mumbles*
2016-04-30 00:09:29 -05: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
Zach Brown 22f1223a86
Update CB 2016-04-26 23:15:48 -05:00
Daniel Ennis 7365506fc7 Merge pull request #232 from willies952002/implement/BookEditEvent
Reimplement PlayerEditBookEvent
2016-04-26 23:06:54 -04:00
willies952002 02494f5be7
Reimplement PlayerEditBookEvent 2016-04-26 23:04:20 -04:00
kashike bd1b3876fb Merge pull request #229 from kashike/feature/frosted-ice
Add ability to disable, and to set min/max next tick delay, of frosted_ice
2016-04-25 13:33:41 -07: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