Tracking issue: complete command support #229
Comments
|
I'm currently working on the tell command. |
Adds /me <action> command for #229 which is described here. This has not been tested on multiple accounts. The text for the command was deduced from running /me on a 1.15.2 server from both the console (which appears as @) and a normal player account.
|
I think I will start working on the |
|
I have written some python code to parse the commands.json file that you can generate from the server jar. Using this i have generated (almost) all the functions one would need to implement to reach 99% vanilla command support. The included file commands.txt contains (almost) all the functions that one would eventually need to implement. As an example here is one of the xp commands. For now i have them returning a "not implemented msg", but we would have to implement their functionality here. The included file parsers.txt has a list of the 50 to 60 ish parsers that the commands in commands.rs assume we have implemented. With my scripts i am able to load two different versions of minecrafts commands.json file and see what changes have been made. This would make it possible to track changes in vanilla commands, and get a "diff" for every release, stating what rust code needs to be added/removed. I want to know if the maintainers would be interested in including the generated files. I am not suggesting we add python as part of the build process, just the generated code. If you want to include the generated code, then i am going to spend some time improving the script and release it, and also spend the time creating a pull request. |
|
@Miro-Andrin Wow, that's impressive, thanks for this! I'd be happy to include these generated files as part of the commands crate. Including the generator script in this repo seems like a good idea, in case we want to regenerate the code for some reason, but it doesn't have to be a mandatory build dependency. |
|
|
Loading from bans.toml, including reasons and expiry times. Also implements /ban, /ban-ip, /pardon and /pardon-ip (feather-rs#229)
Loading from bans.toml, including reasons and expiry times. Also implements /ban, /ban-ip, /pardon and /pardon-ip (feather-rs#229)
Loading from bans.toml, including reasons and expiry times. Also implements /ban, /ban-ip, /pardon and /pardon-ip (feather-rs#229)
Loading from bans.toml, including reasons and expiry times. Also implements /ban, /ban-ip, /pardon and /pardon-ip (feather-rs#229)
Loading from bans.toml, including reasons and expiry times. Also implements /ban, /ban-ip, /pardon and /pardon-ip (feather-rs#229)
Loading from bans.toml, including reasons and expiry times. Also implements /ban, /ban-ip, /pardon and /pardon-ip (feather-rs#229).


#209 added initial support for commands using
lieutenantand implemented/tpand/gamemode. What's left to do:For newcomers to the project, implementing a command is a good way to start. The basic process is:
server/commands/src/impls.rsand implement the command.tpimplementation is a good example of how a command could be implemented.server/commands/src/arguments.rs.EntitySelectorandParsedGamemodeare useful examples to see how this is done.If you need any help, you are welcome to ask as many questions as you need on our Discord server :)
The text was updated successfully, but these errors were encountered: