soundradar-0.14.3.jar
Curse Maven Snippet
What's new
# Changelog – Sound Radar
All changes to the mod. The Modrinth page only links to this file; paste the
matching section into the "changelog" field when uploading a version.
This file is maintained **in English only**.
---
## 0.14.3 – Glow without stripes
**Fixed**
- **Dark vertical stripes** inside the glow: columns were computed from
floating-point positions and then rounded, so neighbouring columns sometimes
overlapped (brighter) or left a 1-px gap (dark, no red). The glow is now drawn
**row by row** – every row is one continuous rectangle, so gaps cannot happen.
- **Horizontal steps in depth**: 12 coarse bands (~8 px each) replaced by
**1-px rows** with a continuous alpha falloff.
**Changed**
- Shape is now a **half ellipse** on the edge (`width × sqrt(1 − t²)`) with soft
ends: three segments per row (30 % / 40 % / 30 %), the outer ones at 35 %
opacity.
- Default glow width raised to 200 px so the half circle reads as such.
---
## 0.14.2 – Edge glow as a local spot
**Changed**
- The edge glow is no longer a band across the whole edge but a **local spot
exactly in the direction of the mob**, placed where the ray from the screen
centre hits the border – clipped by the edge it looks like a half circle.
- Gradient smoothed on both axes: Gaussian along the edge (σ = 0.34), 12 steps in
depth with `(1 − v)^1.6`.
- New setting **`glowSpread`** (glow width, 40–400 px, slider on the Warnings
page, default 160). `glowWidth` remains the depth (24–240 px).
**Unchanged**
- The marker with its ripples stays in the radar – the glow is the second,
peripheral warning at the edge.
---
## 0.14.1 – Edge glow fixed
**Fixed**
- **Vertical direction was inverted**: a mob in front of you lit the bottom edge
instead of the top. Now: front (0°) → top, right (90°) → right edge,
behind (180°) → bottom, left (−90°) → left edge.
- **Visible stripes** in the gradient: it consisted of 28 wide bars with hard
alpha steps. Now 1-px steps with a quadratic falloff – smooth, no banding.
**New**
- **Glow depth adjustable** (`glowWidth`, 24–240 px, slider under Warnings).
Default 90 px; strength (`glowStrength`) stays separate.
- The gradient uses the **danger red of the dots** (`dotColor`) as default
colour – changeable through the dot colour.
---
## 0.14.0 – Full feature round: look, warnings, language
**New – look**
- **Ring colour freely selectable** (palette: white, red, amber, green, blue,
pink, black) – applies to ring, edge line and frame.
- **Opacity in percent** for rings (`ringOpacity`) and dots (`dotOpacity`),
ring **thickness** in pixels – all three as sliders in the screen.
- **Distance of the safe-zone ring** now adjustable (`edgeRingInset`,
0–40 px, slider) instead of a fixed 2 px.
- **Outer and inner frame** switchable independently (`frameDrawOuter`,
`frameDrawInner`).
- **High contrast**: dark outline around lines and dots.
**New – warnings**
- **Critical warning** for very close aggro mobs (default **7 blocks**,
slider 2–20): bigger dot, twice as fast blinking, thicker ring.
- **Edge glow**: soft light at the screen edge towards the threat
(strength 0–100 %).
- **Distance label** in metres next to the nearest aggro mob.
- **Mob glyphs**: 3×3 icon of the mob type (zombie, skeleton, creeper, spider,
illager) inside the dot – recognisable without colour perception.
- **Buffer ring**: additional ring showing the sight range of the nearest mob.
**New – language**
- `languageMode` with `auto` (follows the game language), `en`, `de`.
A forced language reads the mod's own language files (`Lang.java`) because
vanilla cannot switch languages per mod.
- All new texts exist in `en_us.json` and `de_de.json` (143 keys each, fully in
sync).
**New – structure**
- Settings screen with **four pages**: Radar · Look · Warnings · Advanced
(tabs at the top). Sliders for all continuous values.
- Commands: `lang`, `profile` (standard/mining/nether/pvp), `explain`,
`ringcolor`, `ringopacity`, `dotopacity`, `glowstrength`, `edgeinset`,
`criticalblocks`, `critical`, `glow`, `distance`, `glyphs`, `buffer`,
`contrast`, `frameouter`, `frameinner`.
**Deliberately not implemented**
- A connection line from the crosshair to the mob (ESP-like, considered a cheat
on servers).
- Controller rumble (would need real hardware to test).
---
## 0.13.2 – Edge and band fixes
**Changed**
- The edge ring in `edge` mode now sits **2 px from the window edge** instead of
`edgeMargin` px (default was 12). `edgeMargin` only affects the markers, not
the line. Still switchable via `edgeDrawRing`.
**Fixed**
- In `frame` mode the markers ended up **inside the inner frame** instead of in
the band: the position was wrongly scaled with distance. All markers now sit on
a **fixed radius in the middle of the band**; distance is encoded only through
dot size (`frameScaleByDistance`).
- The preview in the settings screen uses identical maths (same band centre,
same edge ring).
---
## 0.13.1 – Menu polish
**Changed**
- The game now **pauses** while the settings screen is open
(`isPauseScreen = true`).
- The HUD is **no longer drawn while any screen is open** – the ring around the
crosshair disturbed the preview.
- The preview is now centred **exactly on the screen centre** and draws a
crosshair in all three modes, so the position can be compared 1:1.
**New**
- `CHANGELOG.md` (this file) as the single source for changes.
---
## 0.13.0 – Three display modes
**New**
- `displayMode`: `crosshair` (ring around the crosshair), `edge` (the screen edge
is the ring, markers scale outward), `frame` (frame plus band at the edge, the
centre stays free).
- Edge line either as rectangle or as **inscribed ellipse** (`edgeRingStyle`).
- Band width 32–68 px (`frameInset`), distance inside the band through dot size
(`frameScaleByDistance`).
- `avoidHud`: markers are pushed inwards out of hotbar, chat and minimap corner.
- `edgeMargin`: minimum distance of markers from the window edge.
**Changed**
- The settings screen only shows the options of the active mode and adapts row
spacing to the window height.
- Commands: `mode`, `ringstyle`, `edgemargin`, `inset`, `edgering`, `framescale`,
`avoidhud`.
---
## 0.12.0 – Fully English UI
**Changed**
- All visible texts (screen, buttons, tooltips, command feedback, log lines) live
in language files; `en_us.json` is the reference, `de_de.json` the complete
German translation.
- No visible string literal left in the Java code.
- Mod description in `fabric.mod.json` switched to English.
---
## 0.11.0 – Crisp edges, 1:1 preview, developer mode
**New**
- **Developer mode**: balancing values (range, view cone, line of sight, height
threshold, quality, marker limit) are locked and unlocked with a checkbox in
the screen (`/soundradar dev on|off`).
- **Quality: High/Fast** – High = anti-aliased, Fast = arc segments
(~2.6× fewer draw commands).
**Fixed**
- Anti-aliasing restored: ring, dots and ripples are drawn with edge coverage
again (no more pixel stairs).
- The preview in the screen is now **1:1** (real radius, real dot size).
---
## 0.10.0 – Tick-based animation
**Changed**
- All animations run on the game clock in **ticks** (20/s) instead of wall-clock
milliseconds – they match the world and stop on pause or `/tick freeze`.
- Mob positions are read every **2 ticks (100 ms)** but **interpolated every
frame** – smooth motion with 10 reads per second.
- Line of sight (raycast) only every **5 ticks (250 ms)**, cached in between
(−60 % raycasts).
- Values centralised in `Ticks.java`: blink 4 ticks, waves 20 ticks, ring pulse
3 ticks, ping lifetime 30 ticks, max 24 markers.
---
## 0.9.0 – Performance fix
**Fixed**
- **Massive frame drops**: the HUD produced ~6,500 draw commands per frame
(~390,000/s at 60 fps). Now ~520 (`/soundradar perf` shows the real number).
- Row spans merged into a single command, circles drawn as arc segments, dots
without edge blending.
- Background disc off by default (it alone cost ~200 commands).
**New**
- `/soundradar perf` – draw commands of the last frame.
---
## 0.8.0 – Mod Menu
**New**
- **Mod Menu integration**: "Configure" opens the settings screen
(`RadarModMenu implements ModMenuApi`).
- Screen with **live preview**, one-line explanation per option and
**Save / Reset / Cancel** (working copy of the config).
- Every setting additionally available as a command.
---
## 0.7.0 – Full command set
**New**
- Every setting as a client command (`/soundradar`, alias `/sr`), including
`radius`, `range`, `size`, `cone`, `height`, `color`, toggles and presets.
---
## 0.6.0 – Line of sight is mandatory
**Fixed**
- Mobs pulsed through walls because `Mob#isAggressive` was checked before the
sight test. Now: distance → view cone → **line of sight** (mandatory).
- The aggro flag only widens the cone (to 75°), it never replaces the sight test.
---
## 0.5.0 – Live markers, screen, waves
**New**
- Hostile mobs shown live as dots (not just sounds).
- Settings screen (key `O`), colour palette, aggro ripples.
- Anti-aliased circles, black outline around the dots.
**Fixed**
- Aggro was never detected: `Mob#getTarget` is server-side and never synced to
the client → own heuristic (follow range, view cone, line of sight).
---
## 0.3.0 – First public release
**New**
- Ring around the crosshair with sound pings (direction + distance).
- Client-side only, Fabric, MC 26.3.
---
## Planned
- Multi-version support (1.21.1 / 1.21.4 / 1.21.5) via Stonecutter adapters.
- Quilt test (loads Fabric mods; loader for 26.3 is currently beta only).
- Optional: NeoForge adapter.
This mod has no additional files

