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
kamcio96
9cd7c1ac03
Add ProxyReloadEvent
2014-03-14 20:49:45 +11:00
md_5
8502ab54c0
Revert "Fix #872 - use default server if forced host not found, OR force default is set."
...
This reverts commit 1fb7a3bf1d
.
2014-03-14 19:27:51 +11:00
md_5
3301c95066
Revert "Rejig forced hosts some more - closes #927 "
...
This reverts commit 72cadac76e
.
2014-03-14 19:27:46 +11:00
md_5
72cadac76e
Rejig forced hosts some more - closes #927
2014-03-13 13:32:48 +11:00
md_5
1fb7a3bf1d
Fix #872 - use default server if forced host not found, OR force default is set.
2014-03-10 11:23:26 +11:00
md_5
4a7f8015e5
Close #918 - use case insensitive lookup for Yaml locations
2014-03-10 11:04:46 +11:00
Thinkofdeath
38f12840ca
Correct component loop detector
2014-02-21 20:56:10 +00:00
Thinkofdeath
941450b4e4
Detect component loops
2014-02-21 10:13:40 +00:00
Fabian Fassbender
4faf507ad9
Added getPermissions() to the CommandSender API to get a unmodifiable Collection of all Permissions. The ConsoleSender returns an empty Set where as the UserConnection gives its real Permissions.
2014-02-08 14:17:01 +01:00
md_5
1f1cdb47e4
Search for bungee.yml and then plugin.yml for Bungee plugins.
2014-02-02 12:22:25 +11:00
md_5
b2f517fa63
Implement dual protocol version support.
2014-01-27 11:26:27 +11:00
Thinkofdeath
5c12f900b3
Correct the extra check
2014-01-26 01:12:55 +00:00
Thinkofdeath
6641d199b3
Move the extra check out of hasFormatting
2014-01-26 00:41:13 +00:00
Thinkofdeath
83b0229277
Fix formatting leaking through components when arrays are used + cases where component's extra wouldn't serialize
2014-01-26 00:37:33 +00:00
md_5
aa91354666
Make sure plugin onLoad is really called onLoad. This fixes regression #822 from when we implemented plugin depends.
2014-01-22 12:07:16 +11:00
md_5
f1b329bf21
Finish implementing modules. If anyone wants to test... be my guest.
2014-01-14 13:13:27 +11:00
Thinkofdeath
d4e4796739
Remove pointless Getter annotations
2014-01-13 19:48:49 +00:00
md_5
7483b4d276
Shuffle some internal stuff to API so that modules will compile
2014-01-10 09:58:31 +11:00
Joey Sacchini
cb4f70ecc7
Fix null pointer in depend resolution. This closes issue #515 .
2014-01-07 14:34:07 +11:00
md_5
80caa2b669
Code format :(
2014-01-03 19:52:35 +11:00
Thinkofdeath
b0a8371570
Fix client crash when an empty message is sent using TextComponent.fromLegacyText
2014-01-02 15:39:38 +00:00
YoshiGenius
0ff1f4724a
Add new lines
2013-12-23 08:45:48 +11:00
YoshiGenius
1baba3cd7d
Fix javadoc - spelling and details
2013-12-22 13:05:45 +11:00
md_5
075518b643
Implement a connect callback - see #760
2013-12-21 13:11:27 +11:00
thinkofdeath
0dcba749dc
Merge pull request #748 from thinkofdeath/master
...
Chat Component API
2013-12-14 02:31:42 -08:00
Thinkofdeath
00ac965d42
Remove class Getter annotation
2013-12-14 10:16:58 +00:00
md-5
32c6ab710a
Delay is not in milliseconds, its in the TimeUnit
2013-12-13 12:46:52 +11:00
Thinkofdeath
5d68b422e5
Add ComponentBuilder + make events final
...
An example of ComponentBuilder usage can be found at CommandAlertRaw
2013-12-10 11:50:34 +00:00
Thinkofdeath
4ef15ae764
Fixed TranslatableComponents missing the end of the translated text
2013-12-08 00:47:45 +00:00
Thinkofdeath
3f9ca85831
Add missing documentation
2013-12-07 23:35:43 +00:00
Thinkofdeath
c17fa03ccd
Remove string methods from HoverEvent. TextComponents will become strings if formatting isn't used
2013-12-07 15:10:08 +00:00
Thinkofdeath
0040955204
Fix events not working when no formatting is used
2013-12-07 13:59:00 +00:00
Thinkofdeath
2cb3b6f934
Fix TranslatableComponent's toPlainText and toLegacyText not handling %1$s and %d
2013-12-07 13:16:10 +00:00
Thinkofdeath
c7e590e286
Move en_US.properties to mojang-translations/en_US.properties
2013-12-06 23:21:52 +00:00
Thinkofdeath
696679809d
Support printing TranslatableComponents
2013-12-06 23:18:10 +00:00
Thinkofdeath
e3e551d825
Use varargs instead of arrays
2013-12-06 23:02:05 +00:00
Thinkofdeath
890fac27c5
More formatting fixes
2013-12-06 22:40:40 +00:00
Thinkofdeath
35c1b26a20
Fix formatting
2013-12-06 22:40:40 +00:00
Thinkofdeath
2c8b15cb1e
Use components for ServerKickEvent ( fixes #744 ) + minor refactoring
2013-12-06 22:40:40 +00:00
Thinkofdeath
c20d8f9cd6
Chat Component API
2013-12-06 22:40:40 +00:00
md-5
0446351f9d
@GunfighterJ for grammar nazi 2013
2013-12-05 09:24:00 +11:00
hcherndon
aad83d787f
Add methods to expose parts of the proxy internal config. This is depreceated as it is subject to breaking changes without warning.
2013-12-02 15:17:19 +11:00
md_5
f7851b0436
Implement ServerDisconnectEvent. Wow so many server switch events.
2013-11-25 11:12:49 +11:00
md_5
2f2406206e
Fix chat event javadoc - closes #713
2013-11-16 11:11:04 +11:00
md_5
f81bf8e7c5
Code format + fix pom
2013-11-06 20:11:17 +11:00
zh32
a201b5897a
Added async PreLoginEvent to change online mode per connection.
2013-11-06 20:07:16 +11:00
md_5
4040d9f20a
[Breaking] Fix player online sample
2013-11-01 22:00:46 +11:00
md_5
c84d6f0035
Add really efficient text -> json translation. Doesn't support format codes yet.
2013-11-01 17:14:18 +11:00
md_5
6ce43fb876
Sample is an array
2013-10-27 13:51:06 +11:00
md_5
5dfd14fbe5
Enhance ping API
2013-10-27 12:36:30 +11:00
md_5
37dc600fe0
BungeeCord can into server icon
2013-10-23 20:44:48 +11:00
md_5
0952e53d11
Update to 1.7 poms.
2013-10-23 17:33:21 +11:00
md_5
062dd38b2b
Fix pinging. I love you @Sircmpwn
2013-10-12 15:50:08 +11:00
md_5
1551bf6f3a
Ping stuffs, doesnt seem to work for some reason though
2013-10-12 13:51:33 +11:00
md_5
dbdae87ec6
Basically done with login
2013-10-11 21:36:28 +11:00
md_5
7121c20338
Compiles yet again
2013-10-11 20:34:21 +11:00
md_5
d900417d95
It compiles
2013-10-11 20:00:54 +11:00
md_5
4257b81d8c
WIP
2013-10-11 18:40:21 +11:00
md_5
96acdb97fd
Update to latest snapshot.
2013-10-11 16:16:02 +11:00
md_5
4685099808
Close #564 adding a blank arg is a silly idea
2013-10-09 22:37:27 +11:00
md_5
b041d84063
Null check plugin input for servers
2013-10-07 16:55:29 +11:00
marvin
a0d94282f6
Add PlayerHandshakeEvent which allows changing of versions and online mode status amongst other things.
2013-09-30 09:22:49 +10:00
md_5
b541e7aa76
Custom glist formatting
2013-09-29 18:45:11 +10:00
zaiyers
dd06937a3b
changes to tab completion
...
* PacketCBTabComplete: options for completion should be seperated by
NUL
* PluginManager: append an empty argument to arguments if command ends
with a whitespace (this will match all suggestions)
* PlayerCommand: suggest only matching players instead of all players
2013-09-29 09:37:39 +10:00
md_5
59b32a8621
Remove access from PendingConnection interface
2013-09-28 17:37:30 +10:00
md_5
32a5271dc3
Implement basic udp query to close #185
2013-09-24 10:09:55 +10:00
md_5
a8b6a6b4aa
Finish basic Yaml configuration API, complete with unit tests. Needs a lot of work with regards to how sections are handled, open to massive improvements from anyone that has more know-how.
2013-09-23 10:28:30 +10:00
md_5
a7a32509c7
find * -type f -print0 | xargs -0 sed -i 's/1.6.2/1.6.4/g'
2013-09-20 19:51:57 +10:00
md_5
5ed5c71aea
Move AbstractReconnectManager to the API and rename to AbstractReconnectHandler.
2013-09-16 08:21:53 +10:00
md_5
e998faeec1
Add tab completion for find command. Also change api a bit.
2013-09-15 07:37:20 +10:00
md_5
d67acd7bc9
Add functionality to replicate #336
2013-09-15 07:29:22 +10:00
md_5
702f434db1
Add API to support #468 - force setting of reconnect server
2013-09-15 07:12:58 +10:00
md_5
47b5631562
Not part of the contract
2013-09-15 06:54:58 +10:00
Robin Lambertz
80e23d6646
Allow removal of listeners / commands by plugin
2013-09-15 06:52:46 +10:00
md_5
29c897c9cf
Add Tab Completion loosely based on @TheUnnamedDude's work.
2013-09-15 06:46:10 +10:00
md_5
96444ae304
Fix a message consisting only of a space causing the player to be kicked.
2013-09-10 16:23:05 +10:00
md_5
00a0277a13
Just call our own logger, screw jdk logger parenting
2013-09-03 11:36:00 +10:00
md_5
738ed99d54
Code format.
2013-08-20 19:28:09 +10:00
md_5
f948acd634
Don't loop registering of listeners
2013-08-12 20:31:51 +10:00
md_5
db5a147491
Revert changes to SeverConnectedEvent
2013-08-06 11:14:54 +10:00
md_5
f07cfe0cf7
Make the ServerConnectedEvent async to allow stalling it. Closes #538 by @BjoernAkAManf.
2013-08-04 20:58:17 +10:00
md_5
4463b0c1b2
Use Java 7 API to make classloader thread safe. Closes #516
2013-08-04 20:23:31 +10:00
mrapple
ee8f33c196
Add State to ServerKickEvent
2013-08-04 18:57:13 +10:00
md_5
14ac2dd308
Allow setting whether to bind to the local address.
2013-08-04 18:56:48 +10:00
md_5
c54553d0f9
How kind of @lazertester to test the new scheduler!
2013-07-24 17:32:08 +10:00
md_5
b3e8feb4cb
Update POMs to 1.6.2
2013-07-18 20:13:07 +10:00
md_5
d0d1562155
Hi, I'm Mojang and I make hundreds of millions of dollars a year. I still like to think I am an Indy company, so I randomly remove existing game features and don't provide replacements.
...
Removes Texture Pack setting
2013-07-18 20:10:45 +10:00
md_5
0189ad9c17
Add disabled commands
2013-07-09 14:55:27 +10:00
md_5
be29799f5a
[Beta] Implement own HTTP client for online mode checks, instead of asynchttpclient
2013-07-05 09:29:28 +10:00
md_5
ffbebaff69
Remove old @Subscribe event handling
2013-07-04 09:43:32 +10:00
md_5
85e82a2e34
Update POMs to 1.6.1
2013-07-02 20:59:04 +10:00
md_5
632fa8bd94
Partially support forced_hosts MOTD without SRV records - gonna think how best to put this in the config, for now its server: motd:, might remove listener motd later on
2013-07-01 14:05:57 +10:00
Robin Lambertz
d9eb8c66b8
Change order of boolean so the latch is decremented all the time
2013-06-17 14:16:54 +10:00
md_5
92c3ef1989
Fix custom tab API to allow using as soon as constructed
2013-06-16 15:40:31 +10:00
md_5
1881507712
Move scoreboard stuff to the sscore package in preparation for refactor
2013-06-16 09:10:25 +10:00
md_5
d4cbac1bdf
Add tab list getter to api
2013-06-16 07:56:38 +10:00
md_5
fa0671ab2a
Finish up TabApi impl.
2013-06-16 07:55:15 +10:00
md_5
184154a8b3
Close issue #437
2013-06-16 07:26:29 +10:00
md_5
f0f1e71c93
Implement super sexy console to close #315
2013-06-11 18:55:15 +10:00
md_5
523e991018
Doesnt allow ALL possible variations of a string, but its good enough for now
2013-06-08 15:34:30 +10:00
md_5
b4220e9229
Refactor all the tab APIs
2013-06-08 14:06:09 +10:00
md_5
9b9addfccd
Add interfaces for custom TabAPI, just need to add the hooks now, and of course a pretty example. As always, not tested yet.
2013-06-08 13:51:23 +10:00
md_5
b75a2b5060
[Breaking] Close #423 by making tab list per listener.
2013-06-08 13:13:17 +10:00
md_5
05a9342854
Ramp up warning in preparation for breaking commit
2013-06-06 20:23:50 +10:00
md_5
b1e3f6a75b
And people think dependancy loading is easy. Close #381
2013-06-05 18:24:33 +10:00
md_5
c5307c4451
Dont use getters in team packet and add null check to team name
2013-06-01 18:00:17 +10:00
md_5
2a421cdd8d
Close #306 use SQLite for reconnect locations
2013-06-01 17:29:14 +10:00
md_5
3ba52cb98b
Might need a better way to do this...... oh well, add all the netbeans code style files
2013-06-01 11:12:03 +10:00
md_5
639e5f3c1d
Add 'unsafe' api for things like packet sending that may be implementation specific or break at any time
2013-05-31 17:02:45 +10:00
md_5
d82b29e15a
Finish up protocol API - we now compile again. Extensive testing is required, but that is for another day.
2013-05-30 19:11:05 +10:00
md_5
0d666168f0
Close #398 by printing debug so we can identify the issue if it arises again
2013-05-29 12:02:06 +10:00