Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/galaxygamesmc/ovommand

a virion designed to parse command data for PocketMine-MP
https://github.com/galaxygamesmc/ovommand

bedrock command minecraft php pmmp pocketmine virion

Last synced: about 1 month ago
JSON representation

a virion designed to parse command data for PocketMine-MP

Awesome Lists containing this project

README

        





ovo_logo


a virion framework designed to parse command data for PocketMine-MP

[READ WIKI](https://github.com/GalaxyGamesMC/Ovommand/wiki)

[DEMO PLUGIN](https://github.com/idumpster/OvoTest)

# Ovommand
NEW PROB:
- [ ] `$returnRaw` in `BaseResult` is confusing and useless?
- [ ] `isBlockPos` current do nothing in CoordinateResult
- [ ] Enum's value can be illegally edit via outside packet

Enums system:

| | Soft Enum | Hard Enum |
|:----------------------------------------------------------------------|:---------:|:---------:|
| Can value be read by owner? | YES | YES |
| Can value be read by other? (Public) | YES | YES |
| Can value be read by other? (Private) | NO | NO |
| Can value be written by owner? (Before server starts) | YES | YES |
| Can value be written by others? (Private) | NO | NO |
| Can value be written by others? (Before server starts, not Protected) | YES | YES |
| Can value be written by owner? (After server starts) | YES | NO |
| Can value be written by others? (After server starts, not Protected) | YES | NO |
| Can value be written by others? (Before server starts, Protected) | NO | NO |
| Can value be written by others? (After server starts, Protected) | NO | NO |
| Can alias be written by owner? (Before server starts) | YES | YES |
| Can alias be written by owner? (After server starts) | YES | NO |
| Can alias be written by others? (Before server starts, not Protected) | YES | YES |
| Can alias be written by others? (Before server starts, Protected) | NO | NO |
| Can alias be written by others? (After server starts, not Protected) | YES | NO |
| Can alias be written by others? (After server starts, Protected) | NO | NO |

Show useless dumps

TODO:
- [x] make reasonable enum that handle it value correctly (string -> value)
- [x] custom enum, parameters, enum-based parameters
- [x] feature rich
- [x] usage messages
- [x] result system (parser), not that good tho :l
- [ ] attribute supports (temp abandoned)
- [ ] SubCommand doesn't require perms if wanted
- [ ] ~~make syntax parser based on its string pos, not the string itself for the accuracy in catching broken syntax~~ spoiled
- [x] fix a bug where the parser cannot check the correct span leading to this to be valid: `/tp ~~~ a`, where a is not valid but the parser cannot know that because it don't expect that to be a case!
- [ ] fix broken SYNTAX_PRINT_VANILLA
- [ ] fix an issue where it failed to parse the parameter after position parameter that has less than the span! eg: ~~~ a, failed to parse a

Suggest:
- [x] make canParse and parse into one
- [x] empty parameter functionality
- [ ] allow parameter to not provide data to the ingame auto-complete
- [x] make overloadId global which will make the code shorter
- [ ] template? (temp abandoned)
- [ ] move part of Ovommand to BaseCommand
- [ ] do subCommand even need description?
- [x] more features to the syntax parser
- [ ] rename parsedId & matchedId in Results to rawParsedCount & parsedCount

Discuss:
- [ ] Default Enums should have its own register and a version checker!? (temp abandoned)
- [x] the problem with shared data is that if other plugins try to use other plugins enum... the enum might not exist due to plugin loading order!
- [x] Default enums can have duplicated values if the event called more than twice on different plugins!
- [ ] Merge onRun() and onSyntaxError()?
- [ ] Add supports for private enums and synced properties for soft enums

Self note:
- Soft enums cannot spread out its value using flag 1!
- Two enums, one soft and one hard could have a same name
- Enum name could be set to anything, not just ascii / UTF-8

:x:
:heavy_check_mark:
:white_check_mark:

|checked|unchecked|crossed|
|---|---|---|
|✓|_|✗|
|☑|☐|☒|



ovo_warning

This project is under construction....