mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-08 14:59:16 -04:00
improve documentation (ReadMes)
Add hypixel lobby screenshot Add task descriptions in Minosoft.java Improve ReadMe.md and util/ReadMe.md
This commit is contained in:
parent
3b05e7670a
commit
202bd35075
19
ReadMe.md
19
ReadMe.md
@ -9,8 +9,8 @@ Minosoft is an open source minecraft client, written from scratch in java. It ai
|
||||
- Rendering (WIP)
|
||||
- Multi protocol support (1.7 - latest)
|
||||
- Modding
|
||||
- Fast performance (start time on my laptop: 3 seconds)
|
||||
- Free and open source
|
||||
- Fast performance (incredible start time of 3 - 5 seconds on modern hardware (tested on Intel i7-4800MQ)
|
||||
- Free (as far as we consider original minecraft as free) and open source
|
||||
- Multi accounting
|
||||
- Multi "sessions" (Connections to a server)
|
||||
- Multi threading
|
||||
@ -21,11 +21,11 @@ Minosoft is an open source minecraft client, written from scratch in java. It ai
|
||||
- CPU: Minosoft benefits from multiple cores (at least for most stuff). CPU is kind of important,
|
||||
but for the rendering clock speed is more important. 4 cores recommended with at least 2 Ghz.
|
||||
- RAM: Out goal was it to run without compromises on an 8 Gib computer and at least limited on an 4 Gib one.
|
||||
- Disk space: Minosoft itself is pretty small (2-3 Mib), the libraries are a bit bigger (up to 100 Mib).
|
||||
You also need to have the "normal" minecraft assets (~ 300 Mib). So a total of 500 Mib is recommended.
|
||||
- Disk space: Minosoft itself is pretty small (2-3 Mib), the libraries are a bit bigger (up to 100 MB).
|
||||
You also need to have the "normal" minecraft assets (~ 300 MB). So a total of 500 MB is recommended.
|
||||
- GPU: Currently only needed for rendering, no clue yet.
|
||||
- Java 15 (This is really important, we use specific features that are only available in the latest version. Java 8 is **not** supported).
|
||||
OpenJDK 15 is (of course) also supported.
|
||||
- Java 15 (This is really important, we use specific (experimental) features that are only available in the latest version. Java 8 is **not** supported).
|
||||
OpenJDK is (of course) also supported.
|
||||
|
||||
|
||||
## Rendering
|
||||
@ -34,8 +34,11 @@ Rendering is developed and maintained by Lukas Eisenhauer. It is very WIP, but i
|
||||

|
||||
The current result of rendering (taken in 739f861bf62341698abcd58386c353a4831f4818).
|
||||
|
||||

|
||||
The Hypixel prototype lobby (taken in 91ab431004fa1ae132a1eb1115550f84c27f48f8).
|
||||
|
||||
## Launcher
|
||||
The "Launcher" is not really a launcher, it is just a (badly designed, but functional) Serverlist with account management functionality.
|
||||
The "Launcher" is not really a launcher, it is just a (badly designed, but functional) server list with account management functionality.
|
||||
Launcher is in quotation marks, because it is not really a launcher. It is the game. You click on run and see this window. All downloads, loadings, ... happen async in the background.
|
||||
If you double-click on the server. you can connect to it. Once connected (= Received spawn location), you can play :)
|
||||

|
||||
@ -46,7 +49,7 @@ After pushing it, it is supported. Some versions are more complicated and need a
|
||||
Check out [wiki.vg](https://wiki.vg/Main_Page) for more information.
|
||||
|
||||
### Supported versions
|
||||
Almost all versions are supported, starting with 13w41b (pre 1.7 snapshot) and ending with the newest (1.16.3 as of writing this.)
|
||||
Almost all versions are supported, starting with 13w41b (pre 1.7 snapshot) and ending with the newest (1.16.4 as of writing this). I plan to maintain Minosoft to at least version 1.20, so stay tuned.
|
||||
|
||||
### Unsupported versions
|
||||
Sadly, we cannot support all versions. We will add support for all major versions (like 1.8.9, 1.9.4, 1.14.4, etc), but it is simply not possible to support all snapshots.
|
||||
|
Before Width: | Height: | Size: 5.5 MiB After Width: | Height: | Size: 5.5 MiB |
BIN
doc/img/rendering_hypixel.png
Normal file
BIN
doc/img/rendering_hypixel.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 560 KiB |
@ -16,6 +16,7 @@ package de.bixilon.minosoft;
|
||||
import com.google.common.collect.HashBiMap;
|
||||
import de.bixilon.minosoft.config.Configuration;
|
||||
import de.bixilon.minosoft.config.ConfigurationPaths;
|
||||
import de.bixilon.minosoft.config.StaticConfiguration;
|
||||
import de.bixilon.minosoft.data.assets.AssetsManager;
|
||||
import de.bixilon.minosoft.data.locale.LocaleManager;
|
||||
import de.bixilon.minosoft.data.locale.minecraft.MinecraftLocaleManager;
|
||||
@ -114,17 +115,17 @@ public final class Minosoft {
|
||||
|
||||
serverList = config.getServers();
|
||||
progress.countDown();
|
||||
}, "Configuration", "", Priorities.HIGHEST, TaskImportance.REQUIRED));
|
||||
}, "Configuration", String.format("Load config file (%s)", StaticConfiguration.CONFIG_FILENAME), Priorities.HIGHEST, TaskImportance.REQUIRED));
|
||||
|
||||
taskWorker.addTask(new Task((progress) -> StartProgressWindow.start(), "JavaFx Toolkit", "", Priorities.HIGHEST));
|
||||
taskWorker.addTask(new Task((progress) -> StartProgressWindow.start(), "JavaFX Toolkit", "Initialize JavaFX", Priorities.HIGHEST));
|
||||
|
||||
taskWorker.addTask(new Task((progress) -> StartProgressWindow.show(startStatusLatch), "Progress Window", "", Priorities.HIGH, TaskImportance.OPTIONAL, "JavaFx Toolkit", "Configuration"));
|
||||
taskWorker.addTask(new Task((progress) -> StartProgressWindow.show(startStatusLatch), "Progress Window", "Display progress window", Priorities.HIGH, TaskImportance.OPTIONAL, "JavaFX Toolkit", "Configuration"));
|
||||
|
||||
taskWorker.addTask(new Task(progress -> {
|
||||
progress.countUp();
|
||||
LocaleManager.load(config.getString(ConfigurationPaths.GENERAL_LANGUAGE));
|
||||
progress.countDown();
|
||||
}, "Minosoft Language", "", Priorities.HIGH, TaskImportance.REQUIRED, "Configuration"));
|
||||
}, "Minosoft Language", "Load minosoft language files", Priorities.HIGH, TaskImportance.REQUIRED, "Configuration"));
|
||||
|
||||
taskWorker.addTask(new Task(progress -> {
|
||||
progress.countUp();
|
||||
@ -133,32 +134,32 @@ public final class Minosoft {
|
||||
Versions.load(Util.readJsonAsset("mapping/versions.json"));
|
||||
Log.info(String.format("Loaded versions mapping in %dms", (System.currentTimeMillis() - mappingStartLoadingTime)));
|
||||
progress.countDown();
|
||||
}, "Version mappings", "", Priorities.NORMAL, TaskImportance.REQUIRED, "Configuration"));
|
||||
}, "Version mappings", "Load available minecraft versions inclusive mappings", Priorities.NORMAL, TaskImportance.REQUIRED, "Configuration"));
|
||||
|
||||
taskWorker.addTask(new Task(progress -> {
|
||||
Log.debug("Refreshing account token...");
|
||||
checkClientToken();
|
||||
accountList = config.getMojangAccounts();
|
||||
selectAccount(accountList.get(config.getString(ConfigurationPaths.ACCOUNT_SELECTED)));
|
||||
}, "Token refresh", "", Priorities.LOW, TaskImportance.OPTIONAL, "Configuration"));
|
||||
}, "Token refresh", "Refresh selected account token", Priorities.LOW, TaskImportance.OPTIONAL, "Configuration"));
|
||||
|
||||
taskWorker.addTask(new Task(progress -> {
|
||||
progress.countUp();
|
||||
ModLoader.loadMods(progress);
|
||||
progress.countDown();
|
||||
}, "ModLoading", "", Priorities.NORMAL, TaskImportance.REQUIRED, "Configuration"));
|
||||
}, "ModLoading", "Load all minosoft mods", Priorities.NORMAL, TaskImportance.REQUIRED, "Configuration"));
|
||||
|
||||
taskWorker.addTask(new Task(progress -> {
|
||||
progress.countUp();
|
||||
AssetsManager.downloadAllAssets(progress);
|
||||
progress.countDown();
|
||||
}, "Assets", "", Priorities.HIGH, TaskImportance.REQUIRED, "Configuration"));
|
||||
}, "Assets", "Download and verify all minecraft assets", Priorities.HIGH, TaskImportance.REQUIRED, "Configuration"));
|
||||
|
||||
taskWorker.addTask(new Task(progress -> {
|
||||
progress.countUp();
|
||||
MinecraftLocaleManager.load(config.getString(ConfigurationPaths.GENERAL_LANGUAGE));
|
||||
progress.countDown();
|
||||
}, "Mojang language", "", Priorities.HIGH, TaskImportance.REQUIRED, "Assets"));
|
||||
}, "Mojang language", "Load minecraft language files", Priorities.HIGH, TaskImportance.REQUIRED, "Assets"));
|
||||
|
||||
taskWorker.work(startStatusLatch);
|
||||
try {
|
||||
|
@ -8,7 +8,10 @@ The script asks you for a version of minecraft, you enter it (can be a snapshot)
|
||||
3. Run the script with `python3 serverWrapper.py`. You can pass the parameter `download-all` and it will create an offline cache for all minecraft versions (latest - first)
|
||||
|
||||
## mappingsDownloader
|
||||
This script creates a modified version of the mappings after the flattening update (1.13). See [Data Generators for more details](https://wiki.vg/Data_Generators). The problem is, that there are some versions that have been "flattened", but there are not data generators or that the old format is getting used (the items.json and not the registries.json). The script downloads all files from apimon.de/mcdata. If the download fails, the script ties do download and create the format based on [Burger](https://pokechu22.github.io/Burger/). This is currently work in progress, it can only generate the registries.json, not the `blocks.json`.
|
||||
This script creates a modified version of the mappings after the flattening update (1.13). See [Data Generators for more details](https://wiki.vg/Data_Generators).
|
||||
The problem is, that there are some versions that have been "flattened", but there are not data generators or that the old format is getting used (the items.json and not the registries.json).
|
||||
The script downloads all files from https://apimon.de/mcdata. If the download fails, the script ties do download and create the format based on [Burger](https://pokechu22.github.io/Burger/).
|
||||
This is currently work in progress, it can only generate the registries.json, not the `blocks.json`.
|
||||
#### Installation / Usage
|
||||
1. Download the script
|
||||
2. Run the script with `python3 mappingsDownloader.py` and wait for the process to complete. Currently, some versions will fail, because it is difficult to generate the blocks.json. Feel free to make a Pull Request :): ['1.13-pre6', '1.13-pre5', '17w50a', '17w49b', '17w49a', '17w48a', '17w47b', '17w47a']
|
||||
2. Run the script with `python3 mappingsDownloader.py` and wait for the process to complete. Currently, some versions will fail, because it is difficult to generate the blocks.json. Feel free to make a Pull Request :): ['1.13-pre6', '1.13-pre5', '17w50a', '17w49b', '17w49a', '17w48a', '17w47b', '17w47a']
|
||||
|
Loading…
x
Reference in New Issue
Block a user