Kadi: Difference between revisions
No edit summary |
No edit summary |
||
| (40 intermediate revisions by the same user not shown) | |||
| Line 8: | Line 8: | ||
==Command Interfaces== | ==Command Interfaces== | ||
[[LandActionConfig]] | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
| Line 21: | Line 21: | ||
|[[General]] | |[[General]] | ||
|Optional | |Optional | ||
|<nowiki>[comment...],[message...],[colorvartext...],[colortext...],[on|off|toggle],[price],[amount],[number],[page],[nickname],[owner],[name],[shortcut],[color],[radius]</nowiki | |<nowiki>[comment...],[message...],[colorvartext...],[colortext...],[on|off|toggle],[price],[amount],[number],[page],[nickname],[owner],[name],[shortcut],[color],[radius],[time],[percentage], [number_l], [amount_d], [on|off|choice],[true|false], [X.xx,Y.yy,Z.zz], [treetype], [ench1,ench2], [effect]</nowiki> | ||
|- | |- | ||
|[[General]] | |[[General]] | ||
|Kadi | |Kadi | ||
| | |(1st iteration) | ||
|- | |- | ||
|[[AccountCommands]] | |[[AccountCommands]] | ||
|Todo | |Todo | ||
|[name:account] | |[name:account] [:account] | ||
|- | |- | ||
|[[BoardCommands]] | |[[BoardCommands]] | ||
|Todo | |Todo | ||
| | |(skipped) | ||
|- | |- | ||
|[[ChannelCommands]] | |[[ChannelCommands]] | ||
| Line 41: | Line 41: | ||
|[[ChatCommands]] | |[[ChatCommands]] | ||
|Todo | |Todo | ||
| | |(1st iteration) | ||
|- | |- | ||
|[[ContainerCommands]] | |[[ContainerCommands]] | ||
|Todo | |Todo | ||
| | |(skipped) | ||
|- | |- | ||
|[[CraftingCommands]] | |[[CraftingCommands]] | ||
|Todo | |Todo | ||
| | |[recipe], [libid], [resultlib], [0:libA,1:libB,5:libC], [enchantment], [level], [ignoreRestriction], [itemFlag] | ||
|- | |- | ||
|[[CrateCommands]] | |[[CrateCommands]] | ||
|Todo | |Todo | ||
| | |[crate], [cquality], [valuable?], [clibid], [libidinv] | ||
|- | |- | ||
|[[EffectCommands]] | |[[EffectCommands]] | ||
|Todo | |Todo | ||
| | |(skipped) | ||
|- | |- | ||
|[[ElementCommands]] | |[[ElementCommands]] | ||
|Todo | |Todo | ||
| | |(skipped) | ||
|- | |- | ||
|[[EssentialCommands]] | |[[EssentialCommands]] | ||
|Todo | |Todo | ||
| | |(50% skipped) | ||
|- | |- | ||
|[[EventCommands]] | |[[EventCommands]] | ||
|Todo | |Todo | ||
| | |[event], [eventtype], [startTick], [tick], [repeating], [fixedloc], [anonymous], [rewardsignid] | ||
|- | |- | ||
|[[FindCommands]] | |[[FindCommands]] | ||
|Todo | |Todo | ||
| | |[transId] - TODO: implement transaction sharing | ||
|- | |||
|[[FSCommands]] | |||
|Todo | |||
|done | |||
|- | |- | ||
|[[FSUserCommands]] | |[[FSUserCommands|ModelProfileCommands]] | ||
|Todo | |Todo | ||
| | |'''renamed''' [profile] | ||
|- | |- | ||
|[[HeadCommands]] | |[[HeadCommands]] | ||
|Todo | |Todo | ||
| | |[head] | ||
|- | |- | ||
|[[HomeCommands]] | |[[HomeCommands]] | ||
|Todo | |Todo | ||
| | |[home], [homeother], | ||
|- | |- | ||
|[[ImageCommands]] | |[[ImageCommands]] | ||
|Todo | |Todo | ||
| | |(skipped) | ||
|- | |- | ||
|[[ItemCommands]] | |[[ItemCommands]] | ||
|Todo | |Todo | ||
| | |(skipped) | ||
|- | |- | ||
|[[KadiCommands]] | |[[KadiCommands]] | ||
|Todo | |Todo | ||
| | | | ||
|- | |- | ||
|[[KadiCommandsHelper]] | |[[KadiCommandsHelper]] | ||
|Todo | |Todo | ||
| | | | ||
|- | |- | ||
|[[LandAreaCommands]] | |[[LandAreaCommands]] | ||
|Todo | |Todo | ||
| | |done | ||
|- | |- | ||
|[[LandCommands]] | |[[LandCommands]] | ||
|Todo | |Todo | ||
| | |[landoption], [landmember], [chunkrotation], [shiftamount], [height], [biome] | ||
|- | |- | ||
|[[LibraryCmdCommands]] | |[[LibraryCmdCommands]] | ||
|Todo | |Todo | ||
| | |(skipped) [libcmd] | ||
|- | |- | ||
|[[LibraryCommands]] | |[[LibraryCommands]] | ||
| Line 141: | Line 141: | ||
|[[MobCommands]] | |[[MobCommands]] | ||
|Todo | |Todo | ||
| | |[mobmodel] | ||
|- | |- | ||
|[[ModelCommands]] | |[[ModelCommands]] | ||
|Todo | |Todo | ||
| | |<nowiki>[model], [arm|head], [big|small] [visible], [modelSize], [modelrange] [reward], [goalname]</nowiki> | ||
|- | |- | ||
|[[MoneyCommands]] | |[[MoneyCommands]] | ||
| Line 173: | Line 173: | ||
|[[PlayerCommands]] | |[[PlayerCommands]] | ||
|Todo | |Todo | ||
| | |[playermodel] | ||
|- | |- | ||
|[[PUserCommands]] | |[[PUserCommands]] | ||
| Line 185: | Line 185: | ||
|[[RewardCommands]] | |[[RewardCommands]] | ||
|Todo | |Todo | ||
|x | |x !reward! [goalname] | ||
|- | |- | ||
|[[RewardSignCommands]] | |[[RewardSignCommands]] | ||
| Line 197: | Line 197: | ||
|[[ShopCommands]] | |[[ShopCommands]] | ||
|Todo | |Todo | ||
| | |[shop], [shoploc] | ||
|- | |||
|'''SkinCommands''' | |||
|Todo | |||
|[skin] | |||
|- | |- | ||
|[[ToolCommands]] | |[[ToolCommands]] | ||
| Line 213: | Line 217: | ||
|[[UserCommands]] | |[[UserCommands]] | ||
|Todo | |Todo | ||
| | |[flyeffect] | ||
|- | |- | ||
|[[UserConfigCommands]] | |[[UserConfigCommands]] | ||
| Line 229: | Line 233: | ||
|[[WarpCommands]] | |[[WarpCommands]] | ||
|Todo | |Todo | ||
| | |[warp] | ||
|- | |- | ||
|[[WorldRestoreCommands]] | |[[WorldRestoreCommands]] | ||
| Line 240: | Line 244: | ||
|} | |} | ||
== | ==Tab-completion Keywords== | ||
{| class="wikitable sortable mw-collapsible" | {| class="wikitable sortable mw-collapsible" | ||
|+Forced registered keywords | |+Forced registered keywords | ||
| Line 259: | Line 263: | ||
| | | | ||
|- | |- | ||
| | |[playerOn] | ||
| | |Show currently online players | ||
| | | | ||
|} | |} | ||
| Line 330: | Line 334: | ||
| | | | ||
|- | |- | ||
| | |[time] | ||
| | |Amount of time: 1d5h30m, 1m30s, 21d | ||
| | | | ||
|} | |} | ||
| Line 363: | Line 367: | ||
Sending money is allowed with a LOT of variants. Placeholder is '''[name:account]''' . | Sending money is allowed with a LOT of variants. Placeholder is '''[name:account]''' . | ||
# '''pay Kademlia 5''' <- RESOLVE PLAYERNAME CAccess.getPlayerIdService().getNameAnyMatching(t); | #'''pay Kademlia 5''' <- RESOLVE PLAYERNAME CAccess.getPlayerIdService().getNameAnyMatching(t); | ||
# '''pay :myacc 5''' <- OWN ACCOUNT Nickname lookup | #'''pay :myacc 5''' <- OWN ACCOUNT Nickname lookup | ||
# '''pay *100500300''' <- RESOLVE ACCOUNT-NUMBERS / Show 'known' numbers. Numbers used lately + server numbers and (numbers on their friends if allowed) | #'''pay *100500300''' <- RESOLVE ACCOUNT-NUMBERS / Show 'known' numbers. Numbers used lately + server numbers and (numbers on their friends if allowed) | ||
# '''pay *aldi''' <- TRADEMARKED / Simply show all numbers that are valid in theory? Or ones marked as "public" | #'''pay *aldi''' <- TRADEMARKED / Simply show all numbers that are valid in theory? Or ones marked as "public" | ||
# (ADMINS) '''pay Kade:1005003''' <- Pre-Filtered by username / Show accounts of the user | #(ADMINS) '''pay Kade:1005003''' <- Pre-Filtered by username / Show accounts of the user | ||
# (ADMINS) '''pay Kade:test 5''' <- RESOLVE PLAYERNAME + has a named account (admin only? as this makes private accounts searchable) | #(ADMINS) '''pay Kade:test 5''' <- RESOLVE PLAYERNAME + has a named account (admin only? as this makes private accounts searchable) | ||
==SuffixTree== | |||
SuffixTree update implementation needed for: | |||
*PanelManager - Todo convert to AbstractAddableManager? | |||
*LibManagerImpl | |||
*MailManager | |||
*PermManager | |||
*PUserManager | |||
*ShopManager | |||
*WorldSettingsManager | |||
*AccountManager | |||
*ModelProfileManager | |||
*UserManager | |||
*UserStatsManager | |||
* | |||
Other: | |||
TransactionManagerImpl - Not using data system | |||
MailManager (?; remove?) | |||
<br /> | |||
==Pods== | |||
*Home | |||
**Map<World, List<Home>> // SuffixSearch | |||
**MaxHomes | |||
*Backpack | |||
**libItemStorage Map<LibId, Integer> | |||
**storedStacks (onDeath Tools) LinkedList<String> // serialized stacks + meta? | |||
**(flyFuel), (Oxygen) | |||
*Chat | |||
+ Syncronized loading/methods for Backpack | |||
<br /> | |||
==Data splitting== | |||
Pro: Limit filesize | |||
Pro: better memory management later on (dynamic mailprofile unloading) | |||
Con: User commands interface differs for direct user methods & 'outsurced' data to a X-Manager | |||
Con: duplicated development of Component/Manager. extends AbstractSuffixComponent<T,V> / AbstractManager<T,V> extends SuffixSearchable<T,V> | |||
Rule: Don't save data in user? Only option values? | |||
<br /> | |||
==UserComponents== | |||
OptionsComponent - Map<Option<UserOptionType,?>, Object> data does not fit SuffixSearch interface | |||
HomeComponent (vs MailManager) | |||
Latest revision as of 14:08, 20 May 2020
Latest Changes
- Shows possible subcommands
- Shows current syntax word and example text
- Filters input based on partial matches
Command Interfaces
| Interface | Desc | Keywords |
|---|---|---|
| General | Forced | [world],[player],[player,player] |
| General | Optional | [comment...],[message...],[colorvartext...],[colortext...],[on|off|toggle],[price],[amount],[number],[page],[nickname],[owner],[name],[shortcut],[color],[radius],[time],[percentage], [number_l], [amount_d], [on|off|choice],[true|false], [X.xx,Y.yy,Z.zz], [treetype], [ench1,ench2], [effect] |
| General | Kadi | (1st iteration) |
| AccountCommands | Todo | [name:account] [:account] |
| BoardCommands | Todo | (skipped) |
| ChannelCommands | Todo | [channel],[prefix...] |
| ChatCommands | Todo | (1st iteration) |
| ContainerCommands | Todo | (skipped) |
| CraftingCommands | Todo | [recipe], [libid], [resultlib], [0:libA,1:libB,5:libC], [enchantment], [level], [ignoreRestriction], [itemFlag] |
| CrateCommands | Todo | [crate], [cquality], [valuable?], [clibid], [libidinv] |
| EffectCommands | Todo | (skipped) |
| ElementCommands | Todo | (skipped) |
| EssentialCommands | Todo | (50% skipped) |
| EventCommands | Todo | [event], [eventtype], [startTick], [tick], [repeating], [fixedloc], [anonymous], [rewardsignid] |
| FindCommands | Todo | [transId] - TODO: implement transaction sharing |
| FSCommands | Todo | done |
| ModelProfileCommands | Todo | renamed [profile] |
| HeadCommands | Todo | [head] |
| HomeCommands | Todo | [home], [homeother], |
| ImageCommands | Todo | (skipped) |
| ItemCommands | Todo | (skipped) |
| KadiCommands | Todo | |
| KadiCommandsHelper | Todo | |
| LandAreaCommands | Todo | done |
| LandCommands | Todo | [landoption], [landmember], [chunkrotation], [shiftamount], [height], [biome] |
| LibraryCmdCommands | Todo | (skipped) [libcmd] |
| LibraryCommands | Todo | x |
| LibraryItemCommands | Todo | x |
| LotteryCommands | Todo | x |
| MagicCommands | Todo | x |
| MailCommands | Todo | x |
| MobCommands | Todo | [mobmodel] |
| ModelCommands | Todo | [model], [arm|head], [big|small] [visible], [modelSize], [modelrange] [reward], [goalname] |
| MoneyCommands | Todo | x |
| NaviCommands | Todo | x |
| PageCommands | Todo | x |
| PanelCommands | Todo | x |
| PermCommands | Todo | x |
| PGroupCommands | Todo | [pgroup] |
| PlayerCommands | Todo | [playermodel] |
| PUserCommands | Todo | [puser] |
| RecordingCommands | Todo | x |
| RewardCommands | Todo | x !reward! [goalname] |
| RewardSignCommands | Todo | x |
| ScreenCommands | Todo | x |
| ShopCommands | Todo | [shop], [shoploc] |
| SkinCommands | Todo | [skin] |
| ToolCommands | Todo | x |
| TradeCommands | Todo | x |
| TransactionCommands | Todo | x |
| UserCommands | Todo | [flyeffect] |
| UserConfigCommands | Todo | x |
| UserGroupCommands | Todo | x |
| UserStatsCommands | Todo | x |
| WarpCommands | Todo | [warp] |
| WorldRestoreCommands | Todo | x |
| WorldSettingCommands | Todo | x |
Tab-completion Keywords
| Keyword | Provides | Examples |
|---|---|---|
| [world] | Shows all worldnames | |
| [player] | Shows any at least initialized(looked up) player | |
| [player,player] | Same as player but allows comma listing | |
| [playerOn] | Show currently online players |
| Keyword | Provides | Examples |
|---|---|---|
| [on|off|toggle] | Show matching boolean state | |
| [price] | double number | |
| [amount] | double number | |
| [radius] | double number | |
| [number] | integer number | |
| [page] | integer number | |
| [nickname] | 'any' string without spaces | |
| [name] | 'any' string without spaces | |
| [owner] | same as [player] | |
| [comment...] | endless text without colors | |
| [message...] | endless text without colors | |
| [colortext...] | endless text with colors ('&') | |
| [colorvartext...] | endless text with colors and variable usage like %name% | |
| [shortcut] | single char | |
| [color] | ChatColor enum (dark_blue, light_purple, gold) | |
| [time] | Amount of time: 1d5h30m, 1m30s, 21d |
| Keyword | Provides | Examples |
|---|---|---|
| [pgroup] | Name of a permission group | |
| [puser] | Name of a permission user | |
| [name:account] | Money transfer. This on is complex. See below | |
| [channel] | Name of a chat channel | |
| [prefix...] | Setting a prefix for something (chat channel) |
Sending money is allowed with a LOT of variants. Placeholder is [name:account] .
- pay Kademlia 5 <- RESOLVE PLAYERNAME CAccess.getPlayerIdService().getNameAnyMatching(t);
- pay :myacc 5 <- OWN ACCOUNT Nickname lookup
- pay *100500300 <- RESOLVE ACCOUNT-NUMBERS / Show 'known' numbers. Numbers used lately + server numbers and (numbers on their friends if allowed)
- pay *aldi <- TRADEMARKED / Simply show all numbers that are valid in theory? Or ones marked as "public"
- (ADMINS) pay Kade:1005003 <- Pre-Filtered by username / Show accounts of the user
- (ADMINS) pay Kade:test 5 <- RESOLVE PLAYERNAME + has a named account (admin only? as this makes private accounts searchable)
SuffixTree
SuffixTree update implementation needed for:
- PanelManager - Todo convert to AbstractAddableManager?
- LibManagerImpl
- MailManager
- PermManager
- PUserManager
- ShopManager
- WorldSettingsManager
- AccountManager
- ModelProfileManager
- UserManager
- UserStatsManager
Other:
TransactionManagerImpl - Not using data system
MailManager (?; remove?)
Pods
- Home
- Map<World, List<Home>> // SuffixSearch
- MaxHomes
- Backpack
- libItemStorage Map<LibId, Integer>
- storedStacks (onDeath Tools) LinkedList<String> // serialized stacks + meta?
- (flyFuel), (Oxygen)
- Chat
+ Syncronized loading/methods for Backpack
Data splitting
Pro: Limit filesize
Pro: better memory management later on (dynamic mailprofile unloading)
Con: User commands interface differs for direct user methods & 'outsurced' data to a X-Manager
Con: duplicated development of Component/Manager. extends AbstractSuffixComponent<T,V> / AbstractManager<T,V> extends SuffixSearchable<T,V>
Rule: Don't save data in user? Only option values?
UserComponents
OptionsComponent - Map<Option<UserOptionType,?>, Object> data does not fit SuffixSearch interface
HomeComponent (vs MailManager)