Repository navigation
fix: limit /tfmc parrot to Ascended and match fishing tutorial items - #31
Conversation
- parrot grants flight, so it now needs group.ascended (Legacy holds it too) instead of being open to everyone - the fishing tutorial clear removed any shears and paper; the Iron Hook and Fish Bait are CustomFishing items built on those, so match their CustomFishing id in custom_data and leave ordinary items alone Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe fishing tutorial cleanup now matches CustomFishing item IDs before removing items. The parrot command now requires Ascended permissions. Tests reflect the updated cleanup checks, command visibility, and parrot-flight player permissions. ChangesCommand configuration updates
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~8 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The change narrows fishing cleanup to tagged items and gates parrot access on group.ascended. No actionable regression is established in the available source, so the PR appears mergeable; live plugin item data and group inheritance remain unverified. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The flight permission is more restrictive, and no new unauthorized route to flight was found. The narrower fishing cleanup should spare ordinary items, but its effectiveness depends on the live tutorial items carrying the expected tags; the command tests do not verify actual removal. Retained concerns
Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 1 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
A rabbit checks the hook and bait Comment |
Follow-up to #30. Both changes are in the bundled
tfmc.yml; nothing else changes./tfmc parrotis Ascended-only.parrot.permissionsis now[group.ascended], because the command grants flight. The Legacy group also holdsgroup.ascended, so both tiers get it. I checked this on dev withlp group legacy permission check group.ascended. Anyone who isn't Ascended no longer seesparrot.unparrotstays visible to everyone.The fishing tutorial clear only takes back the tutorial's items. It used to run
clear <player> shears 1andclear <player> paper 1, which remove any shears or paper. The Iron Hook and Fish Bait are CustomFishing items built on those materials, taggedminecraft:custom_data→CustomFishing.id. I confirmed the tag in Main player data. The clear now uses item predicates:minecraft:shears[minecraft:custom_data~{CustomFishing:{id:"iron_hook"}}]minecraft:paper[minecraft:custom_data~{CustomFishing:{id:"fish_bait"}}]Both parse on TFMCDev01, where a control with an unknown component is rejected. The rod line is unchanged: CustomFishing's
fishing_rodis the MMOItemsFISHING_RODS:FISHING_ROD.TFMCDev01's own
tfmc.ymlhas the same edits, applied with/tcore reload tfmc.mvn verify: 218 tests pass, and they now cover parrot gating and the exact fishing clear commands.🤖 Generated with Claude Code
Summary by CodeRabbit