diff --git a/sample-files/README.txt b/sample-files/README.txt new file mode 100644 index 0000000..549cda4 --- /dev/null +++ b/sample-files/README.txt @@ -0,0 +1,32 @@ +These are sample files for a project. + +- lightpack/ is one modpack +- monsterpack/ is another modpack +- upload/ is what you'd upload to your website + +In upload: + +- "latest.json" was written by hand +- "packages.php" automatically generates the package listing, but your web server needs PHP installed to use it +- "packages.json" is what packages.php would have generated, but you can write it by hand instead +- "news.html" is your news page + +Commands +======== + +The following commands were run to generate the modpack files in upload/ + +java -jar ../launcher-builder/build/libs/launcher-builder-4.2.3-SNAPSHOT-all.jar --version 20100223 --input lightpack --output upload --manifest-dest "upload\lightpack.json" --pretty-print + +java -jar ../launcher-builder/build/libs/launcher-builder-4.2.3-SNAPSHOT-all.jar --version 20100223 --input monsterpack --output upload --manifest-dest "upload\monsterpack.json" --pretty-print + +launcher.properties +=================== + +If you had uploaded the contents of upload/ to http://example.com/launcher/, you would make launcher.properties look like this: + +newsUrl=http://example.com/launcher/news.html?version=%s +packageListUrl=http://example.com/launcher/packages.php?key=%s +selfUpdateUrl=http://example.com/launcher/latest.json + +(note: it uses the .php version here) \ No newline at end of file diff --git a/sample-files/lightpack/loaders/README.txt b/sample-files/lightpack/loaders/README.txt new file mode 100644 index 0000000..47b74de --- /dev/null +++ b/sample-files/lightpack/loaders/README.txt @@ -0,0 +1,7 @@ +You'd put Forge and LiteLoader installers here. + +i.e. forge-1.7.10-10.13.0.1208-installer.jar + +It should NOT be the Windows version of the installer. + +Any installer will work that has a supported "install_profile.json" in its .jar. \ No newline at end of file diff --git a/sample-files/lightpack/modpack.json b/sample-files/lightpack/modpack.json new file mode 100644 index 0000000..0906dfb --- /dev/null +++ b/sample-files/lightpack/modpack.json @@ -0,0 +1,17 @@ +{ + "name": "Light Modpack", + "title": "Light Modpack", + "gameVersion": "1.8", + "launch": { + "flags": [ + "-Dfml.ignoreInvalidMinecraftCertificates=true" + ] + }, + "userFiles": { + "include": [ + "options.txt", + "optionsshaders.txt", + "mods/VoxelMods/*" + ] + } +} \ No newline at end of file diff --git a/sample-files/lightpack/src/_CLIENT/options.txt b/sample-files/lightpack/src/_CLIENT/options.txt new file mode 100644 index 0000000..6308e4c --- /dev/null +++ b/sample-files/lightpack/src/_CLIENT/options.txt @@ -0,0 +1,11 @@ +soundCategory_master:1.0 +soundCategory_music:0.0 +soundCategory_record:1.0 +soundCategory_weather:0.1056338 +soundCategory_block:1.0 +soundCategory_hostile:1.0 +soundCategory_neutral:1.0 +soundCategory_player:1.0 +soundCategory_ambient:1.0 +resourcePacks:["Conquest (smaller).zip"] +enableVsync:false diff --git a/sample-files/lightpack/src/_CLIENT/resourcepacks/SomeResourcePack.zip b/sample-files/lightpack/src/_CLIENT/resourcepacks/SomeResourcePack.zip new file mode 100644 index 0000000..3b75a9b Binary files /dev/null and b/sample-files/lightpack/src/_CLIENT/resourcepacks/SomeResourcePack.zip differ diff --git a/sample-files/lightpack/src/config/_SERVER/forgeChunkLoading.cfg b/sample-files/lightpack/src/config/_SERVER/forgeChunkLoading.cfg new file mode 100644 index 0000000..3051bdf --- /dev/null +++ b/sample-files/lightpack/src/config/_SERVER/forgeChunkLoading.cfg @@ -0,0 +1,47 @@ +# Configuration file + +########################################################################################################## +# Forge +#--------------------------------------------------------------------------------------------------------# +# Sample mod specific control section. +# Copy this section and rename the with the modid for the mod you wish to override. +# A value of zero in either entry effectively disables any chunkloading capabilities +# for that mod +########################################################################################################## + +Forge { + # Maximum chunks per ticket for the mod. + I:maximumChunksPerTicket=25 + + # Maximum ticket count for the mod. Zero disables chunkloading capabilities. + I:maximumTicketCount=200 +} + + +########################################################################################################## +# defaults +#--------------------------------------------------------------------------------------------------------# +# Default configuration for forge chunk loading control +########################################################################################################## + +defaults { + # Are mod overrides enabled? + B:enabled=true + + # The default maximum number of chunks a mod can force, per ticket, + # for a mod without an override. This is the maximum number of chunks a single ticket can force. + I:maximumChunksPerTicket=25 + + # The default maximum ticket count for a mod which does not have an override + # in this file. This is the number of chunk loading requests a mod is allowed to make. + I:maximumTicketCount=200 + + # The number of tickets a player can be assigned instead of a mod. This is shared across all mods and it is up to the mods to use it. + I:playerTicketCount=500 + + # Unloaded chunks can first be kept in a dormant cache for quicker + # loading times. Specify the size (in chunks) of that cache here + I:dormantChunkCacheSize=0 +} + + diff --git a/sample-files/lightpack/src/config/forge.cfg b/sample-files/lightpack/src/config/forge.cfg new file mode 100644 index 0000000..72eab30 --- /dev/null +++ b/sample-files/lightpack/src/config/forge.cfg @@ -0,0 +1,60 @@ +# Configuration file + +general { + # Set to true to disable Forge's version check mechanics. Forge queries a small json file on our server for version information. For more details see the ForgeVersion class in our github. + B:disableVersionCheck=false + + # Controls the number threshold at which Packet51 is preferred over Packet52, default and minimum 64, maximum 1024 + I:clumpingThreshold=64 + + # Set to true to enable the post initialization sorting of crafting recipes using Forge's sorter. May cause desyncing on conflicting recipies. MUST RESTART MINECRAFT IF CHANGED FROM THE CONFIG GUI. + B:sortRecipies=true + + # Set this to true to force a crash if more than one block attempts to link back to the same Fluid. Enabled by default. + B:forceDuplicateFluidBlockCrash=true + + # Set this to true to remove any Entity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. + B:removeErroringEntities=false + + # Set this to true to remove any TileEntity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. + B:removeErroringTileEntities=false + + # Set this to true to check the entire entity's collision bounding box for ladders instead of just the block they are in. Causes noticable differences in mechanics so default is vanilla behavior. Default: false + B:fullBoundingBoxLadders=false + + # Control the range of sky blending for colored skies in biomes. + I:biomeSkyBlendRange < + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 + 22 + 24 + 26 + 28 + 30 + 32 + 34 + > + + # Base zombie summoning spawn chance. Allows changing the bonus zombie summoning mechanic. + D:zombieBaseSummonChance=0.1 + + # Chance that a zombie (or subclass) is a baby. Allows changing the zombie spawning mechanic. + D:zombieBabyChance=0.05 + + # Set to false to attempt to allocate 8 stencil bits when starting the GL display context. + B:enableStencilBits=true + + # The spawn fuzz when a player respawns in the world, this is controlable by WorldType, this config option is for the default overworld. + I:defaultSpawnFuzz=20 + B:enableGlobalConfig=false +} + + diff --git a/sample-files/lightpack/src/config/worldedit/worldedit.properties b/sample-files/lightpack/src/config/worldedit/worldedit.properties new file mode 100644 index 0000000..fb8afa6 --- /dev/null +++ b/sample-files/lightpack/src/config/worldedit/worldedit.properties @@ -0,0 +1,38 @@ +#Don't put comments; they get removed +#Fri Nov 14 20:36:13 PST 2014 +super-pickaxe-many-drop-items=true +super-pickaxe-drop-items=true +craftscript-dir=craftscripts +max-brush-radius=10 +scripting-timeout=3000 +no-double-slash=false +butcher-max-radius=-1 +profile=false +max-radius=-1 +default-max-polyhedron-points=-1 +use-inventory-creative-override=false +use-inventory=false +shell-save-type= +allow-extra-data-values=false +wand-item=271 +history-size=15 +register-help=true +butcher-default-radius=-1 +schematic-save-dir=schematics +nav-wand-item=345 +max-polygon-points=20 +default-max-polygon-points=-1 +snapshots-dir= +nav-use-glass=true +use-inventory-override=false +cheat-mode=false +max-changed-blocks=-1 +default-max-changed-blocks=-1 +max-polyhedron-points=20 +allow-symbolic-links=false +use-in-creative=false +disallowed-blocks=6,26,27,28,31,32,34,36,37,38,39,40,46,50,51,55,59,66,69,75,76,93,94,77,81,83,7,14,15,16,56 +log-commands=false +log-file=worldedit.log +max-super-pickaxe-size=5 +nav-wand-distance=50 diff --git a/sample-files/lightpack/src/mods/_CLIENT/CoolGrass.info.json b/sample-files/lightpack/src/mods/_CLIENT/CoolGrass.info.json new file mode 100644 index 0000000..f154bd9 --- /dev/null +++ b/sample-files/lightpack/src/mods/_CLIENT/CoolGrass.info.json @@ -0,0 +1,7 @@ +{ + "feature": { + "name": "CoolGrass", + "description": "CoolGrass gives you a cool grass.", + "selected": false + } +} diff --git a/sample-files/lightpack/src/mods/_CLIENT/SomeMinimap.info.json b/sample-files/lightpack/src/mods/_CLIENT/SomeMinimap.info.json new file mode 100644 index 0000000..1fc899e --- /dev/null +++ b/sample-files/lightpack/src/mods/_CLIENT/SomeMinimap.info.json @@ -0,0 +1,8 @@ +{ + "feature": { + "name": "SomeMinimap", + "description": "SomeMinimap gives you a cool minimap.", + "recommendation": "starred", + "selected": true + } +} diff --git a/sample-files/monsterpack/loaders/README.txt b/sample-files/monsterpack/loaders/README.txt new file mode 100644 index 0000000..47b74de --- /dev/null +++ b/sample-files/monsterpack/loaders/README.txt @@ -0,0 +1,7 @@ +You'd put Forge and LiteLoader installers here. + +i.e. forge-1.7.10-10.13.0.1208-installer.jar + +It should NOT be the Windows version of the installer. + +Any installer will work that has a supported "install_profile.json" in its .jar. \ No newline at end of file diff --git a/sample-files/monsterpack/modpack.json b/sample-files/monsterpack/modpack.json new file mode 100644 index 0000000..8818f15 --- /dev/null +++ b/sample-files/monsterpack/modpack.json @@ -0,0 +1,17 @@ +{ + "name": "Monster Modpack", + "title": "Monster Modpack", + "gameVersion": "1.8", + "launch": { + "flags": [ + "-Dfml.ignoreInvalidMinecraftCertificates=true" + ] + }, + "userFiles": { + "include": [ + "options.txt", + "optionsshaders.txt", + "mods/VoxelMods/*" + ] + } +} \ No newline at end of file diff --git a/sample-files/monsterpack/src/_CLIENT/options.txt b/sample-files/monsterpack/src/_CLIENT/options.txt new file mode 100644 index 0000000..6308e4c --- /dev/null +++ b/sample-files/monsterpack/src/_CLIENT/options.txt @@ -0,0 +1,11 @@ +soundCategory_master:1.0 +soundCategory_music:0.0 +soundCategory_record:1.0 +soundCategory_weather:0.1056338 +soundCategory_block:1.0 +soundCategory_hostile:1.0 +soundCategory_neutral:1.0 +soundCategory_player:1.0 +soundCategory_ambient:1.0 +resourcePacks:["Conquest (smaller).zip"] +enableVsync:false diff --git a/sample-files/monsterpack/src/_CLIENT/resourcepacks/SomeResourcePack.zip b/sample-files/monsterpack/src/_CLIENT/resourcepacks/SomeResourcePack.zip new file mode 100644 index 0000000..3b75a9b Binary files /dev/null and b/sample-files/monsterpack/src/_CLIENT/resourcepacks/SomeResourcePack.zip differ diff --git a/sample-files/monsterpack/src/config/_SERVER/forgeChunkLoading.cfg b/sample-files/monsterpack/src/config/_SERVER/forgeChunkLoading.cfg new file mode 100644 index 0000000..3051bdf --- /dev/null +++ b/sample-files/monsterpack/src/config/_SERVER/forgeChunkLoading.cfg @@ -0,0 +1,47 @@ +# Configuration file + +########################################################################################################## +# Forge +#--------------------------------------------------------------------------------------------------------# +# Sample mod specific control section. +# Copy this section and rename the with the modid for the mod you wish to override. +# A value of zero in either entry effectively disables any chunkloading capabilities +# for that mod +########################################################################################################## + +Forge { + # Maximum chunks per ticket for the mod. + I:maximumChunksPerTicket=25 + + # Maximum ticket count for the mod. Zero disables chunkloading capabilities. + I:maximumTicketCount=200 +} + + +########################################################################################################## +# defaults +#--------------------------------------------------------------------------------------------------------# +# Default configuration for forge chunk loading control +########################################################################################################## + +defaults { + # Are mod overrides enabled? + B:enabled=true + + # The default maximum number of chunks a mod can force, per ticket, + # for a mod without an override. This is the maximum number of chunks a single ticket can force. + I:maximumChunksPerTicket=25 + + # The default maximum ticket count for a mod which does not have an override + # in this file. This is the number of chunk loading requests a mod is allowed to make. + I:maximumTicketCount=200 + + # The number of tickets a player can be assigned instead of a mod. This is shared across all mods and it is up to the mods to use it. + I:playerTicketCount=500 + + # Unloaded chunks can first be kept in a dormant cache for quicker + # loading times. Specify the size (in chunks) of that cache here + I:dormantChunkCacheSize=0 +} + + diff --git a/sample-files/monsterpack/src/config/forge.cfg b/sample-files/monsterpack/src/config/forge.cfg new file mode 100644 index 0000000..72eab30 --- /dev/null +++ b/sample-files/monsterpack/src/config/forge.cfg @@ -0,0 +1,60 @@ +# Configuration file + +general { + # Set to true to disable Forge's version check mechanics. Forge queries a small json file on our server for version information. For more details see the ForgeVersion class in our github. + B:disableVersionCheck=false + + # Controls the number threshold at which Packet51 is preferred over Packet52, default and minimum 64, maximum 1024 + I:clumpingThreshold=64 + + # Set to true to enable the post initialization sorting of crafting recipes using Forge's sorter. May cause desyncing on conflicting recipies. MUST RESTART MINECRAFT IF CHANGED FROM THE CONFIG GUI. + B:sortRecipies=true + + # Set this to true to force a crash if more than one block attempts to link back to the same Fluid. Enabled by default. + B:forceDuplicateFluidBlockCrash=true + + # Set this to true to remove any Entity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. + B:removeErroringEntities=false + + # Set this to true to remove any TileEntity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. + B:removeErroringTileEntities=false + + # Set this to true to check the entire entity's collision bounding box for ladders instead of just the block they are in. Causes noticable differences in mechanics so default is vanilla behavior. Default: false + B:fullBoundingBoxLadders=false + + # Control the range of sky blending for colored skies in biomes. + I:biomeSkyBlendRange < + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 + 22 + 24 + 26 + 28 + 30 + 32 + 34 + > + + # Base zombie summoning spawn chance. Allows changing the bonus zombie summoning mechanic. + D:zombieBaseSummonChance=0.1 + + # Chance that a zombie (or subclass) is a baby. Allows changing the zombie spawning mechanic. + D:zombieBabyChance=0.05 + + # Set to false to attempt to allocate 8 stencil bits when starting the GL display context. + B:enableStencilBits=true + + # The spawn fuzz when a player respawns in the world, this is controlable by WorldType, this config option is for the default overworld. + I:defaultSpawnFuzz=20 + B:enableGlobalConfig=false +} + + diff --git a/sample-files/monsterpack/src/config/worldedit/worldedit.properties b/sample-files/monsterpack/src/config/worldedit/worldedit.properties new file mode 100644 index 0000000..fb8afa6 --- /dev/null +++ b/sample-files/monsterpack/src/config/worldedit/worldedit.properties @@ -0,0 +1,38 @@ +#Don't put comments; they get removed +#Fri Nov 14 20:36:13 PST 2014 +super-pickaxe-many-drop-items=true +super-pickaxe-drop-items=true +craftscript-dir=craftscripts +max-brush-radius=10 +scripting-timeout=3000 +no-double-slash=false +butcher-max-radius=-1 +profile=false +max-radius=-1 +default-max-polyhedron-points=-1 +use-inventory-creative-override=false +use-inventory=false +shell-save-type= +allow-extra-data-values=false +wand-item=271 +history-size=15 +register-help=true +butcher-default-radius=-1 +schematic-save-dir=schematics +nav-wand-item=345 +max-polygon-points=20 +default-max-polygon-points=-1 +snapshots-dir= +nav-use-glass=true +use-inventory-override=false +cheat-mode=false +max-changed-blocks=-1 +default-max-changed-blocks=-1 +max-polyhedron-points=20 +allow-symbolic-links=false +use-in-creative=false +disallowed-blocks=6,26,27,28,31,32,34,36,37,38,39,40,46,50,51,55,59,66,69,75,76,93,94,77,81,83,7,14,15,16,56 +log-commands=false +log-file=worldedit.log +max-super-pickaxe-size=5 +nav-wand-distance=50 diff --git a/sample-files/monsterpack/src/mods/_CLIENT/CoolGrass.info.json b/sample-files/monsterpack/src/mods/_CLIENT/CoolGrass.info.json new file mode 100644 index 0000000..f154bd9 --- /dev/null +++ b/sample-files/monsterpack/src/mods/_CLIENT/CoolGrass.info.json @@ -0,0 +1,7 @@ +{ + "feature": { + "name": "CoolGrass", + "description": "CoolGrass gives you a cool grass.", + "selected": false + } +} diff --git a/sample-files/monsterpack/src/mods/_CLIENT/SomeMinimap.info.json b/sample-files/monsterpack/src/mods/_CLIENT/SomeMinimap.info.json new file mode 100644 index 0000000..1fc899e --- /dev/null +++ b/sample-files/monsterpack/src/mods/_CLIENT/SomeMinimap.info.json @@ -0,0 +1,8 @@ +{ + "feature": { + "name": "SomeMinimap", + "description": "SomeMinimap gives you a cool minimap.", + "recommendation": "starred", + "selected": true + } +} diff --git a/sample-files/upload/latest.json b/sample-files/upload/latest.json new file mode 100644 index 0000000..04e1d2e --- /dev/null +++ b/sample-files/upload/latest.json @@ -0,0 +1,4 @@ +{ + "version": "4.0.1", + "url": "http://example.com/launcher/versions/4.0.1.jar.pack" +} \ No newline at end of file diff --git a/sample-files/upload/libraries/README.txt b/sample-files/upload/libraries/README.txt new file mode 100644 index 0000000..4ac1dc4 --- /dev/null +++ b/sample-files/upload/libraries/README.txt @@ -0,0 +1 @@ +Normally, libraries would be generated for this folder if we were actually using a mod loader (Forge, LiteLoader, etc.). \ No newline at end of file diff --git a/sample-files/upload/lightpack.json b/sample-files/upload/lightpack.json new file mode 100644 index 0000000..871961f --- /dev/null +++ b/sample-files/upload/lightpack.json @@ -0,0 +1,266 @@ +{ + "title" : "Light Modpack", + "name" : "Light Modpack", + "version" : "20100223", + "minimumVersion" : 2, + "librariesLocation" : "libraries", + "objectsLocation" : "objects", + "gameVersion" : "1.8", + "features" : [ { + "name" : "CoolGrass", + "description" : "CoolGrass gives you a cool grass." + }, { + "name" : "SomeMinimap", + "description" : "SomeMinimap gives you a cool minimap.", + "recommendation" : "starred", + "selected" : true + } ], + "tasks" : [ { + "type" : "file", + "hash" : "8c35b619fb0169b7d7f087246293e26d3ec494a2", + "location" : "8c/35/8c35b619fb0169b7d7f087246293e26d3ec494a2", + "to" : "config/forge.cfg", + "size" : 2526 + }, { + "type" : "file", + "hash" : "e9c6c18a10a099f635858634afe794250fbb22b9", + "location" : "e9/c6/e9c6c18a10a099f635858634afe794250fbb22b9", + "to" : "config/worldedit/worldedit.properties", + "size" : 1031 + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/FlyingCars-2.5.jar", + "size" : 152 + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/IndustrialMachines-2.3.jar", + "size" : 152 + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/WorldEditor-1.2.jar", + "size" : 152 + }, { + "type" : "file", + "when" : { + "if" : "requireAny", + "features" : [ "CoolGrass" ] + }, + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/CoolGrass-1.0.jar", + "size" : 152 + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/RequiredClientLib-5.0.jar", + "size" : 152 + }, { + "type" : "file", + "when" : { + "if" : "requireAny", + "features" : [ "SomeMinimap" ] + }, + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/SomeMinimap-2.0.jar", + "size" : 152 + }, { + "type" : "file", + "hash" : "6c97a7f50fe0fa46ce5492f235b51eba8b69b191", + "location" : "6c/97/6c97a7f50fe0fa46ce5492f235b51eba8b69b191", + "to" : "options.txt", + "size" : 303, + "userFile" : true + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "resourcepacks/SomeResourcePack.zip", + "size" : 152 + } ], + "versionManifest" : { + "id" : "1.8", + "time" : 1409646275000, + "releaseTime" : 1409646275000, + "assets" : "1.8", + "type" : "release", + "minecraftArguments" : "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type}", + "mainClass" : "net.minecraft.client.main.Main", + "minimumLauncherVersion" : 14, + "libraries" : [ { + "name" : "java3d:vecmath:1.5.2" + }, { + "name" : "net.sf.trove4j:trove4j:3.0.3" + }, { + "name" : "com.ibm.icu:icu4j-core-mojang:51.2" + }, { + "name" : "net.sf.jopt-simple:jopt-simple:4.6" + }, { + "name" : "com.paulscode:codecjorbis:20101023" + }, { + "name" : "com.paulscode:codecwav:20101023" + }, { + "name" : "com.paulscode:libraryjavasound:20101123" + }, { + "name" : "com.paulscode:librarylwjglopenal:20100824" + }, { + "name" : "com.paulscode:soundsystem:20120107" + }, { + "name" : "io.netty:netty-all:4.0.15.Final" + }, { + "name" : "com.google.guava:guava:17.0" + }, { + "name" : "org.apache.commons:commons-lang3:3.3.2" + }, { + "name" : "commons-io:commons-io:2.4" + }, { + "name" : "commons-codec:commons-codec:1.9" + }, { + "name" : "net.java.jinput:jinput:2.0.5" + }, { + "name" : "net.java.jutils:jutils:1.0.0" + }, { + "name" : "com.google.code.gson:gson:2.2.4" + }, { + "name" : "com.mojang:authlib:1.5.17" + }, { + "name" : "com.mojang:realms:1.6.1" + }, { + "name" : "org.apache.commons:commons-compress:1.8.1" + }, { + "name" : "org.apache.httpcomponents:httpclient:4.3.3" + }, { + "name" : "commons-logging:commons-logging:1.1.3" + }, { + "name" : "org.apache.httpcomponents:httpcore:4.3.2" + }, { + "name" : "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, { + "name" : "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, { + "name" : "org.lwjgl.lwjgl:lwjgl:2.9.1", + "rules" : [ { + "action" : "allow" + }, { + "action" : "disallow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "org.lwjgl.lwjgl:lwjgl_util:2.9.1", + "rules" : [ { + "action" : "allow" + }, { + "action" : "disallow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives" : { + "linux" : "natives-linux", + "windows" : "natives-windows", + "osx" : "natives-osx" + }, + "extract" : { + "exclude" : [ "META-INF/" ] + }, + "rules" : [ { + "action" : "allow" + }, { + "action" : "disallow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "org.lwjgl.lwjgl:lwjgl:2.9.2-nightly-20140822", + "rules" : [ { + "action" : "allow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "org.lwjgl.lwjgl:lwjgl_util:2.9.2-nightly-20140822", + "rules" : [ { + "action" : "allow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "org.lwjgl.lwjgl:lwjgl-platform:2.9.2-nightly-20140822", + "natives" : { + "linux" : "natives-linux", + "windows" : "natives-windows", + "osx" : "natives-osx" + }, + "extract" : { + "exclude" : [ "META-INF/" ] + }, + "rules" : [ { + "action" : "allow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "net.java.jinput:jinput-platform:2.0.5", + "natives" : { + "linux" : "natives-linux", + "windows" : "natives-windows", + "osx" : "natives-osx" + }, + "extract" : { + "exclude" : [ "META-INF/" ] + } + }, { + "name" : "tv.twitch:twitch:6.5" + }, { + "name" : "tv.twitch:twitch-platform:6.5", + "natives" : { + "linux" : "natives-linux", + "windows" : "natives-windows-${arch}", + "osx" : "natives-osx" + }, + "extract" : { + "exclude" : [ "META-INF/" ] + }, + "rules" : [ { + "action" : "allow" + }, { + "action" : "disallow", + "os" : { + "name" : "linux" + } + } ] + }, { + "name" : "tv.twitch:twitch-external-platform:4.5", + "natives" : { + "windows" : "natives-windows-${arch}" + }, + "extract" : { + "exclude" : [ "META-INF/" ] + }, + "rules" : [ { + "action" : "allow", + "os" : { + "name" : "windows" + } + } ] + } ] + }, + "launch" : { + "flags" : [ "-Dfml.ignoreInvalidMinecraftCertificates=true" ] + } +} \ No newline at end of file diff --git a/sample-files/upload/monsterpack.json b/sample-files/upload/monsterpack.json new file mode 100644 index 0000000..e20d34e --- /dev/null +++ b/sample-files/upload/monsterpack.json @@ -0,0 +1,272 @@ +{ + "title" : "Monster Modpack", + "name" : "Monster Modpack", + "version" : "20100223", + "minimumVersion" : 2, + "librariesLocation" : "libraries", + "objectsLocation" : "objects", + "gameVersion" : "1.8", + "features" : [ { + "name" : "SomeMinimap", + "description" : "SomeMinimap gives you a cool minimap.", + "recommendation" : "starred", + "selected" : true + }, { + "name" : "CoolGrass", + "description" : "CoolGrass gives you a cool grass." + } ], + "tasks" : [ { + "type" : "file", + "hash" : "8c35b619fb0169b7d7f087246293e26d3ec494a2", + "location" : "8c/35/8c35b619fb0169b7d7f087246293e26d3ec494a2", + "to" : "config/forge.cfg", + "size" : 2526 + }, { + "type" : "file", + "hash" : "e9c6c18a10a099f635858634afe794250fbb22b9", + "location" : "e9/c6/e9c6c18a10a099f635858634afe794250fbb22b9", + "to" : "config/worldedit/worldedit.properties", + "size" : 1031 + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/FlyingCars-2.5.jar", + "size" : 152 + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/IndustrialMachines-2.3.jar", + "size" : 152 + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/SomeHeavyMod-1.4.jar", + "size" : 152 + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/WorldEditor-1.2.jar", + "size" : 152 + }, { + "type" : "file", + "when" : { + "if" : "requireAny", + "features" : [ "CoolGrass" ] + }, + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/CoolGrass-1.0.jar", + "size" : 152 + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/RequiredClientLib-5.0.jar", + "size" : 152 + }, { + "type" : "file", + "when" : { + "if" : "requireAny", + "features" : [ "SomeMinimap" ] + }, + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "mods/SomeMinimap-2.0.jar", + "size" : 152 + }, { + "type" : "file", + "hash" : "6c97a7f50fe0fa46ce5492f235b51eba8b69b191", + "location" : "6c/97/6c97a7f50fe0fa46ce5492f235b51eba8b69b191", + "to" : "options.txt", + "size" : 303, + "userFile" : true + }, { + "type" : "file", + "hash" : "d64444560f4d81386d1a1230aebb03c1fb05624b", + "location" : "d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b", + "to" : "resourcepacks/SomeResourcePack.zip", + "size" : 152 + } ], + "versionManifest" : { + "id" : "1.8", + "time" : 1409646275000, + "releaseTime" : 1409646275000, + "assets" : "1.8", + "type" : "release", + "minecraftArguments" : "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type}", + "mainClass" : "net.minecraft.client.main.Main", + "minimumLauncherVersion" : 14, + "libraries" : [ { + "name" : "java3d:vecmath:1.5.2" + }, { + "name" : "net.sf.trove4j:trove4j:3.0.3" + }, { + "name" : "com.ibm.icu:icu4j-core-mojang:51.2" + }, { + "name" : "net.sf.jopt-simple:jopt-simple:4.6" + }, { + "name" : "com.paulscode:codecjorbis:20101023" + }, { + "name" : "com.paulscode:codecwav:20101023" + }, { + "name" : "com.paulscode:libraryjavasound:20101123" + }, { + "name" : "com.paulscode:librarylwjglopenal:20100824" + }, { + "name" : "com.paulscode:soundsystem:20120107" + }, { + "name" : "io.netty:netty-all:4.0.15.Final" + }, { + "name" : "com.google.guava:guava:17.0" + }, { + "name" : "org.apache.commons:commons-lang3:3.3.2" + }, { + "name" : "commons-io:commons-io:2.4" + }, { + "name" : "commons-codec:commons-codec:1.9" + }, { + "name" : "net.java.jinput:jinput:2.0.5" + }, { + "name" : "net.java.jutils:jutils:1.0.0" + }, { + "name" : "com.google.code.gson:gson:2.2.4" + }, { + "name" : "com.mojang:authlib:1.5.17" + }, { + "name" : "com.mojang:realms:1.6.1" + }, { + "name" : "org.apache.commons:commons-compress:1.8.1" + }, { + "name" : "org.apache.httpcomponents:httpclient:4.3.3" + }, { + "name" : "commons-logging:commons-logging:1.1.3" + }, { + "name" : "org.apache.httpcomponents:httpcore:4.3.2" + }, { + "name" : "org.apache.logging.log4j:log4j-api:2.0-beta9" + }, { + "name" : "org.apache.logging.log4j:log4j-core:2.0-beta9" + }, { + "name" : "org.lwjgl.lwjgl:lwjgl:2.9.1", + "rules" : [ { + "action" : "allow" + }, { + "action" : "disallow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "org.lwjgl.lwjgl:lwjgl_util:2.9.1", + "rules" : [ { + "action" : "allow" + }, { + "action" : "disallow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "org.lwjgl.lwjgl:lwjgl-platform:2.9.1", + "natives" : { + "linux" : "natives-linux", + "windows" : "natives-windows", + "osx" : "natives-osx" + }, + "extract" : { + "exclude" : [ "META-INF/" ] + }, + "rules" : [ { + "action" : "allow" + }, { + "action" : "disallow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "org.lwjgl.lwjgl:lwjgl:2.9.2-nightly-20140822", + "rules" : [ { + "action" : "allow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "org.lwjgl.lwjgl:lwjgl_util:2.9.2-nightly-20140822", + "rules" : [ { + "action" : "allow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "org.lwjgl.lwjgl:lwjgl-platform:2.9.2-nightly-20140822", + "natives" : { + "linux" : "natives-linux", + "windows" : "natives-windows", + "osx" : "natives-osx" + }, + "extract" : { + "exclude" : [ "META-INF/" ] + }, + "rules" : [ { + "action" : "allow", + "os" : { + "name" : "osx" + } + } ] + }, { + "name" : "net.java.jinput:jinput-platform:2.0.5", + "natives" : { + "linux" : "natives-linux", + "windows" : "natives-windows", + "osx" : "natives-osx" + }, + "extract" : { + "exclude" : [ "META-INF/" ] + } + }, { + "name" : "tv.twitch:twitch:6.5" + }, { + "name" : "tv.twitch:twitch-platform:6.5", + "natives" : { + "linux" : "natives-linux", + "windows" : "natives-windows-${arch}", + "osx" : "natives-osx" + }, + "extract" : { + "exclude" : [ "META-INF/" ] + }, + "rules" : [ { + "action" : "allow" + }, { + "action" : "disallow", + "os" : { + "name" : "linux" + } + } ] + }, { + "name" : "tv.twitch:twitch-external-platform:4.5", + "natives" : { + "windows" : "natives-windows-${arch}" + }, + "extract" : { + "exclude" : [ "META-INF/" ] + }, + "rules" : [ { + "action" : "allow", + "os" : { + "name" : "windows" + } + } ] + } ] + }, + "launch" : { + "flags" : [ "-Dfml.ignoreInvalidMinecraftCertificates=true" ] + } +} \ No newline at end of file diff --git a/sample-files/upload/news.html b/sample-files/upload/news.html new file mode 100644 index 0000000..235b201 --- /dev/null +++ b/sample-files/upload/news.html @@ -0,0 +1,20 @@ + + + +News Page + + + + +

News

+

Recently, two new modpacks were added.

+ + \ No newline at end of file diff --git a/sample-files/upload/objects/6c/97/6c97a7f50fe0fa46ce5492f235b51eba8b69b191 b/sample-files/upload/objects/6c/97/6c97a7f50fe0fa46ce5492f235b51eba8b69b191 new file mode 100644 index 0000000..6308e4c --- /dev/null +++ b/sample-files/upload/objects/6c/97/6c97a7f50fe0fa46ce5492f235b51eba8b69b191 @@ -0,0 +1,11 @@ +soundCategory_master:1.0 +soundCategory_music:0.0 +soundCategory_record:1.0 +soundCategory_weather:0.1056338 +soundCategory_block:1.0 +soundCategory_hostile:1.0 +soundCategory_neutral:1.0 +soundCategory_player:1.0 +soundCategory_ambient:1.0 +resourcePacks:["Conquest (smaller).zip"] +enableVsync:false diff --git a/sample-files/upload/objects/8c/35/8c35b619fb0169b7d7f087246293e26d3ec494a2 b/sample-files/upload/objects/8c/35/8c35b619fb0169b7d7f087246293e26d3ec494a2 new file mode 100644 index 0000000..72eab30 --- /dev/null +++ b/sample-files/upload/objects/8c/35/8c35b619fb0169b7d7f087246293e26d3ec494a2 @@ -0,0 +1,60 @@ +# Configuration file + +general { + # Set to true to disable Forge's version check mechanics. Forge queries a small json file on our server for version information. For more details see the ForgeVersion class in our github. + B:disableVersionCheck=false + + # Controls the number threshold at which Packet51 is preferred over Packet52, default and minimum 64, maximum 1024 + I:clumpingThreshold=64 + + # Set to true to enable the post initialization sorting of crafting recipes using Forge's sorter. May cause desyncing on conflicting recipies. MUST RESTART MINECRAFT IF CHANGED FROM THE CONFIG GUI. + B:sortRecipies=true + + # Set this to true to force a crash if more than one block attempts to link back to the same Fluid. Enabled by default. + B:forceDuplicateFluidBlockCrash=true + + # Set this to true to remove any Entity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. + B:removeErroringEntities=false + + # Set this to true to remove any TileEntity that throws an error in its update method instead of closing the server and reporting a crash log. BE WARNED THIS COULD SCREW UP EVERYTHING USE SPARINGLY WE ARE NOT RESPONSIBLE FOR DAMAGES. + B:removeErroringTileEntities=false + + # Set this to true to check the entire entity's collision bounding box for ladders instead of just the block they are in. Causes noticable differences in mechanics so default is vanilla behavior. Default: false + B:fullBoundingBoxLadders=false + + # Control the range of sky blending for colored skies in biomes. + I:biomeSkyBlendRange < + 2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 + 22 + 24 + 26 + 28 + 30 + 32 + 34 + > + + # Base zombie summoning spawn chance. Allows changing the bonus zombie summoning mechanic. + D:zombieBaseSummonChance=0.1 + + # Chance that a zombie (or subclass) is a baby. Allows changing the zombie spawning mechanic. + D:zombieBabyChance=0.05 + + # Set to false to attempt to allocate 8 stencil bits when starting the GL display context. + B:enableStencilBits=true + + # The spawn fuzz when a player respawns in the world, this is controlable by WorldType, this config option is for the default overworld. + I:defaultSpawnFuzz=20 + B:enableGlobalConfig=false +} + + diff --git a/sample-files/upload/objects/d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b b/sample-files/upload/objects/d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b new file mode 100644 index 0000000..3b75a9b Binary files /dev/null and b/sample-files/upload/objects/d6/44/d64444560f4d81386d1a1230aebb03c1fb05624b differ diff --git a/sample-files/upload/objects/e9/c6/e9c6c18a10a099f635858634afe794250fbb22b9 b/sample-files/upload/objects/e9/c6/e9c6c18a10a099f635858634afe794250fbb22b9 new file mode 100644 index 0000000..fb8afa6 --- /dev/null +++ b/sample-files/upload/objects/e9/c6/e9c6c18a10a099f635858634afe794250fbb22b9 @@ -0,0 +1,38 @@ +#Don't put comments; they get removed +#Fri Nov 14 20:36:13 PST 2014 +super-pickaxe-many-drop-items=true +super-pickaxe-drop-items=true +craftscript-dir=craftscripts +max-brush-radius=10 +scripting-timeout=3000 +no-double-slash=false +butcher-max-radius=-1 +profile=false +max-radius=-1 +default-max-polyhedron-points=-1 +use-inventory-creative-override=false +use-inventory=false +shell-save-type= +allow-extra-data-values=false +wand-item=271 +history-size=15 +register-help=true +butcher-default-radius=-1 +schematic-save-dir=schematics +nav-wand-item=345 +max-polygon-points=20 +default-max-polygon-points=-1 +snapshots-dir= +nav-use-glass=true +use-inventory-override=false +cheat-mode=false +max-changed-blocks=-1 +default-max-changed-blocks=-1 +max-polyhedron-points=20 +allow-symbolic-links=false +use-in-creative=false +disallowed-blocks=6,26,27,28,31,32,34,36,37,38,39,40,46,50,51,55,59,66,69,75,76,93,94,77,81,83,7,14,15,16,56 +log-commands=false +log-file=worldedit.log +max-super-pickaxe-size=5 +nav-wand-distance=50 diff --git a/sample-files/upload/packages.json b/sample-files/upload/packages.json new file mode 100644 index 0000000..9fe041f --- /dev/null +++ b/sample-files/upload/packages.json @@ -0,0 +1,19 @@ +{ + "minimumVersion": 1, + "packages": [ + { + "name": "Light Modpack", + "title": "Light Modpack", + "version": "20100223", + "location": "lightpack.json", + "priority": 1 + }, + { + "name": "Monster Modpack", + "title": "Monster Modpack", + "version": "20100223", + "location": "monsterpack.json", + "priority": 1 + } + ] +} \ No newline at end of file diff --git a/sample-files/upload/packages.php b/sample-files/upload/packages.php new file mode 100644 index 0000000..77e3d9e --- /dev/null +++ b/sample-files/upload/packages.php @@ -0,0 +1,29 @@ + 1, + 'packages' => [], +]; + +foreach ($files as $file) { + $data = json_decode(file_get_contents($file)); + if (isset($data->name) && isset($data->version)) { + $document['packages'][] = [ + 'name' => $data->name, + 'title' => isset($data->title) ? $data->title : $data->name, + 'version' => $data->version, + 'location' => basename($file), + 'priority' => 1, + ]; + } +} + +header("Content-Type: text/plain"); +echo json_encode($document, JSON_PRETTY_PRINT); \ No newline at end of file