Commit graph

586 commits

Author SHA1 Message Date
Aikar
6b24c4cfde Timings v2: confirm before reset. Add delays before report generation
Require user to confirm the timings reset, warning them that they should not be doing this.
Also require Timings to have ran for 3 minutes before allowing the report command.
Also require 1 minute intervals between reports to stop report spam.
2016-08-19 23:42:38 -04:00
Zach Brown
eacefd4282 Kick git and rebuild patches 2016-08-15 19:22:10 -05:00
Zach Brown
cae6930ae4 Update maven repo urls 2016-08-06 16:49:55 -05:00
Aikar
869b06ea1e 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:31:00 -04:00
Zach Brown
de4a16ead0 Update upstream B/CB/S 2016-06-26 14:13:00 -05:00
Zach Brown
57cff1f17f Update to MC 1.10.2 2016-06-25 12:19:04 -05:00
Aikar
997285e344 Update Entity AddTo|RemoveFrom World events to be EntityEvents 2016-06-24 00:16:46 -04:00
DemonWav
1114f55d45 Add repo to handle the bungee-cord chat dependency 2016-06-23 00:32:41 -05:00
Zach Brown
9b192b2708 Update to Minecraft 1.10 2016-06-08 22:57:14 -05:00
Aikar
8e62fb709b 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
f623f903cd Move bad command registration workaround into SMP#dispatch
Fixes GH-274
2016-05-13 00:13:38 -05:00
Aikar
34fcd8ccc2 Paper 1.9.4 Update 2016-05-11 22:07:46 -04:00
Aikar
3da6be053f 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-01 23:54:08 -04:00
Aikar
3b3f85f88f Try to determine plugin name on bad plugin command registration 2016-04-30 12:53:20 -04:00
Zach Brown
81f624837f Timings v2: Plugins don't always register commands properly
*mumbles*
2016-04-30 00:09:29 -05:00
Riley Park
9d57423ba3 Merge pull request #230 from kashike/feature/arrow-pickup
Arrow pickup rule API
2016-04-25 13:27:51 -07:00
Aikar
71db253321 update upstream 2016-04-23 22:41:46 -04:00
Zach Brown
36394d5284 Update upstream Spigot and rebuild 2016-04-22 22:20:34 -05:00
Zach Brown
1ed12cfca6 Fix EntityDismountEvent and VehicleExitEvent cancellation
Perhaps "workaround" would be the better term
2016-04-22 15:45:22 -05:00
Riley Park
a1de1619c6 Arrow pickup rule API 2016-04-22 00:07:16 -07:00
Zach Brown
ebff483051 EntityHealthRegain isFastRegen API 2016-04-22 01:48:49 -05:00
Zach Brown
dea3485028 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:40:58 -05:00
Spottedleaf
949de05c01 Also fix javadocs in the Server interface 2016-04-17 13:35:31 -05:00
Spottedleaf
903001bbea Fix silly Javadocs in Bukkit.broadcast 2016-04-16 09:23:37 -07:00
Zach Brown
92d86e55ed Merge pull request #205 from kashike/feature/handshake
Add handshake event
2016-04-13 23:10:34 -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
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
Zach Brown
f54aa3ca2c Update upstreams 2016-04-11 10:30:12 -05:00
Zach Brown
d79fcf72fa Use 'Paper' for our config file in timings 2016-04-05 23:27:53 -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
Riley Park
67ec2cd957 Add PlayerUseUnknownEntityEvent 2016-04-02 18:10:38 -07:00
Aikar
1ac9958e8b Move fastutil from a patch file to a library, and improve EAR 2016-04-01 00:18:18 -04:00
Aikar
f16d938497 Paper 1.9.2 Update 2016-03-30 20:50:23 -04:00
Aikar
fb94038453 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 02:10:27 -04:00
DemonWav
443a949bac Add getEntity by UUID API 2016-03-30 01:20:36 -05:00
Aikar
e007d80c16 Move Timings v2 TimingHandler to FastUtil Int map 2016-03-30 01:59:47 -04:00
Aikar
092dbc4bea 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
88ef71592b 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
7d7810721e Remove last patch, doesn't exactly do what I thought it was doing 2016-03-28 22:28:52 -04:00
Aikar
a3d5c47c8a Remove Invalidated Metadata
Bukkit was using an unimplemented method to invalidate plugin meta.
2016-03-28 22:15:23 -04:00
crast
97c1f9402f 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
7c38e54a9d Remove some code from Timings v2 that was only for EMC. 2016-03-28 21:41:17 -04:00
Aikar
2b55c92307 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
a661a1737f 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
587aaefcc4 Update upstream B/CB/Spigot and rebuild 2016-03-27 20:48:50 -05:00
Zach Brown
8ec0ce4b89 Merge pull request #153 from kashike/feature/slot
Access items by EquipmentSlot
2016-03-27 02:24:12 -05:00
Zach Brown
1109dc8d70 Update upstream and rebuild 2016-03-27 01:38:58 -05:00
Riley Park
d880c248bf Access items by EquipmentSlot 2016-03-26 22:23:42 -07:00
Byteflux
bcc957e753 Add Entity Origin API
This replaces the TNT and Falling Block Source Location API with a more
general purpose API that works with all entities.
2016-03-25 02:02:35 -07:00
Aikar
4646f9b68f Allow command line arg to allow normal reload 2016-03-21 21:56:52 -04:00
Aikar
a3cc380333 Make /reload require typing confirm to actually reload 2016-03-21 21:40:29 -04:00
willies952002
7178332f2a Add Bukkit#reloadPermissions()
Fix issues with Paper build #544
2016-03-21 21:29:41 -04:00
Daniel Ennis
4916cd2551 Merge pull request #91 from willies952002/feature/permReload
Allow Reloading of Custom Permissions - resolves #49
2016-03-21 20:24:27 -04:00
William
13587006dc Allow Reloading of Custom Permissions
Add the ability to reload the custom permissions file by doing "/reload permissions"

Implements Feature Request: https://github.com/PaperMC/Paper/issues/49
2016-03-19 16:19:00 -04:00
Riley Park
6d01d7f9ea Custom replacement for eaten items 2016-03-19 09:57:19 -07:00
Aikar
3ad0e63a21 set default goals on all pom poms </cheer> 2016-03-18 02:13:51 -04:00
Aikar
588b01aed3 Add sender name to commands.yml replacement
This allows you to use $sender in commands.yml definitions to make
commands that auto target self.
2016-03-18 00:29:35 -04:00
Aikar
d35aeb50ee Add event call helper
This simplifies new event calling by reducing the diff to actually fire the event and check for cancelled state.
2016-03-18 00:24:00 -04:00
Zach Brown
b7d6f29245 Update and rebuild patches 2016-03-12 13:52:49 -06:00
Techcable
c114ab3fea Handle static methods 2016-03-12 09:43:39 -07:00
Zach Brown
a9f44f2240 Rebuild some patches 2016-03-12 00:40:16 -06:00
Techcable
88d0213190 Use ASM for event execution
Reflection (although highly optimized), has noticable overhead.
It also creates noticable GC overhead by allocating arrays with arguments, as @Aikar has said.

Based on WaterfallMC/Waterfall@1692934370

Merge pull request #45 from Techcable/feature/asm-executors
2016-03-03 13:26:03 -07:00
Techcable
99f7a9fcf5 Improve Paper's version checking system
Will now check commit hashes from this repo as a fallback when it is unable to find a build from our CI server. Because not everyone uses it directly
2016-03-11 22:30:18 -06:00
Zach Brown
67ae849417 Merge pull request #73 from kashike/feature/you-are-very-resourceful-you-know-yes-you-are-very-resourceful-yes 2016-03-09 19:45:55 -06:00
Riley Park
a80a692e2b Add more complete resource pack API 2016-03-08 22:23:59 -08:00
Riley Park
0eb02b3760 Add methods for working with arrows stuck in living entities 2016-03-08 20:21:08 -08:00
Riley Park
7feefdf40b Add BaseComponent sendMessage methods to CommandSender 2016-03-08 13:16:54 -08:00
Zach Brown
3a71da0bd3 Silence BeaconEffectEvent, swallow exception in version checking 2016-03-03 04:48:46 -06:00
Zach Brown
d83453116b Update for upstream changes 2016-03-03 03:46:26 -06:00
Zach Brown
26eb457a39 Paper 1.9 2016-02-29 17:09:49 -06:00
Joseph Hirschfeld
4856ba746b Add exception reporting events 2016-02-28 20:15:51 -05:00
Aikar
fbdb33981e Fix ServerListPingEvent flagging as Async 2016-02-24 00:32:44 -06:00
Aikar
5fbb42de01 Make Timings use less passes in its benchmark 2016-02-23 21:31:01 -06:00
Techcable
1bdbffaf84 Improve title API
Uses title objects instead of individual update methods
2016-02-17 19:03:21 -07:00
Zach Brown
004b2d584f Proper maven repo details 2016-02-21 04:12:03 -06:00
Jedediah Smith
d498084c93 Player Tab List and Title APIs 2016-02-16 19:55:21 -06:00
Zach Brown
e42db95777 Move bungeecord chat APIs out of spigot subclasses 2016-02-16 19:55:05 -06:00
Zach Brown
b90bec092f There wasn't anything here
http://i.imgur.com/AxtzziK.gif
2016-02-15 20:10:47 -06:00
DemonWav
4e6b15d6bf Fix tab completeion ignoring the old non-location tab complete
Closes GH-28
2016-02-15 19:52:09 -06:00
Zach Brown
b0092d1f74 Merge pull request #27 from kashike/feature/commandmap
Expose server CommandMap
2016-02-15 12:07:29 -06:00
Riley Park
8b42b27076 Expose server CommandMap 2016-02-15 07:11:57 -08:00
Zach Brown
1a1422fd41 Ignore version formatting errors
We have so many random strings around at the moment this will be better for now
2016-02-15 08:31:45 -06:00
Zach Brown
134dc373d2 Update version handling for our new build system
CC GH-19
2016-02-15 06:02:47 -06:00
Aikar
eda6aa433f Automatically disable plugins that fail to load 2016-02-13 17:28:15 -06:00
Nik Gil
192a9bde0b Make EntityDismountEvent Cancellable 2016-02-01 23:57:27 -07:00
Zach Brown
9d79cc6b99 Squash these tab complete patches 2016-01-31 17:00:30 -06:00
DemonWav
eb6cdbb9ce Fix infinite recursion with plugin tab completers
Make block location tab completion be a per-world configurable value
2016-01-31 01:21:47 -06:00
DemonWav
ecedc912af Add Location support to tab-completes
This is a feature in vanilla Minecraft that has somehow been missing from CraftBukkit for years
2016-01-30 19:20:18 -06:00
Zach Brown
4f96dd1dd0 Squash Java 8 patches into pom changes patches 2016-01-29 02:51:53 -06:00
Zach Brown
d3c1706337 Java 8 javadoc lint bypass. Until we can fix this properly (massive patch for old bukkit ???!?!?!?!) this will have to do 2016-01-21 17:39:56 -06:00
Literallie
1e06b71828 Fix JavaDoc errors introduced in Timings v1 2016-01-21 17:30:05 -06:00
Zach Brown
a4ab2f017d Migrate timings classes to new package 2016-01-10 01:33:27 -06:00
Zach Brown
1669598daa Just a bit more information for those skript classes 2016-01-10 00:40:46 -06:00
Zach Brown
106782bc63 Skript event executor classes do not have an enclosing method 2016-01-09 18:43:35 -06:00
Zach Brown
097ffc44c1 Migrate PaperSpigot to Timings version 2 2016-01-09 00:32:38 -06:00
Zach Brown
6e5b779d20 Require Java 8 - Tell your shitty hosts to update 2016-01-09 00:13:58 -06:00
Steve Anton
f532fca425 Add PlayerInitialSpawnEvent 2015-12-22 22:06:19 -06:00
Zach Brown
2190d87f45 Rebuild patches 2015-09-18 20:44:37 -05:00
Zach Brown
603159dedf Remove several broken or unnecessary patches.
Removes PlayerMicroMoveEvent API, the ability to disable the AsyncCatcher, and the TeleportPassengerVehicleWithPlayer patch
2015-09-12 19:57:39 -05:00
Zach Brown
acd17efa2d Rebuild patches 2015-08-02 01:56:08 -05:00
Zach Brown
fd378c06e5 Update PaperSpigot to 1.8.8 2015-07-27 17:26:21 -05:00
Byteflux
7a75de5fb8 Add javadocs to BeaconEffectEvent 2015-07-23 21:41:35 -07:00
Byteflux
a8b69d72c7 Add BeaconEffectEvent 2015-07-23 12:57:12 -07:00
Byteflux
c8f3b4ba4f Fix package naming of PaperSpigot events to be consistent with Bukkit/Spigot
Right now this only affects the recently added PlayerMicroMoveEvent. I
figured this should be done to keep the events organized in the same way
Bukkit and Spigot do. This should lead to a less cluttered event package
when we do add more events.
2015-07-23 09:56:24 -07:00
Techcable
f89d680e05 Add PlayerMicroMoveEvent 2015-07-23 04:30:13 -07:00
Byteflux
3388d414cf Rebuild patches 2015-07-14 08:59:57 -07:00
Byteflux
811b3406a3 Add player view distance API 2015-07-01 01:01:42 -07:00
Zach Brown
b2aaf31f9e Rebuild patches for upstream API addition
Removes ArmorStand Marker API as that was added to Bukkit
2015-06-10 22:35:26 -05:00
Byteflux
0f48b03bbc Update to 1.8.7 2015-06-05 05:45:30 -07:00
Zach Brown
bd0045257f Rebuild patches for upstream changes 2015-05-28 00:11:18 -05:00
Zach Brown
e6727223f8 Update to 1.8.6 2015-05-25 15:59:30 -05:00
Zach Brown
db0d9a2531 Update PaperSpigot to 1.8.5 2015-05-23 12:09:55 -05:00
Zach Brown
b7ec28b5d2 Update PaperSpigot to 1.8.4 2015-05-18 18:41:57 -05:00
Zach Brown
47ad0d451e Add ArmorStand Marker NBT API 2015-05-03 17:47:28 -05:00
Isaac Moore
465453dc21 Add PlayerLocaleChangeEvent 2015-04-27 21:43:59 -05:00
Byteflux
41cb01fa3f Add FallingBlock source location API 2015-04-17 02:51:46 -07:00
Zach Brown
6538ccd924 Update PaperSpigot to Minecraft 1.8.3 2015-03-07 19:16:09 -06:00
Zach Brown
4cd535b41d Fix parent warning in PaperSpigot-API... and rebuild other patches 2015-01-11 01:10:11 -06:00
Zach Brown
985a51fc17 Rebuild patches for upstream changes 2015-01-06 22:13:40 -06:00
Zach Brown
d80ee4a413 Update version checking patch 2014-12-28 16:37:21 -06:00
Zach Brown
fe8a0e7ce3 Check PaperSpigot versions with the /ver command 2014-12-27 17:21:50 -06:00
Zach Brown
1d0898c3cc Rebuild our patches for upstream changes 2014-12-14 16:25:11 -06:00
Zach Brown
3ba06bf3ff Update our patches for upstream changes 2014-12-09 20:08:12 -06:00
Zach Brown
c78777957f Update our patches for the latest changes
/ver is no longer useless! Meaninful version tracking yay!
2014-12-02 00:03:53 -06:00
Aikar
9cb520d8f1 Add TNT source location API 2014-11-30 22:58:25 -06:00
Zach Brown
a52eb21fd8 Update PaperSpigot to Minecraft 1.8 2014-11-27 17:17:45 -08:00
Aikar
3a304401b4 Add Async Chunk Load API 2014-11-06 18:31:52 -06:00
Aikar
d1cbf1b137 Implement performance improvements from the EMC-CraftBukkit fork
See the individual patch files for more details
2014-10-19 17:58:49 -05:00
Zach Brown
a4bc5cc10c Remove 1.8 blocks/items patches
For those interested in these features, you can continue to use these patches in your own builds or use a plugin, such as Carbon, to add them
2014-10-14 19:28:05 -05:00
Zach Brown
a060c401c8 Add a few 1.8 features/blocks/items/whatever 2014-09-10 16:19:06 -05:00
Zach Brown
b7e702dacc Update from upstream SpigotMC
Fix double plants having the incorrect top half SpigotMC/Spigot@377b69d787
Fix boats thinking that they were always on land for 1.8 clients SpigotMC/Spigot@4a083f819e
Correct the action used in updateGamemode. this isn't used by the ser... SpigotMC/Spigot@face904a9a
Allow the updated version of protocollib to be enabled SpigotMC/Spigot@4614a615cc
2014-09-01 18:54:34 -05:00
Minecrell
f39f423fd0 Fix ProtocolLib compatibility 2014-09-01 15:36:00 -05:00
Jedediah Smith
871a1b6f25 Add player affects spawning API
Test plugin here: https://github.com/Zbob750/AffectsSpawning
I believe this originated with SportBukkit, slightly modified for our (and potentially upstream's) usage
2014-08-08 23:18:38 -05:00
Zach Brown
44b38f4968 Stop using spigotmc.org as a redirect for timings 2014-07-28 03:29:08 -05:00
Zach Brown
e7f3ca4505 Restructure PaperSpigot as a new set of modules
Allows us much greater control over the Spigot portion of the code
and makes us more "proper"
Credit to @Dmck2b for originally passing the idea along a while back
2014-07-21 15:46:54 -05:00