Commit Graph

309 Commits

Author SHA1 Message Date
KennyTV 95e20677fd
Clean up ProtocolPipeline
The filter functionality isn't something that's likely to be used again, so move out its usage and only check on <1.9 servers
2021-04-27 15:59:06 +02:00
KennyTV f1c8d271b1
Reformat imports
The package rename wasn't done through refactoring but through simple replaces to not make git choke on diffs
2021-04-27 13:42:36 +02:00
KennyTV 318c49cf30
More interfaces, keep ProtocolRegistry.SERVER_PROTOCOL legacy api 2021-04-27 13:25:18 +02:00
KennyTV 30d122e7fa
Create some fancy interfaces 2021-04-26 23:01:55 +02:00
KennyTV 49d386063d
Add ProtocolVersion to legacy api 2021-04-26 21:45:27 +02:00
KennyTV deec4b521e
Move some packages and classes around 2021-04-26 21:27:59 +02:00
KennyTV a25a5634de
Change package/imports in classes and build configs 2021-04-26 20:52:34 +02:00
KennyTV a3b1ce817e
Repackage to com.viaversion
This process will be split into multiple commits for git not to choke on.
2021-04-26 20:46:30 +02:00
KennyTV ad0842c107
Bump version to 4.0.0, remove ProtocolRegistry
The bump was overdue given the breakages that have happened
2021-04-23 22:48:08 +02:00
KennyTV 144c24c276
Move packet tracking methods out of UserConnectionn 2021-04-20 13:24:10 +02:00
KennyTV c7e5b4a297
Update to Gradle 7.0 2021-04-13 12:37:29 +02:00
KennyTV 7300a69817
Use Paper method to get server protocol version if possible 2021-04-12 20:11:13 +02:00
KennyTV 26bbc92f94
Warn about potentially unstable plugins/server software 2021-04-03 17:01:57 +02:00
MrMicky 9ccd8bff33
Fix error with shit-click on offhand slot on 1.8 servers (#2419) 2021-04-03 09:09:00 +02:00
KennyTV 070c7f5808
Move to checker qual nullability annotations 2021-04-02 14:15:30 +02:00
KennyTV a63f2ab6fe
Improve server version API 2021-03-26 12:51:38 +01:00
KennyTV 63356207a3
ProtocolRegistry -> ProtocolManager interface 2021-03-24 15:30:03 +01:00
KennyTV 0ab2c626aa
Split parts of common into api; We are now GPL, api is MIT
This does not affect any previous states of this project; only future modifications as well as the project as a whole will be under the GNU General Public License from now on. The newly introduced api directory, partly split from common, is an exception to this, still being licensed under the MIT license.

See the README for details.
2021-03-24 14:02:37 +01:00
KennyTV c0dabfe097
*cries in elephant* 2021-02-25 09:18:51 +01:00
Myles d1a0d629df Merge branch 'master' into dev 2021-02-09 16:32:44 +00:00
Myles 50bfc86706 Revert "The bytebuf doesn't need to be rewritten"
This reverts commit ac877d0b1a.
2021-02-09 16:32:31 +00:00
Myles 628979f923 Merge branch 'master' into dev 2021-02-09 10:36:54 +00:00
Myles 24b4cd8dbd Merge branch 'reduce-decode-rewriting' 2021-02-09 10:36:13 +00:00
Myles 727c575a1c Run QuickMove on next tick to improve likeliness of success (fixes #2044)
Since it is 5 ticks later, the inventory may be closed
2021-02-09 10:35:13 +00:00
Myles ac877d0b1a The bytebuf doesn't need to be rewritten 2021-02-06 15:29:36 +00:00
KennyTV e09c3b0159
Merge remote-tracking branch 'origin/master' into dev 2021-02-06 15:38:06 +01:00
creeper123123321 6941b48038 fixed pending #2291 changes 2021-02-06 10:21:34 -03:00
KennyTV 4cc8a3f092
Return -1 in getPlayerVersion if the player is not connected 2021-01-17 13:59:26 +01:00
Thibaut Gautier 91319402f3 Fixed encoding not properly working with other packet reading libraries
Injecting a message to byte encoder beforehand would break outbound packets in ViaVersion. This solution is a good fix which won't impact anything.
2021-01-17 13:12:18 +01:00
KennyTV f35c48bed2
Merge branch 'master' into dev 2020-12-09 21:39:13 +01:00
KennyTV 965814d833
Fix ProtocolLib check (again)
#BlameGerry (again)
2020-12-09 21:31:00 +01:00
KennyTV 4714a3f03a
Merge branch 'master' into dev 2020-12-09 11:31:51 +01:00
KennyTV f08db2d234
Fix startup
#BlameGerry
2020-12-09 11:31:37 +01:00
KennyTV 52b95eab28
Merge remote-tracking branch 'origin/master' into dev 2020-12-09 09:17:37 +01:00
Gerrygames 24c56a239e
Fix PacketWrapper#sendToServer bypassing ProtocolLib (#2229) 2020-12-08 19:15:55 +01:00
KennyTV 7858b998ca
Reduce chance of quick move task while disabling
Closes #2226
2020-12-08 12:42:13 +01:00
creeper123123321 4813cc3077
inject into velocity backend (currently broken)
Add client-side mode for UserConnection

remove unused code

fix duplicate method on rebase
2020-10-28 19:51:01 +01:00
KennyTV 7d96efc645
Minor ProtocolVersion refactor 2020-10-16 18:21:45 +02:00
KennyTV f16ff65933
Move handshake exceptions filter to exceptionCaught handling 2020-07-01 13:22:00 +02:00
KennyTV d414106d5a
Only print InformativeException cases in codec handlers 2020-06-25 12:51:51 +02:00
KennyTV d86ac64ac9
Fix PS support
Fixes #1825
2020-06-25 12:39:49 +02:00
KennyTV 67cce53b72
Revert removal of concurrency hacks
Apparently still causes issues with PS, we'll investigate this properly at a later date
2020-06-22 17:45:10 +02:00
KennyTV 8d7c7743b8
Only print codec netty exceptions 2020-06-14 18:15:09 +02:00
KennyTV 029f399a14
Rename ViaCodecException to CancelCodecException 2020-06-10 08:58:40 +02:00
KennyTV 7588609c56
Fix cancelexception printing 2020-06-09 21:29:19 +02:00
KennyTV aa59ed112a
Fixup docs, remove ConcurrentList 2020-06-09 17:53:31 +02:00
KennyTV 529da10615
Move ProtocolInfo into its own field 2020-06-07 12:19:36 +02:00
KennyTV f2d6691af7
Minor javadoc changes 2020-06-07 11:32:49 +02:00
creeper123123321 a8a1e9448e
Netty handler tidy 2020-06-07 10:41:29 +02:00
KennyTV 653ca4b322
Fix toggleglide listener swimming check 2020-05-06 09:30:16 +02:00
KennyTV 53b8c2328e
Uncache UserConnection on channel close, fix memory leak 2020-04-23 20:24:16 +02:00
creeper123123321 dd5cbb0e4c Merge branch 'abstraction' of https://github.com/ViaVersion/ViaVersion into portedplayerschange 2020-04-15 11:39:13 -03:00
creeper123123321 17881b342a javadoc, remove ViaAPIs getPortedPlayers, fix ViaManager.getPortedPlayers name, rename to ViaAPI#isInjected 2020-04-15 11:35:09 -03:00
KennyTV 8f08a32c5a
Bai bai to more lombok usage once more 2020-04-13 20:58:24 +02:00
KennyTV fdb6137339
Create bukkit-legacy module for 1.8 magic method usage
No real changes to the classes other than them being moved
2020-04-13 20:19:55 +02:00
KennyTV f173cf73d4
Fix 1.15 EntityToggleGlideEvent cancelling on Bukkit
Since 1.15, cancelling can only be done by updating the player's metadata
2020-04-13 20:03:46 +02:00
creeper123123321 a105c5cb11 Make getPortedPlayers() private, update bungee-api, remove some lombok usage, create ViaConnectionManager 2020-04-12 16:47:32 -03:00
creeper123123321 ca78bf9851 Remove portedPlayers field, let platform handle players 2020-04-12 15:37:08 -03:00
KennyTV 081781f223 Some cleanup 2020-04-03 19:32:31 +02:00
KennyTV e658304405 Asynchronously load mappings (until needed), create optional mappings cache for VB 2020-04-03 19:32:30 +02:00
KennyTV 681a0dc0e4 Remove deprecated api, remove a bit of magic 2020-02-10 10:05:56 +01:00
KennyTV 7f6c429a55 Minor blockconnection cleanup, reduce map lookups 2020-01-28 13:31:36 +01:00
KennyTV 598b51a4bf Do not unnecessarily register tasks/listeners 2020-01-22 14:55:39 +01:00
KennyTV b06b9c69ca Do not unnecessarily register tasks/listeners 2020-01-22 14:14:43 +01:00
Myles cd2ca76236 Merge branch 'master' into abstraction 2020-01-14 19:12:42 +00:00
Myles 9598e0e4f8 Update authors 2020-01-14 19:12:24 +00:00
creeper123123321 d6b52bcc54 Merge remote-tracking branch 'upstream/abstraction' into primitive_types 2019-12-12 15:23:32 -03:00
KennyTV 21cad97f3f Some fixes, move blockconnection method to bukkit config 2019-11-25 18:34:55 +01:00
creeper123123321 de97b5b15f
fix typo 2019-11-24 18:43:10 -03:00
creeper123123321 1e8d04a07d remove deprecated methods and constructor on item and position, inline some uses of position 2019-11-24 17:55:46 -03:00
KennyTV 907516eb71 Hold config values in fields 2019-11-22 22:00:41 +01:00
creeper123123321 062d3759be Use primitive types in Position and BlockFace, remove world block connections on Sponge, clean code in 1.8 entity tracker, add constructor for cloning Item and Position 2019-11-22 15:13:41 -03:00
KennyTV a9c49d948a Merge remote-tracking branch 'upstream/master' into dev
# Conflicts:
#	bukkit/src/main/java/us/myles/ViaVersion/bukkit/platform/BukkitViaConfig.java
#	bungee/src/main/java/us/myles/ViaVersion/bungee/platform/BungeeViaConfig.java
#	common/src/main/java/us/myles/ViaVersion/api/ViaVersionConfig.java
#	common/src/main/resources/assets/viaversion/config.yml
#	sponge/src/main/java/us/myles/ViaVersion/sponge/platform/SpongeViaConfig.java
#	velocity/src/main/java/us/myles/ViaVersion/velocity/platform/VelocityViaConfig.java
2019-10-02 16:21:37 +02:00
Lukas 7e008226ec Fix 1.14+ walk animation (#1469)
* Do not send NaN health metadata to 1.14+ clients
* Added config option 'fix-1_14-health-nan'
2019-10-01 09:04:58 +01:00
Nassim 9408946b36 Merge master into abstraction (#1457) 2019-09-19 10:22:06 +01:00
Nassim 5eb3771704 Fix no light for non full blocks (#1414) 2019-09-09 13:02:30 +01:00
Gerrygames 23eadaeaee 19w36a (#1435) 2019-09-04 16:49:27 +01:00
KennyTV 91c2987cfe Minor change
Fixes #1431
(also trying the awesome GitHub auto-closing)
2019-08-31 09:28:56 +02:00
KennyTV 5b403da966 Fix hitbox listener for for 1.8.0 servers 2019-08-31 09:17:30 +02:00
KennyTV 64e0b6c711 Minor change 2019-08-29 22:24:01 +02:00
KennyTV 4542e9511b Set some object fields to finals, use lambdas 2019-08-23 22:13:37 +02:00
Myles 3521f9ac36 Merge branch 'master' into abstraction 2019-06-28 22:02:48 +01:00
Myles d6973a301b Fix #1382 2019-06-28 22:01:46 +01:00
Myles 744fa25349 Fix several NPE cases, apply final to relevant fields, remove unused code
The suggested changes were found with FindBugs, some of these bugs may be rare cases.
2019-05-27 17:50:08 +01:00
Myles 3027490256 Merge branch 'master' into abstraction 2019-05-27 17:29:04 +01:00
KennyTV 10d8ce86b3 Use weakhashmap 2019-05-21 19:02:03 +02:00
KennyTV 5cc421cff9 Don't cancel normal suffocation 2019-05-20 10:30:42 +02:00
KennyTV ca1ba4f422 Fix suffocation damage for 1.14+ players in hitbox patch 2019-05-19 23:28:05 +02:00
KennyTV eb9520cdc3 Reduce duplicated code in config classes 2019-05-15 12:22:56 +02:00
Gerrygames f25442337d Merge remote-tracking branch 'Myles/master' into abstraction_1.14.1 2019-05-14 10:15:58 +02:00
Myles fac7dafca5 Use fixed locale for toUpperCase/toLower #1126 2019-05-12 13:00:14 +01:00
Gerrygames 6911d061a7 abstract EntityTracker 2019-05-08 12:14:41 +02:00
KennyTV 73a62b8123 Fix paperpatch 2019-04-29 11:03:54 +02:00
KennyTV 41b22e8951 Forgot return 2019-04-27 19:01:45 +02:00
KennyTV d76e70b1f7 Don't cache Item 2019-04-27 18:59:18 +02:00
KennyTV c7c5c79365 Some minor optimization 2019-04-27 18:36:01 +02:00
KennyTV a5f5472853 Fix sign and banner placement in paperpatch 2019-04-26 11:16:53 +02:00
Myles 0834610f8e Fix sneaking NPE 2019-04-23 22:23:37 +01:00
Myles 11ce8524ac Merge with master 2019-04-23 15:40:47 +01:00
Myles 4a8534c164 Refactor class names for protocols
The inconsistency was too much for me.
2019-04-23 15:34:17 +01:00
Myles d3662d226b Merge branch 'master' into dev 2019-04-22 18:56:29 +01:00
Myles d699000dc3 Default to 'packet' blockconnection method 2019-04-22 18:56:05 +01:00
KennyTV bf523c93d1 Use constants for heights 2019-04-22 16:17:34 +02:00
KennyTV b58cbf85e5 Hitbox fix options 2019-04-22 15:55:38 +02:00
KennyTV e38bdffc84 Hitbox fix options 2019-04-22 14:38:22 +02:00
Myles 49205f0361 Merge branch 'master' into dev 2019-03-18 11:30:19 +00:00
Myles 47819180c4 Rework previous commit + Introduce injection information to dump 2019-03-18 11:30:02 +00:00
Myles be3fa19c0a Consistency: itruncate1_14Books -> isTruncate1_14Books 2019-03-17 16:11:36 +00:00
Myles 32a2734082 Merge branch 'master' into dev 2019-03-17 16:10:38 +00:00
Myles b28b0c3018 Fix last commit 2019-03-17 16:05:24 +00:00
Myles ee5eb59e42 Revert unnecessary synchronizes in ListWrapper
Usually the list we're wrapping is synchronized, so instead we'll ensure our code can be run concurrently.

There might be issues with other plugins and this change (but it's unlikely), open a issue if you see any of these after this change.
2019-03-17 16:04:13 +00:00
creeper123123321 12b45d95e0
Trying to fix main hand on bungee, handle left handed on 1.8 using 0x80 2019-03-05 19:47:58 -03:00
KennyTV 9d0331e190 Add option to truncate edited books with more than 50 pages 2019-03-04 10:14:52 +01:00
Myles 1be617c110 Merge branch 'master' into dev 2019-02-10 16:45:34 +00:00
creeper123123321 bce3593110
Tab delaying
(cherry picked from commit 386de52b9db1454e0fcec56ef9bfcd2c3a0f8d4a)
2019-02-06 18:53:24 -02:00
Myles 9ba70424e8 Fix armour update on item break #1157 2019-01-20 17:01:14 +00:00
Myles 77a57d2243 Merge branch 'master' into dev 2019-01-12 17:42:47 +00:00
KennyTV 20654b0a77 Add convenience config options
Add option to send all flowerparts for 1.13+ as stems if a block is above
Add option to send 1-layer snow as 2-layers for 1.13+ to fix collision
2019-01-09 21:48:04 +01:00
Myles c1147cb9f7 Formatting 2018-12-05 19:08:55 +00:00
Myles 8965b22f6d Merge branch 'master' into dev 2018-12-02 12:38:10 +00:00
Marco Neuhaus fc8b55dce7 fix spelling mistake 2018-11-24 18:42:00 +01:00
Gerrygames 9a13eb36b3 Serverside block-connections! 2018-11-17 15:45:37 +01:00
Myles 9ba5cc1f98 Merge branch 'master' into dev 2018-11-17 14:11:04 +00:00
Myles 8549c22567 Change the name of the config class to be more consistent 2018-11-17 13:12:19 +00:00
creeper123123321 4c07b6d28d
Squash Velocity platform commits
incomplete velocity code

untested velocity version detector

update velocity module version

Injecting, but not working

facepalm

Fix handler type

Should work now

will it work now?

it works!!!

fix npe in command tab completion

Do not forward command to server

implement server changing with different versions
thanks @Leymooo

Fix memory leaks

maybe cleaner code?

trying to port mainhandpatch, added todo

fix version

Use separated protocol version, add todo

Trying to mitigate UserConnection#toServer concurrent issue

port elytrapatch

it works but horribly and needs a modification in velocity

replace with a semaphore and EventLoop#submit

Lock for incoming packets

fix version

remove some TODOs

Listen to DisconnectEvent

Relocate snakeyaml
2018-11-12 15:05:48 -02:00
Myles 0fb08be6e9 Tidy up code to make it consistent 2018-10-27 12:25:42 +01:00
KennyTV a206fd7541 Remove unncessary doubled map check 2018-09-30 16:07:08 +02:00
Myles 6457ff315f Merge branch 'pr/987' 2018-09-23 18:43:29 +01:00
7kasper 5415a24f4e ViaVersion <3 ProtocolSupport 2018-09-12 19:59:42 +02:00
7kasper 0a8fc31be1
3/2 Hopefully fix all the space thingies. 2018-09-10 21:45:26 +02:00
7kasper f6ae076731
Part 2/2 Import & register listener. 2018-09-10 21:29:27 +02:00
7kasper 76296d8d41
Part 1/2 generate PS Packet Listener 2018-09-10 21:27:34 +02:00
Myles 527b5e6f99 Allow disabling of auto-complete in 1.13 via disable-1_13-auto-complete in config #891 2018-09-01 07:53:36 +01:00
Myles 2510751fdf Introduce 'suppress-1_13-conversion-errors' option 2018-08-21 16:26:04 +01:00
creeper123123321 1e7dbac34e
Reduce cooldown 2018-08-11 12:31:45 -03:00
Myles 7c0c4ee74d Implement prefix based team colours (based on code by @JollyAjax) 2018-07-20 21:21:24 +01:00
Logics4 4fe68c2c93 Don't use Paper block placement patch in 1.12.
Apparently the bug that caused the block placement issues with Paper was fixed in 1.12 (according to Aikar from its development team). So, with this commit the patch to fix it won't run if the server is running Paper 1.12 or higher (which means it will only be used in 1.11.2 and lower server versions).
2018-07-20 16:12:00 +01:00
creeper123123321 2fe0ed2ca1
restoring providers is not simple, removing todo 2018-07-02 18:48:52 -03:00
creeper123123321 f12a210665
Platform and Sponge changes 2018-06-14 15:21:49 -03:00
mmxw11 c46bdcf42b
Fix inventory handling
fixes #780 & #800
2018-01-22 21:32:22 +02:00
Matsv 721297bf21 Correct runRepeatingSync order 2018-01-19 11:05:16 +01:00
Myles 5a74e129a4 Change 'quick-move-action-fix' to default disabled.
This is until we can ensure no bugs happen with it if we're required to release.
See #780
2017-11-28 15:17:02 +00:00
Myles 11be597d11 Torch support for paper patch #758 2017-10-11 20:48:45 +01:00
Myles e372a56827 Refactor code to make field / class names better 2017-10-08 15:33:43 +01:00
mmxw11 471f1ae71d Try make it compile with Travis...
... don't use diamond operators?
2017-10-05 22:11:06 +03:00
mmxw11 a27808ade1 Add config for quick move action patch 2017-10-05 22:05:53 +03:00
mmxw11 2703e849cb Increase the waiting time 2017-09-28 20:47:13 +03:00
mmxw11 d57ef2b303 Fix inv provider not working on 1.8 servers 2017-09-28 20:44:49 +03:00
mmxw11 1c4e0051a0 Finish inventory provider
+ Support 1.9+ servers
2017-09-25 21:49:43 +03:00
mmxw11 b3d3921f6e Support item provider on a 1.8 server
... 1.9 is on the way
2017-09-25 18:04:39 +03:00