Kadi

From ETM
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Latest Changes

  • Shows possible subcommands
  • Shows current syntax word and example text
  • Filters input based on partial matches


Command Interfaces

LandActionConfig

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

Forced registered 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
Optional Keywords if not overwritten
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
Kadi plugin additional keywords
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] .

  1. pay Kademlia 5      <- RESOLVE PLAYERNAME CAccess.getPlayerIdService().getNameAnyMatching(t);
  2. pay :myacc 5       <- OWN ACCOUNT Nickname lookup
  3. pay *100500300    <- RESOLVE ACCOUNT-NUMBERS / Show 'known' numbers. Numbers used lately + server numbers and (numbers on their friends if allowed)
  4. pay *aldi        <- TRADEMARKED / Simply show all numbers that are valid in theory? Or ones marked as "public"
  5. (ADMINS) pay Kade:1005003    <- Pre-Filtered by username / Show accounts of the user
  6. (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)