Files
Terrarum/src/net/torvald/terrarum/DefaultConfig.kt
Song Minjae 720a5c8440 mouse buttons now configurable
Former-commit-id: 789b34a0a80553afc7fa7f563ffa33350310ac21
Former-commit-id: 8b3687ee15aa53fb6decb8480ebdf6897b5cce61
2016-12-30 23:28:06 +09:00

86 lines
3.1 KiB
Kotlin

package net.torvald.terrarum
import com.google.gson.JsonArray
import com.google.gson.JsonElement
import com.google.gson.JsonObject
import net.torvald.terrarum.gamecontroller.Key
/**
* Keys must be all lowercase
*
* Created by minjaesong on 16-03-12.
*/
object DefaultConfig {
fun fetch(): JsonObject {
val jsonObject = JsonObject()
jsonObject.addProperty("smoothlighting", true)
jsonObject.addProperty("imtooyoungtodie", false) // perma-death
jsonObject.addProperty("language", Terrarum.sysLang)
jsonObject.addProperty("notificationshowuptime", 6500)
jsonObject.addProperty("multithread", true) // experimental!
// control-gamepad
jsonObject.addProperty("joypadkeyn", 4)
jsonObject.addProperty("joypadkeyw", 1)
jsonObject.addProperty("joypadkeys", 2)
jsonObject.addProperty("joypadkeye", 3) // logitech indices
jsonObject.addProperty("joypadlup", 4)
jsonObject.addProperty("joypadrup", 5)
jsonObject.addProperty("joypadldown", 6)
jsonObject.addProperty("joypadrdown", 7) // logitech indices
jsonObject.addProperty("joypadlstickx", 3)
jsonObject.addProperty("joypadlsticky", 2)
jsonObject.addProperty("joypadrstickx", 1)
jsonObject.addProperty("joypadrsticky", 0) // logitech indices
jsonObject.addProperty("joypadlabelstyle", "generic") // "nwii", "logitech", "sonyps", "msxb360", "generic"
// control-keyboard (Java key codes. This is what Minecraft also uses)
jsonObject.addProperty("keyup", Key.E)
jsonObject.addProperty("keyleft", Key.S)
jsonObject.addProperty("keydown", Key.D)
jsonObject.addProperty("keyright", Key.F)
jsonObject.addProperty("keymovementaux", Key.A) // movement-auxiliary, or hookshot
jsonObject.addProperty("keyinventory", Key.W)
jsonObject.addProperty("keyinteract", Key.R)
jsonObject.addProperty("keyclose", Key.C)
jsonObject.addProperty("keygamemenu", Key.TAB)
jsonObject.addProperty("keyquicksel", Key.CAPS_LOCK) // pie menu
val keyquickselalt = JsonArray(); keyquickselalt.add(Key.BACKSPACE); keyquickselalt.add(Key.L_COMMAND); keyquickselalt.add(Key.L_CONTROL)
// Colemak, Workman and some typers use CapsLock as Backspace, Apple-JIS and HHKB has Control in place of CapsLock and often re-assigned to Command
// so these keys are treated as the same.
// FOR ~~FUCKS~~ERGONOMICS' SAKE DON'T USE CTRL AND ALT AS A KEY!
jsonObject.add("keyquickselalt", keyquickselalt)
jsonObject.addProperty("keyjump", Key.SPACE)
val keyquickbars = JsonArray(); for (i in 2..11) keyquickbars.add(i) // NUM_1 to NUM_0
jsonObject.add("keyquickbars", keyquickbars)
jsonObject.addProperty("mouseprimary", 0) // left mouse
jsonObject.addProperty("mousesecondary", 1) // right mouse
jsonObject.addProperty("pcgamepadenv", "console")
jsonObject.addProperty("safetywarning", true)
return jsonObject
}
}
/*
Additional description goes here
*/