Skip to content

Comments

feat(AutoSpiral): Add AutoSpiral module#234

Open
IceTank wants to merge 7 commits intolambda-client:1.21.11from
IceTank:feature/module/AutoSpiral
Open

feat(AutoSpiral): Add AutoSpiral module#234
IceTank wants to merge 7 commits intolambda-client:1.21.11from
IceTank:feature/module/AutoSpiral

Conversation

@IceTank
Copy link
Contributor

@IceTank IceTank commented Feb 1, 2026

Add AutoSpiral module that works in the overworld like worlds and nether

@IceTank IceTank marked this pull request as ready for review February 1, 2026 13:01
@emyfops
Copy link
Collaborator

emyfops commented Feb 3, 2026

You shouldn't add folders inside the modules folder unless it's a new category

Copy link
Member

@beanbag44 beanbag44 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cool module, some nitpicks

}
}

fun button(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is the best way to go about adding non-setting elements in the module gui. They seem to be hard coded to appear after non-grouped settings and before grouped settings and dont store any data in the config.

It would be nice to add arbitrary imgui elements in modules for more unique functionality, but this would likely rely on some sort of switch up in how configurables store data in the config jsons

var setBaritoneGoal by setting("Set Baritone Goal", true, description = "Whether to set Baritone's goal to the current waypoint. Mostly so you can see where the next waypoint is.")

init {
button("Reset Center") {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for now i'd remove these and replace them with block pos settings

fun yaw(yaw: Float) { yawBuilder = { yaw.toDouble() } }

@RotationRequestDsl
fun yaw(rotation: Rotation) { yawBuilder = { rotation.yaw } }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont think theres any need for this and the other pitch function. Best just to call yaw() with rotation.yaw

* Sets the current Baritone goal without starting pathing
*/
fun setGoal(goal: Goal) {
if (!isBaritoneLoaded || primary?.elytraProcess?.isLoaded == false) return
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would it be better to do primary?.elytraProcess?.isLoaed != true? That way it would account for if its null too

}

fun setGoalAndElytraPath(goal: Goal) {
if (!isBaritoneLoaded || primary?.elytraProcess?.isLoaded == false) return
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here

import kotlin.math.pow

/**
* A collection of Block position iterator implementations for various purposes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

small nitpick but theres only one implementation, not a collection 🤓

description = "Automatically flies in a spiral pattern. Uses Baritone elytra pathing in the Nether.",
tag = ModuleTag.Companion.MOVEMENT,
) {
var iterator: BlockPosIterators.SpiralIterator2d? = null
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

might as well make all these settings private

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants