Kadi: Difference between revisions
No edit summary |
|||
(39 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 330: | Line 334: | ||
| | | | ||
|- | |- | ||
| | |[time] | ||
| | |Amount of time: 1d5h30m, 1m30s, 21d | ||
| | | | ||
|} | |} | ||
Line 369: | Line 373: | ||
#(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)