mirror of
https://gitlab.bixilon.de/bixilon/pixlyzer-physics.git
synced 2025-09-22 11:56:56 -04:00
fix movement detection
This commit is contained in:
parent
5f3a312b84
commit
c6b328675d
@ -5,6 +5,7 @@ import com.mojang.authlib.GameProfile
|
||||
import de.bixilon.pixlyzer.EntitySpawner.setDimension
|
||||
import de.bixilon.pixlyzer.physics.abstractions.MinecraftPlayer
|
||||
import de.bixilon.pixlyzer.physics.abstractions.MinecraftWorld
|
||||
import de.bixilon.pixlyzer.physics.input.DummyBinding
|
||||
import net.minecraft.client.MinecraftClient
|
||||
import net.minecraft.client.input.Input
|
||||
import net.minecraft.client.network.ClientPlayNetworkHandler
|
||||
@ -29,7 +30,6 @@ import net.minecraft.world.Difficulty
|
||||
import net.minecraft.world.biome.Biome
|
||||
import net.minecraft.world.biome.source.BiomeAccess
|
||||
import net.minecraft.world.border.WorldBorder
|
||||
import net.minecraft.world.dimension.DimensionType
|
||||
import org.objenesis.ObjenesisStd
|
||||
import java.util.*
|
||||
import java.util.function.Supplier
|
||||
@ -88,6 +88,7 @@ object PhysicsUtil {
|
||||
client.thread = Thread.currentThread()
|
||||
client.options = createGameOptions()
|
||||
client.tutorialManager = TutorialManager(client, client.options)
|
||||
client.options.sprintKey = DummyBinding()
|
||||
|
||||
return client
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package de.bixilon.pixlyzer.physics.abstractions
|
||||
|
||||
import net.minecraft.client.input.Input
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||
import de.bixilon.pixlyzer.physics.input.CustomInput
|
||||
import de.bixilon.pixlyzer.physics.input.DummyBinding
|
||||
import net.minecraft.client.network.ClientPlayerEntity
|
||||
import net.minecraft.network.Packet
|
||||
import net.minecraft.network.listener.ClientPlayPacketListener
|
||||
@ -31,8 +33,9 @@ class MinecraftPlayer(
|
||||
left: Boolean = false,
|
||||
jump: Boolean = false,
|
||||
sneak: Boolean = false,
|
||||
sprint: Boolean = false,
|
||||
) {
|
||||
val input = Input()
|
||||
val input = CustomInput()
|
||||
input.pressingForward = forwards
|
||||
input.pressingBack = backwards
|
||||
input.pressingRight = right
|
||||
@ -40,6 +43,7 @@ class MinecraftPlayer(
|
||||
input.jumping = jump
|
||||
input.sneaking = sneak
|
||||
|
||||
native.client.options.sprintKey.unsafeCast<DummyBinding>().value = sprint
|
||||
native.input = input
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,17 @@
|
||||
package de.bixilon.pixlyzer.physics.input
|
||||
|
||||
import net.minecraft.client.input.Input
|
||||
import net.minecraft.client.input.KeyboardInput
|
||||
import net.minecraft.client.network.ClientPlayerEntity
|
||||
|
||||
class CustomInput : Input() {
|
||||
|
||||
override fun tick(slowDown: Boolean, multiplier: Float) {
|
||||
movementForward = KeyboardInput.getMovementMultiplier(pressingForward, pressingBack)
|
||||
movementSideways = KeyboardInput.getMovementMultiplier(pressingLeft, pressingRight)
|
||||
if (slowDown) {
|
||||
movementSideways *= multiplier
|
||||
movementForward *= multiplier
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package de.bixilon.pixlyzer.physics.input
|
||||
|
||||
import net.minecraft.client.option.KeyBinding
|
||||
|
||||
class DummyBinding(
|
||||
var value: Boolean = false,
|
||||
) : KeyBinding("", 0, "") {
|
||||
|
||||
override fun isPressed(): Boolean {
|
||||
return value
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user