Skip to content

feat: per wrench customisation#86

Merged
AlmanaX-21 merged 1 commit into
26.1.2from
wrench-customisation
Jul 12, 2026
Merged

feat: per wrench customisation#86
AlmanaX-21 merged 1 commit into
26.1.2from
wrench-customisation

Conversation

@AlmanaX-21

@AlmanaX-21 AlmanaX-21 commented Jul 12, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Added a wrench color editor for customizing case and screen colors.
    • Open the editor with the G key or the /logisticsnetworks wrenchColor command.
    • Added color preview, hex input, randomize, reset, and apply controls.
    • Wrench color settings are saved and synchronized when applied.
    • Added updated wrench visuals supporting custom colors.

@AlmanaX-21
AlmanaX-21 merged commit 9333c22 into 26.1.2 Jul 12, 2026
2 checks passed
@AlmanaX-21
AlmanaX-21 deleted the wrench-customisation branch July 12, 2026 13:57
@coderabbitai

coderabbitai Bot commented Jul 12, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9cb25d00-c581-46fa-956a-523216bc4c18

📥 Commits

Reviewing files that changed from the base of the PR and between 5c93829 and 7d45a61.

⛔ Files ignored due to path filters (5)
  • src/generated/client/.cache/261ed4dd9d7b9567efb696abf2729aceed120b9b is excluded by !**/.cache/**, !**/generated/**
  • src/generated/client/assets/logisticsnetworks/items/wrench.json is excluded by !**/generated/**
  • src/generated/client/assets/logisticsnetworks/models/item/wrench.json is excluded by !**/generated/**
  • src/main/resources/assets/logisticsnetworks/textures/item/wrench_case.png is excluded by !**/*.png
  • src/main/resources/assets/logisticsnetworks/textures/item/wrench_screen.png is excluded by !**/*.png
📒 Files selected for processing (10)
  • src/main/java/me/almana/logisticsnetworks/LogisticsClientEvents.java
  • src/main/java/me/almana/logisticsnetworks/LogisticsNetworks.java
  • src/main/java/me/almana/logisticsnetworks/client/WrenchColorCommand.java
  • src/main/java/me/almana/logisticsnetworks/client/WrenchInputHandler.java
  • src/main/java/me/almana/logisticsnetworks/client/screen/WrenchColorScreen.java
  • src/main/java/me/almana/logisticsnetworks/datagen/ModModelProvider.java
  • src/main/java/me/almana/logisticsnetworks/item/WrenchItem.java
  • src/main/java/me/almana/logisticsnetworks/network/ServerPayloadHandler.java
  • src/main/java/me/almana/logisticsnetworks/network/SetWrenchColorsPayload.java
  • src/main/resources/assets/logisticsnetworks/lang/en_us.json

📝 Walkthrough

Walkthrough

Adds a client wrench color editor with HSV and hex controls, layered tinted wrench rendering, persistent custom colors, keybinding and command entry points, and a server payload for applying or resetting colors.

Changes

Wrench color customization

Layer / File(s) Summary
Color storage and model rendering
src/main/java/me/almana/logisticsnetworks/item/WrenchItem.java, src/main/java/me/almana/logisticsnetworks/datagen/ModModelProvider.java
Wrench case and screen colors are stored in custom model data and rendered through dedicated tinted model layers.
Color editor and entry points
src/main/java/me/almana/logisticsnetworks/client/screen/WrenchColorScreen.java, src/main/java/me/almana/logisticsnetworks/client/WrenchInputHandler.java, src/main/java/me/almana/logisticsnetworks/client/WrenchColorCommand.java, src/main/java/me/almana/logisticsnetworks/LogisticsClientEvents.java, src/main/resources/assets/logisticsnetworks/lang/en_us.json
The editor provides HSV, hex, preview, reset, randomize, and apply interactions, and opens through a keybinding or client command with localized labels and errors.
Server color synchronization
src/main/java/me/almana/logisticsnetworks/network/SetWrenchColorsPayload.java, src/main/java/me/almana/logisticsnetworks/network/ServerPayloadHandler.java, src/main/java/me/almana/logisticsnetworks/LogisticsNetworks.java
A server-bound payload serializes wrench hand, reset state, and RGB values; the handler validates the held wrench before updating or clearing its colors.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Player
  participant WrenchColorScreen
  participant SetWrenchColorsPayload
  participant ServerPayloadHandler
  participant WrenchItem
  Player->>WrenchColorScreen: edit and apply wrench colors
  WrenchColorScreen->>SetWrenchColorsPayload: create RGB update or reset
  SetWrenchColorsPayload->>ServerPayloadHandler: send payload to server
  ServerPayloadHandler->>WrenchItem: set or clear stored colors
Loading

Possibly related PRs

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch wrench-customisation

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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.

1 participant