Revert "MVP"

This reverts commit ba1c6e49bb.
This commit is contained in:
cyber-dream 2022-08-07 18:48:40 +03:00
parent ba1c6e49bb
commit c732e7bf2f
14 changed files with 34 additions and 1236 deletions

5
.gitignore vendored
View File

@ -160,8 +160,3 @@ cython_debug/
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
*~
./srv*/*
*.jar
*.jar.pack.xz

3
.idea/.gitignore vendored
View File

@ -1,3 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml

View File

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/venv" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -1,6 +0,0 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (HeliosDistributionGenerator)" project-jdk-type="Python SDK" />
</project>

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/HeliosDistributionGenerator.iml" filepath="$PROJECT_DIR$/.idea/HeliosDistributionGenerator.iml" />
</modules>
</component>
</project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -1,417 +0,0 @@
{
"version": "1.0.0",
"discord": {
"clientId": "1.0.0",
"smallImageText": "Skirda",
"smallImageKey": "seal-circle"
},
"java": {
"oracle": "http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html"
},
"rss": "heh.mda",
"servers": [
{
"id": "SkirdaTesting-1.12.2",
"name": "Skirda Test Server",
"description": "Сплошные баги блять",
"icon": "https://skirda.gregbrzezinski.com/skirda-test-server-icon.jpg",
"version": "4.6.5",
"address": "skirda.gregbrzezinski.com:45002",
"minecraftVersion": "1.12.2",
"discord_shortId": "Skirda Minecraft Server",
"discord_largeImageText": "Skirda 1.12.2 Minecraft Server",
"discord_largeImageKey": "skirda-testing",
"mainServer": "false",
"autoconnect": "true",
"modules": [
{
"id": "net.minecraftforge:forge:1.12.2-14.23.5.2847",
"name": "Minecraft Forge",
"type": "ForgeHosted",
"artifact": {
"size": 4884700,
"MD5": "90734a5a713e24902d24c45c15caa42c",
"url": "https://skirda.gregbrzezinski.com/1.12.2/forge/forge-1.12.2-14.23.5.2859-universal.jar"
},
"subModules": [
{
"id": "net.minecraft:launchwrapper:1.12",
"name": "Mojang (LaunchWrapper)",
"type": "Library",
"artifact": {
"size": 32999,
"MD5": "934b2d91c7c5be4a49577c9e6b40e8da",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/launchwrapper-1.12.jar"
}
},
{
"id": "org.ow2.asm:asm-all:5.2",
"name": "Mojang (ASM)",
"type": "Library",
"artifact": {
"size": 247787,
"MD5": "f5ad16c7f0338b541978b0430d51dc83",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/asm-all-5.2.jar"
}
},
{
"id": "jline:jline:2.13",
"name": "Mojang (jline)",
"type": "Library",
"artifact": {
"size": 248566,
"MD5": "f251ba666cccb260ff7215b2cbeee8d4",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/jline-2.13.jar"
}
},
{
"id": "org.scala-lang:scala-library:2.11.1@jar.pack.xz",
"name": "Minecraft Forge (scala-library)",
"type": "Library",
"artifact": {
"size": 1474672,
"MD5": "379c15c4f724421c6d5d7aecedaf87a6",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-library-2.11.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-compiler:2.11.1@jar.pack.xz",
"name": "Minecraft Forge (scala-compiler)",
"type": "Library",
"artifact": {
"size": 3076920,
"MD5": "7d89e952f2d5c74577310cd2c28e3f20",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-compiler-2.11.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-actors-migration_2.11:1.1.0@jar.pack.xz",
"name": "Minecraft Forge (scala-actors-migration)",
"type": "Library",
"artifact": {
"size": 21324,
"MD5": "04e3428b2600ace33c7ae2bf1f6c0a4c",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-actors-migration_2.11-1.1.0.jar.pack.xz"
}
},
{
"id": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2@jar.pack.xz",
"name": "Minecraft Forge (scala-continuations-library)",
"type": "Library",
"artifact": {
"size": 7956,
"MD5": "ed9b1d27aba8ac4090a3749c4dfc895a",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-continuations-library_2.11-1.0.2.jar.pack.xz"
}
},
{
"id": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2@jar.pack.xz",
"name": "Minecraft Forge (scala-continuations-plugin)",
"type": "Library",
"artifact": {
"size": 46140,
"MD5": "a8232db22a72a981de6b1399eb86dff7",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-continuations-plugin_2.11.1-1.0.2.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-parser-combinators_2.11:1.0.1@jar.pack.xz",
"name": "Minecraft Forge (scala-parser-combinators)",
"type": "Library",
"artifact": {
"size": 85568,
"MD5": "2e50a7df17680daadacca69f07f8a16d",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-parser-combinators_2.11-1.0.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-reflect:2.11.1@jar.pack.xz",
"name": "Minecraft Forge (scala-reflect)",
"type": "Library",
"artifact": {
"size": 1070312,
"MD5": "84e5dc81c10e2bd74c579c9d0332fdd9",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-reflect-2.11.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-swing_2.11:1.0.1",
"name": "Minecraft Forge (scala-swing)",
"type": "Library",
"artifact": {
"size": 736795,
"MD5": "1d360289e697022a3f57abaad344b28f",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-swing_2.11-1.0.1.jar"
}
},
{
"id": "org.scala-lang:scala-xml_2.11:1.0.2@jar.pack.xz",
"name": "Minecraft Forge (scala-xml)",
"type": "Library",
"artifact": {
"size": 217812,
"MD5": "cc891b094a4c32dedc56bfefe9b072ff",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-xml_2.11-1.0.2.jar.pack.xz"
}
},
{
"id": "com.typesafe.akka:akka-actor_2.11:2.3.3@jar.pack.xz",
"name": "Minecraft Forge (akka-actor)",
"type": "Library",
"artifact": {
"size": 746612,
"MD5": "25cb22c3078e9fb3f7a861c912924862",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/akka-actor_2.11-2.3.3.jar.pack.xz"
}
},
{
"id": "com.typesafe:config:1.2.1@jar.pack.xz",
"name": "Minecraft Forge (typesafe-config)",
"type": "Library",
"artifact": {
"size": 56636,
"MD5": "10ec4ccabc4e68aac9cf87165ead5d7d",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/config-1.2.1.jar.pack.xz"
}
},
{
"id": "lzma:lzma:0.0.1",
"name": "Mojang (LZMA)",
"type": "Library",
"artifact": {
"size": 5762,
"MD5": "a3e3c3186e41c4a1a3027ba2bb23cdc6",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/lzma-0.0.1.jar"
}
},
{
"id": "net.sf.trove4j:trove4j:3.0.3",
"name": "Trove4J",
"type": "Library",
"artifact": {
"size": 2523218,
"MD5": "8fc4d4e0129244f9fd39650c5f30feb2",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/trove4j-3.0.3.jar"
}
},
{
"id": "java3d:vecmath:1.5.2",
"name": "Vecmath",
"type": "Library",
"artifact": {
"size": 318956,
"MD5": "e5d2b7f46c4800a32f62ce75676a5710",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/vecmath-1.5.2.jar"
}
},
{
"id": "net.sf.jopt-simple:jopt-simple:5.0.3",
"name": "Jopt-simple",
"type": "Library",
"artifact": {
"size": 78175,
"MD5": "0a5ec84e23df9d7cfb4063bc55f2744c",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/jopt-simple-5.0.3.jar"
}
},
{
"id": "org.apache.maven:maven-artifact:3.5.3",
"name": "maven-artifact",
"type": "Library",
"artifact": {
"size": 54961,
"MD5": "7741ebf29690ee7d9dde9cf4376347fc",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/maven-artifact-3.5.3.jar"
}
},
{
"id": "net.minecraftforge:MercuriusUpdater:1.12.2",
"name": "MercuriusUpdater",
"type": "Library",
"artifact": {
"size": 15098,
"MD5": "6eb9e61097bee3103a2fdc42746b76a4",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/MercuriusUpdater-1.12.2.jar"
}
}
]
},
{
"id": "none:IndustrialCraft2:2.8.170",
"name": "Industrialcraft 2",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 8356436,
"MD5": "d4f952c94cacdd280abbb73f072b2424",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:IndustrialCraft2:2.8.170.jar"
}
},
{
"id": "none:ImmersiveVehicles:21.3.0",
"name": "Immersive Vehicles",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 4346535,
"MD5": "320da7aea4ccea568e8d9ad3c0a48133",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:ImmersiveVehicles:21.3.0.jar"
}
},
{
"id": "none:MTSOfficialPack:23",
"name": "IV Official pack",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 4496217,
"MD5": "e84bddb501c139c3a4977587d597fe18",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:MTSOfficialPack:23.jar"
}
},
{
"id": "none:ForgeMultipart:2.6.2.83",
"name": "Forge Multipart",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 1304958,
"MD5": "e45e04bc38dc373aaef0415c2e2d441d",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:ForgeMultipart:2.6.2.83.jar"
}
},
{
"id": "none:Computronics:1.6.6",
"name": "Computronics",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 1291533,
"MD5": "5e88b6e4939690a2067bf31f870a5577",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:Computronics:1.6.6.jar"
}
},
{
"id": "none:BiomesOPlenty:7.0.1.2441",
"name": "BiomesOPlenty",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 4696621,
"MD5": "61fcc4ffff205ca261e61d6772debc4d",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:BiomesOPlenty:7.0.1.2441.jar"
}
},
{
"id": "none:GentleHarvest:b1",
"name": "Gentle Harvest",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 4656,
"MD5": "0ac6a8a1c6ff6e1cd2e3b63c8cbb28f6",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:GentleHarvest:b1.jar"
}
},
{
"id": "none:RTG:6.1.0.0",
"name": "Realistic Terrain Generator",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 2075023,
"MD5": "08de37000d2c97ffc9c6da61f3cd6aaa",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:RTG:6.1.0.0.jar"
}
},
{
"id": "none:BuildCraft:7.99.24.8",
"name": "Build Craft",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 4879732,
"MD5": "df73e94d29b8c6bde42c451ff6018761",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:BuildCraft:7.99.24.8.jar"
}
},
{
"id": "none:GeographiCraft:0.8.9b",
"name": "Geographic Craft",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 402774,
"MD5": "0b2165b05a7b3851273691e4126b2e4e",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:GeographiCraft:0.8.9b.jar"
}
},
{
"id": "none:ArchitectureCraft:3.95",
"name": "Architecture Craft",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 920876,
"MD5": "b5bdcfd17da0675159d8903d016651a1",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:ArchitectureCraft:3.95.jar"
}
},
{
"id": "none:Dynmap:3.3.2",
"name": "Dynmap",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 9856939,
"MD5": "7680073beb90b1ecf87acb77d8ac634d",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:Dynmap:3.3.2.jar"
}
},
{
"id": "none:SereneSeasons:1.2.18",
"name": "Serene Seasons",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 185187,
"MD5": "ef89fab62d1914ea0e25d2c31b453695",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:SereneSeasons:1.2.18.jar"
}
},
{
"id": "none:CodeChickenLib:3.2.3.358",
"name": "Code Chicken Lib",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 704330,
"MD5": "3b5e44db5ac96fb23a439590b6731a31",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:CodeChickenLib:3.2.3.358.jar"
}
},
{
"id": "none:OpenComputers:1.7.5.192",
"name": "OpenComputers",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 15643758,
"MD5": "1da9dd8478ba6d682f2787746776e18a",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:OpenComputers:1.7.5.192.jar"
}
},
{
"id": "MtsOfficialPack23.jar",
"name": "Mts pack",
"type": "File",
"artifact": {
"size": 1973,
"path": "mods/MtsOfficialPack23.jar",
"url": "https://skirda.gregbrzezinski.com/1.12.2/mods/none:MTSOfficialPack:23.jar"
}
}
]
}
]
}

88
main.py
View File

@ -13,9 +13,6 @@ def calculate_md5(file_path):
hash_md5.update(chunk)
return hash_md5.hexdigest()
def get_file_size(file_path):
return os.stat(file_path).st_size
def read_config(config_path):
config = ConfigParser()
@ -28,30 +25,19 @@ def temp_forge_json():
data = json.load(json_file)
return data
def temp_forge_libs_json():
with open('temp_forge_libs.json') as json_file:
data = json.load(json_file)
return data
def generate_forge_list(forge_path, download_url):
forge_jar = scan_forge_folder(forge_path)
forge_full_path = os.path.join(forge_path, forge_jar)
#forge_submodules_list = generate_lib_list(os.path.join(forge_path, 'libs'), download_url)
forge_submodules_list = temp_forge_libs_json()
forge_submodules_list = generate_lib_list(os.path.join(forge_path, 'libs'), download_url)
forge_module = [{
'id': 'net.minecraftForge:forge:' + forge_jar[:-4],
'id': 'net.minecraftForge:forge:' + forge_jar.split('.')[0],
'name': 'Minecraft Forge',
'type': 'ForgeHosted',
'artifact': {
'size': get_file_size(forge_full_path),
'MD5': calculate_md5(forge_full_path),
'url': download_url + 'forge/' + forge_jar
},
'subModules': forge_submodules_list
}]
forge_module = [temp_forge_json()]
return forge_module
return (forge_module)
def parse_servers_config(config: ConfigParser):
@ -61,11 +47,12 @@ def parse_servers_config(config: ConfigParser):
if section.split(' ')[0] == 'Server' or section.split(' ')[0] == 'server':
download_url = config.get(section, 'download_url')
server_mods_path = os.path.join(config.get(section, 'path'), 'mods')
server_client_mods_path = config.get(section, 'client_mods_path')
server_optional_mods_path = config.get(section, 'optional_mods_path')
forge_path = config.get(section, 'forge_reference_folder')
forge_required_modules = generate_mod_list(server_mods_path, download_url, True)
forge_optionals_modules = []# generate_mod_list(server_client_mods_path, download_url, False)
forge_optionals_modules = generate_mod_list(server_optional_mods_path, download_url, False)
forge_libs = generate_forge_list(forge_path, download_url)
new_server_modules = forge_libs + forge_required_modules + forge_optionals_modules
@ -81,8 +68,8 @@ def parse_servers_config(config: ConfigParser):
'discord_largeImageKey': (config.get(section, 'discord_largeImageKey')),
'mainServer': (config.get(section, 'mainServer')),
'autoconnect': (config.get(section, 'autoconnect')),
#'_path': (config.get(section, 'path'))
#'_download_url': download_url,
'_path': (config.get(section, 'path')),
'_download_url': download_url,
'modules': new_server_modules
}
servers.append(new_server)
@ -102,34 +89,30 @@ def list_files_in_folder(path):
return f
def get_mod_name(mod_id):
try:
return config.get('Mods Names', mod_id)
except:
print("No mod name for " + mod_id)
return mod_id
def generate_mod_list(mods_path, download_url, isRequired):
mods_file_list = list_files_in_folder(os.path.join(mods_path))
mod_list = []
for mod_file_name in mods_file_list:
path_to_mod = os.path.join(mods_path, mod_file_name)
parsed_mod = mod_file_name[:-4]
parsed_mod = parsed_mod.split(':')
mod_id = parsed_mod[1]
# mod_list.append(temp_forge_json())
for mod in mods_file_list:
path_to_mod = os.path.join(mods_path, mod)
mod = mod[:-4]
parsed_mod = mod.split('_')
mod_id = parsed_mod[0]
parsed_mod[0] = parsed_mod[0].split(':')
parsed_mod[1] = parsed_mod[1].replace('-', ' ')
if parsed_mod[-1] is not None:
if parsed_mod[-1] == 'ServerSide':
continue
new_mod = {
'id': mod_file_name[:-4],
'name': get_mod_name(parsed_mod[1]),
'id': mod_id,
'name': parsed_mod[1],
'type': 'ForgeMod',
'required': isRequired,
'artifact': {'size': get_file_size(path_to_mod),
'artifact': {'size': sys.getsizeof(path_to_mod),
'MD5': calculate_md5(path_to_mod),
'url': download_url + 'mods/' + mod_file_name
'url': download_url + mod + '.jar'
}
}
mod_list.append(new_mod)
@ -139,22 +122,21 @@ def generate_mod_list(mods_path, download_url, isRequired):
def generate_lib_list(libs_path, download_url):
libs_file_list = list_files_in_folder(os.path.join(libs_path))
lib_list = []
for lib_file_name in libs_file_list:
path_to_lib = os.path.join(libs_path, lib_file_name)
for lib in libs_file_list:
path_to_lib = os.path.join(libs_path, lib)
parsed_lib = lib.split(':')
lib_id = parsed_lib[1]
if lib_file_name[-2:] == 'xz':
lib_name = lib_file_name[:-12] + "@jar.pack.xz"
else:
lib_name = lib_file_name[:-4]
if lib.split('.')[-1] == 'xz':
lib_id += "@jar.pack.xz"
new_lib = {
'id': lib_name,
'name': lib_name,
'id': lib_id,
'name': parsed_lib[1],
'type': 'Library',
'artifact': {'size': get_file_size(path_to_lib),
'artifact': {'size': sys.getsizeof(path_to_lib),
'MD5': calculate_md5(path_to_lib),
'url': download_url + 'libs/' + lib_file_name
'url': download_url + lib
}
}
lib_list.append(new_lib)
@ -185,9 +167,7 @@ if __name__ == '__main__':
# mod_list = generate_mod_list(servers_list)
distribution = generate_json(config)
# pprint(distribution)
pprint(distribution)
with open('distribution.json', 'w', encoding='utf-8') as f:
print("print distribution to " + f.name)
json.dump(distribution, f, ensure_ascii=False, indent=4)

View File

@ -1,66 +0,0 @@
[Basic]
version = 1.0.0
discord_clientId = 1321321321
discord_smallImageText = Skirda
dicord_smallImageKey = seal-circle
java = http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
rss = heh.mda
[Server Testing]
id = SkirdaTesting-1.12.2
name = Skirda Test Server
description = Сплошные баги блять
icon = https://skirda.gregbrzezinski.com/skirda-test-server-icon.jpg
version = 4.6.5
address = skirda.gregbrzezinski.com:45002
minecraftVersion = 1.12.2
discord_shortId = Skirda Minecraft Server
discord_largeImageText = Skirda 1.12.2 Minecraft Server
discord_largeImageKey = skirda-testing
mainServer = false
autoconnect = true
path = /home/dart/skirda/
download_url = https://skirda.gregbrzezinski.com/1.12.2/
client_mods_path = ./opt_mods
forge_reference_folder = ./forge
ignore_mods = DynmapBlockScan
#
#[Server Production]
#id = SkirdaProduction-1.12.2
#name = Skirda Main Server
#description = Энджой, ёпта
#icon = https://skirda.gregbrzezinski.com/skirda-test-server-icon.jpg
#version = 4.6.5
#address = skirda.gregbrzezinski.com:45000
#minecraftVersion = 1.12.2
#discord_shortId = Skirda Minecraft Server
#discord_largeImageText = Skirda 1.12.2 Minecraft Server
#discord_largeImageKey = skirda-testing
#mainServer = false
#autoconnect = true
#path = ./srv_1
#download_url = https://skirda.gregbrzezinski.com/mods/
#optional_mods_path = ./opt_mods
[Mods Names]
architecturecraft = Architecture Craft
BiomesOPlenty = BiomesOPlenty
bspkrscore = bspkrscore
BuildCraft = Build Craft
CodeChickenLib = Code Chicken Lib
Computronics = Computronics
Dynmap = Dynmap
ForgeMultipart = Forge Multipart
GentleHarvest = Gentle Harvest
GeographiCraft = Geographic Craft
ImmersiveVehicles = Immersive Vehicles
IndustrialCraft2 = Industrialcraft 2
MTSOfficialPack = IV Official pack
MTSOfficial = Mts Official planes
OpenComputers = OpenComputers
RailCraft = Railcraft
RTG = Realistic Terrain Generator
SereneSeasons = Serene Seasons

View File

@ -1 +0,0 @@
[Forge]

View File

@ -1,212 +0,0 @@
{
"id": "net.minecraftforge:forge:1.12.2-14.23.5.2847",
"name": "Minecraft Forge",
"type": "ForgeHosted",
"artifact": {
"size": 4884700,
"MD5": "90734a5a713e24902d24c45c15caa42c",
"url": "https://skirda.gregbrzezinski.com/1.12.2/forge/forge-1.12.2-14.23.5.2859-universal.jar"
},
"subModules": [
{
"id": "net.minecraft:launchwrapper:1.12",
"name": "Mojang (LaunchWrapper)",
"type": "Library",
"artifact": {
"size": 32999,
"MD5": "934b2d91c7c5be4a49577c9e6b40e8da",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/launchwrapper-1.12.jar"
}
},
{
"id": "org.ow2.asm:asm-all:5.2",
"name": "Mojang (ASM)",
"type": "Library",
"artifact": {
"size": 247787,
"MD5": "f5ad16c7f0338b541978b0430d51dc83",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/asm-all-5.2.jar"
}
},
{
"id": "jline:jline:2.13",
"name": "Mojang (jline)",
"type": "Library",
"artifact": {
"size": 248566,
"MD5": "f251ba666cccb260ff7215b2cbeee8d4",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/jline-2.13.jar"
}
},
{
"id": "org.scala-lang:scala-library:2.11.1@jar.pack.xz",
"name": "Minecraft Forge (scala-library)",
"type": "Library",
"artifact": {
"size": 1474672,
"MD5": "379c15c4f724421c6d5d7aecedaf87a6",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-library-2.11.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-compiler:2.11.1@jar.pack.xz",
"name": "Minecraft Forge (scala-compiler)",
"type": "Library",
"artifact": {
"size": 3076920,
"MD5": "7d89e952f2d5c74577310cd2c28e3f20",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-compiler-2.11.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-actors-migration_2.11:1.1.0@jar.pack.xz",
"name": "Minecraft Forge (scala-actors-migration)",
"type": "Library",
"artifact": {
"size": 21324,
"MD5": "04e3428b2600ace33c7ae2bf1f6c0a4c",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-actors-migration_2.11-1.1.0.jar.pack.xz"
}
},
{
"id": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2@jar.pack.xz",
"name": "Minecraft Forge (scala-continuations-library)",
"type": "Library",
"artifact": {
"size": 7956,
"MD5": "ed9b1d27aba8ac4090a3749c4dfc895a",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-continuations-library_2.11-1.0.2.jar.pack.xz"
}
},
{
"id": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2@jar.pack.xz",
"name": "Minecraft Forge (scala-continuations-plugin)",
"type": "Library",
"artifact": {
"size": 46140,
"MD5": "a8232db22a72a981de6b1399eb86dff7",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-continuations-plugin_2.11.1-1.0.2.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-parser-combinators_2.11:1.0.1@jar.pack.xz",
"name": "Minecraft Forge (scala-parser-combinators)",
"type": "Library",
"artifact": {
"size": 85568,
"MD5": "2e50a7df17680daadacca69f07f8a16d",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-parser-combinators_2.11-1.0.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-reflect:2.11.1@jar.pack.xz",
"name": "Minecraft Forge (scala-reflect)",
"type": "Library",
"artifact": {
"size": 1070312,
"MD5": "84e5dc81c10e2bd74c579c9d0332fdd9",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-reflect-2.11.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-swing_2.11:1.0.1",
"name": "Minecraft Forge (scala-swing)",
"type": "Library",
"artifact": {
"size": 736795,
"MD5": "1d360289e697022a3f57abaad344b28f",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-swing_2.11-1.0.1.jar"
}
},
{
"id": "org.scala-lang:scala-xml_2.11:1.0.2@jar.pack.xz",
"name": "Minecraft Forge (scala-xml)",
"type": "Library",
"artifact": {
"size": 217812,
"MD5": "cc891b094a4c32dedc56bfefe9b072ff",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-xml_2.11-1.0.2.jar.pack.xz"
}
},
{
"id": "com.typesafe.akka:akka-actor_2.11:2.3.3@jar.pack.xz",
"name": "Minecraft Forge (akka-actor)",
"type": "Library",
"artifact": {
"size": 746612,
"MD5": "25cb22c3078e9fb3f7a861c912924862",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/akka-actor_2.11-2.3.3.jar.pack.xz"
}
},
{
"id": "com.typesafe:config:1.2.1@jar.pack.xz",
"name": "Minecraft Forge (typesafe-config)",
"type": "Library",
"artifact": {
"size": 56636,
"MD5": "10ec4ccabc4e68aac9cf87165ead5d7d",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/config-1.2.1.jar.pack.xz"
}
},
{
"id": "lzma:lzma:0.0.1",
"name": "Mojang (LZMA)",
"type": "Library",
"artifact": {
"size": 5762,
"MD5": "a3e3c3186e41c4a1a3027ba2bb23cdc6",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/lzma-0.0.1.jar"
}
},
{
"id": "net.sf.trove4j:trove4j:3.0.3",
"name": "Trove4J",
"type": "Library",
"artifact": {
"size": 2523218,
"MD5": "8fc4d4e0129244f9fd39650c5f30feb2",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/trove4j-3.0.3.jar"
}
},
{
"id": "java3d:vecmath:1.5.2",
"name": "Vecmath",
"type": "Library",
"artifact": {
"size": 318956,
"MD5": "e5d2b7f46c4800a32f62ce75676a5710",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/vecmath-1.5.2.jar"
}
},
{
"id": "net.sf.jopt-simple:jopt-simple:5.0.3",
"name": "Jopt-simple",
"type": "Library",
"artifact": {
"size": 78175,
"MD5": "0a5ec84e23df9d7cfb4063bc55f2744c",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/jopt-simple-5.0.3.jar"
}
},
{
"id": "org.apache.maven:maven-artifact:3.5.3",
"name": "maven-artifact",
"type": "Library",
"artifact": {
"size": 54961,
"MD5": "7741ebf29690ee7d9dde9cf4376347fc",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/maven-artifact-3.5.3.jar"
}
},
{
"id": "net.minecraftforge:MercuriusUpdater:1.12.2",
"name": "MercuriusUpdater",
"type": "Library",
"artifact": {
"size": 15098,
"MD5": "6eb9e61097bee3103a2fdc42746b76a4",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/MercuriusUpdater-1.12.2.jar"
}
}
]
}

View File

@ -1,203 +0,0 @@
[
{
"id": "net.minecraft:launchwrapper:1.12",
"name": "Mojang (LaunchWrapper)",
"type": "Library",
"artifact": {
"size": 32999,
"MD5": "934b2d91c7c5be4a49577c9e6b40e8da",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/launchwrapper-1.12.jar"
}
},
{
"id": "org.ow2.asm:asm-all:5.2",
"name": "Mojang (ASM)",
"type": "Library",
"artifact": {
"size": 247787,
"MD5": "f5ad16c7f0338b541978b0430d51dc83",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/asm-all-5.2.jar"
}
},
{
"id": "jline:jline:2.13",
"name": "Mojang (jline)",
"type": "Library",
"artifact": {
"size": 248566,
"MD5": "f251ba666cccb260ff7215b2cbeee8d4",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/jline-2.13.jar"
}
},
{
"id": "org.scala-lang:scala-library:2.11.1@jar.pack.xz",
"name": "Minecraft Forge (scala-library)",
"type": "Library",
"artifact": {
"size": 1474672,
"MD5": "379c15c4f724421c6d5d7aecedaf87a6",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-library-2.11.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-compiler:2.11.1@jar.pack.xz",
"name": "Minecraft Forge (scala-compiler)",
"type": "Library",
"artifact": {
"size": 3076920,
"MD5": "7d89e952f2d5c74577310cd2c28e3f20",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-compiler-2.11.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-actors-migration_2.11:1.1.0@jar.pack.xz",
"name": "Minecraft Forge (scala-actors-migration)",
"type": "Library",
"artifact": {
"size": 21324,
"MD5": "04e3428b2600ace33c7ae2bf1f6c0a4c",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-actors-migration_2.11-1.1.0.jar.pack.xz"
}
},
{
"id": "org.scala-lang.plugins:scala-continuations-library_2.11:1.0.2@jar.pack.xz",
"name": "Minecraft Forge (scala-continuations-library)",
"type": "Library",
"artifact": {
"size": 7956,
"MD5": "ed9b1d27aba8ac4090a3749c4dfc895a",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-continuations-library_2.11-1.0.2.jar.pack.xz"
}
},
{
"id": "org.scala-lang.plugins:scala-continuations-plugin_2.11.1:1.0.2@jar.pack.xz",
"name": "Minecraft Forge (scala-continuations-plugin)",
"type": "Library",
"artifact": {
"size": 46140,
"MD5": "a8232db22a72a981de6b1399eb86dff7",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-continuations-plugin_2.11.1-1.0.2.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-parser-combinators_2.11:1.0.1@jar.pack.xz",
"name": "Minecraft Forge (scala-parser-combinators)",
"type": "Library",
"artifact": {
"size": 85568,
"MD5": "2e50a7df17680daadacca69f07f8a16d",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-parser-combinators_2.11-1.0.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-reflect:2.11.1@jar.pack.xz",
"name": "Minecraft Forge (scala-reflect)",
"type": "Library",
"artifact": {
"size": 1070312,
"MD5": "84e5dc81c10e2bd74c579c9d0332fdd9",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-reflect-2.11.1.jar.pack.xz"
}
},
{
"id": "org.scala-lang:scala-swing_2.11:1.0.1",
"name": "Minecraft Forge (scala-swing)",
"type": "Library",
"artifact": {
"size": 736795,
"MD5": "1d360289e697022a3f57abaad344b28f",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-swing_2.11-1.0.1.jar"
}
},
{
"id": "org.scala-lang:scala-xml_2.11:1.0.2@jar.pack.xz",
"name": "Minecraft Forge (scala-xml)",
"type": "Library",
"artifact": {
"size": 217812,
"MD5": "cc891b094a4c32dedc56bfefe9b072ff",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/scala-xml_2.11-1.0.2.jar.pack.xz"
}
},
{
"id": "com.typesafe.akka:akka-actor_2.11:2.3.3@jar.pack.xz",
"name": "Minecraft Forge (akka-actor)",
"type": "Library",
"artifact": {
"size": 746612,
"MD5": "25cb22c3078e9fb3f7a861c912924862",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/akka-actor_2.11-2.3.3.jar.pack.xz"
}
},
{
"id": "com.typesafe:config:1.2.1@jar.pack.xz",
"name": "Minecraft Forge (typesafe-config)",
"type": "Library",
"artifact": {
"size": 56636,
"MD5": "10ec4ccabc4e68aac9cf87165ead5d7d",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/config-1.2.1.jar.pack.xz"
}
},
{
"id": "lzma:lzma:0.0.1",
"name": "Mojang (LZMA)",
"type": "Library",
"artifact": {
"size": 5762,
"MD5": "a3e3c3186e41c4a1a3027ba2bb23cdc6",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/lzma-0.0.1.jar"
}
},
{
"id": "net.sf.trove4j:trove4j:3.0.3",
"name": "Trove4J",
"type": "Library",
"artifact": {
"size": 2523218,
"MD5": "8fc4d4e0129244f9fd39650c5f30feb2",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/trove4j-3.0.3.jar"
}
},
{
"id": "java3d:vecmath:1.5.2",
"name": "Vecmath",
"type": "Library",
"artifact": {
"size": 318956,
"MD5": "e5d2b7f46c4800a32f62ce75676a5710",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/vecmath-1.5.2.jar"
}
},
{
"id": "net.sf.jopt-simple:jopt-simple:5.0.3",
"name": "Jopt-simple",
"type": "Library",
"artifact": {
"size": 78175,
"MD5": "0a5ec84e23df9d7cfb4063bc55f2744c",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/jopt-simple-5.0.3.jar"
}
},
{
"id": "org.apache.maven:maven-artifact:3.5.3",
"name": "maven-artifact",
"type": "Library",
"artifact": {
"size": 54961,
"MD5": "7741ebf29690ee7d9dde9cf4376347fc",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/maven-artifact-3.5.3.jar"
}
},
{
"id": "net.minecraftforge:MercuriusUpdater:1.12.2",
"name": "MercuriusUpdater",
"type": "Library",
"artifact": {
"size": 15098,
"MD5": "6eb9e61097bee3103a2fdc42746b76a4",
"url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.12.2/MercuriusUpdater-1.12.2.jar"
}
}
]

241
test.json
View File

@ -1,241 +0,0 @@
{
"version": "1.0.0",
"discord": {
"clientId": "1.0.0",
"smallImageText": "WesterosCraft",
"smallImageKey": "seal-circle"
},
"java": {
"oracle": "http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html"
},
"rss": "heh.mda",
"servers": [
{
"id": "SkirdaTesting-1.12.2",
"name": "Skirda Test Server",
"description": "Сплошные баги блять",
"icon": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/server-prod.png",
"version": "4.6.5",
"address": "192.168.88.228:35012",
"minecraftVersion": "1.12.2",
"discord_shortId": "Skirda Minecraft Server",
"discord_largeImageText": "Skirda 1.12.2 Minecraft Server",
"discord_largeImageKey": "skirda-testing",
"mainServer": "false",
"autoconnect": "true",
"_path": "./srv_1",
"_download_url": "https://skirda.gregbrzezinski.com/mods/",
"modules": [
{
"id": "none:bspkrsCore:7.6.0.1",
"name": "bspkrsCore",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 100,
"MD5": "c916e0be02b2522054c22016faed7ed8",
"url": "https://skirda.gregbrzezinski.com/mods/none:bspkrsCore:7.6.0.1_bspkrsCore"
}
},
{
"id": "none:gentleharvest:b1",
"name": "Gentle harves",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 101,
"MD5": "0ac6a8a1c6ff6e1cd2e3b63c8cbb28f6",
"url": "https://skirda.gregbrzezinski.com/mods/none:gentleharvest:b1_Gentle-harves"
}
},
{
"id": "none:ChickenASM:1.0.2.7",
"name": "Chicken ASM",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 101,
"MD5": "6afc6ad00fd6bacd0c5b35d8342f0f79",
"url": "https://skirda.gregbrzezinski.com/mods/none:ChickenASM:1.0.2.7_Chicken-ASM"
}
},
{
"id": "none:TreeCapitator:1.43.0",
"name": "Tree Capitator",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 106,
"MD5": "08f5d4cf4987e8b099623052196d8f79",
"url": "https://skirda.gregbrzezinski.com/mods/none:TreeCapitator:1.43.0_Tree-Capitator"
}
},
{
"id": "none:SereneSeasons:1.2.18",
"name": "Serene Seasons",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 106,
"MD5": "ef89fab62d1914ea0e25d2c31b453695",
"url": "https://skirda.gregbrzezinski.com/mods/none:SereneSeasons:1.2.18_Serene-Seasons"
}
},
{
"id": "none:CodeChickenLib:3.2.3.358",
"name": "Code Chicken Lib",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 112,
"MD5": "3b5e44db5ac96fb23a439590b6731a31",
"url": "https://skirda.gregbrzezinski.com/mods/none:CodeChickenLib:3.2.3.358_Code-Chicken-Lib"
}
},
{
"id": "none:architecturecraft:3.98",
"name": "Architecture Craft",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 112,
"MD5": "cc964d41fad4832a0850cf9da45d0414",
"url": "https://skirda.gregbrzezinski.com/mods/none:architecturecraft:3.98_Architecture-Craft"
}
},
{
"id": "none:RTG:6.1.0.0",
"name": "RTG",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 86,
"MD5": "08de37000d2c97ffc9c6da61f3cd6aaa",
"url": "https://skirda.gregbrzezinski.com/mods/none:RTG:6.1.0.0_RTG"
}
},
{
"id": "none:GoldenAirportPack:3.2.6",
"name": "Golden Airport Pack",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 114,
"MD5": "c7057e541f6bdbe9981a513277e1ba02",
"url": "https://skirda.gregbrzezinski.com/mods/none:GoldenAirportPack:3.2.6_Golden-Airport-Pack"
}
},
{
"id": "none:GeographiCraft:0.8.9b",
"name": "Geographic Craft",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 109,
"MD5": "0b2165b05a7b3851273691e4126b2e4e",
"url": "https://skirda.gregbrzezinski.com/mods/none:GeographiCraft:0.8.9b_Geographic-Craft"
}
},
{
"id": "none:openComputers:1.7.5.192",
"name": "Open Computers",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 109,
"MD5": "1da9dd8478ba6d682f2787746776e18a",
"url": "https://skirda.gregbrzezinski.com/mods/none:openComputers:1.7.5.192_Open-Computers"
}
},
{
"id": "none:industrialcraft:2-2.8.221",
"name": "Industrial Craft",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 113,
"MD5": "73f8b72d24d1a7458da1daa969e6e75a",
"url": "https://skirda.gregbrzezinski.com/mods/none:industrialcraft:2-2.8.221_Industrial-Craft"
}
},
{
"id": "none:mtsOffPack:22",
"name": "MTS Official Pack",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 102,
"MD5": "47602dd6744fe9a9760968b3a0f62d06",
"url": "https://skirda.gregbrzezinski.com/mods/none:mtsOffPack:22_MTS-Official-Pack"
}
},
{
"id": "none:Computronics:1.6.6",
"name": "Computronics",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 102,
"MD5": "5e88b6e4939690a2067bf31f870a5577",
"url": "https://skirda.gregbrzezinski.com/mods/none:Computronics:1.6.6_Computronics"
}
},
{
"id": "none:railcraft:0.0.0",
"name": "Rail Craft",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 97,
"MD5": "b6f0592e8f5c24d07fe065f1c97c8fda",
"url": "https://skirda.gregbrzezinski.com/mods/none:railcraft:0.0.0_Rail-Craft"
}
},
{
"id": "none:buildcraft:7.99.24.8",
"name": "Buildcraft",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 102,
"MD5": "df73e94d29b8c6bde42c451ff6018761",
"url": "https://skirda.gregbrzezinski.com/mods/none:buildcraft:7.99.24.8_Buildcraft"
}
},
{
"id": "none:immersiveVehicles:20.2.0",
"name": "Immersive Vehicles",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 114,
"MD5": "a0ffdf29eaa2681ca6ca18faa5f446fd",
"url": "https://skirda.gregbrzezinski.com/mods/none:immersiveVehicles:20.2.0_Immersive-Vehicles"
}
},
{
"id": "none:simpleplanes:3.0.1.7",
"name": "Simple Planes",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 105,
"MD5": "8b10e7941dff2705b41e2f218ea3b5b4",
"url": "https://skirda.gregbrzezinski.com/mods/none:simpleplanes:3.0.1.7_Simple-Planes"
}
},
{
"id": "none:BiomesOPlenty:7.0.1.2444",
"name": "BiomesOPlenty",
"type": "ForgeMod",
"required": true,
"artifact": {
"size": 109,
"MD5": "4c1d23b8a58b6aaa9a5204fae3f18393",
"url": "https://skirda.gregbrzezinski.com/mods/none:BiomesOPlenty:7.0.1.2444_BiomesOPlenty"
}
}
]
}
]
}