Skip to content

Comments

2.0.36#1589

Merged
chsami merged 15 commits intomainfrom
development
Oct 29, 2025
Merged

2.0.36#1589
chsami merged 15 commits intomainfrom
development

Conversation

@chsami
Copy link
Owner

@chsami chsami commented Oct 28, 2025

2.0.36

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 28, 2025

Walkthrough

This pull request updates multiple cache definition files and loaders to support new NPC and object properties, refactors field access patterns in Archive and Container classes, renames a LootTracker configuration method from syncPanel() to rememberLoot(), adds an early-exit guard in MinimapPlugin for non-logged-in states, and bumps the parent Maven version from 1.11.23-SNAPSHOT to 1.11.25-SNAPSHOT across all modules and the microbot dependency from 2.0.35 to 2.0.36.

Possibly related PRs

  • 2.0.15 #1541: Modifies the microbot.version property in runelite-client/pom.xml alongside this PR's version bump.
  • 2.0.35 #1587: Further updates the same microbot.version property, indicating coordinated dependency version changes.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 1 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 12.50% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title Check ❓ Inconclusive The pull request title "2.0.36" consists of only a version number without describing what changed in the changeset. While it relates to the microbot.version update from 2.0.35 to 2.0.36, the changeset encompasses substantially more: new NPC and Object definition fields, updates to cache loaders to handle new opcodes, refactoring of Archive and Container classes, parent version updates, and plugin improvements. A version number alone does not convey meaningful information about the changes made, making the title too vague to serve its purpose of helping teammates understand the primary change at a glance. Consider revising the title to describe the main objective of the PR, such as "Add NPC and Object definition fields for rendering improvements" or "Release 2.0.36: cache updates and plugin fixes" to provide meaningful context about what changed beyond just the version number.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed The pull request description "2.0.36" relates to the changeset through the microbot version update and serves as a release identifier. Although the description is extremely vague and provides no detail about the changes made, the check criteria specify that it should pass as long as the description is related in some way to the changeset and is not completely off-topic, with level of detail being unimportant for this lenient check.
✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0d159cd and 812eef6.

⛔ Files ignored due to path filters (1)
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/transports.tsv is excluded by !**/*.tsv
📒 Files selected for processing (15)
  • cache/pom.xml (1 hunks)
  • cache/src/main/java/net/runelite/cache/definitions/NpcDefinition.java (1 hunks)
  • cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java (1 hunks)
  • cache/src/main/java/net/runelite/cache/definitions/loaders/NpcLoader.java (1 hunks)
  • cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java (1 hunks)
  • cache/src/main/java/net/runelite/cache/fs/Archive.java (2 hunks)
  • cache/src/main/java/net/runelite/cache/fs/Container.java (2 hunks)
  • pom.xml (1 hunks)
  • runelite-api/pom.xml (1 hunks)
  • runelite-client/pom.xml (2 hunks)
  • runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java (1 hunks)
  • runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java (2 hunks)
  • runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java (1 hunks)
  • runelite-jshell/pom.xml (1 hunks)
  • runelite-maven-plugin/pom.xml (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
**/*.java

📄 CodeRabbit inference engine (AGENTS.md)

**/*.java: Use tabs for indentation, follow the brace placement style exemplified in MicrobotPlugin.java, and keep lines under 120 characters
Use UpperCamelCase for types and lowerCamelCase for members

Files:

  • runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java
  • cache/src/main/java/net/runelite/cache/definitions/NpcDefinition.java
  • runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java
  • cache/src/main/java/net/runelite/cache/fs/Container.java
  • cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java
  • runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java
  • cache/src/main/java/net/runelite/cache/definitions/loaders/NpcLoader.java
  • cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java
  • cache/src/main/java/net/runelite/cache/fs/Archive.java
**/pom.xml

📄 CodeRabbit inference engine (AGENTS.md)

Target Java 11 via maven-compiler-plugin using 11 in all module POMs

Files:

  • runelite-api/pom.xml
  • cache/pom.xml
  • runelite-client/pom.xml
  • runelite-maven-plugin/pom.xml
  • pom.xml
  • runelite-jshell/pom.xml
🧬 Code graph analysis (1)
cache/src/main/java/net/runelite/cache/fs/Archive.java (1)
cache/src/main/java/net/runelite/cache/fs/Container.java (1)
  • Container (38-195)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Build
  • GitHub Check: Build
🔇 Additional comments (15)
cache/src/main/java/net/runelite/cache/definitions/loaders/NpcLoader.java (1)

386-393: LGTM!

The new opcode handlers follow the established patterns in the codebase. Opcode 145 sets a boolean flag, and opcode 146 reads an unsigned short value, both consistent with similar existing handlers.

cache/src/main/java/net/runelite/cache/definitions/NpcDefinition.java (1)

81-82: LGTM!

The new fields are properly defined with appropriate defaults. The boolean canHideForOverlap defaults to false and the int overlapTintHSL has a specific default value of 39188, both of which align with how the loader handles opcodes 145 and 146.

runelite-api/pom.xml (1)

32-32: Version bump looks good.

The parent version update from 1.11.23-SNAPSHOT to 1.11.25-SNAPSHOT is consistent with the other module POMs in this PR.

cache/pom.xml (1)

32-32: Version bump looks good.

Consistent with the parent version update across all modules.

runelite-client/pom.xml (1)

32-32: Version bumps look good.

Both the parent version (1.11.25-SNAPSHOT) and microbot version (2.0.36) updates are consistent with the PR objectives.

Also applies to: 44-44

runelite-jshell/pom.xml (1)

33-33: Version bump looks good.

The parent version update is consistent with the other modules.

runelite-maven-plugin/pom.xml (1)

32-32: Version bump looks good.

Consistent parent version update across all modules.

pom.xml (1)

31-31: Version bump looks good.

The parent POM version update is properly reflected in all child module POMs.

cache/src/main/java/net/runelite/cache/definitions/loaders/ObjectLoader.java (1)

395-398: Opcode handler implementation looks good.

The new opcode 95 handler follows the established pattern for reading single-byte values and correctly integrates with the soundVisibility field added to ObjectDefinition.

cache/src/main/java/net/runelite/cache/definitions/ObjectDefinition.java (1)

82-82: Field addition looks good.

The soundVisibility field is properly positioned with other sound-related fields and integrates cleanly with the corresponding opcode 95 handler in ObjectLoader.

cache/src/main/java/net/runelite/cache/fs/Container.java (4)

130-136: LGTM!

The use of decryptedStream to read the decompressed length and remaining bytes is clean and logically consistent with the GZ case below.


146-152: LGTM!

Consistent decompression pattern with the BZ2 case.


158-166: LGTM!

Moving revision reading outside the switch eliminates duplication and maintains correctness. The stream position is correct after each case consumes its data.


155-155: LGTM!

The error message now correctly says "compression type" instead of "decompression type", matching the variable name.

cache/src/main/java/net/runelite/cache/fs/Archive.java (1)

85-107: LGTM!

The changes from getter/setter methods to direct field access are logically equivalent and correct. Container.decompress() never returns null (only throws IOException), so the removed null check is appropriate.


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 and usage tips.

# Conflicts:
#	runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java
@chsami chsami merged commit d9abb8f into main Oct 29, 2025
0 of 2 checks passed
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.

6 participants