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
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
Matsv
7031d431da
Implement 1_11 entity / parent class structure and patch holograms the other way around! Thanks for fixing Mojang :-) #482
2016-09-30 20:08:39 +02:00
Myles
b7b322a525
Full config api for all platforms using snakeyaml + comments
2016-09-30 00:34:16 +01:00
Myles
771c00b146
Implement Task Ids
2016-09-29 22:55:08 +01:00
Myles
23f1589c28
Update commands to add new platform specific command also add platform to updater.
2016-09-29 22:35:51 +01:00
Myles
10fc8f846d
Fix PacketWrapper sending and implement Movement Transmitter for Bungee
2016-09-29 21:29:58 +01:00
Matsv
aeec7e5f95
Start working on packet-level chunk bulks
2016-09-29 16:33:14 +02:00
Myles
36301a595b
Fix Bungee Support (Excluding Chunks) + Rename Handlers
2016-09-29 15:25:18 +01:00
Matsv
8ea3623a79
Stop using new Gson() everywhere ( #505 )
2016-09-27 19:15:39 +02:00
Myles
396998c7fc
Factor & Javadoc update
2016-09-27 17:31:10 +01:00
Matsv
51c469882b
Port Bukkit listeners to Sponge
2016-09-26 22:30:59 +02:00
Myles
8b9a1750de
Basic Config API for sponge, need to do comments
2016-09-26 20:12:34 +01:00
Myles
3411c3d144
Add encoder name
2016-09-26 17:57:36 +01:00
Myles
42edffb309
Change reflection to NMSUtil, and start work on Bungee (doesn't work)
2016-09-26 13:50:20 +01:00
Myles
14daca5fea
Fix 1.9.4+ support and also fix sponge support to work better.
...
Tested on SpongeVanilla + SpongeForge
(1.8.8 & 1.9.4)
2016-09-26 13:11:46 +01:00
Matsv
e136d1db94
Basic Bungee structure
2016-09-26 13:25:28 +02:00
Matsv
9a8a6e5b16
Implement PPS for Sponge
2016-09-26 11:16:20 +02:00
Myles
b371c14a27
Add Sponge Support
2016-09-26 01:44:21 +01:00
Myles
a1fbca11f0
Queue tasks & Fix PPS
2016-09-25 21:02:12 +01:00
Matsv
08713947b7
Add BukkitViaLoader to the builder and limit the builder methods
2016-09-25 21:42:22 +02:00
Matsv
e56bce2f31
Create builder for ViaManager
2016-09-25 21:33:47 +02:00
Matsv
573374866b
Optimize imports & reformat code
2016-09-25 21:17:09 +02:00
Myles
669cbcd142
Fix maven so it compiles
2016-09-25 20:05:58 +01:00
Matsv
79d353d458
Basic configuration api and add platform specific dump info
2016-09-25 20:41:34 +02:00
Myles
30d477c6d2
Add Bulk Chunks, need to do full packet reading as a fallback though
2016-09-25 19:34:24 +01:00
Myles
7a7c3f15d8
Add required provider for movement (for reflection caching)
2016-09-25 18:26:14 +01:00
Myles
52610f7c66
Use HandItemProvider for 1.8 hand items
2016-09-25 18:06:04 +01:00
Matsv
84ee4410a6
Use generics for bossbars
2016-09-25 18:20:42 +02:00
Myles
49d51de263
Start moving listeners away
2016-09-25 17:17:07 +01:00
Myles
848b0cf113
Make ViaCommandSender better, fix quite a few of the commands.
2016-09-25 16:03:03 +01:00
Myles
05930ad791
Add ViaManager and abstraction / Add todo list
2016-09-25 14:39:37 +01:00
Matsv
b146257b1a
Abstract the BossBar for multi-platform support
2016-09-24 19:31:41 +02:00
Myles
dc01fb59b8
Doesn't compile but start work towards seperating into modules... (with legacy support hopefully for basic API)
2016-09-23 18:49:59 +01:00