Commit Graph

291 Commits

Author SHA1 Message Date
Steve Anton
bc48ab3fb8 Make ProxyPingEvent async 2014-09-07 12:03:55 +10:00
md_5
2cec5f344a Update versions to 1.8... oops 2014-09-01 16:56:03 +10:00
md_5
faa284c8fc Move chat API into own submodule. 2014-08-31 18:56:03 +10:00
Thinkofdeath
26521cf2ff Add support for Minecraft 1.8.x
This commit allows BungeeCord to support Minecraft clients both of versions 1.7.x and of 1.8.x. There should be no breakages to any other support, however following their deprecation and uselessness within 1.8, the Tab list APIs have been removed.

Please report any issues to GitHub and be sure to mention client, server and BungeeCord versions.

When used with an appropriate server jar (such as multi protocol Spigot), this will allow clients of many versions to concurrently be connected to the same set of servers.
2014-08-31 09:03:12 +01:00
md_5
19b48672af Fix longstanding forward typo 2014-08-31 10:13:50 +10:00
md_5
87797ef719 Fix slight JavaDoc formatting issue. 2014-08-31 09:27:59 +10:00
Thinkofdeath
e573f7b89c Correct toLegacyText the same way toPlainText was previously 2014-08-17 18:50:28 +01:00
Minecrell
664c66fb97 Ignore unknown entries in plugin description files.
Fixes #955.
2014-08-17 19:58:15 +10:00
Tux
5e0aa2e60d Finalize the ServerDisconnectEvent target field.
There is no good reason for it to be mutable in the first place, considering that the event instance is not used after the method is called.
2014-08-17 09:34:06 +10:00
md_5
3188d946b3 Fix javadoc 2014-08-04 16:15:46 +10:00
md_5
ee3efd75d7 Change a few aspects from last PR 2014-08-03 18:12:44 +10:00
Jonas Konrad
b544bb34cb Add ServerInfo method to send plugin message only if server is online 2014-08-03 18:10:38 +10:00
Thinkofdeath
74f5ffd08b Duplicate any extra components when duplicated 2014-07-25 13:22:58 +01:00
Joshua Küpper
9fc862cb74 Make ComponentBuilder clonable 2014-07-25 13:22:54 +01:00
md_5
0d174b51c5 Clarify PreLoginEvent 2014-07-22 20:27:46 +10:00
md_5
1b18e64fb2 Handle objective value changes. Although the client *shouldn't* be using this for any sort of keying, it may indeed be. Closes #1116 awaiting testing. 2014-07-22 20:24:38 +10:00
md_5
949f150ea0 Fix some out of style formatting. 2014-07-12 19:50:56 +10:00
Thinkofdeath
02e219262a Fix TranslatableComponent's handling of missing translations 2014-07-12 10:34:24 +01:00
Thinkofdeath
a0e8b172ef Restrict access to some internal methods. 2014-07-12 19:33:04 +10:00
md_5
215b70dcd7 Fix some more things picked up by static analysis. 2014-07-12 19:30:00 +10:00
md_5
705b554b3b Add basis of grouped thread factory and make the scheduler use it. 2014-07-10 11:18:42 +10:00
md_5
8ce26e0370 Pass plugin into executor getter for future proofing 2014-07-08 15:53:25 +10:00
md_5
5d1b660e32 Implement Security Manager
This commit adds the basis for the intergration of a security manager into BungeeCord. The goal of the security manager is to prevent plugins from doing potentially dangerous or otherwise undesirable behaviour that may damage the stability of Bungee itself or pose a risk to the user's server.

One common theme in some Bungee plugins, especially those which were written in the very early days, is using Threads and ExecutorServices for scheduling purposes. Not only is this inefficient as there is no use of the thread caching features provided by the scheduler, it is also difficult to track who created which thread. Additionally creating threads not managed by the BungeeCord scheduler poses issues for when|if a plugin reload system is implemented, as these threads cannot be appropriately cleaned up and may continue to leak class references or perhaps even continue executing.

At this stage the SecurityManager is set to warn of prohibited actions, but not block them. For some plugins using external APIs, where usage of an ExecutorService is unavoidable, we have included an Unsafe interface to the scheduler which allows direct access to the underlying ExecutorService, or potentially a compatability wrapper.
2014-07-08 15:22:26 +10:00
Jonas Konrad
afa37505c5 Fix javadocs for java 8 doclint 2014-06-28 09:05:50 +10:00
md_5
81d83bdd8a Calling parent logger seems to work nowadays - closes #1071 2014-06-24 18:21:13 +10:00
md_5
e54388a5e0 Add matchPlayer API 2014-06-23 17:26:30 +10:00
maciekmm
4d1f0cbb26 Added getKickedFrom() to ServerKickEvent. 2014-06-22 17:11:27 +10:00
Moehritz
1a7efeabc4 Fix unregisterCommand(s) - second try 2014-06-20 19:43:36 +10:00
xxyy
107d6b011d Fix ServerPing NPE w/ String favicons
Currently, passing a null favicon String to the ServerPing(Protocol, Players, String, String) constructor causes a NPE. However, passing a null `Favicon` object to the corresponding constructor does not cause one. Setting the favicon String using the setFavicon(String) method doesn't cause a NPE either.

Therefore, the NPE thrown by the constructor is inconsistent and should be avoided. Please find a sample NPE here: http://newpaste.md-5.net/pmtqjc8vl (Note the `null` favicon)

This PR changes the documented (unintended?) behaviour by adding a null check before passing the favicon String to the alternative `Favicon` object constructor. This makes the constructor consistent with the other one and the `setFavicon(String)` method. This also adds compatibility for old (made before Favicon API) plugins passing `null` favicon Strings (and expecting no favicon to be displayed instead of a NPE).

Thanks!
2014-06-11 16:09:20 +10:00
md_5
91989564e5 Add method to get player's locale 2014-06-11 16:03:10 +10:00
Thinkofdeath
3c938c03c7 Fix BaseComponent calling the wrong method when inheriting from another BaseComponent (Fixes #1049) 2014-06-08 13:07:42 +01:00
md_5
00db351dd6 Deprecate tab list API - it will be removed in Minecraft 1.8 as the updates by Mojang render it useless. 2014-05-25 09:19:34 +10:00
Jonas Konrad
2af8dac70c Pull up getFaviconObject to the API 2014-05-03 17:29:48 +10:00
Thinkofdeath
6775b9230c Update Team packet's field names. unknown -> nameTagVisibility, unknown2 -> color 2014-04-16 14:46:48 +01:00
md_5
5a638f2290 Enable 14w11 support, changing servers is a bit iffy though due to EntityMap not being complete. 2014-04-16 11:01:41 +10:00
md_5
3715756be7 Update packets for MINECRAFT_14_11_a 2014-04-16 10:48:40 +10:00
Jonas Konrad
994a996981 Fix NPE while encoding when favicon was missing 2014-04-15 20:17:26 +10:00
Jonas Konrad
e2eba52162 Revert "Revert "Implement Favicon API""
This reverts commit 13decac4b9.
2014-04-15 20:17:26 +10:00
md_5
13decac4b9 Revert "Implement Favicon API"
This reverts commit 18316eb5f8.
2014-04-15 15:08:12 +10:00
md_5
7ebe5184a4 Clarify favicon.create javadoc 2014-04-15 11:11:11 +10:00
Keir Nellyer
a642346a2c Add method to get a connected player via their UUID 2014-04-15 11:07:17 +10:00
Jonas Konrad
18316eb5f8 Implement Favicon API 2014-04-15 11:05:20 +10:00
md_5
66a70fef5b Add #983 - disabled commands for players only. 2014-04-14 16:24:16 +10:00
md_5
dc2da29c16 Code format. 2014-04-13 14:15:41 +10:00
Thinkofdeath
bf9521472b Support setting uuid's on ServerPing.PlayerInfo + fix plugins which don't provide a valid uuid. 2014-04-09 20:26:07 +01:00
Keir Nellyer
13848def72 Return a Users UUID as a UUID object whilst keeping support for returning as a String 2014-04-04 21:35:07 +11:00
Keir Nellyer
a4dd0dba88 Allow 'softdepends' in plugin description 2014-04-01 19:55:59 +11:00
Jonas Konrad
5ae2e24c84 Fix uppercase color codes 2014-03-15 20:19:48 +01:00
Jonas Konrad
c29676e4fc Fix NPE when converting invalid color character from legacy text 2014-03-15 19:56:19 +01:00
Jonas Konrad
92ebce2ec6 Add TabCompleteEvent 2014-03-14 20:51:47 +11:00