Java Command Dispatch Framework - (Bukkit, Spigot, Paper, Sponge, Bungee, JDA, Velocity supported, generically usable anywhere)
In Multiverse, we've been trying to figure out the best way to implement our own `CommandIssuer`. We want to add send methods that handle replacements in a different way. Initially, we did this by creating an `OpenBukkitCommandIssuer` class in the `co.aikar.commands` package whose sole purpose is to provide a `protected` constructor. This is pretty unideal but it works. However, as I was trying to implement Java 9 modules, I discovered this prevented us from being able to do that. So now I've tried to instead use composition and just implement `CommandIssuer` directly. However, we also extend `BukkitCommandManager` in order to return our implementation of `CommandIssuer`. But then I face the problem that the `BukkitCommandManager#getCommandIssuer` returns `BukkitCommandIssuer`. The only work around for this is to have a separate `getMVCommandIssuer` which is also not ideal. I would love to see the `CommandIssuer` implementations in ACF be open for extension and if that is an acceptable solution, I would be happy to create a PR for this. Otherwise, can we instead have the `CommandManager` implementations return a `CommandIssuer` from their `getCommandIssuer` method?
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be resolved. The issue was opened by dumptruckman and has received 4 comments.