kayjaydee 99b9072b78 feat(03-05): ajoute RegionVisualizer (parsing hex/mode, throttling, low-level DebugUtils.add) (Task 2)
- RegionVisualizer emet DisplayDebug cube par region via
  DebugUtils.add(World, DebugShape.Cube, Matrix4d, color, opacity, time, flags)
  (low-level => opacity custom respectee, vs addCube qui hardcode 0.8).
- Mapping modes: Outline=FLAG_NO_SOLID, Faces=FLAG_NO_WIREFRAME, Both=FLAG_NONE,
  None=skip, unknown=fallback Outline.
- parseColor(#RRGGBB) avec fallback COLOR_CYAN sur input invalide.
- Throttling par region via ConcurrentHashMap<name, lastEmitMs> + clock injecte.
- Clamp defensive: VisualRefreshMs plancher 100ms (anti-DoS T-03-05-03),
  VisualOpacity clamp [0,1] (T-03-05-04).
- TTL = refreshMs * 1.2 / 1000 (overlap 20% anti-flicker).
- Toute emission wrappee dans world.execute(...) via WorldExecutor injectable.
- Tests: parseColor valid/invalid, normalizeMode, flagsForMode, matrixFromBox
  non-cubique, throttling deterministe, skip None/disabled, clamp opacity/refresh.
2026-04-23 14:54:31 +02:00
S
Description
Gravity Flip lets you create anti-gravity regions on your Hytale server using a wand — no scripting, no file edits, no server restarts. Want to walk on the ceiling? Place two corners, name the region, and flip the world.
274 KiB
Languages
Java 100%