update for 1.13 stats format
This commit is contained in:
parent
494386fa8c
commit
31343d42d0
52
gen-stats.rb
52
gen-stats.rb
@ -61,8 +61,10 @@ class GenStats
|
|||||||
"Play Time" => {},
|
"Play Time" => {},
|
||||||
"Achievements" => {},
|
"Achievements" => {},
|
||||||
"Unexplored Biomes" => {},
|
"Unexplored Biomes" => {},
|
||||||
"Mob Kills" => {},
|
|
||||||
"Deaths" => {},
|
"Deaths" => {},
|
||||||
|
"Damage Dealt" => {},
|
||||||
|
"Damage Taken" => {},
|
||||||
|
"Mob Kills" => {},
|
||||||
"Killed" => {},
|
"Killed" => {},
|
||||||
"Killed By" => {},
|
"Killed By" => {},
|
||||||
"Items Broken" => {},
|
"Items Broken" => {},
|
||||||
@ -84,12 +86,14 @@ class GenStats
|
|||||||
else
|
else
|
||||||
$1
|
$1
|
||||||
end
|
end
|
||||||
stats = JSON.load(File.read(stats_fname))
|
stats_file = JSON.load(File.read(stats_fname))
|
||||||
|
stats = stats_file["stats"] || {}
|
||||||
|
stats["minecraft:custom"] ||= {}
|
||||||
|
|
||||||
@all_stats["Play Time"][user_name] =
|
@all_stats["Play Time"][user_name] =
|
||||||
begin
|
begin
|
||||||
# stat is actually in ticks apparently
|
# stat is actually in ticks apparently
|
||||||
minutes = stats["stat.playOneMinute"] / 20 / 60
|
minutes = (stats["minecraft:custom"]["minecraft:play_one_minute"] || 0) / 20 / 60
|
||||||
hours = (minutes / 60).floor
|
hours = (minutes / 60).floor
|
||||||
minutes -= (hours * 60)
|
minutes -= (hours * 60)
|
||||||
days = (hours / 24).floor
|
days = (hours / 24).floor
|
||||||
@ -97,42 +101,46 @@ class GenStats
|
|||||||
"#{days}d #{hours}h #{minutes}m"
|
"#{days}d #{hours}h #{minutes}m"
|
||||||
end
|
end
|
||||||
|
|
||||||
@all_stats["Achievements"][user_name] =
|
# @all_stats["Achievements"][user_name] =
|
||||||
stats.find_all do |stat_name, stat_value|
|
# stats.find_all do |stat_name, stat_value|
|
||||||
stat_name.start_with?("achievement.") and (stat_value.is_a?(Integer) or (stat_value.is_a?(Hash) and stat_value["value"] and stat_value["value"] > 0))
|
# stat_name.start_with?("achievement.") and (stat_value.is_a?(Integer) or (stat_value.is_a?(Hash) and stat_value["value"] and stat_value["value"] > 0))
|
||||||
end.size
|
# end.size
|
||||||
|
|
||||||
@all_stats["Unexplored Biomes"][user_name] =
|
# @all_stats["Unexplored Biomes"][user_name] =
|
||||||
if stats["achievement.exploreAllBiomes"]
|
# if stats["achievement.exploreAllBiomes"]
|
||||||
explored_biomes = stats["achievement.exploreAllBiomes"]["progress"]
|
# explored_biomes = stats["achievement.exploreAllBiomes"]["progress"]
|
||||||
unexplored_biomes = ADVENTURE_BIOMES - explored_biomes
|
# unexplored_biomes = ADVENTURE_BIOMES - explored_biomes
|
||||||
@all_explored_biomes += explored_biomes
|
# @all_explored_biomes += explored_biomes
|
||||||
unexplored_biomes.sort.join(", ")
|
# unexplored_biomes.sort.join(", ")
|
||||||
end
|
# end
|
||||||
|
|
||||||
@all_stats["Mob Kills"][user_name] = stats["stat.mobKills"]
|
@all_stats["Deaths"][user_name] = stats["minecraft:custom"]["minecraft:deaths"] || 0
|
||||||
|
|
||||||
@all_stats["Deaths"][user_name] = stats["stat.deaths"]
|
@all_stats["Damage Dealt"][user_name] = stats["minecraft:custom"]["minecraft:damage_dealt"] || 0
|
||||||
|
|
||||||
|
@all_stats["Damage Taken"][user_name] = stats["minecraft:custom"]["minecraft:damage_taken"] || 0
|
||||||
|
|
||||||
|
@all_stats["Mob Kills"][user_name] = stats["minecraft:custom"]["minecraft:mob_kills"] || 0
|
||||||
|
|
||||||
@all_stats["Killed"][user_name] =
|
@all_stats["Killed"][user_name] =
|
||||||
stats.reduce({}) do |result, (stat_name, stat_value)|
|
(stats["minecraft:killed"] || {}).reduce({}) do |result, (stat_name, stat_value)|
|
||||||
if stat_name =~ /^stat\.killEntity\.(\w+)$/
|
if stat_name =~ /^minecraft:(\w+)$/
|
||||||
result[$1] = stat_value
|
result[$1] = stat_value
|
||||||
end
|
end
|
||||||
result
|
result
|
||||||
end
|
end
|
||||||
|
|
||||||
@all_stats["Killed By"][user_name] =
|
@all_stats["Killed By"][user_name] =
|
||||||
stats.reduce({}) do |result, (stat_name, stat_value)|
|
(stats["minecraft:killed_by"] || {}).reduce({}) do |result, (stat_name, stat_value)|
|
||||||
if stat_name =~ /^stat\.entityKilledBy\.(\w+)$/
|
if stat_name =~ /^minecraft:(\w+)$/
|
||||||
result[$1] = stat_value
|
result[$1] = stat_value
|
||||||
end
|
end
|
||||||
result
|
result
|
||||||
end
|
end
|
||||||
|
|
||||||
@all_stats["Items Broken"][user_name] =
|
@all_stats["Items Broken"][user_name] =
|
||||||
stats.reduce({}) do |result, (stat_name, stat_value)|
|
(stats["minecraft:broken"] || {}).reduce({}) do |result, (stat_name, stat_value)|
|
||||||
if stat_name =~ /^stat\.breakItem\.minecraft\.(\w+)$/
|
if stat_name =~ /^minecraft:(\w+)$/
|
||||||
result[$1] = stat_value
|
result[$1] = stat_value
|
||||||
end
|
end
|
||||||
result
|
result
|
||||||
|
Loading…
x
Reference in New Issue
Block a user