Skip to content

Commit 811405e

Browse files
committed
Fix: Revert saddle state on disable
1 parent a66dfaa commit 811405e

File tree

3 files changed

+25
-13
lines changed

3 files changed

+25
-13
lines changed

common/src/main/kotlin/com/lambda/module/modules/movement/HorseUtils.kt renamed to common/src/main/kotlin/com/lambda/module/modules/movement/EntityControl.kt

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,38 @@ import com.lambda.util.world.WorldUtils.getEntities
99
import net.minecraft.entity.passive.AbstractHorseEntity
1010
import net.minecraft.network.packet.c2s.play.PlayerInteractEntityC2SPacket
1111

12-
object HorseUtils : Module(
13-
name = "HorseUtils",
14-
description = "Various utilities for horses.",
12+
object EntityControl : Module(
13+
name = "EntityControl",
14+
description = "Control mountable entities",
1515
defaultTags = setOf(ModuleTag.MOVEMENT, ModuleTag.BYPASS)
1616
) {
1717
private val page by setting("Page", Page.General)
1818

1919
/* General */
2020
private val forceMount by setting("Force Mount", true, description = "Attempts to force mount chested entities.", visibility = { page == Page.General })
21-
private val tameHorses by setting("Tame Horses", true, description = "Automatically tames horses (client-side only).", visibility = { page == Page.General })
2221

23-
/* Rendering */
24-
private val showInfo by setting("Show Info", true, description = "Renders information about entities.", visibility = { page == Page.Rendering })
25-
26-
private val theHonses = mutableListOf<AbstractHorseEntity>() // Petah, the honse is here
27-
private val tame: (AbstractHorseEntity) -> Unit = { horse -> if (tameHorses) horse.setHorseFlag(4, true) }
22+
/* Movement */
23+
private val speed by setting("Entity Speed", 2.0, 0.1..10.0, 0.1, description = "Speed for entities.", visibility = { page == Page.Movement })
2824

2925
private enum class Page {
30-
General, Rendering
26+
General, Movement
3127
}
3228

29+
private val theHonses = mutableListOf<AbstractHorseEntity>() // Petah, the honse is here
30+
3331
init {
3432
listener<TickEvent.Pre> {
35-
getEntities(theHonses, iterator = tame)
33+
getEntities(player.pos, 8.0, theHonses, { horse -> horse.setHorseFlag(4, true) })
3634
}
3735

36+
/*listener<MovementEvent.Pre> {
37+
if (!player.isRiding) return@listener
38+
39+
// We can do this because the player movement depends on the entity movement
40+
player.vehicle?.motionX = speed
41+
player.vehicle?.motionZ = speed
42+
}*/
43+
3844
listener<PacketEvent.Send.Pre> { event ->
3945
if (!forceMount) return@listener
4046
if (event.packet !is PlayerInteractEntityC2SPacket) return@listener
@@ -45,5 +51,10 @@ object HorseUtils : Module(
4551

4652
event.cancel()
4753
}
54+
55+
onDisable {
56+
theHonses.forEach { horse -> horse.updateSaddle() }
57+
theHonses.clear()
58+
}
4859
}
4960
}

common/src/main/resources/lambda.accesswidener

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ accessible field net/minecraft/client/world/ClientWorld entityManager Lnet/minec
1212
accessible field net/minecraft/entity/projectile/FireworkRocketEntity shooter Lnet/minecraft/entity/LivingEntity;
1313
accessible method net/minecraft/entity/Entity movementInputToVelocity (Lnet/minecraft/util/math/Vec3d;FF)Lnet/minecraft/util/math/Vec3d;
1414
accessible method net/minecraft/entity/passive/AbstractHorseEntity setHorseFlag (IZ)V
15+
accessible method net/minecraft/entity/passive/AbstractHorseEntity updateSaddle ()V
1516

1617
# Camera
1718
accessible method net/minecraft/client/render/Camera setPos (DDD)V

common/src/main/resources/lambda.mixins.common.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"input.KeyBindingMixin",
1616
"input.KeyboardMixin",
1717
"input.MouseMixin",
18+
"items.TridentMixin",
1819
"render.CameraMixin",
1920
"render.ChatInputSuggestorMixin",
2021
"render.ChatScreenMixin",
@@ -27,8 +28,7 @@
2728
"render.RenderTickCounterMixin",
2829
"render.VertexBufferMixin",
2930
"render.WorldRendererMixin",
30-
"world.WorldMixin",
31-
"items.TridentMixin"
31+
"world.WorldMixin"
3232
],
3333
"injectors": {
3434
"defaultRequire": 1

0 commit comments

Comments
 (0)