SKcraft-fork
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
jarezzz d5c43cc5cb Offline for all 2 6 months ago
creator-tools Initial 6 months ago
gradle/wrapper Initial 6 months ago
launcher Offline for all 2 6 months ago
launcher-bootstrap Initial 6 months ago
launcher-builder Initial 6 months ago
launcher-fancy Initial 6 months ago
readme Initial 6 months ago
sample-files Initial 6 months ago
.gitignore Initial 6 months ago
LICENSE.txt Initial 6 months ago
README.md Initial 6 months ago
build.bat Initial 6 months ago
build.gradle Initial 6 months ago
build.sh Initial 6 months ago
gradlew Initial 6 months ago
gradlew.bat Initial 6 months ago
settings.gradle Initial 6 months ago

README.md

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.