13
0
geforkt von Mirrors/Velocity
Commit graph

292 Commits

Autor SHA1 Nachricht Datum
Andrew Steinborn
09d33de03e
Merge pull request #256 from Gabik21/previous-server-in-event
Add previous server to ServerConnectedEvent
2019-10-31 19:51:32 -04:00
Gabik21
bc8756f715
Readd old constructor 2019-10-31 19:31:47 +01:00
Gabik21
9498376bfa
Add missing info to constructor doc 2019-10-28 21:23:28 +01:00
Gabik21
ad291803ea
Add missing JavaDoc 2019-10-28 21:18:53 +01:00
Gabik21
802251d273
Add previous server to toString method 2019-10-28 20:49:11 +01:00
Gabik21
7c0a402cca
Add previous server to ServerConnectedEvent 2019-10-28 14:45:13 +01:00
james58899
bd35c6835e
Allow set redirect message 2019-10-17 08:32:50 +08:00
Andrew Steinborn
b18f65fe0a Allow building on Java 11 (and set Travis to build on OpenJDK 11) 2019-10-04 17:09:41 -04:00
Andrew Steinborn
47ada83700 Add modified FastUUID 2019-09-26 22:27:08 -04:00
Andrew Steinborn
260f7f575a ServerInfo is now comparable 2019-09-07 17:06:06 -04:00
Leymooo
fd367c6efd Add method to determine if player is in OnlineMode 2019-09-04 01:44:40 +03:00
Gabik21
18a56d8b1d
Merge remote-tracking branch 'upstream/dev/1.1.0' 2019-08-29 19:47:04 +02:00
Andrew Steinborn
661ec3103a Bump to Guice 4.2.2 for Java 11 plugin support 2019-08-09 15:39:46 -04:00
Andrew Steinborn
e3e7b726e0 Bump to Guice 4.2.2 for Java 11 plugin support 2019-08-09 15:38:36 -04:00
Andrew Steinborn
ca9a4492c4 Add support for ping pass-through
By default, ping pass-through is not enabled. However, you can use
ping passthrough to pass through just mods (great for modded servers)
or everything.
2019-08-06 02:06:53 -04:00
Andrew Steinborn
2d9227ccf0 Fix Checkstyle 2019-08-05 10:51:45 -04:00
Andrew Steinborn
b4e62443c9 Add arbitrary chat tab complete event. Fixes #236 2019-08-05 10:30:55 -04:00
Jamie Campbell
5d37a7f96e 1.14.4 support 2019-07-26 01:34:02 -04:00
Jamie Campbell
950104850e 1.14.4 support 2019-07-19 17:50:15 +01:00
Gabik21
5c314c9068
Add 1.7 Protocol Support 2019-07-01 08:56:22 +02:00
Andrew Steinborn
f0ba7e1eea Add method to check if an entry already exists in the tab list. 2019-07-01 00:07:20 -04:00
Andrew Steinborn
275685f45f Merge branch 'master' into dev/1.1.0
# Conflicts:
#	build.gradle
2019-06-30 23:52:22 -04:00
Leymooo
de4f5e32dd 1.14.3 2019-06-24 19:37:17 +03:00
Andrew Steinborn
81840abc86 Enforce at least one parameter in CommandManager#register()
The old register method has been deprecated.
2019-06-22 21:13:20 -04:00
Andrew Steinborn
ed8209cfd1 Merge branch 'master' into dev/1.1.0 2019-06-22 21:01:46 -04:00
Leymooo
d0745acde1 1.14.3-pre4 2019-06-22 14:11:47 +03:00
Andrew Steinborn
c55ab2c908 Make sure to include the right repo 2019-06-18 07:48:03 -04:00
Andrew Steinborn
8a45074eb2 Include Configurate 2019-06-18 07:45:45 -04:00
Andrew Steinborn
04a23e3622 Introduce raw String-based command API 2019-06-18 00:13:49 -04:00
Andrew Steinborn
8d61e7ffd0 Removed redundant (non-)nullable annotations from boss bar. 2019-06-02 17:57:31 -04:00
kashike
0a53343547 Rename some bossbar-related fields and methods 2019-06-02 14:47:41 -07:00
MrIvanPlays
20b34447f8 Add BossBar API (#213) 2019-06-02 15:02:43 -04:00
Leymooo
85c6238d68 1.14.2 support 2019-05-27 17:20:42 +03:00
Andrew Steinborn
b0b445c044 Fix Javadoc link for text API 2019-05-15 19:20:51 -04:00
Andrew Steinborn
fc9e2d576d Update for Minecraft 1.14.1 2019-05-13 12:12:08 -04:00
Andrew Steinborn
37999ed32e Support 1.14-pre2 2019-05-10 02:51:00 -04:00
kashike
3800610f66 Bump text to 3.0.0 2019-05-06 19:34:53 -07:00
Andrew Steinborn
1661cece2d
An Easter basket bearing gifts! (#191)
* Delay switch to new server until after JoinGame is sent.

Unfortunately, in some cases (especially vanilla Minecraft) some login
disconnects are sent after ServerLoginSuccess but before JoinGame.
We've been using ServerLoginSuccess but it has caused too many problems.
Now Velocity will switch to a stripped-down version of the play session
handler until JoinGame is received. This handler does very little by
itself: it simply forwards plugin messages (for Forge) and waits for the
JoinGame packet from the server.

This is an initial version: only vanilla Minecraft 1.12.2 was tested.
However this is the way Waterfall without entity rewriting does server
switches (which, in turn, is inherited from BungeeCord).

* Move to Gradle 5 and Error Prone.
2019-04-24 14:36:49 -04:00
Andrew Steinborn
545966a4e7 Minecraft 1.14 2019-04-23 13:46:49 -04:00
Andrew Steinborn
21368f542c
Merge pull request #189 from Leymooo/1.14
Support for 1.14 protocol
2019-04-23 02:21:46 -04:00
Andrew Steinborn
edcd13b532 Fix Checkstyle issues 2019-04-21 02:56:29 -04:00
Andrew Steinborn
dea7c215d7 Allow empty channel names (but not namespaces). 2019-04-21 02:52:52 -04:00
Leymooo
ac192c281c 1.14-pre5 2019-04-18 22:45:17 +03:00
Andrew Steinborn
564cb99861 Add Player#getGameProfile() to make tab list plugins easier to make. 2019-03-29 15:01:52 -04:00
Andrew Steinborn
118574e535 Updated log4j and Checker Framework
Updating Checker Framework flagged numerous warnings, which have been
corrected. These probably involve type declarations lacking a nullness
annotation that appeared elsewhere.
2019-03-28 22:27:51 -04:00
Andrew Steinborn
611a31b7bb Attempt to allow Eclipse to import the Gradle project. 2019-03-28 21:46:45 -04:00
Andrew Steinborn
e2fa06fa17
Merge pull request #176 from Crypnotic/master
Add matchPlayer and matchServer
2019-03-09 00:15:07 -05:00
Andrew Steinborn
c7a379ebb8 Include server that we attempted to connect to in the result. 2019-03-08 23:51:47 -05:00
Crypnotic
b35fd05d2e Add matchPlayer and matchServer 2019-03-03 09:57:19 -06:00
Andrew Steinborn
12f5bdfc48 Properly implement fallback support. 2019-02-15 15:07:38 -05:00
kashike
6d080db48e Bump text dependency to 1.12-1.6.5 to fix a deserialisation issue 2019-01-21 09:12:27 -08:00
Andrew Steinborn
89bcc9a100 Grab most of the low-hanging fruit. 2018-12-29 17:22:36 -05:00
Andrew Steinborn
c8f73ea0ab Add Javadoc to resource pack API 2018-12-29 15:37:56 -05:00
Andrew Steinborn
0ca0c2a297 Resource pack API 2018-12-29 15:21:47 -05:00
Andrew Steinborn
280563ffa0 Clarifications around plugin message API. 2018-12-29 14:25:06 -05:00
Andrew Steinborn
a2d9a9f1d8 Clarifications, same for QueryResponse. 2018-12-29 14:21:20 -05:00
Andrew Steinborn
5cf96aabdd Ensure that getting a builder from the ping will produce the same ping. 2018-12-29 14:09:30 -05:00
Andrew Steinborn
256978fc15 Solve a bunch of Checkstyle warnings. 2018-12-29 10:57:55 -05:00
Andrew Steinborn
898353640e Moving to new Jenkins setup 2018-12-24 08:23:56 -05:00
Andrew Steinborn
e979db7778 Fix some unfriendly behavior in Favicon#create(Path) 2018-12-13 19:44:59 -05:00
Andrew Steinborn
1856fb6aad ProtocolVersion#SUPPORTED_VERSIONS 2018-12-13 05:24:37 -05:00
Andrew Steinborn
853fd2226d Fix formatting in ProtocolVersion 2018-12-07 17:24:56 -05:00
Andrew Steinborn
a3bfa292c6
Merge pull request #139 from VelocityPowered/reload-command
Reload command
2018-12-01 18:04:09 -05:00
Andrew Steinborn
a9ae53e527 Introduce ConsoleCommandSource. See #155 2018-12-01 17:08:34 -05:00
Andrew Steinborn
edfdcf3d53 Document ServerPreConnectEvent more carefully. 2018-11-25 14:54:03 -05:00
Crypnotic
6b4c809c39 Rework and expose ProtocolVersion to the API 2018-11-20 17:15:48 -06:00
Andrew Steinborn
99960e5dd9 Forgot this 2018-11-20 00:50:16 -05:00
Andrew Steinborn
8685b04772 Initial reload command support.
What is missing:
- Changing/removing servers "in-flight"
- Query stuff
- A way to preserve existing user connections while closing the old port
2018-11-19 23:46:22 -05:00
Andrew Steinborn
3023a90295 [BREAKING] Rename withUuid()->withId() and withId()->withUndashedId() 2018-11-17 16:40:09 -05:00
Andrew Steinborn
480f87a760 API breakage: Revamped some login stuff.
I have cleaned up some logic in the client login session handler and
revamped the GameProfile class somewhat. The most notable breaking
change is that Velocity now returns an UUID for getId() instead of an
undashed UUID, which was moved to a getUndashedId() method.
2018-11-15 19:54:55 -05:00
Andrew Steinborn
868976e09c Add Javadoc and remove all Checkstyle issues from API and natives. 2018-11-15 19:04:39 -05:00
Yeregorix
3cba196ba7 Remove Identifiable 2018-11-15 17:02:26 +01:00
Yeregorix
da259951c7 Change 'set' prefixes to 'with' and add javadoc 2018-11-12 21:34:57 +01:00
Yeregorix
b6bb4ad1a1 Optimize GameProfile and add Identifiable interface 2018-11-12 19:50:52 +01:00
Andrew Steinborn
8a7ba25097 Fix Forge server ping mod serialization. Closes #131 2018-11-08 16:57:14 -05:00
Andrew Steinborn
f423169449 Fix issues with server connections. 2018-10-29 19:25:51 -04:00
Andrew Steinborn
070631902a Fix some suboptimal behavior in invoking KickedFromServerEvent.
Previously, the event would only fire when a player was kicked from the
current server they were on. Now, under certain cases, it can be fired
even if the player was already connected to a server.

To faciliate this, a new result (Notify) was introduced. This result
will "do the right thing" if the player is kicked from the current
server or is trying to connect to a different server than the one they
were on.
2018-10-28 03:32:18 -04:00
Andrew Steinborn
1310cd2c53 Mix of Checkstyle and SonarLint. 2018-10-28 03:18:15 -04:00
Andrew Steinborn
6467335f74 Fixed most Checkstyle warnings in the API. 2018-10-28 00:41:21 -04:00
Andrew Steinborn
25b5e00125 Reformat with Google code style and enforce Checkstyle.
Fixes #125
2018-10-27 23:45:36 -04:00
Andrew Steinborn
53aa92db92 Fix some low-hanging code smells using SonarLint. 2018-10-27 22:18:30 -04:00
Andrew Steinborn
32829c5637
Checker Framework integration (#126) 2018-10-27 21:45:42 -04:00
Mark Vainomaa
ff6a6ad40b
Add native forced hosts support 2018-10-27 22:36:52 +03:00
Mark Vainomaa
447e7d1d50
Adapt to upcoming Checker framework related changes 2018-10-27 21:38:20 +03:00
Mark Vainomaa
ea43b8ff60
Add Query event 2018-10-27 19:57:48 +03:00
Andrew Steinborn
3bd48dec99 Add convenience connectWithIndication() method. 2018-10-21 17:49:51 -04:00
kashike
78abba56af Change player info action enum to int
Read & write server id
Fix javadocs
2018-10-13 00:18:21 -07:00
Alex Thomson
245828e337 Make changes based on PR comments 2018-10-11 10:41:40 +13:00
Alex Thomson
c5a27bb135 Add Forge mod list support 2018-10-10 19:52:22 +13:00
Andrew Steinborn
d59c8874b7 Fix issues with UUIDs with leading zeroes. Fixes #109 2018-10-05 02:39:11 -04:00
Crypnotic
aa34977f3e Added ProxyConfig interface and implemented in VelocityConfiguration 2018-09-30 23:56:53 -05:00
Andrew Steinborn
3777ab5c8f Fix PlayerChatEvent Javadoc 2018-09-30 18:32:01 -04:00
Desetude
328e06d407 Add tab list documentation 2018-09-30 22:43:24 +01:00
Desetude
61bd178591 Initial tablist implementation 2018-09-30 21:01:01 +01:00
Andrew Steinborn
1da1382b16 some toString() changes 2018-09-29 16:22:50 -04:00
Andrew Steinborn
dc594e692d Missed a few spots. 2018-09-29 03:39:38 -04:00
Andrew Steinborn
8be7ca9ab5 Apply final modifier to all classes in the api module. 2018-09-29 03:38:42 -04:00
Andrew Steinborn
0f5dc4b248 That's not good 2018-09-27 02:45:39 -04:00
Andrew Steinborn
403fec13d8 Move UuidUtils test to api module 2018-09-27 02:33:47 -04:00
Thomas Vanmellaerts
3acc00de5e
Move ChatResult to PlayerChatEvent and don't call event on spoofChatInput() 2018-09-26 19:50:36 +02:00
Thomas Vanmellaerts
7598918d93
Add chat event 2018-09-26 13:07:03 +02:00
Leymooo
46c02c9895 merge upstream 2018-09-24 12:40:48 +03:00
Andrew Steinborn
ef578ff69b
Merge pull request #99 from lucko/feature/command-permissions
Implement optional permission check method for commands
2018-09-21 16:06:50 -04:00
Andrew Steinborn
ee917682e0
Title API (#95) 2018-09-21 15:58:47 -04:00
Andrew Steinborn
d06028e0f8 ProxyServer#broadcast() 2018-09-20 22:43:58 -04:00
Luck
b805891d1f
Implement Player#spoofChatInput method 2018-09-20 21:51:22 +01:00
Luck
97e4ff91e7
Implement optional permission check method for commands
This allows plugins to customize which players can use their commands. For players without permission, the command is effectively invisible, and the handling is passed through to the backend server.
2018-09-20 21:48:14 +01:00
Luck
921bfbae87
Add missing getters to ServerPing and rename Modinfo --> ModInfo 2018-09-20 14:59:34 +01:00
PurpleIsEverything
1bdba0075f
Rename getModList to getMods 2018-09-19 17:13:29 -06:00
PurpleIsEverything
d218fbf1e0
Modinfo: Add getType and getModList methods. 2018-09-19 14:23:09 -06:00
Andrew Steinborn
b7e6334324 Add toString() to PluginMessageEvent 2018-09-19 15:20:18 -04:00
Andrew Steinborn
5c3e1adee2 Fix this annoying wart 2018-09-19 14:57:53 -04:00
Andrew Steinborn
50c27066e2 Import cleanup 2018-09-19 14:56:49 -04:00
Andrew Steinborn
1be508ed5e Merge branch 'master' into merged 2018-09-19 14:54:44 -04:00
Andrew Steinborn
c29b92c1bf Merge branch 'plugin-message-event' into merged 2018-09-19 14:52:28 -04:00
Andrew Steinborn
6bd3c70015
Merge pull request #93 from VelocityPowered/remove-legacychatcolorutils
Remove LegacyChatColorUtils
2018-09-18 17:27:38 -04:00
Andrew Steinborn
89b5da25be Merge branch 'master' into registered-server 2018-09-18 16:50:13 -04:00
Andrew Steinborn
f973ded4ee Tighten identifier checks since NuVotifier fixed this 2018-09-17 16:18:47 -04:00
Andrew Steinborn
a60c55007a Remove LegacyChatColorUtils
In most cases, you should only work with legacy text to deserialize or
serialize it for backwards compatibility or user configurations only.
2018-09-17 16:11:23 -04:00
Andrew Steinborn
1f8152c3a5 ProxyServer#getServerInfo -> ProxyServer#getServer 2018-09-16 13:16:16 -04:00
Andrew Steinborn
5ff36f1ae7 Merge branch 'master' into plugin-message-event
# Conflicts:
#	proxy/src/main/java/com/velocitypowered/proxy/connection/backend/BackendPlaySessionHandler.java
#	proxy/src/main/java/com/velocitypowered/proxy/connection/client/ClientPlaySessionHandler.java
2018-09-16 02:35:38 -04:00
Andrew Steinborn
e1b2dc0d43 Introduce RegisteredServer API
This interface roughly maps the BungeeCord ServerInfo API. Accordingly,
this is a breaking API change, as many of the server-related events and
methods working with server info instances now provide/expect the
RegisteredServer interface instead.
2018-09-16 02:26:29 -04:00
PurpleIsEverything
be0f666f4d
Allow modifying the ModInfo type. 2018-09-15 18:36:10 -06:00
Andrew Steinborn
2b1d55a0fc Expose original server in ServerPreConnectEvent 2018-09-15 01:16:26 -04:00
Andrew Steinborn
d028c281c9
Merge pull request #76 from kashike/mrn
ServerPreConnectEvent#getInfo -> getServer
2018-09-14 00:17:25 -04:00
Leymooo
961757b481 fix compile 2018-09-13 23:00:12 +03:00
Leymooo
ab59299620 Refactor PreLoginComponentResult 2018-09-13 10:16:10 +03:00
kashike
c3fd559ac2 ServerPreConnectEvent#getInfo -> getServer 2018-09-12 22:41:51 -07:00
Leymooo
6196f94adf I think we dont need this comment 2018-09-12 16:28:34 +03:00
Leymooo
bc86a12c57 expand PreLoginComponentResult with force offline mode 2018-09-12 11:47:28 +03:00
Leymooo
d2b4b77134 Allow to edit GameProfile properties. 2018-09-11 19:00:34 +03:00
Leymooo
79bb43468f remove @NonNull, revert reindentation 2018-09-11 17:44:51 +03:00
Leymooo
74bf246c39 Add PostLoginEvent. Resolve #72 2018-09-11 16:15:54 +03:00
Andrew Steinborn
5dbf8f1736 Include modlist in toBuilder() 2018-09-07 23:23:53 -04:00
Andrew Steinborn
a62238d073 Allow toggling announcing Forge support on and off 2018-09-07 18:18:38 -04:00
Andrew Steinborn
3eca6e9df1 Mark Velocity as a modded server on the server list 2018-09-07 18:09:28 -04:00
Daniel Naylor
9888f6f6f0 First attempt at getting Forge working nicely with Velocity. 2018-09-05 19:08:29 +01:00
Andrew Steinborn
d2133bf0b4 Javadocs here 2018-09-04 01:32:50 -04:00
Andrew Steinborn
69e88ca6fd Adds KickedFromServerEvent. Fixes #49 2018-09-04 01:12:20 -04:00
Andrew Steinborn
c520e04ac8 [BREAKING] PluginMessageEvent instead 2018-09-02 20:50:24 -04:00
Andrew Steinborn
ff0f83b375 Add getBoundAddress() for NuVotifier 2018-09-02 16:34:25 -04:00
Andrew Steinborn
d7e18b2cb1 Make channels case-insensitive because NuVotifier uses a mixed-case name 2018-08-31 15:27:11 -04:00
Andrew Steinborn
2f6642dcd8 Make the c/v/api/proxy/player package more general. 2018-08-25 21:44:53 -04:00
Andrew Steinborn
f273c046ec Add javadoc and reorganize the player settings stuff. 2018-08-25 12:54:30 -04:00
Andrew Steinborn
86461c2b60
Merge branch 'master' into ping 2018-08-25 12:45:07 -04:00
Andrew Steinborn
78a2bd313a
Merge pull request #57 from Leymooo/client-settings
Add PlayerSettings API
2018-08-25 12:44:35 -04:00
Leymooo
09153ae620 oops 2018-08-25 18:02:19 +03:00
Andrew Steinborn
d0ecc2b623 Allow making the "players" response null. 2018-08-25 10:59:42 -04:00
Andrew Steinborn
c1b1e71075 Fix a typo. 2018-08-25 10:56:32 -04:00
Leymooo
1b4c537c81 Add PlayerSettings API 2018-08-25 15:52:05 +03:00