nobugs
Removes bugs
About this mod Machine translation
PEAK NoBugs
A BepInEx 5 plug-in for the game PEAK that removes all insects (spiders, scorpions, beetles, swarms, antlions) from the level so that players with entomophobia can play with peace of mind.
Only effective against "Insects". Non-insect environmental hazards such as zombies, ravens, snowmen, and jellyfish are not within the scope of this plug-in (the game itself has its own corresponding switch).
Supported insects
| Insect | Default | Description |
|---|---|---|
| Spider Spider | Removed | No longer rappels from the ceiling and grabs the player |
| Scorpion | Removed | No longer poisoned/knocked back |
| Beetle | Removed | No longer pushes players upward |
| BeeSwarm | Removed | Beehive no longer spawns swarms (prevents spawning at source) |
| Antlion | Removed | Sandpit no longer swallows players |
| FrogTongue | Reserved | Amphibians, not counted as insects, will not be removed by default |
Each insect can be turned on and off individually in the configuration file.
Install
Prerequisite: BepInEx 5 has been installed in the game directory (this project is compiled based on 5.4.23).
- Compile this project (see "Build" below) to get bin/Debug/netstandard2.1/nobugs.dll.
- Copy nobugs.dll to the game’s plug-in directory:
/steamapps/common/PEAK/BepInEx/plugins/nobugs.dll
- Start the game and the following should appear in the log:
[Info: nobugs] PEAK NoBugs v1.0.0 loaded, insect cleaning enabled.
Configuration
The configuration file is in /BepInEx/config/nobugs.cfg and can be modified at any time to take effect after restarting the game:
[Bugs]
Whether to remove spiders
RemoveSpiders = true
Whether to remove scorpions
RemoveScorpions = true
Whether to remove beetles
RemoveBeetles = true
Whether to remove the swarm
RemoveBees = true
Whether to remove antlions
RemoveAntlions = true
Whether to remove frog tongue (non-insects, off by default)
RemoveFrogTongues = false
[General]
true = destroy the bug object directly (more thorough); false = only hide and disable its behavior (more secure online)
DestroyObjects = true
Implementation principle
Patches at the insect's respective life cycle entry point via Harmony. Decompilation analysis specific to the game (see agent.md):
- Spider.Start / Spider.Scan / SpiderTrigger.OnTriggerEnter
——Prevent spiders from registering with SpiderManager and block rappelling;
- Mob.Start (Postfix, judged by type at runtime) - Remove Scorpion / Beetle / FrogTongue (all three inherit Mob, but do not override Start);
- Scorpion.InflictAttack / Beetle.InflictAttack - double insurance, no damage will be caused even if the object remains;
- Beehive.Init - Set spawnBees to false to prevent the network from generating bee colonies from the source (cleaner than destroying them afterwards to avoid redundant Photon network objects);
- BeeSwarm.Start - removes a bee swarm that already exists in the scene/save;
- Antlion.Start - remove antlion.
Each target uses the double insurance of "prevent spawning + blocking damage" to avoid differences in loading order.
Why can’t we just change the Hazard switch that comes with the game?
Although Hazard_Spiders / Hazard_Beetles / Hazard_Scorpions / Hazard_Bees are defined in RunSettings, reverse analysis confirmed that these enumeration values have never been read by any insect code except for registering default values; only Antlion and FrogTongue actually self-check the switch. The "Bug Phobia" mode that comes with the game only replaces the bug model with other shapes, and the behavioral damage still exists. So a patch is necessary to actually remove it.
Online precautions
The generation and status of bugs are controlled by the homeowner (MasterClient):
- If only the client installs this plug-in, local bugs will be destroyed, but the status may be inconsistent with that of the homeowner;
- It is recommended that homeowners also install it, or set DestroyObjects to false (to only hide and disable it) to reduce the risk of online desynchronization …
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: