Commit Graph

282 Commits

Author SHA1 Message Date
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
mmxw11
976c418c9e Start implementing inv update task 2017-09-25 16:13:56 +03:00
mmxw11
b2669129f2 More work on the inv provider 2017-09-24 22:11:54 +03:00
mmxw11
343e316e4c Make InvContainerItemProvider 2017-09-24 21:35:38 +03:00
Myles
298835be42 Move config to assets/viaversion & refactor Config
Config loading is done by the implementing class.
Platforms can now specify the URL of the default config.
2017-09-11 13:10:54 +01:00
Myles
a64c21da8b Fix invalid json nbt chat messages, #712 2017-07-31 15:24:25 +01:00
Myles
ce286cf322 Remove unnecessary synchronising 2017-05-22 13:38:22 +01:00
Myles
899eac0e7e Fix ProtocolSupport not working on new versions #629 (+1 ProtocolSupport having nice code) 2017-04-05 20:05:08 +01:00
Myles
3fdbf5b062 Revert previous Server protocol check, add a call to ProtocolRegistry to force class load. 2017-02-17 14:15:27 +00:00
Myles
99e4ab22e3 Only inject channels when server protocol is known #631 2017-02-13 17:22:52 +00:00
Myles
0388f340cc Don’t support older versions if protocol support is installed, fixes #615 2017-01-30 17:15:47 +00:00
Myles
08b2d5b7e8 Fix #604 2016-12-20 20:11:21 +00:00
Myles
a35408d14f New config option for disabling piston animation for 1.11 clients #570 2016-12-15 15:32:54 +00:00
Myles
9186361a29 Change ConcurrentHashMaps to just Maps for Java 7 support 2016-11-15 15:17:16 +00:00
Myles
e430bfce06 Fix uninjection when different handler order 2016-11-13 13:34:22 +00:00
Myles
1c584040ca Use logger instead of System.out 2016-11-13 13:25:56 +00:00
Myles
10a2df5a7d Use plugin description from project pom.xml and fix sponge.
This disables the sponge plugin annotation processor and uses our own mcmod.info
2016-11-13 13:15:26 +00:00
Matsv
4142797380 Implement PlatformVersion for better dump output 2016-11-13 12:36:48 +01:00
Matsv
68fc884d2a Change the platform name to the full name that includes the version 2016-11-12 13:16:27 +01:00
Matsv
dd6423de06 Remove event-based commandblock listeners 2016-11-06 11:30:28 +01:00
Matsv
c896ed5f63 Move the Bungee server switch handler to an event instead of inside the encoder, this will also make ViaBackwards work correctly 2016-11-02 17:17:41 +01:00
Myles
bd11c98e45 Better support for ChannelInitializer detection (incase they do something funny, fixes latest PS dev) 2016-10-26 17:34:09 +01:00
Myles
55fccba711 Support for new PS when package isn't found 2016-10-26 17:33:16 +01:00
Max Qian
f92b7e5b80 Tell ProtocolSupport to decode MINECRAFT_FUTURE packets using the default decoder (for 1.9.4) 2016-10-19 14:44:25 +01:00
Myles
8093c424e2 WIP fix, ping works but it still doesn't connect 2016-10-19 14:44:25 +01:00
Myles
c4bab6c9af Optimise reflection in some cases where method isn't cached. 2016-10-16 16:25:53 +01:00
Myles
21c957b8d5 Config for protocol versions
Also make config concurrent
2016-10-02 19:40:38 +01:00
Matsv
f53c8c67e2
Fix Bukkit config NPE, only change the protocol id if ViaVersion can support it and support unsupported Bungee protocol ids (Not working correctly yet) 2016-10-01 13:31:14 +02:00