在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):ATLauncher/ATLauncher开源软件地址(OpenSource Url):https://github.com/ATLauncher/ATLauncher开源编程语言(OpenSource Language):Java 99.3%开源软件介绍(OpenSource Introduction):ATLauncherWhat is itATLauncher is a launcher for Minecraft which integrates multiple different modpacks to allow you to download and install modpacks easily and quickly. LinksContributing to ATLauncherTake a look at CONTRIBUTING.md TestingPlease see the TESTING.md file for information on how we write tests. PrerequisitesIn order to build ATLauncher, you will need any Java version 8 or above. Java 8 is recommended since we compile to Java 8 compatability regardless. Everything else that's needed for the project is provided by Gradle, and accessed using the Gradle wrapper which can be
invoked by using BuildingTo build this project, simply run: ./gradlew build This will build the application and output the resulting files for Windows, Linux and OSX in the Running in testIf you want to run the launcher while developing with it, you can use your IDE (if you have one) to do that for you. Alternatively you can run: ./gradlew run --args="--debug --working-dir=testLauncher" Setting the Using an IDEThis project is mainly setup and developed to use VSCode for development. You're free to use any other IDE that you're accustomed to (if any), but by using VSCode, you get the benefit of predefined tasks and launch commands as well as a list of extensions recommended for the project. We also provide some base project files for IntelliJ IDEA so that if you use that, you should get access to our base project files which contain correct launch tasks for testing the application as well as tasks for running the UI/Unit tests. Checking for dependency updatesTo check for dependency updates with gradle, simply run: ./gradlew dependencyUpdates This will print a report to the console about any dependencies which have updates. Updating license headers in all filesIf you add new files, or update the ./gradlew updateLicenses To check that they're all correct, you can run the below command: ./gradlew checkLicenses This is run during the CI process, and will fail if the license is missing or not up to date, so make sure that you add this to all new files you create. Create Custom ThemesATLauncher supports custom themes. The process is fairly straight forward, but may require a lot of trial and error. First you must create a
Once you've created your class (look at other themes in the directory for an idea on what you can do), you'll need to
create a properties file in the Last step is to register the theme in the file Now you can open the launcher and then switch to your theme. We use a library called FlatLaf to provide theme support. There are some good references listed below to see the default values for the themes and see what you can overwrite:
IntelliJ theme.json SupportYou can also take IntelliJ There are also special rules you need to apply as we currently do not support these For an example, see the Tools To Help Theme DevelopmentTo help with theme development, with the launcher running (not in the release version, only in development), you can
press Plugging In Your DataTo get started with the code and plug in your own data, you need to edit the
By using this source code you don't get permissions to use our CDN/files/assets/modpacks. See the License section at the bottom for more. See below for explanations as to what some of the constant values mean. Note that this doesn't cover everything, most of them should be self explanatory, if not please stop by our
Discord and ask in the Also pay special attention to the VERSIONThis 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_URLThis is a link to your server side API for processing of stats. This is optional and can be removed. We do not give implementation code, this is your own doing. PASTE_CHECK_URLThis is a link to the url where an instance of stikked is running (For instance https://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. Please note that the domain given above IS NOT REAL. You must install stikked on your own domain and reference it, the domain is only there as an example of what a valid value is. PASTE_API_URLSame as above SERVERSThis is an array of Server type elements the launcher uses as a base to download files. LAUNCHER_NAMEThis is the name of the launcher. How to make your dataTo 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 SystemStarting with version 3.2.1.0 a new versioning system was put into place. It works off the following: Reserved.Major.Minor.Revision.Stream 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. The stream is optional. 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. Build is used for beta releases allowing you to have higher version numbers but force users to update when the real release comes. Stream is used to define if it's a "Release" or a "Beta". When not provided, it defaults to "Release". Updating The VersionThe version can be updated in a single place in the The stream value doesn't need to be provided, but should only ever be "Beta". When a release is ready to go out, the stream should be removed from the version so that everything will automatically release. TranslatingATLauncher is written for English speakers. All our translations are community run by those who take their time and submit updates to the text in a different language. If you wish to help translate ATLauncher, please visit our page on Crowdin and start translating. Updating the template fileEvery push to master will automatically add any new strings that need translating via GitHub actions. Manual StepsIf new strings are added to the launcher, the template file will need to be updated in order to take into account the new strings. In order to do this, run Note that out of the box, this will not generate in the correct format. You must run the This file can then be uploaded to Crowdin by ATLauncher staff to give access to the translators. Adding new languages from CrowdinRunning this action will download all approved translations strings and make a commit to master with then changed language files. Manual StepsOnce a language has been translated enough to add support to the launcher (or update support) there's a few steps we need to take. First grab the built project from Crowdin, and then grab out the translation to add/update. For this example, let's take German. Pop this file in the Now take the converted files from the Now open // add in the languages we have support for
static {
locales.add(Locale.ENGLISH);
locales.add(new Locale("de", "DE"));
} Now the launcher should have the option to change to the language/s. LicenseThis work is licensed under the GNU General Public License v3.0. To view a copy of this license, visit http://www.gnu.org/licenses/gpl-3.0.txt. A simple way to keep in terms of the license is by forking this repository and leaving it open source under the same license. We love free software, seeing people use our code and then not share the code, breaking the license, is saddening. So please take a look at the license and respect what we're doing. Also, while we cannot enforce this under the license, you cannot use our CDN/files/assets/modpacks on your own launcher. Again we cannot enforce this under the license, but needless to say, we'd be very unhappy if you did that and really would like to leave cease and desist letters as a last resort. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论