6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/wonko_the_sane/input/forge_installer_profile_input.rb', line 6
def parse(data, version)
object = JSON.parse data, symbolize_names: true
info = object[:versionInfo]
file = WonkoVersion.new
file.uid = @artifact
file.version = version
file.time = info[:time]
file.type = info[:type]
file.client.mainClass = info[:mainClass]
file.client.minecraftArguments = info[:minecraftArguments]
file.client.assets = info[:assets]
file.requires << Referenced.new('net.minecraft', object[:install][:minecraft])
libraries = info[:libraries].map do |obj|
MojangInput.sanetize_mojang_library obj
end.flatten 1
file.client.downloads = libraries
file.common.folders['minecraft/mods'] = ['mc.forgemods']
file.common.folders['minecraft/mods'] << 'mc.forgecoremods' if object[:install][:minecraft].match /[^1]*1\.[0-6]/
file.common.folders['minecraft/coremods'] = ['mc.forgecoremods'] if object[:install][:minecraft].match /[^1]*1\.[0-6]/
file.server.downloads = libraries
file.server.launchMethod = 'java.mainClass'
file.server.[:forgeLibraryName] = %W(net.minecraftforge:forge:#{object[:install][:minecraft]}-#{version}:universal net.minecraftforge:forge:#{object[:install][:minecraft]}-#{version} net.minecraftforge:forge:#{version}:universal net.minecraftforge:forge:#{version} net.minecraftforge:minecraftforge:#{object[:install][:minecraft]}-#{version}:universal net.minecraftforge:minecraftforge:#{object[:install][:minecraft]}-#{version} net.minecraftforge:minecraftforge:#{version}:universal net.minecraftforge:minecraftforge:#{version})
return BaseSanitizer.sanitize file, MojangExtractTweakersSanitizer, MojangSplitLWJGLSanitizer, ForgeRemoveMinecraftSanitizer, ForgeFixJarSanitizer, ForgePackXZUrlsSanitizer, ForgeServerMainClassSanitizer
end
|