mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-16 10:55:01 -04:00
convert some classes to kotlin
This commit is contained in:
parent
52046de8ab
commit
22e2f8a4a1
@ -1,56 +0,0 @@
|
|||||||
/*
|
|
||||||
* Minosoft
|
|
||||||
* Copyright (C) 2020 Moritz Zwerger
|
|
||||||
*
|
|
||||||
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
||||||
*
|
|
||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package de.bixilon.minosoft.config;
|
|
||||||
|
|
||||||
import com.google.common.base.StandardSystemProperty;
|
|
||||||
import de.bixilon.minosoft.util.OSUtil;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
public class StaticConfiguration {
|
|
||||||
public static final boolean DEBUG_MODE = true; // if true, additional checks will be made to validate data, ... Decreases performance
|
|
||||||
public static final boolean BIOME_DEBUG_MODE = false; // colors all biomes according to the biome hashCode
|
|
||||||
public static final boolean DEBUG_SLOW_LOADING = false; // if true, many Thread.sleep will be executed and the start will be delayed (by a lot)
|
|
||||||
public static final boolean SHOW_LOG_MESSAGES_IN_CHAT = true; // prints all console messages in the chat box
|
|
||||||
public static final boolean REPLACE_SYSTEM_OUT_STREAMS = true;
|
|
||||||
public static String CONFIG_FILENAME = "minosoft.json"; // Filename of minosoft's base configuration (located in AppData/Minosoft/config)
|
|
||||||
public static boolean SKIP_MOJANG_AUTHENTICATION; // disables all connections to mojang
|
|
||||||
public static boolean COLORED_LOG = true; // the log should be colored with ANSI (does not affect base components)
|
|
||||||
public static boolean LOG_RELATIVE_TIME; // prefix all log messages with the relative start time in milliseconds instead of the formatted time
|
|
||||||
public static boolean VERBOSE_ENTITY_META_DATA_LOGGING; // if true, the entity meta data is getting serialized
|
|
||||||
public static boolean HEADLESS_MODE; // if true, no gui, rendering or whatever will be loaded or shown
|
|
||||||
public static String HOME_DIRECTORY;
|
|
||||||
public static final String TEMPORARY_FOLDER = System.getProperty("java.io.tmpdir", HOME_DIRECTORY + "/tmp/") + "/";
|
|
||||||
|
|
||||||
static {
|
|
||||||
// Sets Config.homeDir to the correct folder per OS
|
|
||||||
String homeDir;
|
|
||||||
homeDir = System.getProperty(StandardSystemProperty.USER_HOME.key());
|
|
||||||
if (!homeDir.endsWith(File.separator)) {
|
|
||||||
homeDir += "/";
|
|
||||||
}
|
|
||||||
homeDir += switch (OSUtil.OS) {
|
|
||||||
case LINUX -> ".local/share/minosoft/";
|
|
||||||
case WINDOWS -> "AppData/Roaming/Minosoft/";
|
|
||||||
case MAC -> "Library/Application Support/Minosoft/";
|
|
||||||
case OTHER -> ".minosoft/";
|
|
||||||
};
|
|
||||||
File folder = new File(homeDir);
|
|
||||||
if (!folder.exists() && !folder.mkdirs()) {
|
|
||||||
// failed creating folder
|
|
||||||
throw new RuntimeException(String.format("Could not create home folder (%s)!", homeDir));
|
|
||||||
}
|
|
||||||
HOME_DIRECTORY = folder.getAbsolutePath() + "/";
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,65 @@
|
|||||||
|
/*
|
||||||
|
* Minosoft
|
||||||
|
* Copyright (C) 2020 Moritz Zwerger
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
|
*/
|
||||||
|
package de.bixilon.minosoft.config
|
||||||
|
|
||||||
|
import com.google.common.base.StandardSystemProperty
|
||||||
|
import de.bixilon.minosoft.util.OSUtil
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
|
object StaticConfiguration {
|
||||||
|
const val DEBUG_MODE = true // if true, additional checks will be made to validate data, ... Decreases performance
|
||||||
|
const val BIOME_DEBUG_MODE = false // colors all biomes according to the biome hashCode
|
||||||
|
const val DEBUG_SLOW_LOADING = false // if true, many Thread.sleep will be executed and the start will be delayed (by a lot)
|
||||||
|
const val SHOW_LOG_MESSAGES_IN_CHAT = true // prints all console messages in the chat box
|
||||||
|
const val REPLACE_SYSTEM_OUT_STREAMS = true
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
var CONFIG_FILENAME = "minosoft.json" // Filename of minosoft's base configuration (located in AppData/Minosoft/config)
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
var SKIP_MOJANG_AUTHENTICATION = false // disables all connections to mojang
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
var COLORED_LOG = true // the log should be colored with ANSI (does not affect base components)
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
var LOG_RELATIVE_TIME = false // prefix all log messages with the relative start time in milliseconds instead of the formatted time
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
var VERBOSE_ENTITY_META_DATA_LOGGING = false // if true, the entity meta data is getting serialized
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
var HEADLESS_MODE = false // if true, no gui, rendering or whatever will be loaded or shown
|
||||||
|
|
||||||
|
@JvmField
|
||||||
|
var HOME_DIRECTORY: String = let {
|
||||||
|
// Sets Config.homeDir to the correct folder per OS
|
||||||
|
var homeDir: String = System.getProperty(StandardSystemProperty.USER_HOME.key())
|
||||||
|
if (!homeDir.endsWith(File.separator)) {
|
||||||
|
homeDir += "/"
|
||||||
|
}
|
||||||
|
homeDir += when (OSUtil.OS) {
|
||||||
|
OSUtil.OSs.LINUX -> ".local/share/minosoft/"
|
||||||
|
OSUtil.OSs.WINDOWS -> "AppData/Roaming/Minosoft/"
|
||||||
|
OSUtil.OSs.MAC -> "Library/Application Support/Minosoft/"
|
||||||
|
OSUtil.OSs.OTHER -> ".minosoft/"
|
||||||
|
}
|
||||||
|
val folder = File(homeDir)
|
||||||
|
if (!folder.exists() && !folder.mkdirs()) {
|
||||||
|
// failed creating folder
|
||||||
|
throw RuntimeException(String.format("Could not create home folder (%s)!", homeDir))
|
||||||
|
}
|
||||||
|
folder.absolutePath + "/"
|
||||||
|
}
|
||||||
|
val TEMPORARY_FOLDER = System.getProperty("java.io.tmpdir", "$HOME_DIRECTORY/tmp/") + "/"
|
||||||
|
}
|
@ -10,29 +10,26 @@
|
|||||||
*
|
*
|
||||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||||
*/
|
*/
|
||||||
|
package de.bixilon.minosoft.util
|
||||||
|
|
||||||
package de.bixilon.minosoft.util;
|
object OSUtil {
|
||||||
|
@JvmStatic
|
||||||
|
val OS: OSs
|
||||||
|
|
||||||
public final class OSUtil {
|
enum class OSs {
|
||||||
public static final OSs OS;
|
|
||||||
|
|
||||||
static {
|
|
||||||
String name = System.getProperty("os.name");
|
|
||||||
if (name.startsWith("Windows")) {
|
|
||||||
OS = OSs.WINDOWS;
|
|
||||||
} else if (name.startsWith("Linux")) {
|
|
||||||
OS = OSs.LINUX;
|
|
||||||
} else if (name.startsWith("Mac")) {
|
|
||||||
OS = OSs.MAC;
|
|
||||||
} else {
|
|
||||||
OS = OSs.OTHER;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum OSs {
|
|
||||||
WINDOWS,
|
WINDOWS,
|
||||||
LINUX,
|
LINUX,
|
||||||
MAC,
|
MAC,
|
||||||
OTHER
|
OTHER,
|
||||||
|
}
|
||||||
|
|
||||||
|
init {
|
||||||
|
val name = System.getProperty("os.name")
|
||||||
|
OS = when {
|
||||||
|
name.startsWith("Windows") -> OSs.WINDOWS
|
||||||
|
name.startsWith("Linux") -> OSs.LINUX
|
||||||
|
name.startsWith("Mac") -> OSs.MAC
|
||||||
|
else -> OSs.OTHER
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user