How to Fish
Install

Details

Last Updated
First Uploaded
Downloads
2.7K
Likes
1
Size
87KB
Dependency string
Ponchik-BaitIndex-1.0.50
Dependants

Categories

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.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.