mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-18 03:44:54 -04:00
deprecate KeyBindingsNames
This commit is contained in:
parent
898aa31e6b
commit
65744d625f
@ -17,38 +17,12 @@ import de.bixilon.minosoft.config.key.KeyAction
|
|||||||
import de.bixilon.minosoft.config.key.KeyBinding
|
import de.bixilon.minosoft.config.key.KeyBinding
|
||||||
import de.bixilon.minosoft.config.key.KeyCodes
|
import de.bixilon.minosoft.config.key.KeyCodes
|
||||||
import de.bixilon.minosoft.data.registries.ResourceLocation
|
import de.bixilon.minosoft.data.registries.ResourceLocation
|
||||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated(message = "Use new system with providing default key bindings when registering instead of \"pre registering\" the key")
|
||||||
object KeyBindingsNames {
|
object KeyBindingsNames {
|
||||||
val MOVE_FORWARD = ResourceLocation("minosoft:move_forward")
|
|
||||||
val MOVE_BACKWARDS = ResourceLocation("minosoft:move_backwards")
|
|
||||||
val MOVE_LEFT = ResourceLocation("minosoft:move_left")
|
|
||||||
val MOVE_RIGHT = ResourceLocation("minosoft:move_right")
|
|
||||||
val MOVE_SPRINT = ResourceLocation("minosoft:move_sprint")
|
|
||||||
val MOVE_TOGGLE_FLY = ResourceLocation("minosoft:move_toggle_fly")
|
|
||||||
val MOVE_FLY_UP = ResourceLocation("minosoft:move_fly_up")
|
|
||||||
val MOVE_FLY_DOWN = ResourceLocation("minosoft:move_fly_down")
|
|
||||||
val MOVE_SNEAK = ResourceLocation("minosoft:move_sneak")
|
|
||||||
val MOVE_JUMP = ResourceLocation("minosoft:move_jump")
|
|
||||||
|
|
||||||
val DESTROY_BLOCK = ResourceLocation("minosoft:destroy_block")
|
|
||||||
|
|
||||||
val DROP_ITEM = "minosoft:drop_item".toResourceLocation()
|
|
||||||
val DROP_ITEM_STACK = "minosoft:drop_item_stack".toResourceLocation()
|
|
||||||
|
|
||||||
val ZOOM = ResourceLocation("minosoft:zoom")
|
|
||||||
|
|
||||||
val QUIT_RENDERING = ResourceLocation("minosoft:quit_rendering")
|
|
||||||
|
|
||||||
val TOGGLE_DEBUG_SCREEN = ResourceLocation("minosoft:toggle_debug_screen")
|
val TOGGLE_DEBUG_SCREEN = ResourceLocation("minosoft:toggle_debug_screen")
|
||||||
val DEBUG_CLEAR_CHUNK_CACHE = ResourceLocation("minosoft:debug_clear_chunk_cache")
|
|
||||||
val DEBUG_POLYGON = ResourceLocation("minosoft:debug_polygon")
|
|
||||||
val DEBUG_MOUSE_CATCH = ResourceLocation("minosoft:debug_mouse_catch")
|
val DEBUG_MOUSE_CATCH = ResourceLocation("minosoft:debug_mouse_catch")
|
||||||
val DEBUG_PAUSE_INCOMING_PACKETS = ResourceLocation("minosoft:pause_incoming_packets")
|
|
||||||
val DEBUG_PAUSE_OUTGOING_PACKETS = ResourceLocation("minosoft:pause_outgoing_packets")
|
|
||||||
|
|
||||||
val TAKE_SCREENSHOT = ResourceLocation("minosoft:take_screenshot")
|
|
||||||
|
|
||||||
val TOGGLE_HUD = ResourceLocation("minosoft:toggle_hud")
|
val TOGGLE_HUD = ResourceLocation("minosoft:toggle_hud")
|
||||||
|
|
||||||
@ -57,161 +31,12 @@ object KeyBindingsNames {
|
|||||||
val CLOSE = ResourceLocation("minosoft:close")
|
val CLOSE = ResourceLocation("minosoft:close")
|
||||||
|
|
||||||
|
|
||||||
val BLOCK_INTERACT = ResourceLocation("minosoft:interact_block")
|
|
||||||
|
|
||||||
|
|
||||||
val SELECT_HOTBAR_SLOTS = arrayOf(
|
|
||||||
ResourceLocation("minosoft:select_hotbar_slot_1"),
|
|
||||||
ResourceLocation("minosoft:select_hotbar_slot_2"),
|
|
||||||
ResourceLocation("minosoft:select_hotbar_slot_3"),
|
|
||||||
ResourceLocation("minosoft:select_hotbar_slot_4"),
|
|
||||||
ResourceLocation("minosoft:select_hotbar_slot_5"),
|
|
||||||
ResourceLocation("minosoft:select_hotbar_slot_6"),
|
|
||||||
ResourceLocation("minosoft:select_hotbar_slot_7"),
|
|
||||||
ResourceLocation("minosoft:select_hotbar_slot_8"),
|
|
||||||
ResourceLocation("minosoft:select_hotbar_slot_9")
|
|
||||||
)
|
|
||||||
|
|
||||||
val DEFAULT_KEY_BINDINGS: Map<ResourceLocation, KeyBinding> = mapOf(
|
val DEFAULT_KEY_BINDINGS: Map<ResourceLocation, KeyBinding> = mapOf(
|
||||||
MOVE_FORWARD to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_W),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MOVE_LEFT to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_A),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MOVE_BACKWARDS to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_S),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MOVE_RIGHT to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_D),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MOVE_SPRINT to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_LEFT_CONTROL),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MOVE_FLY_UP to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_SPACE),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MOVE_JUMP to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_SPACE),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MOVE_TOGGLE_FLY to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.DOUBLE_PRESS to mutableSetOf(KeyCodes.KEY_SPACE),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MOVE_FLY_DOWN to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_LEFT_SHIFT),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
MOVE_SNEAK to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_LEFT_SHIFT),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
DESTROY_BLOCK to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.MOUSE_BUTTON_LEFT),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
ZOOM to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_C),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
TOGGLE_DEBUG_SCREEN to KeyBinding(
|
TOGGLE_DEBUG_SCREEN to KeyBinding(
|
||||||
mutableMapOf(
|
mutableMapOf(
|
||||||
KeyAction.STICKY to mutableSetOf(KeyCodes.KEY_F3),
|
KeyAction.STICKY to mutableSetOf(KeyCodes.KEY_F3),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
DEBUG_POLYGON to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F4),
|
|
||||||
KeyAction.STICKY to mutableSetOf(KeyCodes.KEY_P),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
DEBUG_MOUSE_CATCH to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F4),
|
|
||||||
KeyAction.STICKY to mutableSetOf(KeyCodes.KEY_M),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
QUIT_RENDERING to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.RELEASE to mutableSetOf(KeyCodes.KEY_ESCAPE),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
DEBUG_CLEAR_CHUNK_CACHE to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F3),
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_A),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
TAKE_SCREENSHOT to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_F2),
|
|
||||||
),
|
|
||||||
ignoreConsumer = true,
|
|
||||||
),
|
|
||||||
SELECT_HOTBAR_SLOTS[0] to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_1),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SELECT_HOTBAR_SLOTS[1] to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_2),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SELECT_HOTBAR_SLOTS[2] to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_3),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SELECT_HOTBAR_SLOTS[3] to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_4),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SELECT_HOTBAR_SLOTS[4] to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_5),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SELECT_HOTBAR_SLOTS[5] to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_6),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SELECT_HOTBAR_SLOTS[6] to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_7),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SELECT_HOTBAR_SLOTS[7] to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_8),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SELECT_HOTBAR_SLOTS[8] to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_9),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
TOGGLE_HUD to KeyBinding(
|
TOGGLE_HUD to KeyBinding(
|
||||||
mutableMapOf(
|
mutableMapOf(
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_F1),
|
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_F1),
|
||||||
@ -228,35 +53,5 @@ object KeyBindingsNames {
|
|||||||
),
|
),
|
||||||
ignoreConsumer = true,
|
ignoreConsumer = true,
|
||||||
),
|
),
|
||||||
BLOCK_INTERACT to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.CHANGE to mutableSetOf(KeyCodes.MOUSE_BUTTON_RIGHT),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
DEBUG_PAUSE_INCOMING_PACKETS to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F4),
|
|
||||||
KeyAction.STICKY to mutableSetOf(KeyCodes.KEY_I),
|
|
||||||
),
|
|
||||||
ignoreConsumer = true,
|
|
||||||
),
|
|
||||||
DEBUG_PAUSE_OUTGOING_PACKETS to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F4),
|
|
||||||
KeyAction.STICKY to mutableSetOf(KeyCodes.KEY_O),
|
|
||||||
),
|
|
||||||
ignoreConsumer = true,
|
|
||||||
),
|
|
||||||
DROP_ITEM to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_Q),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
DROP_ITEM_STACK to KeyBinding(
|
|
||||||
mutableMapOf(
|
|
||||||
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_Q),
|
|
||||||
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_LEFT_CONTROL)
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,9 @@ package de.bixilon.minosoft.gui.rendering
|
|||||||
|
|
||||||
import de.bixilon.minosoft.Minosoft
|
import de.bixilon.minosoft.Minosoft
|
||||||
import de.bixilon.minosoft.config.StaticConfiguration
|
import de.bixilon.minosoft.config.StaticConfiguration
|
||||||
import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames
|
import de.bixilon.minosoft.config.key.KeyAction
|
||||||
|
import de.bixilon.minosoft.config.key.KeyBinding
|
||||||
|
import de.bixilon.minosoft.config.key.KeyCodes
|
||||||
import de.bixilon.minosoft.data.registries.ResourceLocation
|
import de.bixilon.minosoft.data.registries.ResourceLocation
|
||||||
import de.bixilon.minosoft.gui.rendering.block.WorldRenderer
|
import de.bixilon.minosoft.gui.rendering.block.WorldRenderer
|
||||||
import de.bixilon.minosoft.gui.rendering.block.chunk.ChunkBorderRenderer
|
import de.bixilon.minosoft.gui.rendering.block.chunk.ChunkBorderRenderer
|
||||||
@ -46,6 +48,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
|||||||
import de.bixilon.minosoft.util.CountUpAndDownLatch
|
import de.bixilon.minosoft.util.CountUpAndDownLatch
|
||||||
import de.bixilon.minosoft.util.KUtil.decide
|
import de.bixilon.minosoft.util.KUtil.decide
|
||||||
import de.bixilon.minosoft.util.KUtil.synchronizedMapOf
|
import de.bixilon.minosoft.util.KUtil.synchronizedMapOf
|
||||||
|
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||||
import de.bixilon.minosoft.util.MMath.round10
|
import de.bixilon.minosoft.util.MMath.round10
|
||||||
import de.bixilon.minosoft.util.Queue
|
import de.bixilon.minosoft.util.Queue
|
||||||
import de.bixilon.minosoft.util.Stopwatch
|
import de.bixilon.minosoft.util.Stopwatch
|
||||||
@ -216,20 +219,48 @@ class RenderWindow(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun registerGlobalKeyCombinations() {
|
private fun registerGlobalKeyCombinations() {
|
||||||
inputHandler.registerKeyCallback(KeyBindingsNames.DEBUG_POLYGON) {
|
inputHandler.registerKeyCallback("minosoft:debug_polygon".toResourceLocation(), KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F4),
|
||||||
|
KeyAction.STICKY to mutableSetOf(KeyCodes.KEY_P),
|
||||||
|
),
|
||||||
|
)) {
|
||||||
val nextMode = it.decide(PolygonModes.LINE, PolygonModes.FILL)
|
val nextMode = it.decide(PolygonModes.LINE, PolygonModes.FILL)
|
||||||
renderSystem.polygonMode = nextMode
|
renderSystem.polygonMode = nextMode
|
||||||
sendDebugMessage("Set polygon to: $nextMode")
|
sendDebugMessage("Set polygon to: $nextMode")
|
||||||
}
|
}
|
||||||
|
|
||||||
inputHandler.registerKeyCallback(KeyBindingsNames.QUIT_RENDERING) { window.close() }
|
inputHandler.registerKeyCallback("minosoft:quit_rendering".toResourceLocation(), KeyBinding(
|
||||||
inputHandler.registerKeyCallback(KeyBindingsNames.TAKE_SCREENSHOT) { screenshotTaker.takeScreenshot() }
|
mutableMapOf(
|
||||||
|
KeyAction.RELEASE to mutableSetOf(KeyCodes.KEY_ESCAPE),
|
||||||
|
),
|
||||||
|
)) { window.close() }
|
||||||
|
|
||||||
inputHandler.registerKeyCallback(KeyBindingsNames.DEBUG_PAUSE_INCOMING_PACKETS) {
|
inputHandler.registerKeyCallback("minosoft:take_screenshot".toResourceLocation(), KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_F2),
|
||||||
|
),
|
||||||
|
ignoreConsumer = true,
|
||||||
|
)) { screenshotTaker.takeScreenshot() }
|
||||||
|
|
||||||
|
inputHandler.registerKeyCallback("minosoft:pause_incoming_packets".toResourceLocation(), KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F4),
|
||||||
|
KeyAction.STICKY to mutableSetOf(KeyCodes.KEY_I),
|
||||||
|
),
|
||||||
|
ignoreConsumer = true,
|
||||||
|
)) {
|
||||||
sendDebugMessage("Pausing incoming packets: $it")
|
sendDebugMessage("Pausing incoming packets: $it")
|
||||||
connection.network.pauseReceiving(it)
|
connection.network.pauseReceiving(it)
|
||||||
}
|
}
|
||||||
inputHandler.registerKeyCallback(KeyBindingsNames.DEBUG_PAUSE_OUTGOING_PACKETS) {
|
|
||||||
|
inputHandler.registerKeyCallback("minosoft:pause_outgoing_packets".toResourceLocation(), KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F4),
|
||||||
|
KeyAction.STICKY to mutableSetOf(KeyCodes.KEY_O),
|
||||||
|
),
|
||||||
|
ignoreConsumer = true,
|
||||||
|
)) {
|
||||||
sendDebugMessage("Pausing outgoing packets: $it")
|
sendDebugMessage("Pausing outgoing packets: $it")
|
||||||
connection.network.pauseSending(it)
|
connection.network.pauseSending(it)
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,9 @@
|
|||||||
|
|
||||||
package de.bixilon.minosoft.gui.rendering.block
|
package de.bixilon.minosoft.gui.rendering.block
|
||||||
|
|
||||||
import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames
|
import de.bixilon.minosoft.config.key.KeyAction
|
||||||
|
import de.bixilon.minosoft.config.key.KeyBinding
|
||||||
|
import de.bixilon.minosoft.config.key.KeyCodes
|
||||||
import de.bixilon.minosoft.data.direction.Directions
|
import de.bixilon.minosoft.data.direction.Directions
|
||||||
import de.bixilon.minosoft.data.direction.FakeDirection
|
import de.bixilon.minosoft.data.direction.FakeDirection
|
||||||
import de.bixilon.minosoft.data.registries.ResourceLocation
|
import de.bixilon.minosoft.data.registries.ResourceLocation
|
||||||
@ -47,6 +49,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
|||||||
import de.bixilon.minosoft.util.KUtil.nullCast
|
import de.bixilon.minosoft.util.KUtil.nullCast
|
||||||
import de.bixilon.minosoft.util.KUtil.synchronizedMapOf
|
import de.bixilon.minosoft.util.KUtil.synchronizedMapOf
|
||||||
import de.bixilon.minosoft.util.KUtil.synchronizedSetOf
|
import de.bixilon.minosoft.util.KUtil.synchronizedSetOf
|
||||||
|
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||||
import de.bixilon.minosoft.util.KUtil.toSynchronizedMap
|
import de.bixilon.minosoft.util.KUtil.toSynchronizedMap
|
||||||
import de.bixilon.minosoft.util.collections.SynchronizedMap
|
import de.bixilon.minosoft.util.collections.SynchronizedMap
|
||||||
import de.bixilon.minosoft.util.task.pool.DefaultThreadPool
|
import de.bixilon.minosoft.util.task.pool.DefaultThreadPool
|
||||||
@ -145,7 +148,12 @@ class WorldRenderer(
|
|||||||
|
|
||||||
|
|
||||||
// register keybindings
|
// register keybindings
|
||||||
renderWindow.inputHandler.registerKeyCallback(KeyBindingsNames.DEBUG_CLEAR_CHUNK_CACHE) {
|
renderWindow.inputHandler.registerKeyCallback("minosoft:debug_clear_chunk_cache".toResourceLocation(), KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F3),
|
||||||
|
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_A),
|
||||||
|
),
|
||||||
|
)) {
|
||||||
clearChunkCache()
|
clearChunkCache()
|
||||||
renderWindow.sendDebugMessage("Cleared chunk cache!")
|
renderWindow.sendDebugMessage("Cleared chunk cache!")
|
||||||
prepareWorld(world)
|
prepareWorld(world)
|
||||||
|
@ -13,7 +13,9 @@
|
|||||||
|
|
||||||
package de.bixilon.minosoft.gui.rendering.input
|
package de.bixilon.minosoft.gui.rendering.input
|
||||||
|
|
||||||
import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames
|
import de.bixilon.minosoft.config.key.KeyAction
|
||||||
|
import de.bixilon.minosoft.config.key.KeyBinding
|
||||||
|
import de.bixilon.minosoft.config.key.KeyCodes
|
||||||
import de.bixilon.minosoft.data.abilities.Gamemodes
|
import de.bixilon.minosoft.data.abilities.Gamemodes
|
||||||
import de.bixilon.minosoft.data.direction.Directions
|
import de.bixilon.minosoft.data.direction.Directions
|
||||||
import de.bixilon.minosoft.data.inventory.ItemStack
|
import de.bixilon.minosoft.data.inventory.ItemStack
|
||||||
@ -30,6 +32,7 @@ import de.bixilon.minosoft.protocol.packets.c2s.play.ArmSwingC2SP
|
|||||||
import de.bixilon.minosoft.protocol.packets.c2s.play.BlockBreakC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.play.BlockBreakC2SP
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
||||||
import de.bixilon.minosoft.util.KUtil.synchronizedMapOf
|
import de.bixilon.minosoft.util.KUtil.synchronizedMapOf
|
||||||
|
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||||
import glm_.pow
|
import glm_.pow
|
||||||
import glm_.vec3.Vec3i
|
import glm_.vec3.Vec3i
|
||||||
|
|
||||||
@ -243,7 +246,11 @@ class LeftClickHandler(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun init() {
|
fun init() {
|
||||||
renderWindow.inputHandler.registerCheckCallback(KeyBindingsNames.DESTROY_BLOCK)
|
renderWindow.inputHandler.registerCheckCallback(DESTROY_BLOCK_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.MOUSE_BUTTON_LEFT),
|
||||||
|
),
|
||||||
|
))
|
||||||
|
|
||||||
connection.registerEvent(CallbackEventInvoker.of<BlockBreakAckEvent> {
|
connection.registerEvent(CallbackEventInvoker.of<BlockBreakAckEvent> {
|
||||||
when (it.breakType) {
|
when (it.breakType) {
|
||||||
@ -269,7 +276,7 @@ class LeftClickHandler(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun draw(deltaTime: Double) {
|
fun draw(deltaTime: Double) {
|
||||||
val isKeyDown = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.DESTROY_BLOCK)
|
val isKeyDown = renderWindow.inputHandler.isKeyBindingDown(DESTROY_BLOCK_KEYBINDING)
|
||||||
// ToDo: Entity attacking
|
// ToDo: Entity attacking
|
||||||
val consumed = checkBreaking(isKeyDown, deltaTime)
|
val consumed = checkBreaking(isKeyDown, deltaTime)
|
||||||
|
|
||||||
@ -281,4 +288,8 @@ class LeftClickHandler(
|
|||||||
}
|
}
|
||||||
swingArm()
|
swingArm()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private val DESTROY_BLOCK_KEYBINDING = "minosoft:destroy_block".toResourceLocation()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,9 @@
|
|||||||
|
|
||||||
package de.bixilon.minosoft.gui.rendering.input
|
package de.bixilon.minosoft.gui.rendering.input
|
||||||
|
|
||||||
import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames
|
import de.bixilon.minosoft.config.key.KeyAction
|
||||||
|
import de.bixilon.minosoft.config.key.KeyBinding
|
||||||
|
import de.bixilon.minosoft.config.key.KeyCodes
|
||||||
import de.bixilon.minosoft.data.abilities.Gamemodes
|
import de.bixilon.minosoft.data.abilities.Gamemodes
|
||||||
import de.bixilon.minosoft.data.player.Hands
|
import de.bixilon.minosoft.data.player.Hands
|
||||||
import de.bixilon.minosoft.data.registries.blocks.BlockUsages
|
import de.bixilon.minosoft.data.registries.blocks.BlockUsages
|
||||||
@ -22,6 +24,7 @@ import de.bixilon.minosoft.protocol.packets.c2s.play.ArmSwingC2SP
|
|||||||
import de.bixilon.minosoft.protocol.packets.c2s.play.BlockPlaceC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.play.BlockPlaceC2SP
|
||||||
import de.bixilon.minosoft.protocol.packets.c2s.play.ItemUseC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.play.ItemUseC2SP
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
||||||
|
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||||
import glm_.vec3.Vec3
|
import glm_.vec3.Vec3
|
||||||
|
|
||||||
class RightClickHandler(
|
class RightClickHandler(
|
||||||
@ -32,7 +35,11 @@ class RightClickHandler(
|
|||||||
private var lastInteractionSent = 0L
|
private var lastInteractionSent = 0L
|
||||||
|
|
||||||
fun init() {
|
fun init() {
|
||||||
renderWindow.inputHandler.registerCheckCallback(KeyBindingsNames.BLOCK_INTERACT)
|
renderWindow.inputHandler.registerCheckCallback(BLOCK_INTERACT_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.MOUSE_BUTTON_RIGHT),
|
||||||
|
),
|
||||||
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkInteraction(isKeyDown: Boolean) {
|
private fun checkInteraction(isKeyDown: Boolean) {
|
||||||
@ -132,6 +139,10 @@ class RightClickHandler(
|
|||||||
|
|
||||||
fun draw(deltaTime: Double) {
|
fun draw(deltaTime: Double) {
|
||||||
// ToDo: Entity interaction, shield/sword blocking, etc
|
// ToDo: Entity interaction, shield/sword blocking, etc
|
||||||
checkInteraction(renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.BLOCK_INTERACT))
|
checkInteraction(renderWindow.inputHandler.isKeyBindingDown(BLOCK_INTERACT_KEYBINDING))
|
||||||
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private val BLOCK_INTERACT_KEYBINDING = "minosoft:interact_block".toResourceLocation()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,9 @@
|
|||||||
package de.bixilon.minosoft.gui.rendering.input.camera
|
package de.bixilon.minosoft.gui.rendering.input.camera
|
||||||
|
|
||||||
import de.bixilon.minosoft.Minosoft
|
import de.bixilon.minosoft.Minosoft
|
||||||
import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames
|
import de.bixilon.minosoft.config.key.KeyAction
|
||||||
|
import de.bixilon.minosoft.config.key.KeyBinding
|
||||||
|
import de.bixilon.minosoft.config.key.KeyCodes
|
||||||
import de.bixilon.minosoft.data.entities.EntityRotation
|
import de.bixilon.minosoft.data.entities.EntityRotation
|
||||||
import de.bixilon.minosoft.data.player.LocalPlayerEntity
|
import de.bixilon.minosoft.data.player.LocalPlayerEntity
|
||||||
import de.bixilon.minosoft.data.registries.VoxelShape
|
import de.bixilon.minosoft.data.registries.VoxelShape
|
||||||
@ -40,6 +42,7 @@ import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
|
|||||||
import de.bixilon.minosoft.protocol.packets.c2s.play.BlockBreakC2SP
|
import de.bixilon.minosoft.protocol.packets.c2s.play.BlockBreakC2SP
|
||||||
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition
|
||||||
import de.bixilon.minosoft.util.KUtil.decide
|
import de.bixilon.minosoft.util.KUtil.decide
|
||||||
|
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||||
import de.bixilon.minosoft.util.Previous
|
import de.bixilon.minosoft.util.Previous
|
||||||
import glm_.func.cos
|
import glm_.func.cos
|
||||||
import glm_.func.rad
|
import glm_.func.rad
|
||||||
@ -149,17 +152,61 @@ class Camera(
|
|||||||
|
|
||||||
fun init(renderWindow: RenderWindow) {
|
fun init(renderWindow: RenderWindow) {
|
||||||
renderWindow.inputHandler.registerCheckCallback(
|
renderWindow.inputHandler.registerCheckCallback(
|
||||||
KeyBindingsNames.MOVE_SPRINT,
|
MOVE_SPRINT_KEYBINDING to KeyBinding(
|
||||||
KeyBindingsNames.MOVE_FORWARD,
|
mutableMapOf(
|
||||||
KeyBindingsNames.MOVE_BACKWARDS,
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_LEFT_CONTROL),
|
||||||
KeyBindingsNames.MOVE_LEFT,
|
),
|
||||||
KeyBindingsNames.MOVE_RIGHT,
|
),
|
||||||
KeyBindingsNames.MOVE_FLY_UP,
|
MOVE_FORWARDS_KEYBINDING to KeyBinding(
|
||||||
KeyBindingsNames.MOVE_FLY_DOWN,
|
mutableMapOf(
|
||||||
KeyBindingsNames.ZOOM,
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_W),
|
||||||
KeyBindingsNames.MOVE_JUMP,
|
),
|
||||||
KeyBindingsNames.MOVE_SNEAK,
|
),
|
||||||
KeyBindingsNames.MOVE_TOGGLE_FLY,
|
MOVE_BACKWARDS_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_S),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
MOVE_LEFT_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_A),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
MOVE_RIGHT_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_D),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
FLY_UP_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_SPACE),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
FLY_DOWN_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_LEFT_SHIFT),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ZOOM_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_C),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
JUMP_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_SPACE),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SNEAK_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.CHANGE to mutableSetOf(KeyCodes.KEY_LEFT_SHIFT),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
TOGGLE_FLY_KEYBINDING to KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.DOUBLE_PRESS to mutableSetOf(KeyCodes.KEY_SPACE),
|
||||||
|
),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
connection.registerEvent(CallbackEventInvoker.of<ResizeWindowEvent> { recalculateViewProjectionMatrix() })
|
connection.registerEvent(CallbackEventInvoker.of<ResizeWindowEvent> { recalculateViewProjectionMatrix() })
|
||||||
@ -173,8 +220,18 @@ class Camera(
|
|||||||
lastDropPacketSent = time
|
lastDropPacketSent = time
|
||||||
}
|
}
|
||||||
|
|
||||||
renderWindow.inputHandler.registerKeyCallback(KeyBindingsNames.DROP_ITEM) { dropItem(BlockBreakC2SP.BreakType.DROP_ITEM) }
|
// ToDo: This has nothing todo with the camera, should be in the interaction manager
|
||||||
renderWindow.inputHandler.registerKeyCallback(KeyBindingsNames.DROP_ITEM_STACK) { dropItem(BlockBreakC2SP.BreakType.DROP_ITEM_STACK) }
|
renderWindow.inputHandler.registerKeyCallback(DROP_ITEM_KEYBINDING, KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_Q),
|
||||||
|
),
|
||||||
|
)) { dropItem(BlockBreakC2SP.BreakType.DROP_ITEM) }
|
||||||
|
renderWindow.inputHandler.registerKeyCallback(DROP_ITEM_STACK_KEYBINDING, KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.PRESS to mutableSetOf(KeyCodes.KEY_Q),
|
||||||
|
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_LEFT_CONTROL)
|
||||||
|
),
|
||||||
|
)) { dropItem(BlockBreakC2SP.BreakType.DROP_ITEM_STACK) }
|
||||||
frustum.recalculate()
|
frustum.recalculate()
|
||||||
connection.fireEvent(FrustumChangeEvent(renderWindow, frustum))
|
connection.fireEvent(FrustumChangeEvent(renderWindow, frustum))
|
||||||
}
|
}
|
||||||
@ -251,16 +308,16 @@ class Camera(
|
|||||||
}
|
}
|
||||||
//val input = if (renderWindow.inputHandler.currentKeyConsumer == null) {
|
//val input = if (renderWindow.inputHandler.currentKeyConsumer == null) {
|
||||||
val input = MovementInput(
|
val input = MovementInput(
|
||||||
pressingForward = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.MOVE_FORWARD),
|
pressingForward = renderWindow.inputHandler.isKeyBindingDown(MOVE_FORWARDS_KEYBINDING),
|
||||||
pressingBack = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.MOVE_BACKWARDS),
|
pressingBack = renderWindow.inputHandler.isKeyBindingDown(MOVE_BACKWARDS_KEYBINDING),
|
||||||
pressingLeft = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.MOVE_LEFT),
|
pressingLeft = renderWindow.inputHandler.isKeyBindingDown(MOVE_LEFT_KEYBINDING),
|
||||||
pressingRight = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.MOVE_RIGHT),
|
pressingRight = renderWindow.inputHandler.isKeyBindingDown(MOVE_RIGHT_KEYBINDING),
|
||||||
jumping = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.MOVE_JUMP),
|
jumping = renderWindow.inputHandler.isKeyBindingDown(JUMP_KEYBINDING),
|
||||||
sneaking = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.MOVE_SNEAK),
|
sneaking = renderWindow.inputHandler.isKeyBindingDown(SNEAK_KEYBINDING),
|
||||||
sprinting = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.MOVE_SPRINT),
|
sprinting = renderWindow.inputHandler.isKeyBindingDown(MOVE_SPRINT_KEYBINDING),
|
||||||
flyDown = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.MOVE_FLY_DOWN),
|
flyDown = renderWindow.inputHandler.isKeyBindingDown(FLY_DOWN_KEYBINDING),
|
||||||
flyUp = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.MOVE_FLY_UP),
|
flyUp = renderWindow.inputHandler.isKeyBindingDown(FLY_UP_KEYBINDING),
|
||||||
toggleFlyDown = renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.MOVE_TOGGLE_FLY),
|
toggleFlyDown = renderWindow.inputHandler.isKeyBindingDown(TOGGLE_FLY_KEYBINDING),
|
||||||
)
|
)
|
||||||
//} else {
|
//} else {
|
||||||
// MovementInput()
|
// MovementInput()
|
||||||
@ -268,7 +325,7 @@ class Camera(
|
|||||||
connection.player.input = input
|
connection.player.input = input
|
||||||
connection.player.tick() // The thread pool might be busy, we force a tick here to avoid lagging
|
connection.player.tick() // The thread pool might be busy, we force a tick here to avoid lagging
|
||||||
|
|
||||||
zoom = if (renderWindow.inputHandler.isKeyBindingDown(KeyBindingsNames.ZOOM)) {
|
zoom = if (renderWindow.inputHandler.isKeyBindingDown(ZOOM_KEYBINDING)) {
|
||||||
2f
|
2f
|
||||||
} else {
|
} else {
|
||||||
0.0f
|
0.0f
|
||||||
@ -375,5 +432,24 @@ class Camera(
|
|||||||
val CAMERA_UP_VEC3 = Vec3d(0.0, 1.0, 0.0)
|
val CAMERA_UP_VEC3 = Vec3d(0.0, 1.0, 0.0)
|
||||||
|
|
||||||
private const val RAYCAST_MAX_STEPS = 100
|
private const val RAYCAST_MAX_STEPS = 100
|
||||||
|
|
||||||
|
private val MOVE_SPRINT_KEYBINDING = "minosoft:move_sprint".toResourceLocation()
|
||||||
|
private val MOVE_FORWARDS_KEYBINDING = "minosoft:move_forward".toResourceLocation()
|
||||||
|
private val MOVE_BACKWARDS_KEYBINDING = "minosoft:move_backwards".toResourceLocation()
|
||||||
|
private val MOVE_LEFT_KEYBINDING = "minosoft:move_left".toResourceLocation()
|
||||||
|
private val MOVE_RIGHT_KEYBINDING = "minosoft:move_right".toResourceLocation()
|
||||||
|
|
||||||
|
private val SNEAK_KEYBINDING = "minosoft:move_sneak".toResourceLocation()
|
||||||
|
private val JUMP_KEYBINDING = "minosoft:move_jump".toResourceLocation()
|
||||||
|
|
||||||
|
private val TOGGLE_FLY_KEYBINDING = "minosoft:move_toggle_fly".toResourceLocation()
|
||||||
|
private val FLY_UP_KEYBINDING = "minosoft:move_fly_up".toResourceLocation()
|
||||||
|
private val FLY_DOWN_KEYBINDING = "minosoft:move_fly_down".toResourceLocation()
|
||||||
|
|
||||||
|
private val ZOOM_KEYBINDING = "minosoft:zoom".toResourceLocation()
|
||||||
|
|
||||||
|
|
||||||
|
private val DROP_ITEM_KEYBINDING = "minosoft:drop_item".toResourceLocation()
|
||||||
|
private val DROP_ITEM_STACK_KEYBINDING = "minosoft:drop_item_stack".toResourceLocation()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ package de.bixilon.minosoft.gui.rendering.input.key
|
|||||||
import de.bixilon.minosoft.Minosoft
|
import de.bixilon.minosoft.Minosoft
|
||||||
import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames
|
import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames
|
||||||
import de.bixilon.minosoft.config.key.KeyAction
|
import de.bixilon.minosoft.config.key.KeyAction
|
||||||
|
import de.bixilon.minosoft.config.key.KeyBinding
|
||||||
import de.bixilon.minosoft.config.key.KeyCodes
|
import de.bixilon.minosoft.config.key.KeyCodes
|
||||||
import de.bixilon.minosoft.data.registries.ResourceLocation
|
import de.bixilon.minosoft.data.registries.ResourceLocation
|
||||||
import de.bixilon.minosoft.gui.rendering.RenderConstants
|
import de.bixilon.minosoft.gui.rendering.RenderConstants
|
||||||
@ -49,7 +50,12 @@ class RenderWindowInputHandler(
|
|||||||
val leftClickHandler = LeftClickHandler(renderWindow)
|
val leftClickHandler = LeftClickHandler(renderWindow)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
registerKeyCallback(KeyBindingsNames.DEBUG_MOUSE_CATCH) {
|
registerKeyCallback(KeyBindingsNames.DEBUG_MOUSE_CATCH, KeyBinding(
|
||||||
|
mutableMapOf(
|
||||||
|
KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F4),
|
||||||
|
KeyAction.STICKY to mutableSetOf(KeyCodes.KEY_M),
|
||||||
|
),
|
||||||
|
)) {
|
||||||
renderWindow.window.cursorMode = it.decide(CursorModes.DISABLED, CursorModes.NORMAL)
|
renderWindow.window.cursorMode = it.decide(CursorModes.DISABLED, CursorModes.NORMAL)
|
||||||
renderWindow.sendDebugMessage("Toggled mouse catch!")
|
renderWindow.sendDebugMessage("Toggled mouse catch!")
|
||||||
}
|
}
|
||||||
@ -220,8 +226,8 @@ class RenderWindowInputHandler(
|
|||||||
//currentKeyConsumer?.charInput(char.toChar())
|
//currentKeyConsumer?.charInput(char.toChar())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun registerKeyCallback(resourceLocation: ResourceLocation, callback: ((keyDown: Boolean) -> Unit)) {
|
fun registerKeyCallback(resourceLocation: ResourceLocation, defaultKeyBinding: KeyBinding, callback: ((keyDown: Boolean) -> Unit)) {
|
||||||
val keyBinding = Minosoft.config.config.game.controls.keyBindings.entries[resourceLocation] ?: return
|
val keyBinding = Minosoft.config.config.game.controls.keyBindings.entries.getOrPut(resourceLocation) { defaultKeyBinding } // ToDo (Performance): Should the defaultKeyBinding be a lambda parameter?
|
||||||
val callbackPair = keyBindingCallbacks.getOrPut(resourceLocation) { KeyBindingCallbackPair(keyBinding) }
|
val callbackPair = keyBindingCallbacks.getOrPut(resourceLocation) { KeyBindingCallbackPair(keyBinding) }
|
||||||
if (keyBinding.ignoreConsumer) {
|
if (keyBinding.ignoreConsumer) {
|
||||||
callbackPair.callback += callback
|
callbackPair.callback += callback
|
||||||
@ -235,10 +241,9 @@ class RenderWindowInputHandler(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun registerCheckCallback(vararg resourceLocations: ResourceLocation) {
|
fun registerCheckCallback(vararg checks: Pair<ResourceLocation, KeyBinding>) {
|
||||||
for (resourceLocation in resourceLocations) {
|
for ((resourceLocation, defaultKeyBinding) in checks) {
|
||||||
val keyBinding = Minosoft.config.config.game.controls.keyBindings.entries[resourceLocation] ?: return
|
keyBindingCallbacks.getOrPut(resourceLocation) { KeyBindingCallbackPair(Minosoft.config.config.game.controls.keyBindings.entries.getOrPut(resourceLocation) { defaultKeyBinding }) }
|
||||||
keyBindingCallbacks.getOrPut(resourceLocation) { KeyBindingCallbackPair(keyBinding) }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user