Comments (8)
Hello, I hope you're all doing well!
Could you please confirm whether this issue has already been assigned to someone? If it hasn't it would be a pleasure to contribute to your project!
from commands.
I would confirm that no one is working on this "issue". Truthfully, I have not put any thought into what this looks like to implement. Or anything else about it.
from commands.
It would be helpful if you could provide a description of the issue! @vortexthedev @chickeneer
from commands.
It would be helpful if you could provide a description of the issue! @vortexthedev @chickeneer
The title of issue is saying everything
from commands.
Add @async annotation, so we can get rid of non-async database queries for example in the registered contexts (params).
from commands.
I would confirm that no one is working on this "issue". Truthfully, I have not put any thought into what this looks like to implement. Or anything else about it.
Could you implement next methods? (If any of registered contexts are async, then the whole command execution will be off main thread by using runTaskAsync?)
CommandManager#registerAsyncContext
CommandManager#registerAsyncOptionalContext
CommandManager#registerAsyncIssuerAwareContext
Add @async annotation so we can select any commands besides the params to be async.
from commands.
No, there are some open things:
- How should acf handle async resolvers. Should they be registered and instead of returning the object directly a CompletionStage? Or should the context resolver simply be called async?
- Should the execution of the command be async (off main thread) or rescheduled into the main thread?
- Since it's possible to access values from other arguments with the provided context in the context resolver there should be more information on how to implement this feature for async contexts.
Feel free to make a PoC by forking acf yourself and try to implement such a feature. If anyone could implement that in a few minutes we would already added it as a feature to acf. But such a complex idea should be implemented correctly and the required time for this is huge.
from commands.
If there is any parameters that are required to be run async, or the command/subcommand has @async annotation, then the whole command process (Command#execute) will be ran through Scheduler#runTaskAsync().
By the command process I mean retrieving the parameters values through registered contexts and running the command method.
from commands.
Related Issues (20)
- Add a fabric implementation of the ACF HOT 2
- color codes with messages to command issuer HOT 1
- Creating Timings deprecated warnings - Paper planning to remove Timings functionality HOT 1
- Add support to Folia if it possible HOT 9
- Cannot compile as of April 1st HOT 1
- Brigadier - more issues HOT 1
- Using OfflinePlayer as a param causes my server to crash sometimes HOT 1
- trying to autocomplete first argument, then allow user to type "set" and then autocomplete again HOT 1
- Command Completions Item HOT 1
- Presence of Folia-compatible plugin seems to trip up the Bukkit command manager HOT 5
- NoSuchMethodError for threadedregions.scheduler.AsyncScheduler on 1.19.4 HOT 1
- No permission HOT 4
- Error on Server Shutdown HOT 1
- Execution failed for task ':compileJava'. HOT 7
- Is it possible to "dynamically" register a alias for a command? HOT 1
- ACF breaking mcMMO HOT 14
- Plugin attempted to register my.plugin.package.acf.ACFBukkitListener@6588a59a while not enabled HOT 1
- Inner classes on Kotlin do not register HOT 3
- BukkitCommandManager readPlayerLocale wrong for 1.20.2 and above HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from commands.