Commit graph

315 commits

Author SHA1 Message Date
willies952002 77fdfd6de1
Don't Display Success Message on Alias Reload Fail
Also add "commands" to Tab Completion
Note: This required a signature change to Bukkit#reloadCommandAliases() so that it returns a boolean based on if the command aliases reloaded or not.
2017-03-12 13:52:04 -04:00
Zach Brown ae98591b8c
Update upstream B/CB/S 2017-02-17 20:03:38 -06:00
Spottedleaf f33f4b9c31 Use invokeinterface for methods defined in interfaces in the ASM executor 2017-02-14 03:04:20 -08:00
Zach Brown 919cb9d19a
Update upstream CB, reduce version cache time
Closes GH-602
2017-02-07 16:29:26 -06:00
Aikar ee7f13ea3c Add API to get the url in a timing report listener 2017-02-04 23:07:09 -05:00
Aikar d033b57b47 More improvements to Timings, RCON now is no longer blocking!
Finally made timings accept "Callback style" reports, so plugins
can listen for when the report is done.

Added new Util interfaces, MessageCommandSender and BufferedCommandSender

This restores and improves using RCON to generate timings reports
2017-02-04 22:47:39 -05:00
Aikar f938ae30fd Run timings reports after end of tick
I believe we are getting data corruption by doing it in the middle of the tick, as I was seeing
really odd reports from automated ones vs command ones.

This will break issueing timings over rcon single command mode and getting the report link in the response back

But I will try to restore that (and make RCON no longer cause spikes) soon.

Reports will still generate, just because its async, the RCON connection
will drop if not in terminal mode before its done.
2017-02-04 20:46:27 -05:00
Zach Brown 1e1541a2e9
Update upstream S 2017-01-30 22:33:54 -06:00
Zach Brown 88205cd8fe
Update upstream B/CB/S 2017-01-25 22:27:42 -06:00
Zach Brown 3f88bc1ec7
Expose WorldBorder@isInBounds(Location) check 2017-01-21 17:06:28 -06:00
BillyGalbreath 36078e1a3d Add fromBottle flag to Experience Orbs (#584)
* Add fromBottle flag to Experience Orbs
2017-01-20 09:01:53 -06:00
Zach Brown c1641b8e0c
Update upstream B/CB/S 2017-01-20 05:21:44 -06:00
Michael Himing 9606774ee6 Add World.getPlayerCount 2017-01-13 23:00:33 +11:00
Aikar e4ef645032 Enforce Sync Chunk Unloads
Unloading Chunks async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
2017-01-07 16:10:56 -05:00
Aikar 7e06f2145e Provide E/TE/Chunk count stat methods
Provides counts without the ineffeciency of using .getEntities().size()
which creates copy of the collections.
2017-01-07 15:27:46 -05:00
Zach Brown 63130fd2aa
Update upstream B/CB
Closes GH-569
2017-01-06 15:45:59 -06:00
Aikar 1b18e93607 Remove my copyright headers, copy/pasted 2016-12-31 21:51:49 -05:00
Aikar 16b99d6dab PlayerTeleportEndGatewayEvent
Allows you to access the Gateway being used in a teleport event
2016-12-31 21:46:34 -05:00
Aikar 49aca0c04d New Firework API's
Get the launcher of a Firework and who it is boosting
2016-12-28 02:25:35 -05:00
Aikar bf756994b0 JavaDoc String ActionBar API and Deprecate Component based methods.
The Component based methods are not even safe to use, as it may result in invalid items being sent to the client.

The string based method we have added is the only safe way to send with the API.

The client is stricter about componenents being sent for this API, and does not accept children components.

The client is expecting a legacy string.
2016-12-27 15:20:09 -05:00
Aikar fc6f3510a2 Change implementation of String based Action Bar API
Appears colors did not work for Bungee version, as Action Bar is stricter
2016-12-27 15:06:14 -05:00
Aikar 23236ef8aa IllegalPacketEvent - Resolves #419
Fire an event when an illegal packet is received to let plugins handle it

Lets plugins change the kick message and if it should kick or not.
2016-12-21 21:22:02 -05:00
kashike c8fb4667af
API for ArmorStand movement and option for entity lookups 2016-12-21 11:56:09 -06:00
Zach Brown cae453c16b
Update to Paper to MC 1.11.2 2016-12-21 11:21:40 -06:00
Zach Brown 33163525f3
Update Paper to MC 1.11.1 2016-12-20 17:45:00 -06:00
Aikar f4ea1998ee Actually set the ChatPosition 2016-12-20 16:02:05 -05:00
Aikar 29369fb085 Add String based Action Bar API 2016-12-20 15:56:41 -05:00
Zach Brown 0728696e06
Add ProjectileCollideEvent
Base our vanish changes on top of that event.
2016-12-16 22:13:46 -06:00
Zach Brown 1d8b7e2ecc
Update upstream B/CB 2016-12-16 15:00:16 -06:00
Zach Brown 57c2b8de43
Update upstream B/CB 2016-12-06 17:12:19 -06:00
AlphaBlend dfdd4e3334
Add source to PlayerExpChangeEvent 2016-11-30 17:33:06 -06:00
Jamie Mansfield b4c00f4b27
Resolve previous pr 2016-11-29 19:58:13 +00:00
willies952002 6d966ed034 Allow Reloading of Command Aliases
Use "/reload commands" to reload the aliases stored in commands.yml
2016-11-28 21:54:19 -05:00
Zach Brown ed6bd4ea4a
Update upstream B/CB - hitEntity added upstream 2016-11-28 17:16:07 -06:00
Alfie Cleveland 324acd64b4
Optimise NetworkManager 2016-11-26 21:48:09 -06:00
vemacs ddbf7318b2 Optimize network queue by making size() constant-time
Idea from @AlfieC
2016-11-23 13:20:16 -05:00
Zach Brown 97e0eac6e7
Update upstream B/CB 2016-11-21 15:51:27 -06:00
Zach Brown cb66c8dce7
Add ShulkerBoxes to the LootTable API 2016-11-19 11:31:01 -06:00
Aikar 9725050889 Update Upstream 2016-11-18 23:58:56 -05:00
Aikar ae5a66ed1b Re-add dependency reduced pom
Learned the correct way to handle that file
2016-11-18 21:09:03 -05:00
Zach Brown a6d146a939
Update Paper to MC 1.11 2016-11-18 16:21:06 -06:00
Zach Brown 65538782cd
Update upstream B/CB/S 2016-11-12 20:21:46 -06:00
Zach Brown 493caa07b4
MC uses JSR 1.3.9 2016-11-03 14:51:00 -05:00
Zach Brown f0baa4b9cc
t 2016-11-03 14:28:58 -05:00
Zach Brown 764473b2cc
Move nullable annotation dependency to JSR 2016-11-03 14:25:50 -05:00
Zach Brown 9fd4ec64e7
Remove some handlers 2016-10-30 21:42:38 -05:00
AlphaBlend 02006e6b24
Add EntityZapEvent 2016-10-30 21:31:02 -05:00
Zach Brown ecefa79676
Add usage message to ReloadCommand
Used when the wrong arguments are supplied, missed when we added the
permissions reload functionality.
2016-10-30 00:14:17 -05:00
Zach Brown 0860727dae
Update upstream S 2016-10-26 16:05:22 -05:00
Zach Brown 92567cc43a
Update upstream B/CB 2016-10-21 15:28:44 -05:00
AlphaBlend 96b534f1f1
Add hit entity to ProjectileHitEvent 2016-10-05 16:07:58 -05:00
Zach Brown 18799efd0d
Update upstream B/CB/S 2016-10-01 11:47:56 -05:00
kashike 3d5f59c855 Fix @aikar's oops with verbose timings 2016-09-23 23:19:15 +00:00
Zach Brown f7cfe1f769
Add javax.annotations to the API
Used this set specifically because they are present in NMS already.
2016-09-16 14:38:52 -05:00
Zach Brown 2e880e7676
Make UseItem rate limiting stricter, configurable 2016-09-10 23:27:07 -05:00
Zach Brown f5d7e2067d
Update upstream B/CB/S 2016-09-05 14:21:03 -05:00
kashike 8f91416dcb @Zbob750 missed a few name changes 2016-09-04 06:35:42 +00:00
Zach Brown f9f96ea3a5
Update upstream B/CB/S 2016-09-02 22:44:52 -05:00
Zach Brown b170e8cedb
Update upstream B/CB/S
Remove two features added upstream
2016-08-27 18:41:58 -05:00
Aikar 323c18dd65 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 17c9d7d9da
Kick git and rebuild patches 2016-08-15 19:22:10 -05:00
Zach Brown 15f3ca7ecb
Update upstream B/CB 2016-08-07 00:01:31 -05:00
Zach Brown 01a09f8ff1
Update maven repo urls 2016-08-06 16:49:55 -05:00
Zach Brown 8f6208b1d3
Send a fake team as needed for the collision rule 2016-07-30 17:04:39 -05:00
Zach Brown 46bfd418a8
Update upstream B/CB/S 2016-07-30 18:02:34 -05:00
Zach Brown f9f1a2e97e
Cleanup obfuscation helper comment format 2016-07-28 19:09:54 -05:00
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
kashike eeb64630cd Access items by EquipmentSlot 2016-03-26 22:23:42 -07:00
Byteflux ced183982a 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:24:27 -07:00
Byteflux 1d88720b2c Relocate Timings v2 patch 2016-03-24 22:04:44 -07:00
Aikar e091466f34 Allow command line arg to allow normal reload 2016-03-21 21:56:52 -04:00
Aikar 646b62a220 Make /reload require typing confirm to actually reload 2016-03-21 21:40:29 -04:00
willies952002 62580304f4 Add Bukkit#reloadPermissions()
Fix issues with Paper build #544
2016-03-21 21:29:41 -04:00
Aikar def021fb9b fix rebuild patches and rebuild current patches 2016-03-21 20:46:54 -04:00
Daniel Ennis 8616dc012c Merge pull request #91 from willies952002/feature/permReload
Allow Reloading of Custom Permissions - resolves #49
2016-03-21 20:24:27 -04:00
William 869ab5202e 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-21 19:28:52 -04:00
kashike 3b15da52db Custom replacement for eaten items 2016-03-19 17:31:06 -05:00
Aikar 82db846be6 set default goals on all pom poms </cheer> 2016-03-18 02:13:51 -04:00
Aikar 1bd454082e 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 b4d1aa418a 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:29:11 -04:00
Zach Brown 80b1308735 Update and rebuild patches 2016-03-12 13:52:49 -06:00
Techcable 752452373d Handle static methods 2016-03-12 09:43:39 -07:00
Zach Brown 244196f8cb Rebuild some patches 2016-03-12 00:40:16 -06:00
Techcable 386693ee50 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-12 00:26:02 -06:00
Techcable b4bf59de2e 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:43 -06:00
Zach Brown e208ee6102 Update patch numbers for PR merges 2016-03-09 19:48:14 -06:00
Zach Brown b4e8b79728 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
kashike 9216a46316 Add more complete resource pack API 2016-03-08 22:24:16 -08:00
kashike a8ecaee65f Add methods for working with arrows stuck in living entities 2016-03-08 21:11:46 -08:00
kashike 9a9033c6c1 Add BaseComponent sendMessage methods to CommandSender 2016-03-08 13:16:54 -08:00
Zach Brown a54fb8d270 Silence BeaconEffectEvent, swallow exception in version checking 2016-03-03 04:48:46 -06:00
Zach Brown 6287e97b6b Update for upstream changes 2016-03-03 04:07:25 -06:00
Zach Brown 99fec76702 Paper 1.9 2016-03-03 03:46:49 -06:00
Joseph Hirschfeld 010c651473 Add exception reporting events 2016-03-03 03:46:48 -06:00
Aikar 4c5668268b Fix ServerListPingEvent flagging as Async 2016-03-03 03:46:48 -06:00
Aikar 0ba78fc192 Make Timings use less passes in its benchmark 2016-03-03 03:46:48 -06:00
Techcable dcad4c6ea7 Improve title API
Uses title objects instead of individual update methods
2016-03-03 03:46:48 -06:00
Zach Brown 2a67f0182f Proper maven repo details 2016-02-21 04:12:03 -06:00
Jedediah Smith ee63dbebdc Player Tab List and Title APIs 2016-02-16 20:01:30 -06:00
Zach Brown 52398f034c Move bungeecord chat APIs out of spigot subclasses 2016-02-16 19:55:05 -06:00
Zach Brown 2eb853b0af There wasn't anything here
http://i.imgur.com/AxtzziK.gif
2016-02-15 20:10:47 -06:00