Changed key serialization
This commit is contained in:
@@ -7,25 +7,29 @@ import com.willfp.eco.util.NamespacedKeyUtils
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
object KeyHelpers {
|
||||
fun deserializeFromString(serialized: String): PersistentDataKey<*>? {
|
||||
val split = serialized.split("::").toTypedArray()
|
||||
if (split.size != 3) {
|
||||
val split = serialized.split(";").toTypedArray()
|
||||
|
||||
if (split.size < 2) {
|
||||
return null
|
||||
}
|
||||
|
||||
val key = NamespacedKeyUtils.fromStringOrNull(split[0]) ?: return null
|
||||
val type = PersistentDataKeyType.valueOf(split[1]) ?: return null
|
||||
return when (type.name()) {
|
||||
"STRING" -> PersistentDataKey(
|
||||
key,
|
||||
type as PersistentDataKeyType<String>,
|
||||
split[2]
|
||||
if(split.size >= 3) split.toList().subList(2, split.size).joinToString("") else ""
|
||||
)
|
||||
"INT" -> PersistentDataKey(
|
||||
key,
|
||||
type as PersistentDataKeyType<Int>, split[2].toInt()
|
||||
type as PersistentDataKeyType<Int>,
|
||||
split[2].toInt()
|
||||
)
|
||||
"DOUBLE" -> PersistentDataKey(
|
||||
key,
|
||||
type as PersistentDataKeyType<Double>, split[2].toDouble()
|
||||
type as PersistentDataKeyType<Double>,
|
||||
split[2].toDouble()
|
||||
)
|
||||
"BOOLEAN" -> PersistentDataKey(
|
||||
key,
|
||||
@@ -37,6 +41,6 @@ object KeyHelpers {
|
||||
}
|
||||
|
||||
fun serializeToString(key: PersistentDataKey<*>): String {
|
||||
return "${key.key}::${key.type.name()}::${key.defaultValue}"
|
||||
return "${key.key};${key.type.name()};${key.defaultValue}"
|
||||
}
|
||||
}
|
||||
@@ -3,68 +3,68 @@
|
||||
categorized-keys:
|
||||
# Preloading known keys (as of the release of 6.25.0) for optimal performance.
|
||||
player:
|
||||
- ecoskills:crit_damage::INT::0
|
||||
- ecoskills:strong_impact::INT::0
|
||||
- ecoskills:shamanism::INT::0
|
||||
- ecoskills:reimbursement::INT::0
|
||||
- ecoskills:armory_xp::DOUBLE::0.0
|
||||
- ecoskills:bravery::INT::0
|
||||
- ecoskills:seamless_movement::INT::0
|
||||
- ecoskills:fishing::INT::0
|
||||
- ecoskills:armory::INT::0
|
||||
- ecoskills:accelerated_escape::INT::0
|
||||
- ecoskills:alchemy_xp::DOUBLE::0.0
|
||||
- boosters:2sell_multiplier::INT::0
|
||||
- ecoskills:second_chance::INT::0
|
||||
- ecoskills:health::INT::0
|
||||
- ecoskills:spelunking::INT::0
|
||||
- eco:player_name::STRING::Unknown Player
|
||||
- ecoskills:strength::INT::0
|
||||
- ecoskills:woodcutting_xp::DOUBLE::0.0
|
||||
- ecoskills:versatile_tools::INT::0
|
||||
- boosters:skill_xp::INT::0
|
||||
- ecoskills:infernal_resistance::INT::0
|
||||
- ecoskills:wisdom::INT::0
|
||||
- ecoskills:master_lumberjack::INT::0
|
||||
- ecoskills:defense::INT::0
|
||||
- ecoskills:mystic_resilience::INT::0
|
||||
- ecoskills:gainsound::BOOLEAN::true
|
||||
- ecoskills:golden_yield::INT::0
|
||||
- ecoskills:dazzle::INT::0
|
||||
- ecoskills:dodging::INT::0
|
||||
- ecoskills:efficient_brewing::INT::0
|
||||
- ecoskills:bountiful_harvest::INT::0
|
||||
- ecoskills:actionbar_enabled::BOOLEAN::true
|
||||
- ecoskills:enchanting_xp::DOUBLE::0.0
|
||||
- ecoskills:overcompensation::INT::0
|
||||
- ecoskills:alchemy::INT::0
|
||||
- ecoskills:woodcutting::INT::0
|
||||
- ecoskills:mining::INT::0
|
||||
- ecoskills:magnetic_rod::INT::0
|
||||
- ecoskills:fishing_xp::DOUBLE::0.0
|
||||
- ecoskills:farming_xp::DOUBLE::0.0
|
||||
- ecoskills:speed::INT::0
|
||||
- ecoskills:potionmaster::INT::0
|
||||
- ecoskills:combat_xp::DOUBLE::0.0
|
||||
- ecoskills:eye_of_the_depths::INT::0
|
||||
- ecoskills:ferocity::INT::0
|
||||
- ecoskills:combat::INT::0
|
||||
- ecoskills:mining_xp::DOUBLE::0.0
|
||||
- ecoskills:satiation::INT::0
|
||||
- ecoskills:craftsmanship::INT::0
|
||||
- ecoskills:crit_chance::INT::0
|
||||
- ecoskills:dynamic_mining::INT::0
|
||||
- ecoskills:exploration::INT::0
|
||||
- boosters:1_5sell_multiplier::INT::0
|
||||
- ecoskills:enchanting::INT::0
|
||||
- ecoskills:endangering::INT::0
|
||||
- ecoskills:serrated_strikes::INT::0
|
||||
- ecoskills:exploration_xp::DOUBLE::0.0
|
||||
- ecoskills:farming::INT::0
|
||||
- ecoskills:crit_damage;INT;0
|
||||
- ecoskills:strong_impact;INT;0
|
||||
- ecoskills:shamanism;INT;0
|
||||
- ecoskills:reimbursement;INT;0
|
||||
- ecoskills:armory_xp;DOUBLE;0.0
|
||||
- ecoskills:bravery;INT;0
|
||||
- ecoskills:seamless_movement;INT;0
|
||||
- ecoskills:fishing;INT;0
|
||||
- ecoskills:armory;INT;0
|
||||
- ecoskills:accelerated_escape;INT;0
|
||||
- ecoskills:alchemy_xp;DOUBLE;0.0
|
||||
- boosters:2sell_multiplier;INT;0
|
||||
- ecoskills:second_chance;INT;0
|
||||
- ecoskills:health;INT;0
|
||||
- ecoskills:spelunking;INT;0
|
||||
- eco:player_name;STRING;Unknown Player
|
||||
- ecoskills:strength;INT;0
|
||||
- ecoskills:woodcutting_xp;DOUBLE;0.0
|
||||
- ecoskills:versatile_tools;INT;0
|
||||
- boosters:skill_xp;INT;0
|
||||
- ecoskills:infernal_resistance;INT;0
|
||||
- ecoskills:wisdom;INT;0
|
||||
- ecoskills:master_lumberjack;INT;0
|
||||
- ecoskills:defense;INT;0
|
||||
- ecoskills:mystic_resilience;INT;0
|
||||
- ecoskills:gainsound;BOOLEAN;true
|
||||
- ecoskills:golden_yield;INT;0
|
||||
- ecoskills:dazzle;INT;0
|
||||
- ecoskills:dodging;INT;0
|
||||
- ecoskills:efficient_brewing;INT;0
|
||||
- ecoskills:bountiful_harvest;INT;0
|
||||
- ecoskills:actionbar_enabled;BOOLEAN;true
|
||||
- ecoskills:enchanting_xp;DOUBLE;0.0
|
||||
- ecoskills:overcompensation;INT;0
|
||||
- ecoskills:alchemy;INT;0
|
||||
- ecoskills:woodcutting;INT;0
|
||||
- ecoskills:mining;INT;0
|
||||
- ecoskills:magnetic_rod;INT;0
|
||||
- ecoskills:fishing_xp;DOUBLE;0.0
|
||||
- ecoskills:farming_xp;DOUBLE;0.0
|
||||
- ecoskills:speed;INT;0
|
||||
- ecoskills:potionmaster;INT;0
|
||||
- ecoskills:combat_xp;DOUBLE;0.0
|
||||
- ecoskills:eye_of_the_depths;INT;0
|
||||
- ecoskills:ferocity;INT;0
|
||||
- ecoskills:combat;INT;0
|
||||
- ecoskills:mining_xp;DOUBLE;0.0
|
||||
- ecoskills:satiation;INT;0
|
||||
- ecoskills:craftsmanship;INT;0
|
||||
- ecoskills:crit_chance;INT;0
|
||||
- ecoskills:dynamic_mining;INT;0
|
||||
- ecoskills:exploration;INT;0
|
||||
- boosters:1_5sell_multiplier;INT;0
|
||||
- ecoskills:enchanting;INT;0
|
||||
- ecoskills:endangering;INT;0
|
||||
- ecoskills:serrated_strikes;INT;0
|
||||
- ecoskills:exploration_xp;DOUBLE;0.0
|
||||
- ecoskills:farming;INT;0
|
||||
server:
|
||||
- 'talismans:known_points::STRING::'
|
||||
- 'ecoarmor:known_points::STRING::'
|
||||
- 'ecoenchants:known_points::STRING::'
|
||||
- 'ecoitems:known_points::STRING::'
|
||||
- 'boosters:known_points::STRING::'
|
||||
- 'reforges:known_points::STRING::'
|
||||
- 'talismans:known_points;STRING;'
|
||||
- 'ecoarmor:known_points;STRING;'
|
||||
- 'ecoenchants:known_points;STRING;'
|
||||
- 'ecoitems:known_points;STRING;'
|
||||
- 'boosters:known_points;STRING;'
|
||||
- 'reforges:known_points;STRING;'
|
||||
|
||||
Reference in New Issue
Block a user