Описание
# CobbleTooHot
CobbleTooHot is a tiny “bridge” mod that lets Cobblemon Pokémon affect **Tough As Nails** temperature when they’re near a player.
Want a Charizard to feel hotter than a Charmander? Or an Articuno to chill the air more than an Abomasnow? This mod lets you do that with a simple config.
## What It Does
- Scans for nearby Cobblemon `PokemonEntity` around each player.
- Applies a temperature influence based on either:
- **Per-species** config (`perPokemon`), or
- Optional **per-type** fallback (`perType`) if a species isn’t listed.
- Feeds into Tough As Nails’ **player temperature modifiers** system.
TAN temperature is still **discrete** (`ICY`, `COLD`, `NEUTRAL`, `WARM`, `HOT`) and still changes over time (TAN’s delays/configs still apply).
## Requirements
- Minecraft `1.21.1`
- Tough As Nails (required)
- Cobblemon (optional, but you’ll want it for… Pokémon)
## Config
Config path:
- `config/CobbleTooHot/config.json`
Example:
```json
{
"enabled": true,
"radiusBlocks": 8.0,
"maxTotalShift": 4,
"updateIntervalTicks": 20,
"perPokemon": {
"cobblemon:charizard": "HOT",
"cobblemon:charmander": "WARM",
"cobblemon:articuno": "ICY",
"cobblemon:abomasnow": "COLD"
},
"perType": {
"fire": "HOT",
"ice": "ICY"
}
}
```
Notes:
- `perPokemon` values are TAN levels: `ICY | COLD | NEUTRAL | WARM | HOT`
- `perType` is optional. Keys are Cobblemon type showdown IDs (e.g. `fire`, `ice`, `water`).
- Dual-types use an average between the two type deltas (so Fire+Ice tends toward neutral unless you tune your `perType` mapping).
- `maxTotalShift` caps how strong the combined effect can be (prevents “stack 30 Pokémon” situations).
- `updateIntervalTicks` throttles scans (default `20` = once per second).
## Messages (Optional)
Messages path:
- `config/CobbleTooHot/messages.json`
This controls the **text around** placeholders. Some placeholders are intentionally hard-colored in code (so the temperature label stays consistent).
Default keys:
- `reloadSuccess`
- `statusTemp` (uses `{temperature}`)
- `statusLocate` (uses `{count}`)
- `statusLocateLine` (uses `{species}`, `{count}`, `{temperature}`)
Color codes supported in messages:
- Legacy `&` codes (ex: `&a`, `&e`, `&l`, `&r`)
- Hex colors: `&#RRGGBB`
- Escape a literal ampersand with `&&`
## Commands
- `/cobbletoohot status`
- Shows your current TAN temperature and nearby configured Pokémon influences.
- `/cobbletoohot reload` (perm 2)
- Reloads `config.json` + `messages.json`.
- `/cobbletoohot debug` (perm 2)
- Extra info for troubleshooting (registration, computed shifts, etc.).
## Performance
This mod does an entity query in a radius around each player, then reflects species/type info from nearby Pokémon.
If you expect a lot of Pokémon around players, keep `radiusBlocks` modest and increase `updateIntervalTicks` (e.g. 20–40).