16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/orefinder_estimate/version.rb', line 16
def parse_version(raw)
return nil unless raw.is_a?(String)
trimmed = raw.strip
return nil if trimmed.empty?
s = trimmed.downcase
edition = s.include?('bedrock') ? 'bedrock' : 'java'
if (m = UNDERSCORE.match(s))
mc_minor = m[2].to_i
patch = m[3] ? m[3].to_i : 0
return { 'edition' => edition, 'era' => era(mc_minor), 'mcMinor' => mc_minor, 'patch' => patch, 'raw' => trimmed }
end
if (m = DOTTED.match(s))
mc_minor = m[2].to_i
patch = m[3] ? m[3].to_i : 0
return { 'edition' => edition, 'era' => era(mc_minor), 'mcMinor' => mc_minor, 'patch' => patch, 'raw' => trimmed }
end
if (m = LOOSE.match(s))
mc_minor = m[2].to_i
return { 'edition' => edition, 'era' => era(mc_minor), 'mcMinor' => mc_minor, 'patch' => 0, 'raw' => trimmed }
end
nil
end
|