User
Storage system design needed.
Storage System Design
UserOptions
// BooleanState
FakeView (0, BooleanState.class), // View
Tablist (1, BooleanState.class), // Tablist
RocketBoots (2, BooleanState.class), // RocketBoots
FlyBackwards (3, BooleanState.class), // RocketBoots
FlyEffects (4, BooleanState.class), // RocketBoots
HoverFly (5, BooleanState.class), // RocketBoots
CreativeFly (6, BooleanState.class), // Essential
Fakes (7, BooleanState.class), // FakeStuff
DebugInfo (8, BooleanState.class), // Debug
ShowDisabledPerm (9, BooleanState.class), // Perm
God (10, BooleanState.class), // Essential
ShopMessages (11, BooleanState.class), // Kshop
ShopErrorMessages (12, BooleanState.class), // Kshop
Admin (13, BooleanState.class), //
Vanished (14, BooleanState.class), //
// Integer 50
ViewDistance (50, Integer.class), // View
FakeViewDistance (51, Integer.class), // View
CreativeFlySpeed (52, Integer.class), // Essential
MaxHomes (53, Integer.class), // -------------- Admin/Plugin only typically
MaxAccounts (54, Integer.class), // -------------- Admin/Plugin only typically
// Long 100
// Float 150
// Double 200
BootsFlySpeed (200, Double.class), // Essential
BootsUplift (201, Double.class), // Essential
// Enums 300
GameMode (300, GameMode.class), // Essential
OwnAccountView (301, AccountVisibility.class), // Account
OtherAccountView (302, AccountVisibility.class), // Account
FlyEffectsType (303, ChunkliEffect.class), // RocketBoots
ShopDefaults (304, new ArrayList<String>()),
ActiveAccount (305, AccountId.class), // Account
UserPods
Home (0, HomePod.class),
Backpack (1, BackpackPod.class),
Chat (2, ChatPod.class),
We need to (possibly) store:
- ModelProfile -> ALWAYS LOADED
- accounts -> ALWAYS LOADED
- UserProfile -> loaded when online (?)
- userstats profile -> loaded when online (?)
- Mails (UUID <> MailProfile ?)
- Homes (UUID <> MailProfile ?) vs stored in User (Component)