KennyTV
37fd69fa86
Make packet send methods use the current thread by default
...
Defaulting to submitting to the netty event loop caused issues more often than not - this also removes the `currentThread` flag and instead provides new scheduleSend methods so it is always obvious whether the packet is sent immediately.
2021-06-01 10:13:49 +02:00
KennyTV
15a5d51248
Don't cast ChannelInitializer type to SocketChannel
2021-05-22 19:41:07 +02:00
KennyTV
576682ef9f
Handle invalid uuid int array
...
Closes #2475
2021-05-15 16:42:38 +02:00
KennyTV
54b0345017
Fix PS compatibility on Java 8 💩
2021-05-15 10:11:19 +02:00
KennyTV
4f9f3254be
Fix PS compatibility on Java 16
2021-05-15 09:28:18 +02:00
KennyTV
1538ff5201
Expand unsupported software checks
2021-05-14 16:59:12 +02:00
KennyTV
d183d76c47
Remove platform bulk chunk transformers
2021-05-02 10:12:37 +02:00
KennyTV
44e928d53c
Update copyright scopes
2021-04-30 19:05:07 +02:00
KennyTV
89127cad8a
If possible, user Paper internal injection method
2021-04-29 23:32:13 +02:00
KennyTV
ab93e0877c
Rename platform task implementations
2021-04-29 17:46:29 +02:00
KennyTV
96b5051c75
Use primitive long in task methods
2021-04-29 17:31:16 +02:00
KennyTV
cad358322d
Rename outgoing->clientbound, incoming->serverbound
...
Via can both be used on servers and clients, making a direction like "incoming" ambiguous
2021-04-28 16:30:34 +02:00
KennyTV
a2b3906c9e
Move bossbar to new legacy package, since it only works on <1.9
...
The newly created LegacyViaAPI is safe to use, but should hold methods that cannot be universally used on every version
2021-04-28 11:10:16 +02:00
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