Commit Graph

149 Commits

Author SHA1 Message Date
Aikar 106787f894 Timings v2 cleanups - potential overflow fix and fix bad hostnames
if hostname is invalid on system, just use a static string

also cleans up visibility of a lot of code, hopefully will help jvm optimize more.
2016-06-30 01:32:00 -04:00
Zach Brown 83472d4c99
Update upstream B/CB/S 2016-06-26 14:13:34 -05:00
Zach Brown 45d9b4c497
Update to MC 1.10.2 2016-06-25 12:21:26 -05:00
Aikar 0152e0f616 Update Entity AddTo|RemoveFrom World events to be EntityEvents 2016-06-24 00:17:23 -04:00
DemonWav 8862652351
Add repo to handle the bungee-cord chat dependency 2016-06-23 00:34:56 -05:00
Zach Brown 14ffaf5d2c
Update upstream B/CB 2016-06-11 22:22:27 -05:00
Zach Brown c442e96eb9
Update to Minecraft 1.10 2016-06-08 23:42:46 -05:00
Zach Brown dbbf2eb27b
Fix a few global configuration options being unavailable 2016-06-04 17:26:11 -05:00
Aikar f4a43ec92d Update Upstream 2016-06-04 11:41:04 -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 2304826f19
Move bad command registration workaround into SMP#dispatch
Fixes GH-274
2016-05-13 00:13:42 -05:00
Aikar b59e2a51de Paper 1.9.4 Update 2016-05-12 01:01:13 -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 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
willies952002 02494f5be7
Reimplement PlayerEditBookEvent 2016-04-26 23:04:20 -04:00
kashike 0cfd3c0dc6 Merge pull request #230 from kashike/feature/arrow-pickup
Arrow pickup rule API
2016-04-25 13:27:51 -07:00
Aikar 9381554475 update upstream 2016-04-23 22:41:46 -04:00
Zach Brown 3591fb7ed9
Update upstream Spigot and rebuild 2016-04-22 22:21:10 -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 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
Spottedleaf 6876b1d7a6 Also fix javadocs in the Server interface 2016-04-17 13:35:49 -05:00
Spottedleaf dc9ab4dafc Fix silly Javadocs in Bukkit.broadcast 2016-04-16 09:23:37 -07: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 a406f34921
Only allow non-zero value maxDistances for BlockIterators
Prevents them from iterating infinitely and hanging the server
2016-04-12 23:10:04 -05:00
Zach Brown ef3f6a481a
Update upstreams 2016-04-11 10:30:12 -05:00
Zach Brown 6dae26cf14 Use 'Paper' for our config file in timings 2016-04-05 23:27:53 -05:00
Aikar 98ea811d9b 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
kashike 871920f2f5 Add PlayerUseUnknownEntityEvent 2016-04-02 18:10:41 -07:00
Aikar c92ce02363 Move fastutil from a patch file to a library, and improve EAR 2016-04-01 00:18:18 -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
DemonWav 4bf9c3c177 Add getEntity by UUID API 2016-03-30 01:20:36 -05:00
Aikar 31a482e9f0 Move Timings v2 TimingHandler to FastUtil Int map 2016-03-30 01:59:47 -04:00
Aikar c2f872aed3 Add Minimal FastUtil int/long collections.
Importing the full library would double the jar size... its way too large.
So lets just import the basic int/long based collections to then use
to improve performance on these kind of collections.
2016-03-30 01:57:56 -04: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 3d61632b53 Remove last patch, doesn't exactly do what I thought it was doing 2016-03-28 22:28:52 -04:00
Aikar e77e65499f Remove Invalidated Metadata
Bukkit was using an unimplemented method to invalidate plugin meta.
2016-03-28 22:15:23 -04:00
crast 6a54004bb4 Reduce thread synchronization in MetadataStoreBase
Use ConcurrentHashMap to allow thread-safe access methods and very
limited synchronized portions to allow much higher concurrency in
MetadataStore as well as far less locking, especially on reads
2016-03-28 22:10:01 -04:00
Aikar e90cdc3639 Remove some code from Timings v2 that was only for EMC. 2016-03-28 21:41:17 -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 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
Zach Brown b210aa7dfe Update upstream B/CB/Spigot and rebuild 2016-03-27 20:48:50 -05:00
Zach 5108183346 Merge pull request #153 from kashike/feature/slot
Access items by EquipmentSlot
2016-03-27 02:24:12 -05:00
Zach Brown 85ee80938b Update upstream and rebuild 2016-03-27 01:40:17 -05:00