1
0
mirror of https://github.com/SKCraft/Launcher.git synced 2024-11-24 12:16:28 +01:00
🚀 Distribute your Minecraft modpacks with a custom launcher
Go to file
2015-07-24 17:21:59 -07:00
creator-tools [Creator] Set version to 2.0.1. 2015-07-24 17:21:59 -07:00
gradle/wrapper Update Gradle Wrapper 2015-04-23 17:18:33 -04:00
launcher Suppress unchecked warnings in LoginDialog. 2015-07-24 17:07:24 -07:00
launcher-bootstrap [Bootstrap] Rename _() to tr(). 2015-07-24 17:06:42 -07:00
launcher-builder [Creator] Don't re-download mods using a download URL every time. 2015-07-24 16:09:03 -07:00
launcher-fancy Fix fancy launcher theme classloader woes. 2015-02-20 17:17:20 -08:00
readme Update the README regarding the new tools. 2015-07-24 02:00:37 -07:00
sample-files Add missing sample project .jars. 2015-02-19 13:28:16 -08:00
.gitignore Add /installer/ to .gitignore. 2015-07-24 17:00:56 -07:00
build.bat Add easy to use build batch/shell scripts. 2015-07-21 01:33:40 -07:00
build.gradle Switch to Gradle. Use git log --follow for history. 2015-02-18 21:30:25 -08:00
build.sh Add easy to use build batch/shell scripts. 2015-07-21 01:33:40 -07:00
gradlew Switch to Gradle. Use git log --follow for history. 2015-02-18 21:30:25 -08:00
gradlew.bat Switch to Gradle. Use git log --follow for history. 2015-02-18 21:30:25 -08:00
LICENSE.txt Initial commit. 2014-01-08 15:09:06 -08:00
README.md Update the README regarding the new tools. 2015-07-24 02:00:37 -07:00
settings.gradle Add new creator tools. 2015-07-23 23:46:18 -07:00

SKCraft Launcher

This project provides an open-source Minecraft launcher platform for creating, testing, distributing, installing, and updating modpacks. It has maintained for sk89q's server since Minecraft Alpha, but you are free to use it. The older 3.x version was can be found elsewhere.

Unlike other launchers, modpacks for this launcher follow Minecraft's directory structure: just config/ and mods/ folders and you're good to go — no need to edit complicated files. You can use the provided GUI or build everything through command line tools.

Screenshots

Skinned

Or if you prefer it plain:

Main Launcher

Options

Optional Features

Console

Creating modpacks is easy with the provided Modpack Creator:

Modpack Creator

Modpack Creator

Optional Features Configuration

Build Modpacks

Features

For the modpack creator:

  • No config files (aside from two at the start) needed to make a modpack -- you just make a folder with the modpack's files and run the builder tool on it
  • Supports putting default files (config files, etc.) that are not overridden on a future update
  • Supports the removal of files (which, from the PoV of the modpack creator, just involves deleting the file from the folder)
  • Supports "optional" files or file sets that can be toggled on or off by the user
  • The same directory can be used to create both a client modpack and a server modpack simultaneously (with server-only or client-only files) so you don't need to maintain two separate copies of the same files

Technical features:

  • Fast parallel downloads
  • Incremental updates (downloading only changed files)
  • Can update from ANY previous version to the latest version
  • Updates can be resumed if they've failed or have been cancelled
  • Updates also resume from where they left off
  • Static file structure so it can be placed on a CDN without modification
  • Files are deduplicated (on the file host) so you only ever have ONE version of a file across all modpacks and all modpack versions
  • Option for users to enter a special key in the options dialog that can be used to show additional modpacks (i.e. private ones for testing) -- this requires some server-side code
  • Can be used with a continuous integration system so you can combine it with your favorite version control (i.e. Git, SVN) and automatically deploy a new modpack update on push/tag

Client features:

  • Multiple modpacks are supported
  • Custom news page for showing custom information
  • Multiple profile support
  • Log messages dialog with upload log option
  • Options to adjust memory settings and Java flags
  • Everything happens in a background thread so the UI never freezes
  • All tasks have cancel buttons and (reasonably accurate) progress dialogs if things take too long
  • Self-update mechanism

Getting Started

Compiling

In your command prompt or terminal, run:

./gradlew clean build

If you are on Windows:

gradlew clean build

If you wish to import the project into an IDE, you must add support for Project Lombok (IntelliJ IDEA users: also enable annotation processing in compiler settings).

Contributing

Pull requests can be submitted on GitHub, but we will accept them at our discretion. Please note that your code must follow Oracle's Java Code Conventions.

Contributions by third parties must be dual licensed under the two licenses described within LICENSE.txt (GNU General Public License, version 3, and the 3-clause BSD license).

License

The launcher is licensed under the GNU General Public License, version 3.