Class: ForgeInstallerProfileInput
- Defined in:
- lib/wonko_the_sane/input/forge_installer_profile_input.rb
Instance Method Summary collapse
-
#initialize(artifact) ⇒ ForgeInstallerProfileInput
constructor
A new instance of ForgeInstallerProfileInput.
- #parse(data, version) ⇒ Object
Methods inherited from BaseInput
Constructor Details
#initialize(artifact) ⇒ ForgeInstallerProfileInput
Returns a new instance of ForgeInstallerProfileInput.
2 3 4 |
# File 'lib/wonko_the_sane/input/forge_installer_profile_input.rb', line 2 def initialize(artifact) @artifact = artifact end |
Instance Method Details
#parse(data, version) ⇒ Object
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 32 33 34 35 |
# 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 { |obj| MojangInput.sanitize_mojang_library obj }.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.extra[: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}) BaseSanitizer.sanitize file, MojangExtractTweakersSanitizer, MojangSplitLWJGLSanitizer, ForgeRemoveMinecraftSanitizer, ForgeFixJarSanitizer, ForgePackXZUrlsSanitizer, ForgeServerMainClassSanitizer end |