About Extra Fishing V2
Extra Fishing V2
Transform vanilla fishing into a rich, progression-based gameplay pillar with
300+ custom fish species, drifting school-of-fish encounters, aquaculture
breeding, fish finders, economy integration, a beautiful animated fish
encyclopedia, and fully fish traps.
ExtraFishing turns one of Rust's most ignored activities into a deep, rewarding
system your players will actually want to engage with. Every catch matters:
size, weight, rarity, biome, time of day, water depth, rod tier, school
proximity, and aquaculture breeding all influence what ends up on the line.
DEPENDENCIES
Required:
ImageLibrary — For all custom fish icons and UI background images. ExtraFishing will not display images without it.
Optional:
Economics — Enables Economics as a currency backend in the sell UI.
ServerRewards — Enables ServerRewards as a currency backend.
If you use only Scrap or a Custom item as currency, no optional plugins are
needed.
Added 300+ Fish


• Fully configurable fish catalog with custom names, skin IDs, growth
formulas, min/max sizes, rarities (Star 1 to Star 5), biome restrictions,
descriptions, and processed-item yields.
• Each species uses a real weight formula:
Weight (kg) = Growth_A * Size^Growth_B / 1000
so bigger fish really do weigh proportionally more. This is what drives
the per-species weight rankings.
• Fish are linked to vanilla bait items (anchovy, sardine, catfish,
herring, salmon, orangeroughy, smallshark, troutsmall, yellowperch) for
seamless compatibility with vanilla fishing mechanics.
School of Fish System
• Dynamic, drifting schools spawn and migrate across the ocean in real time.
• Schools provide massive bonuses while players fish inside them:
- Fish size multiplier (default 2.0x)
- Rarity bonus (default +100)
- Hook speed bonus (default 70% faster catch time)
• Visual burst effects trigger in bursts when players hook a fish inside a
school — great immersive feedback.
• Peak time schools spawn in shallower water (1–5m) to reward
morning/evening fishing. Off-peak schools stay in deeper water (30–50m).
• Per-school catch limit forces the school to migrate elsewhere after X
catches, keeping players exploring and preventing AFK camping.
• Fully configurable: max schools, radius range, drift speed, direction
change intervals, catch limit, update rate, effect tick settings.
Fish Finder Device
• Custom Geiger-counter-based handheld detector with a live radar-style UI
showing distance and bearing to the nearest active school.
• Configurable:
- Max detection range (default 100m)
- Beep interval, UI update interval, UI size
- Durability drain per interval
- Background image and overlay image stack
- Require specific skinned item vs. allow any Geiger counter
Tiered Fishing Rods


• Define any number of rod tiers keyed by SkinId. Each rod tier configures:
- ChanceBonus: adds to catch chance for rarer fish
- FishSizeMultiplier: multiplier applied to caught fish size
• Default tiers included: Low / Mid / High Quality Rod.
• Players progress by upgrading their rod — directly tied to bigger, rarer
fish and higher-value catches.
Tiered Fish Traps


• Define any number of fish trap tiers keyed by SkinId, each with:
- ChanceBonus for rarer fish
- FishSizeMultiplier
- CatchMinnowEnabled toggle + Min/Max minnow per catch
- StorageSlots (override vanilla slot count)
- MaxHealth (override trap durability)
• Default tiers included: Low / Mid / High Quality Fish Trap.
Aquaculture / Fish Breeding

• Deployable custom fish cages (Large Fish Cage, Small Fish Cage) that breed
fish over time when fed bait.

• Each cage type configures:
- Breeding interval min/max (in minutes)
- Box slot count (storage size)
- Fish size multiplier for bred fish
• Built-in breeding progress UI with feed reminders, empty state, box-full
warning, and an in-game guide overlay.
• Custom raft-based platforms for building floating fish farms:
- Square Raft 3x3 / 5x5 / 10x10
- Hexagonal Raft 1 / 3 / 5


• Configurable aquaculture settings: replacement/box health, effect
duration, effect tick interval, rarity multiplier for bred fish.
Depth-Based Fishing
• Fish size scales with water depth across 4 configurable tiers.
Default:
- Tier 1 (0.0 – 4.9m): 1.0x
- Tier 2 (5.0 – 39.9m): 1.1x
- Tier 3 (40.0 – 49.8m): 1.2x
- Tier 4 (49.9 – 999.9m):1.3x
• Encourages boat exploration and offshore deep-sea fishing.
• Fully toggleable via config.
Peak Time System
• Morning (default 4:00 – 7:00) and Evening (default 18:00 – 21:00) peak
windows apply a global chance bonus (default +50) for rarer fish.
• During peak time, additional fish schools spawn in shallow water so
players can easily reach them.
• All four values are configurable: MorningStart, MorningEnd, EveningStart,
EveningEnd, PeakTimeChanceBonus.
Fish Records & Server Rankings

• Every player's personal best Size and Weight per fish species is
tracked automatically and persisted across wipes (unless you wipe the
data file).
• Comprehensive in-game fish encyclopedia UI (/fish command):
- Search bar with live filtering
- Rarity filter (All / Star 1 – Star 5)
- Biome filter (All / Arid / Temperate / Tundra / Arctic / Jungle)
- "Caught" mark displayed on species the player has already landed
- Per-fish detail page with description, your personal record, and
**Server Top 3 by Size** + **Server Top 3 by Weight** leaderboards
• Optional Hide-Uncaught-Fish mode (HideUncaughtFish config toggle):
- Uncaught species are shown as "?????" with blacked-out icons
- Detail page is blocked both client-side (no clickable button) and
server-side (command rejected) — no way to sneak past the lock
- Search bar is spoiler-safe: real fish names do NOT match uncaught
species when the search filter is used, so players cannot reveal
hidden fish by typing guesses
Fish Sell UI & Economy Integration
• Built-in fish selling interface with live balance display.
• Supports four currency backends:
- Scrap (vanilla item, no dependencies)
- Economics (optional plugin)
- ServerRewards (optional plugin)
- Custom: any shortname + skin + display name as your server's
currency item
• Per-rarity price multipliers (Star 1 through Star 5) + global base price
multiplier for easy tuning.
• Sell individual fish stacks or use Sell All for bulk liquidation.
• Fish exchange via vending machines can be blocked to prevent trivial
economy exploits.
• Prices scale with fish rarity, base stack value, and base price
multiplier — everything is in the config.
Processed Fish Items (Custom Food / Resources / Buffs)


• When cooked or processed, fish yield custom items with configurable
skin IDs and display names. Example default items: Sulfur Fish yields
sulfur, Wood Fish yields wood, Metal Fish yields metal fragments,
Stones Fish yields stones, Bone Fish yields bone fragments, Crude Oil
Fish yields crude oil, and many more.
• Per-processed-item effects when consumed:
- Instant Health
- Health over Time
- Calories
- Hydration
- Poison reduction
- Bleeding reduction
- Radiation reduction
• **Full tea-buff system** — every vanilla tea modifier can be applied
per processed fish with custom value and duration:
Wood Yield, Ore Yield, Scrap Yield, Max Health, Move Speed,
Harvesting, Fishing Boost, Farming (Better Genes), Comfort, Clotting,
Warming, Cooling, Hunter Vision, Metabolism, Crafting Quality,
Radiation Resistance, Horse Gallop Speed.
• Turn fishing into a viable alternative to vanilla farming and gathering.
Other QOL Features
• Tension-break calorie penalty — failed casts cost extra calories
(configurable via CaloriesPerTensionBreak).
• Normal fishing calorie cost per cast (CaloriesPerFishing).
• Fish stack limit toggle:
- Enabled: each unique fish (size+weight) is its own item with the
full name tag
- Disabled: fish stack vanilla-style with a base-value table per
vanilla shortname
• Biome check toggle — restrict fish species to specific biomes or open them up everywhere.
◆ Player Command
/fish
Opens the main fish encyclopedia and records UI. Shows all fish species
with filters (search, rarity, biome), caught marks, and per-species
detail pages including personal and server records. Requires the
extrafishing.records permission.
◆ ADMIN ONLY COMMAND
/extrafishing
Gives you one of every configured item in a single command:
- Every fishing rod tier (by SkinId from config)
- Every fish trap tier (by SkinId from config)
- Both fish cages (Large + Small)
- Every raft platform (Square 3x3/5x5/10x10, Hex 1/3/5)
- Fish Finder
- 10 of every processed fish item with effects configured
Perfect for quick testing or outfitting admin accounts.
/givefish "Fish Name"
Spawns one fish of the specified species by its display Name (case
insensitive, quoted if it contains spaces). The item is tagged with a
random size/weight from the fish's config range.
Example: /givefish "Sulfur Fish"
/efgive <SteamID|Name> <Item>
Gives a specific named item to any player. See the full item list below.
/fishbuff <player> <percent> <minutes>
Grants a fishing luck buff to the specified player for the specified
duration. Increases chance of rarer fish.
◆ Console Commands (Server Console / RCON)
clearfishdata
Wipes all player fishing records from memory and disk. Admin only.
Use with caution — this cannot be undone.
fishbuff <steamid> <percent> <minutes>
RCON-friendly version of the chat fishbuff command.
efgive <SteamID|Name> <Item>
RCON-friendly version of the /efgive chat command. See item list below.
◆ Command : efgive ITEM LIST — ALL PATTERNS
Usage:
/efgive <SteamID or Name> <Item>
efgive <SteamID or Name> <Item> (console / RCON)
The <Item> argument is matched case-insensitively. Names with spaces do NOT
need quotes — the command joins all remaining arguments as the item name.
All 15 patterns:
FISHING RODS (3 tiers)
Low Quality Rod
Base: fishingrod.handmade
SkinId: 3683450483
The entry-level tier. Small ChanceBonus and a modest FishSizeMultiplier
(defaults 0.5x). Players start with this.
Mid Quality Rod
Base: fishingrod.handmade
SkinId: 3683450683
Mid-tier rod. Better ChanceBonus and FishSizeMultiplier than Low Quality.
Default multiplier 0.6x.
High Quality Rod
Base: fishingrod.handmade
SkinId: 3683450793
Top-tier rod. Highest ChanceBonus and FishSizeMultiplier (default 0.8x).
Meant as an endgame / shop reward.
FISH TRAPS (3 tiers)
Low Quality Fish Trap
Base: fishtrap.small
SkinId: 3683441661
Basic automated fish trap. Unlike vanilla traps, ExtraFishing traps work
offline and without a nearby player. Low ChanceBonus, small storage,
low MaxHealth.
Mid Quality Fish Trap
Base: fishtrap.small
SkinId: 3683441772
Upgraded trap. Better chance bonus, larger storage, more durability.
High Quality Fish Trap
Base: fishtrap.small
SkinId: 3683441864
Top-tier trap with the highest ChanceBonus, largest storage slot count,
and highest MaxHealth.
SQUARE RAFT PLATFORMS (3 sizes)
Square Raft 3x3
Base: boatbuildingstation
SkinId: 3691488275
The smallest square raft platform. Used as a base for building small
floating fish farms and bases on water.
Square Raft 5x5
Base: boatbuildingstation
SkinId: 3691488429
Medium square raft. Plenty of room for fish cages plus storage / crafting.
Square Raft 10x10
Base: boatbuildingstation
SkinId: 3691488598
Large square raft. Flagship fishing base platform — fit multiple cages,
workbenches, sleeping area, and defenses.
HEXAGONAL RAFT PLATFORMS (3 sizes)
Hexagonal Raft 1
Base: boatbuildingstation
SkinId: 3691577294
Small single-hex raft platform. Compact, efficient footprint.
Hexagonal Raft 3
Base: boatbuildingstation
SkinId: 3691577405
Medium hex raft built from 3 hexagonal cells. Aesthetic alternative to
square rafts.
Hexagonal Raft 5
Base: boatbuildingstation
SkinId: 3691577502
Large hex raft built from 5 hexagonal cells. Comparable in area to a
Square Raft 5x5 but with honeycomb geometry.
FISH CAGES (2 tiers)
Large Fish Cage
Base: boatbuildingstation
SkinId: 3691368539
The large aquaculture cage. Default 30 box slots, 2.0x fish size
multiplier for bred fish, faster breeding interval (3–5 min). Deploy on
a raft platform and feed it bait to breed rare fish.
Small Fish Cage
Base: boatbuildingstation
SkinId: 3691368364
Compact cage. Default 18 box slots, 1.5x fish size multiplier, slightly
slower breeding interval (4–6 min). Cheaper, earlier-tier option.
FISH FINDER
Fish Finder
Base: geiger.counter
SkinId: 3696334992
Handheld radar-style fish finder. Shows distance and direction to the
nearest active fish school on a live UI overlay. Drains durability over
time and beeps periodically. Configurable max detection range (default
100m), durability drain rate, UI size, and visual assets.
Quick Copy/Paste Reference (all 15 valid <Item> strings)
Low Quality Rod
Mid Quality Rod
High Quality Rod
Low Quality Fish Trap
Mid Quality Fish Trap
High Quality Fish Trap
Square Raft 3x3
Square Raft 5x5
Square Raft 10x10
Hexagonal Raft 1
Hexagonal Raft 3
Hexagonal Raft 5
Large Fish Cage
Small Fish Cage
Fish Finder
Examples
/efgive 76561198000000000 High Quality Rod
/efgive PlayerName Large Fish Cage
/efgive 76561198000000000 Square Raft 10x10
efgive PlayerName Fish Finder (from RCON/server console)
If the player isn't found, you'll get "Player not found: <input>".
If the item name isn't recognized, you'll get "Unknown item: <name>"
followed by the full list of available items.
extrafishing.records
Required to use the /fish encyclopedia and records UI. Grant to all
players who should be able to see the fish catalog, filters, personal
records, and server rankings.
extrafishing.sell
Required to use the in-game fish selling UI. Grant to players who
should be able to sell fish for your chosen currency (Scrap / Economics
/ ServerRewards / Custom item).
All admin-only commands (/extrafishing, /givefish, /efgive, /chkbiome,
/chkdepth, /chktpo, /chkschool, /fishbuff, clearfishdata) require the
vanilla Admin or Developer flag — no permission needed.
{ "EnableUIDisplay": true, /// Show the popup Result UI every time a player catches a fish. "EnableSoundEffects": true, /// Play a catch sound effect (vanilla mission accept prefab) when a fish is landed. "ShowMessages": false, /// Send chat messages on fish catch and tension break events. "HideUncaughtFish": false, /// Hide uncaught fish in the /fish encyclopedia as "?????" with blacked-out icons. Also blocks detail pages AND spoiler-proofs the search bar (real fish names do not match uncaught species). Default: false. "EnableBiomeCheck": true, /// Enforce biome restrictions from the Fish list (Biome field). Disable to allow all fish in every biome. "EnableUIAnimation": true, /// Enable slide-in/fade-out animations for the Result, Record, and Sell UIs. "CaloriesPerFishing": 1, /// Calories consumed per cast. "CaloriesPerTensionBreak": 3, /// Extra calories lost when the fishing line tension-breaks. "SizeInterval": 20.0, /// Grouping interval in cm used for size display/rounding. "EnableFishStackLimit": true, /// true = each fish is a unique item with [Size/Weight] tag (no stacking). false = vanilla-style stacking using FishBaseValuesForDisableFishStackLimit. "MinnowStackSize": 1000, /// Max stack size for minnow bait items. "UI": { "DisplayDuration": 8.0, /// How long the catch-result popup stays visible (seconds). "Result": { /// Settings for the popup shown when a fish is caught. "AnchorMin": "0.35 0.75", /// UI bottom-left anchor on screen (x y, 0.0–1.0 range). "AnchorMax": "0.65 0.9", /// UI top-right anchor on screen. "BackgroundColor": "0.1 0.1 0.1 0.9", /// Background color in "R G B A" format (0.0–1.0 range, last value is alpha). "TitleColor": "0.678 0.643 0.616 1.0",/// Title text color. "TitleFontSize": 18, /// Title font size. "FishNameColor": "0.678 0.643 0.616 1.0", /// Fish name text color. "FishNameFontSize": 16, /// Fish name font size. "DetailsColor": "0.447 0.427 0.404 1.0", /// Details text color (size/weight info). "DetailsFontSize": 14, /// Details font size. "BackgroundImage": "https://i.imgur.com/C30zzZ5.png", /// Background image URL loaded via ImageLibrary. "UseBackgroundImage": true /// true = use the image above, false = solid color only. }, "Record": { /// Settings for the /fish encyclopedia UI. "AnchorMin": "0.15 0.15", /// Encyclopedia bottom-left anchor. "AnchorMax": "0.85 0.85", /// Encyclopedia top-right anchor. "BackgroundColor": "0.086 0.086 0.086 1.0", /// Background color. "TitleColor": "0.678 0.643 0.616 1.0",/// Title text color. "TitleFontSize": 20, /// Title font size. "FishButtonColor": "0.086 0.086 0.086 1.0", /// Background color for each fish entry button in the grid. "FishNameColor": "0.678 0.643 0.616 1.0", /// Fish name color in the list. "FishNameFontSize": 14, /// Fish name font size in the list. "FishDetailColor": "0.678 0.643 0.616 1.0", /// Body text color on the per-fish detail page. "FishDetailFontSize": 16, /// Body text size on the detail page. "SectionTitleColor": "0.678 0.643 0.616 1.0", /// Section heading color (e.g. "Your Record", "Server Top 3"). "SectionTitleFontSize": 18, /// Section heading font size. "DetailsColor": "0.447 0.427 0.404 1.0", /// Generic detail text color. "DetailsFontSize": 14, /// Generic detail text size. "HighlightColor": "0.447 0.427 0.404 1.0", /// Highlight accent color. "NavButtonColor": "0.090 0.263 0.400 1.0", /// Pagination button background color. "NavTextColor": "0.259 0.620 0.875 1.0", /// Pagination button text color. "NavFontSize": 14, /// Pagination button font size. "CloseButtonColor": "0.722 0.227 0.149 1.0", /// Close-button background color. "CloseTextColor": "0.792 0.643 0.608 1.0", /// Close-button text color. "CloseFontSize": 18, /// Close-button font size. "DescriptionColor": "0.447 0.427 0.404 1.0", /// Fish description text color. "DescriptionFontSize": 14, /// Fish description font size. "BackgroundImage": "https://i.imgur.com/IhEjX5Q.png", /// Encyclopedia background image URL. "UseBackgroundImage": true, /// Toggle for the background image above. "SearchBarAnchorMin": "0.02 0.92", /// Search bar bottom-left anchor. "SearchBarAnchorMax": "0.26 0.98", /// Search bar top-right anchor. "SearchBarBackgroundImage": "https://i.imgur.com/RaLTTp7.png", /// Search bar background image URL. "SearchBarTextColor": "0.678 0.643 0.616 1.0", /// Search bar text color. "SearchBarFontSize": 14, /// Search bar font size. "CaughtMarkImage": "https://i.imgur.com/0lfBSNR.png" /// Image shown in the top-right of fish the player has already caught. }, "Sell": { /// Settings for the fish sell UI. "AnchorMin": "0.15 0.15", /// Sell UI bottom-left anchor. "AnchorMax": "0.85 0.85", /// Sell UI top-right anchor. "BackgroundColor": "0.086 0.086 0.086 1.0", /// Background color. "TitleColor": "0.678 0.643 0.616 1.0",/// Title text color. "TitleFontSize": 20, /// Title font size. "FishButtonColor": "0.086 0.086 0.086 1.0", /// Background color for each fish row in the sell list. "FishNameColor": "0.678 0.643 0.616 1.0", /// Fish name color. "FishNameFontSize": 14, /// Fish name font size. "DetailColor": "0.447 0.427 0.404 1.0", /// Detail info text color (size/weight). "DetailFontSize": 12, /// Detail info font size. "PriceColor": "0.259 0.620 0.875 1.0",/// Price display color. "PriceFontSize": 13, /// Price display font size. "BalanceTextColor": "0.678 0.643 0.616 1.0", /// Currency balance text color. "BalanceFontSize": 14, /// Currency balance font size. "SellButtonColor": "0.3 0.6 0.3 1", /// Individual "Sell" button background color. "NavButtonColor": "0.090 0.263 0.400 1.0", /// Pagination button background color. "NavTextColor": "0.259 0.620 0.875 1.0", /// Pagination button text color. "NavFontSize": 14, /// Pagination font size. "CloseButtonColor": "0.722 0.227 0.149 1.0", /// Close-button background color. "CloseTextColor": "0.792 0.643 0.608 1.0", /// Close-button text color. "CloseFontSize": 18, /// Close-button font size. "SellAllButtonColor": "0.314 0.380 0.200 1.0", /// "Sell All" button background color. "SellAllTextColor": "0.569 0.765 0.231 1.0", /// "Sell All" text color. "SellAllFontSize": 14, /// "Sell All" font size. "BackgroundImage": "https://i.imgur.com/IhEjX5Q.png", /// Sell UI background image URL. "UseBackgroundImage": true /// Toggle for the background image above. } }, "RarityChances": { /// Base weights for rarity rolls. Final weight[R] = base × (1 + totalBonus × (R-1) / 100). Weights do not need to sum to 100. "1": 80, /// Base weight for ★1 (common) fish. "2": 15, /// Base weight for ★2 fish. "3": 5, /// Base weight for ★3 fish. "4": 2, /// Base weight for ★4 fish. "5": 1 /// Base weight for ★5 (legendary) fish. ~1% at base, ~5% at max bonus. }, "Economy": { /// Currency backend and price multiplier settings for the fish sell UI. "PreferredEconomy (Scrap / Custom / Economics / ServerRewards)": "Scrap", /// Currency backend: "Scrap", "Custom" (uses CustomItem below), "Economics" (plugin required), or "ServerRewards" (plugin required). "RarityMultipliers": { /// Per-rarity price multipliers (applied on top of the base price). "1": 1.0, /// ★1 fish price multiplier. "2": 1.1, /// ★2 fish price multiplier. "3": 1.2, /// ★3 fish price multiplier. "4": 1.3, /// ★4 fish price multiplier. "5": 1.5 /// ★5 fish price multiplier. }, "BasePriceMultiplier": 1.0, /// Global price multiplier applied to every fish sale. "CustomItem": { /// Settings used when PreferredEconomy is set to "Custom". "ItemShortName": "sulfur", /// Shortname of the item used as currency. "ItemSkinId": 0, /// Skin ID of the custom currency item (0 = vanilla, no skin). "DisplayName": null /// Display name for the currency item (null = use the item's default name). } }, "FishBaseValuesForDisableFishStackLimit": { /// Fallback per-fish base prices used ONLY when EnableFishStackLimit = false (since size/weight data is lost under vanilla stacking). "fish.anchovy": 2, /// Base value per anchovy. "fish.catfish": 32, /// Base value per catfish. "fish.herring": 4, /// Base value per herring. "fish.orangeroughy": 37, /// Base value per orange roughy. "fish.salmon": 27, /// Base value per salmon. "fish.sardine": 2, /// Base value per sardine. "fish.smallshark": 45, /// Base value per small shark. "fish.troutsmall": 6, /// Base value per small trout. "fish.yellowperch": 10 /// Base value per yellow perch. }, "ChanceTime": { /// Peak-time window settings. During these hours, rarity chance bonus is added and fish schools spawn in shallow water. "MorningStart": 4.0, /// Morning peak-time start (24h in-game clock). "MorningEnd": 7.0, /// Morning peak-time end. "EveningStart": 18.0, /// Evening peak-time start. "EveningEnd": 21.0, /// Evening peak-time end. "PeakTimeChanceBonus": 50 /// Rarity bonus value added to totalBonus during peak-time windows. }, "DepthMultiplier": { /// Water-depth size multiplier tiers. Evaluated top-down; the first tier whose MaxDepth is >= current depth is used. "Enabled": true, /// Enable the depth multiplier system. "Tier1": { /// Shallowest tier. "MaxDepth": 4.9, /// Max depth for Tier1 (meters). "SizeMultiplier": 1.0 /// Fish size multiplier for this tier. Additive formula: (value - 1.0) is added as bonus. }, "Tier2": { "MaxDepth": 39.9, /// Max depth for Tier2 (meters). "SizeMultiplier": 1.1 /// +10% size bonus in this depth range. }, "Tier3": { "MaxDepth": 49.8, /// Max depth for Tier3 (meters). "SizeMultiplier": 1.2 /// +20% size bonus in this depth range. }, "Tier4": { "MaxDepth": 999.9, /// Max depth for Tier4 (effectively unlimited). "SizeMultiplier": 1.3 /// +30% size bonus in the deepest waters. } }, "FishingRods": { /// Fishing rod tier definitions. Keyed by internal name; SkinIds are mapped in code. "Default Rod": { /// Vanilla rod (no skin). Baseline performance. "ChanceBonus": 0, /// Rarity bonus value added to totalBonus when using this rod. "FishSizeMultiplier": 1.0 /// Size multiplier. Additive formula: (value - 1.0) is added as bonus. }, "Low Quality Rod": { /// Entry-tier custom rod. "ChanceBonus": 10, /// +10 rarity bonus. "FishSizeMultiplier": 1.05 /// +5% size bonus. }, "Mid Quality Rod": { /// Mid-tier custom rod. "ChanceBonus": 20, /// +20 rarity bonus. "FishSizeMultiplier": 1.1 /// +10% size bonus. }, "High Quality Rod": { /// Top-tier custom rod. "ChanceBonus": 30, /// +30 rarity bonus. "FishSizeMultiplier": 1.2 /// +20% size bonus. } }, "FishTraps": { /// Fish trap tier definitions. Trap-caught fish are NOT affected by depth multiplier or school bonus. "Default Fish Trap": { /// Vanilla trap (no skin). Baseline performance. "ChanceBonus": 0, /// Rarity bonus added to totalBonus for trap catches. "FishSizeMultiplier": 0.5, /// Size multiplier for fish caught by this trap. "CatchMinnowEnabled": true, /// Whether this trap automatically catches minnow bait items. "MinnowMinAmount": 1, /// Minimum minnows caught per cycle. "MinnowMaxAmount": 3, /// Maximum minnows caught per cycle. "StorageSlots": 6, /// Inventory slot count of the trap (overrides vanilla). "MaxHealth": 100.0 /// Max HP/durability of the trap entity. }, "Low Quality Fish Trap": { /* ChanceBonus 5, FishSizeMultiplier 0.6, StorageSlots 12, MaxHealth 300, rest same structure, omitted */ }, "Mid Quality Fish Trap": { /* ChanceBonus 10, FishSizeMultiplier 0.8, StorageSlots 18, MaxHealth 500, rest same structure, omitted */ }, "High Quality Fish Trap": { /* ChanceBonus 15, FishSizeMultiplier 1.0, StorageSlots 24, MaxHealth 750, rest same structure, omitted */ } }, "SchoolOfFish": { /// Drifting fish school system settings. "Enabled": true, /// Enable the school-of-fish system. "MaxSchoolOfFish": 30, /// Maximum number of schools that can exist simultaneously on the map. "MaxCatchesPerSchool": 5, /// Number of catches before a school is forced to migrate (respawn elsewhere). "MinSchoolOfFishRadius": 10.0, /// Minimum school radius in meters. Players inside this area get bonuses. "MaxSchoolOfFishRadius": 50.0, /// Maximum school radius in meters. "SchoolOfFishRadiusChangeMinMinutes": 0.1, /// Min time until a school's radius randomly changes (minutes). "SchoolOfFishRadiusChangeMaxMinutes": 1.0, /// Max time until a school's radius randomly changes (minutes). "MinDriftSpeed": 0.0, /// Minimum drift speed of a school (m/s). "MaxDriftSpeed": 3.0, /// Maximum drift speed of a school (m/s). "DirectionChangeMinMinutes": 0.5, /// Min time until a school changes direction (minutes). "DirectionChangeMaxMinutes": 3.0, /// Max time until a school changes direction (minutes). "SizeMultiplierBonus": 1.5, /// Fish size multiplier when fishing inside a school. Additive: (value - 1.0) is added as bonus (+50% by default). "HookSpeedBonus": 0.7, /// Catch-time reduction ratio inside a school (0.7 = 70% faster catch). "RarityBonus": 100, /// Rarity bonus added to totalBonus when fishing inside a school. "MinOceanDepth": 30.0, /// Minimum water depth (m) where schools spawn during normal time. "MaxOceanDepth": 50.0, /// Maximum water depth (m) where schools spawn during normal time. "PeakTimeMinOceanDepth": 1.0, /// Minimum depth for schools that spawn during peak time (shallow water). "PeakTimeMaxOceanDepth": 5.0, /// Maximum depth for schools that spawn during peak time. "DriftUpdateInterval": 1.0, /// School position update interval (seconds). "Effect": { /// Visual burst effect settings for schools. "Enabled": true, /// Enable burst effects. "TickInterval": 0.01, /// Internal tick interval while an effect plays (seconds). "DelayMin": 0.0, /// Minimum startup delay before an effect fires (seconds). "DelayMax": 1.5, /// Maximum startup delay before an effect fires (seconds). "BurstDurationMin": 2.0, /// Minimum duration of one burst (seconds). "BurstDurationMax": 10.0, /// Maximum duration of one burst (seconds). "BurstIntervalMinMinutes": 0.1, /// Minimum wait between bursts (minutes). "BurstIntervalMaxMinutes": 3.0 /// Maximum wait between bursts (minutes). }, "FishFinder": { /// Fish finder device settings. "Enabled": true, /// Enable the fish finder feature. "UIUpdateInterval": 0.1, /// Radar UI update interval (seconds). "BeepInterval": 0.5, /// Beep sound interval while pointing toward a school (seconds). "BackgroundImage": "https://i.imgur.com/5K50I7S.png", /// Radar background image URL. "OverlayImages": [ /// List of decorative overlay images layered on top of the radar. "https://i.imgur.com/6L4TG7R.png", /// First overlay image URL. (Additional overlays use the same format.) "https://i.imgur.com/UilagDt.png", /// Subsequent overlays omitted explanation — same format as above. "https://i.imgur.com/Dh5uXPs.png", "https://i.imgur.com/6rSarf6.png", "https://i.imgur.com/yyBuEB9.png" ], "UISize": 0.12, /// Radar UI size as a fraction of screen size. "MaxDetectRange": 100.0, /// Maximum detection range in meters. "DurabilityDrainInterval": 30.0, /// Interval between durability drains (seconds). "DurabilityDrainAmount": 1.0, /// Durability removed per drain tick. "RequireItem": true /// true = only a geiger counter with the configured skin works. false = any geiger counter works. } }, "Aquaculture": { /// Aquaculture / fish breeding system settings. "Enabled": true, /// Enable the aquaculture system. "ReplacementMaxHealth": 5000.0, /// Max HP of the fish cage replacement entity. "BoxMaxHealth": 5000.0, /// Max HP of the aquaculture storage box entity. "EffectDuration": 5.0, /// Duration of aquaculture-related effects (seconds). "EffectTickInterval": 0.03, /// Aquaculture effect tick interval (seconds). "RarityMultiplier": 3, /// Rarity bonus multiplier applied to bred fish. "LargeFishCage": { /// Large fish cage configuration. "DisplayName": "Large Fish Cage", /// Display name of the large cage item. "BreedingIntervalMinutesMin": 3.0, /// Minimum breeding interval (minutes). "BreedingIntervalMinutesMax": 5.0, /// Maximum breeding interval (minutes). "BoxSlots": 30, /// Inventory slot count inside the cage. "FishSizeMultiplier": 2.0 /// Size multiplier for fish bred in this cage. }, "SmallFishCage": { /* ... same structure as LargeFishCage, omitted ... */ } }, "Fish": [ /// Master fish catalog. 300+ species defined by default. { "ItemShortName": "fish.sardine", /// Base vanilla fish shortname this custom fish is built on. Valid values: fish.anchovy, fish.catfish, fish.herring, fish.orangeroughy, fish.salmon, fish.sardine, fish.smallshark, fish.troutsmall, fish.yellowperch. "SkinId": 3683947483, /// Workshop skin ID that uniquely identifies this custom fish. Same shortname + different skin = different species. "Name": "Sulfur Fish", /// Display name shown in UIs and chat. "MaxSize": 100.0, /// Maximum size of this fish in cm. "MinSize": 20.0, /// Minimum size of this fish in cm. "Growth_A": 0.0188, /// Growth formula coefficient A. Weight(kg) = A × Size^B / 1000. "Growth_B": 3.04, /// Growth formula exponent B. Weight(kg) = A × Size^B / 1000. "Biome": "All", /// Biome restriction: "All", "Arid", "Temperate", "Tundra", "Arctic", or "Jungle". Ignored if EnableBiomeCheck = false. "Rarity": 2, /// Rarity tier 1–5 (★1 to ★5). Used for rarity weight calculation. "ProcessedItemShortName": "sulfur", /// Shortname of the item produced when this fish is cooked/processed. "ProcessedItemSkinId": 0, /// Skin ID of the processed item. Links to the corresponding ProcessedItemEffects entry. "DisplayName": null, /// Display name of the processed item (null = use default name). "ProcessedItemAmount": 50, /// Base amount of processed item given. Scales with the caught fish size. "Description": "A mysterious fish that can be found anywhere and can explode when provoked." /// Description text shown in the fish encyclopedia. } /* ... 300+ additional fish entries follow with the same structure, omitted ... */ ], "ProcessedItemEffects": { /// Per-processed-item effects applied when a player consumes the item. Key = Skin ID matching Fish.ProcessedItemSkinId. "3687258712": { /// Example entry. Each key is a unique skin ID linking to a processed fish item. "DisplayName": "Raw white fish", /// Display name of this processed item. "InstantHealth": 5.0, /// Instant health restored on consumption. "HealthOverTime": 5.0, /// Health restored over time (HoT). "Calories": 80.0, /// Calories restored. "Hydration": 15.0, /// Hydration restored. "PoisonReduce": 50.0, /// Poison meter reduction. "BleedingReduce": 0.0, /// Bleeding meter reduction. "RadiationReduce": 0.0, /// Radiation meter reduction. "Buff": { /// Tea-style buffs applied on consumption. Any buff with Value = 0 or DurationMinutes = 0 is skipped. "Wood": { /// Wood yield tea buff. "Value": 0.0, /// Buff strength in percent (e.g. 100 = +100% wood yield). "DurationMinutes": 0.0 /// Buff duration in minutes. 0 disables this buff. }, "Ore": { "Value": 100.0, "DurationMinutes": 15.0 }, /// Ore yield tea buff (+100% for 15min). "Scrap": { /* ... same {Value, DurationMinutes} structure ... */ }, /// Scrap yield tea buff. "MaxHealth": { /* ... */ }, /// Max health tea buff. "MoveSpeed": { /* ... */ }, /// Move speed tea buff. "Harvesting": { /* ... */ }, /// Harvesting tea buff. "Fishing": { /* Value 100, Duration 30 */ }, /// Fishing boost (increases rare-fish chance). Default Value 100 across all processed fish. "Farming": { /* ... */ }, /// Farming (better genes) tea buff. "ComfortBuff": { /* ... */ }, /// Comfort tea buff. "Clotting": { /* ... */ }, /// Clotting (bleed resistance) tea buff. "Warming": { /* ... */ }, /// Warming tea buff. "Cooling": { /* ... */ }, /// Cooling tea buff. "HunterVision":{ /* ... */ }, /// Hunter vision tea buff. "Metabolism": { /* ... */ }, /// Metabolism booster tea buff. "Crafting": { /* ... */ }, /// Crafting quality tea buff. "RadResist": { /* ... */ }, /// Radiation resistance tea buff. "HorseSpeed": { /* ... */ } /// Horse gallop speed tea buff. } } /* ... additional ProcessedItemEffects entries follow with the same structure, omitted ... */ } }
VOID / NINJA WORKS
DISCORD : https://discord.gg/U8uxePjSyA
MADE IN JAPAN