Kadi
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)