Code Monkey home page Code Monkey logo

atlauncher's Introduction

ATLauncher

What is it?

ATLauncher is a Launcher for Minecraft which integrates multiple different ModPacks to allow you to download and install ModPacks easily and quickly.

Links

ATLauncher Website

ATLauncher Facebook

ATLauncher Reddit

ATLauncher Twitter

Things to Note

Please note that I (RyanTheAllmighty) have created this alone up until now and being a 1st year Computer Science student, my coding may not be the best, most accurate or efficient, so please keep that in mind.

Other than that, I am releasing this as an Open Source project in hopes that others may contribute to better our Launcher and because I think Open Source is a good thing.

Coding Standards

  • Please keep all line lengths to 120 characters and use 4 spaces rather than tab characters
  • Please keep all variables at the top of the class
  • Please keep all inner classes at the bottom
  • Please don't use star imports
  • Please mark all classes that are to be de/serialized with Gson with the @Json annotation for other developers
  • Please use the IntelliJ-Coding-Style.xml for the project (if using IntelliJ) in order to keep all formatting consistent

Building

Windows

Requirements
Java Development Kit (JDK)

Download and install the latest version from Oracle's Java Downloads page.

Apache Maven

Install Apache Maven via the official Apache Maven Install Docs.

launch4j

Download and install launch4j.

Make sure to add the directory containing launch4jc to your executable path which for me on 64bit Windows was:

C:\Program Files (x86)\Launch4j

Plugging In Your Data

To get started with the code and plug in your own data, you need to create a src/main/java/com/atlauncher/data/Constants.java file. Below is a starter to get you going:

package com.atlauncher.data;

public class Constants {

public static final LauncherVersion VERSION = new LauncherVersion(1, 0, 0, 0);
public static final String API_BASE_URL = "";
public static final String PASTE_CHECK_URL = "";
public static final String PASTE_API_URL = "";
public static final Server[] SERVERS = new Server[] { new Server("Test", "my.file.server.com", true, true) };

}

See below for explanations as to what each constant means.

VERSION

This is a LauncherVersion object passed in the reserved, major, minor, revision ints for this version of the launcher. See the 'Versioning System' section below.

API_BASE_URL

This is a link to your server side API for processing of leaderboard times and pack installs. This is optional and can be removed. We do not give implementation code, this is your own doing.

PASTE_CHECK_URL

This is a link to the url where an instance of stikked is running (For instance http://www.mypaste.com) this is how the launcher knows if the paste was successful by checking the response from the API for the url of the software.

PASTE_API_URL

This is a link to the create api command for the instance of stikked is running (For instance http://www.mypaste.com/api/create/)

SERVERS

This is an array of Server type elements the launcher uses as a base to download files.

How to make your data

To make the data the Launcher needs you will need to figure out your own server side way of doing that. You can create a system to do it automatically or you can manually do it by just popping the files on the server. The best way to get the file structure and contents is to examine the source code and the ATLauncher files it downloads.

Versioning System

Starting with version 3.2.1.0 a new versioning system was put into place. It works off the following:

Reserved.Major.Minor.Revision

So for 3.2.1.0 the major number is 2 and minor number is 1 and revision number is 0. Reserved is used as a base, only incremented on complete rewrites.

Major should be incremented when large changes/features are made.

Minor should be incremented when small changes/features are made.

Revision should be incremented when there are no new features and only contains bug fixes for the previous minor.

Need Help/Have Questions?

If you have questions or need any help please don't hesitate to email [email protected]

License

We have released this code under a Creative Commons license. In order to use this work, you must share the work under the same license as well as give proper attribution. In order to attribute us correctly you must provide a link to this original repository as well as give attribution to our website at http://www.atlauncher.com

If you do use our code as a base, we require that you don't use our data from our servers and instead plug in your own data. Our servers are tuned to only accept data from our Launcher and block all other traffic. So it's imperative that you use your own data in your forked code.

You must also establish yourself as not being a part of our Launcher, and should rebrand. The one and only official ATLauncher is on our website

CC SA

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/.

atlauncher's People

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.