Skip to content

Conversation

@Jordyrat
Copy link
Contributor

Improvement:

  • Increase Lineup accuracy with changed pearl waypoints.

Feature:

  • Pearl waypoints to go to your crate prio (requires hideFarWaypoints to be enabled to reduce waypoint clutter)

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Hello @Jordyrat, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

Hello! gemini-code-assist here, providing a summary of this pull request. This PR introduces improvements to the Kuudra pearl waypoints, focusing on increasing their accuracy by updating coordinates. Additionally, it adds a new feature that displays pearl waypoints specifically tailored to guide the player towards their priority crate, as determined by the 'NoPre' module. This priority waypoint feature is dependent on the 'Hide Far Waypoints' setting to manage visual clutter.

Highlights

  • Pearl Waypoint Accuracy: Updated coordinates for several existing pearl lineups in the Kuudra nether phase to improve their accuracy.
  • Crate Priority Waypoints: Implemented a new feature that calculates and displays a specific pearl waypoint to reach the player's priority crate, based on the 'NoPre' module's determination.
  • New Configuration Option: Added a new boolean setting 'Show Priority Waypoints' in the Pearl Waypoints module, which is dependent on 'Hide Far Waypoints'.
  • New Supply Pick Up Spots: Added several new SupplyPickUpSpot enum values to better represent specific locations relevant to pearl lineups.

Changelog

Click here to see the changelog
  • src/main/kotlin/me/odinmain/features/impl/nether/NoPre.kt
    • Added a new prio variable to store the priority supply pickup spot.
    • Modified the getSupplyPickUpSpot function to set the prio variable based on the missing item and pre-spot.
  • src/main/kotlin/me/odinmain/features/impl/nether/PearlWaypoints.kt
    • Added a new boolean setting showPriorityWaypoints dependent on hideFarWaypoints.
    • Updated the pearlLineups map with new SupplyPickUpSpot keys and revised startPos and lineups coordinates for improved accuracy.
    • Added new SupplyPickUpSpot types (ShopCorner, XSafe, xCannonStair, SquareLow) to the pearlLineups map.
    • Updated the blockNameMap with revised coordinates.
    • Added prioLineup and prioColor variables.
    • Added a cratePriorityPearl function to determine the priority pearl lineup based on the closest pickup spot and the NoPre.prio.
    • Modified the onRender function to track the closest supply pickup spot and render the priority lineup if the setting is enabled.
    • Updated the Lineup data class to include a supply field.
  • src/main/kotlin/me/odinmain/utils/skyblock/KuudraUtils.kt
    • Added new enum values (XSafe, ShopCorner, xCannonStair, SquareLow) to the SupplyPickUpSpot enum with their respective locations.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


Pearls fly through the air,
To crates that need repair,
New lines guide the way,
For a better Kuudra day,
Accuracy beyond compare.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request aims to improve pearl lineup accuracy and add a new feature for displaying pearl waypoints towards the priority crate. The changes in NoPre.kt correctly set the priority, and the new enum values in KuudraUtils.kt along with updated coordinates in PearlWaypoints.kt should help with accuracy.

However, there are a few key areas that need attention:

  • A critical issue in PearlWaypoints.kt affects both the hideFarWaypoints functionality and the determination of the closestSupplyPickUpSpot for priority waypoints.
  • An unused import should be removed.
  • A potential placeholder coordinate BlockPos(0,0,0) needs verification.
  • A TODO comment for a specific waypoint can be addressed.

Overall, the new features are valuable additions. Addressing the identified issues will ensure the stability and correctness of these features.

Summary of Findings

  • Critical Logic Error in Waypoint Rendering: The onRender loop in PearlWaypoints.kt incorrectly handles the 'closest' state, breaking hideFarWaypoints and passing the wrong supply spot for priority pearl calculations.
  • Potential Incorrect Waypoint Coordinate: A pearl lineup destination is BlockPos(0,0,0), which is likely a placeholder.
  • Unused Import: An unused and deprecated import (jdk.nashorn.internal.ir.Block) exists in PearlWaypoints.kt.
  • TODO Item: A TODO for adding a pearl waypoint from 'Equals to Square' remains in the code.
  • Alpha Value Convention: An alpha value of 3f is used, which is unconventional if a 0-1 range is expected.
  • Code Repetitiveness (Not Commented): The cratePriority function in NoPre.kt and cratePriorityPearl in PearlWaypoints.kt are quite long and have repetitive structures. This was not commented on due to review settings (severity likely low/medium for maintainability).
  • Stylistic Nitpicks (Not Commented): Minor stylistic issues like emptyList<BlockPos>() (can be emptyList()) and missing newlines at EOF were found but not commented on due to review settings (severity low).

Merge Readiness

Due to the critical issue identified in PearlWaypoints.kt that affects core functionality of both existing and new features, I recommend that these changes not be merged until this and other high/medium severity issues are addressed. Once these are resolved, the PR will be in much better shape. I am not authorized to approve pull requests, so please ensure further review and approval by authorized maintainers after the necessary changes are made.

lineups = setOf(BlockPos(-97, 157, -114))
supply = SupplyPickUpSpot.ShopCorner,
startPos = setOf(BlockPos(-71, 79, -135)),
lineups = setOf(BlockPos(0, 0, 0))
Copy link
Contributor

Choose a reason for hiding this comment

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

high

The lineup for SupplyPickUpSpot.ShopCorner has BlockPos(0, 0, 0) as its destination. Is this a placeholder, or is it the intended coordinate? In the context of Kuudra map coordinates, (0,0,0) seems unlikely to be a correct pearl landing spot.

Copy link
Contributor Author

@Jordyrat Jordyrat May 16, 2025

Choose a reason for hiding this comment

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

Correct based on the co-ords I was given but I have been told this one is a bit off. Will test further

Copy link
Owner

@odtheking odtheking left a comment

Choose a reason for hiding this comment

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

Just some comments for the meanwhile

@Jordyrat
Copy link
Contributor Author

Jordyrat commented Jun 3, 2025

Sitrep: X, = and / have been tested.
The new default waypoints work AND the prio waypoints (I believe crate prio needs to be enabled but I will make sure, honestly kinda fine as it makes sense - might add note in description or set a dependency)
I'm going to test tri myself when I can be bothered to do kuudra

Dynamic Waypoints is a bit scuffed as the waypoints seem to be too close, image below for reference. Idk how it works so idk how to fix.
image

@Jordyrat
Copy link
Contributor Author

Jordyrat commented Jun 8, 2025

Have tested tri, the shop corner waypoint doesn't show (might be a wrong waypoint) and prio waypoints aren't showing for me.

@Jordyrat
Copy link
Contributor Author

Staying as a draft for the foreseeable, I will update the shop pearl but idk why the prio waypoints aren’t showing and idk how the dynamic works to try and fix it to be further away.

Will remove dynamic and update shop in next commit, but can’t really test for the foreseeable as Kuudra is a pain to do rn. Will see how it looks after foraging update

@odtheking
Copy link
Owner

Sitrep: X, = and / have been tested. The new default waypoints work AND the prio waypoints (I believe crate prio needs to be enabled but I will make sure, honestly kinda fine as it makes sense - might add note in description or set a dependency) I'm going to test tri myself when I can be bothered to do kuudra

Dynamic Waypoints is a bit scuffed as the waypoints seem to be too close, image below for reference. Idk how it works so idk how to fix. image

The dynamic waypoint should be that close its 10 blocks from the player the box itself just should be 0.12 by 0.12

@Jordyrat
Copy link
Contributor Author

Jordyrat commented Jul 6, 2025

Sitrep: X, = and / have been tested. The new default waypoints work AND the prio waypoints (I believe crate prio needs to be enabled but I will make sure, honestly kinda fine as it makes sense - might add note in description or set a dependency) I'm going to test tri myself when I can be bothered to do kuudra
Dynamic Waypoints is a bit scuffed as the waypoints seem to be too close, image below for reference. Idk how it works so idk how to fix. image

The dynamic waypoint should be that close its 10 blocks from the player the box itself just should be 0.12 by 0.12

Makes sense, i didn’t know they could be resized tbh. I haven’t been playing so might just close PR until I come back to the game but I’ll see what happens

@odtheking
Copy link
Owner

Either way I implemented dynamic waypoints in the OdinFabric repository so if you come back to working on it you can take a look at that

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.

2 participants