You are viewing a potentially older version of this package. View all versions.
Ponchik-BaitIndex-1.0.50 icon

BaitIndex

Displays exact required baits & lures for every fish in your in-game Tab Journal, with Drip & Super Creatures toggle, customizable arrow layout, and clean vanilla UI.

Date uploaded 5 days ago
Version 1.0.50
Download link Ponchik-BaitIndex-1.0.50.zip
Downloads 1865
Dependency string Ponchik-BaitIndex-1.0.50

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

BaitIndex [v1.0.50]

Version Compatibility Game Framework Author License

Discord

BaitIndex is an in-game fishing compendium and bait encyclopedia for How to Fish. Seamlessly hooked into the native Journal (Tab), it displays exact 100% verified lure types, bait requirements, and boss summon methods for every creature in the game, alongside an interactive Regular Fish ⇄ Drip Creatures mode switcher (Q).

Fully Tested & Compatible with the latest Steam game update (including dropped item world saving, cooked meat washing mechanics, and roulette physics).


⚙️ How It Works & Architecture

BaitIndex integrates directly into the game's native UI hierarchy via HarmonyLib:

  • Native Journal Canvas Hook: Hooks JournalSlot.SetCreature to inject a dedicated BaitIndexText TextMeshProUGUI component into each slot's canvas container.
  • Synchronized Slot Animations: The injected text is parented to the slot's floating transform, bobbing and rotating in perfect sync with the fish 3D models.
  • Interactive Mode Switcher: Hooks ThinkingUI.Update and ThinkingUI.SetProgressTexts to detect Q / Space keypresses, triggering ThinkingUI.UpdateJournal to toggle between standard and Drip/Super views.
  • Real-Time 3D Mesh Swapping: Updates MeshFilter.mesh dynamically between Creature.Mesh and Creature.DripMesh, and toggles DripText.SetDrip on the fly.
  • Dynamic Drip / Super Naming Engine: Fully customizable naming conventions across all buttons, headers, and slot labels (VariantNaming = Drip | Super).
  • Advanced Arrow Customization: Fully configurable arrow button sizing (ArrowScale), spread distance (ArrowSpreadDistance), and vertical positioning.
  • 100% Verified In-Game Database: Maps all creatures strictly to real in-game baits, lures, and NPC quests with zero developer test artifacts.

✨ Key Features

  • 📖 Native Tab Journal Display: High-contrast gold & cyan tags displaying required baits directly under fish prices.
  • 🔀 Interactive Mode Switcher (Q / Space): Seamlessly toggle between [▶ REGULAR FISH] and [▶ DRIP CREATURES] views with live 3D preview model swapping.
  • 🕶️ Canonical Drip & Super Naming: Support for both community naming standards with instant configuration switching (Drip by default).
  • 🎯 100% Verified In-Game Bait Database:
    • French Fry (Default Starting Bait): Brown Crab, Shrimp, Mackerel, Gar, Pike.
    • Hotdog: Rock Crab, Lobster, Piranha.
    • Beginner Lure: Salmon, Perch, Triggerfish, Goldfish, Cod, Goby, Piranha.
    • Standard Lure: Catfish, Clownfish, Sea Urchin, Yellow Boxfish, Needlefish, Angelfish, Bluegill, Bowlfish, Seahorse.
    • Professional Lure: Bass, Eel, Red Snapper, Sengarat, Halibut, Flying Fish, Voxelfish, Parrotfish, Dripper, Tigerfish.
  • 👑 Boss & Quest Bait Guidance:
    • Beginner Boss Lure: Sunfish, The Old Pike.
    • Standard Boss Lure: Blue Shark.
    • Professional Boss Lure: Tuna.
    • Carrot: Pufferfish (NPC quest near coconut tree).
    • Empty Beer Can: Spider Crab (Island 1 NPC).
    • Modified Leech: Giant Piranha (Island 2 female NPC).
    • Tuna Meat: Albatross (Post-Tuna boss reward).

🎮 Controls

Key Action Description
Tab Journal Open or close the native in-game Journal
Q or Space Toggle View Mode Switch between Regular Fish and Drip Creatures
A / D or Arrows Page Navigation Flip between fish index pages

⚙️ Configuration

The configuration file is automatically generated at BepInEx/config/com.howToFish.baitindex.cfg:

[1. General]

## Master toggle for BaitIndex integration in the native Tab Journal.
# Setting type: Boolean
# Default value: true
Enabled = true


[2. Display & Layout]

## Reveal required baits even for undiscovered/locked fish slots.
# Setting type: Boolean
# Default value: true
RevealUndiscovered = true

## Naming style for special rare creatures in the journal: Drip (default) or Super.
# Setting type: VariantNamingMode
# Default value: Drip
VariantNaming = Drip


[3. Arrow Customization]

## Horizontal spread distance for pagination arrows (-60px left / +60px right by default).
## Moves arrows outward so they never overlap with fish bait labels.
# Setting type: Single
# Default value: 60
# Acceptable value range: From -150 to 250
ArrowSpreadDistance = 60

## Size multiplier for pagination arrow buttons (0.5x to 2.0x).
## Scaling increases both the visual button size and the clickable hitbox.
# Setting type: Single
# Default value: 1.0
# Acceptable value range: From 0.5 to 2.0
ArrowScale = 1.0

## Vertical height offset for pagination arrows (-22px lower by default).
# Setting type: Single
# Default value: -22
# Acceptable value range: From -100 to 100
ArrowVerticalOffset = -22

📥 Installation

  1. Install BepInEx 5.4+ for How to Fish.
  2. Extract BaitIndex.zip into your game directory or place BaitIndex.dll into How to Fish/BepInEx/plugins/BaitIndex/.
  3. Launch the game and press Tab to inspect your enhanced Journal!

📄 License

Distributed under the MIT License. See LICENSE for more information.

CHANGELOG

Changelog

All notable changes to BaitIndex are documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


[1.0.50] - 2026-08-28 - Release Update & Community Links

⚡ Updates

  • Discord Community Link: Updated official community link to https://discord.gg/QP7Gzfp7ut.
  • Packaging & Stability: Final release build for Thunderstore.

[1.0.5] - 2026-08-28 - Fix: Journal, Drip Naming & Arrow Customization

🌟 Added

  • Drip vs. Super Naming Toggle (VariantNaming): Added a dedicated configuration option allowing players to choose between the canonical Drip (default) and Super terminology across all journal headers, switcher buttons ([▶ DRIP CREATURES]), and slot labels (Drip: French Fry).
  • Interactive Arrow Sizing & Spread Distance (ArrowSpreadDistance & ArrowScale):
    • ArrowSpreadDistance: Adjust horizontal distance between pagination arrows (0 = vanilla native distance, positive = spread further apart, negative = closer together).
    • ArrowScale: Scale multiplier (0.5x to 2.0x, default 1.0x) resizing both visual arrows and their clickable hitboxes for effortless navigation.
    • ArrowVerticalOffset: Adjust vertical placement higher or lower.

🐛 Fixed

  • Arrow Clickability & Raycast Blocking: Fixed an issue where the wide progress text container (pText) intercepted mouse click events. Disabled raycast targets on overlay text elements, ensuring 100% responsive and effortless clicking on all navigation buttons.
  • Journal Slot Discovery & Model Rendering: Fixed an engine bug where catching a Drip creature before catching the regular version left the journal slot as a black silhouette ???. Slots now immediately reveal full 3D models, official names, price tags, and glowing rainbow text upon discovery.
  • Independent Progress Tracking: Fixed cross-contamination between regular and Drip progress. Regular catches unlock standard journal slots without unlocking Drip slots, and Drip catches unlock Drip slots independently.
  • Save System & Registration Overhaul: Replaced the native flawed SaveManager.IsNewFish with a robust two-way registration system, ensuring that newly discovered fish and Drip variants reliably trigger the "New Creature Caught" banner and persist to local.txt regardless of catch order.
  • Boss Exclusion: Bosses without Drip variants are cleanly excluded from Drip mode and display standard boss information without unwanted prefixes.
  • Progress Header Counters: Fixed inverted counters in the journal header; Regular and Drip statistics now display with 100% precision.
  • Harmony Parameter Compatibility: Fixed Harmony prefix parameter naming matching game internals (byte id, bool to, bool drip) to eliminate all startup warnings.

[1.0.4] - 2026-08-28

🐛 Fixed

  • Bait Information Visibility & Layout: Adjusted the bait text position directly beneath the price tag with high-readability 15px typography, ensuring crystal-clear visibility and ample spacing across all pages.
  • Footer Stability on Toggle (Q): Resolved a layout bug where repeatedly toggling between regular fish and Drip Creatures drifted the bottom progress bar off-screen.

[1.0.3] - 2026-08-27

🌟 Added

  • Drip Mesh Toggle (Q): One-click instant switching between standard fish models and Drip models inside the Tab Journal.

[1.0.2] - 2026-08-25

⚡ Optimized

  • Optimized UI text layout queries and cached font resources.

[1.0.1] - 2026-08-24

🌟 Added

  • Support for special quest and boss baits (Pufferfish Carrot quest, Spider Crab beer can, Giant Piranha leech, Albatross Tuna meat).

[1.0.0] - 2026-08-24

🌟 Initial Release

  • Official verified bait compendium for all standard fish.
  • Integrated into native in-game Journal (Tab).