Commit Graph

3254 Commits

Author SHA1 Message Date
Zach Brown 0704c2c54c Update CB/Spigot : Add 1.9.1 protocol 2016-03-30 10:15:07 -05: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
Zach 6462bb4e20 Merge pull request #167 from DemonWav/getentity
Add getEntity by UUID API
2016-03-30 01:30:29 -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 23467ff8d6 Update contributing information to be more accurate 2016-03-30 01:03:27 -04:00
Zach Brown d46c56abf0 Put this patch in the patches folder, so it's actually used 2016-03-29 13:56:19 -05:00
Zach 9bebf86d50 Merge pull request #163 from cybertiger/region-file-cache
Sanitise RegionFileCache and make cache size configurable.
2016-03-29 11:15:30 -05:00
Zach 19f8c428c0 Merge pull request #162 from cybertiger/region-file-io-ops
Reduce IO ops opening a new region file.
2016-03-29 11:15:23 -05:00
Antony Riley 91d9131e0c Reduce IO ops opening a new region file. 2016-03-29 19:11:48 +03:00
Antony Riley af65eaaa3b Sanitise RegionFileCache and make cache size configurable. 2016-03-29 19:09:43 +03:00
Aikar 77663e58d9 Link to contributing for PR section 2016-03-29 00:07:27 -04:00
Aikar 08c9934f83 update README for PR instructions 2016-03-28 23:59:19 -04:00
Zach Brown ebe7176b2e Merge pull request #158 from Minefabser/fix-minecart 2016-03-28 22:41:54 -05:00
Fabse d71444f966 Add a workaround for bugged Minecart drop names 2016-03-28 22:41:27 -05:00
Aikar b97cbbb698 Update upstream 2016-03-28 23:19:49 -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 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 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 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 89ae312c35 Update module urls 2016-03-28 20:38:51 -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 ba7eade76f Update upstream B/CB
Notably to limit byte array length
2016-03-28 15:21:30 -05: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
Zach Brown bf877b9a72 Check async spawn chunk check, remove unused variables, GH-159 2016-03-27 20:31:23 -05:00
kashike b14b3b8803 Merge pull request #155 from DemonWav/otherBlockPosFix
Add same infi-loop fix to other identical block of code I missed earlier
2016-03-27 03:45:56 -07:00
DemonWav 34973fe898 Add same infi-loop fix to other identical block of code I missed earlier 2016-03-27 05:42:02 -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
kashike eeb64630cd Access items by EquipmentSlot 2016-03-26 22:23:42 -07:00
Zach c3b869fdf2 Merge pull request #152 from DemonWav/blockPosInfLoop
Prevent possible infinite loop in BlockPosition iterator
2016-03-26 22:30:04 -05:00
DemonWav ef3d40bf2a Prevent possible infinite loop in BlockPosition iterator 2016-03-26 22:06:33 -05:00
Zach 59363a3f3f Merge pull request #149 from Gabscap/fix-teleport
Load chunks before player teleport - Fixes #147
2016-03-26 16:17:38 -05:00
Zach b7586a8696 Merge pull request #148 from meytro/patch-1
Update ISSUE_TEMPLATE.md
2016-03-26 16:17:25 -05:00
Gabscap f356b447b7 Load chunk before player teleport - Fixes #147 2016-03-26 19:05:31 +01:00
meytro 1eebebb7c5 Update ISSUE_TEMPLATE.md
Additional spacing to make it easier to read.
2016-03-26 14:00:59 +01:00
Zach Brown 79c54e4434 Pull in ArrowPickupItemEvent and legacy dataconverter fix from SportBukkit 2016-03-26 03:38:02 -05:00