hChatСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (6)
release
hChat 1.4.1
1.4.127 сент. 2026 г.114Minecraft: 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
## [1.4.1] 2026-09-27
### Fixed
- **faststats.dev metrics failed to start** — the metrics context was created
without any service attached, which the SDK rejects at startup
("Context created without any service attached, was this intentional?").
The metrics service is now attached during initialization and anonymous
usage statistics are submitted correctly.
release
hChat 1.4.0
1.4.027 сент. 2026 г.6Minecraft: 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
## [1.4.0] 2026-09-20
### Added
#### 🎨 Chat & formatting
- **MiniMessage support** — new `chat.format-mode` global option with three
parsing modes:
- `legacy` — classic `&` codes + `&#RRGGBB` hex (default, fully backwards
compatible).
- `minimessage` — [MiniMessage](https://docs.advntr.dev/minimessage) tags
(`<red>`, `<gradient:red:blue>`, `<#RRGGBB>`, hover/click, transitions…);
classic `&` codes and `&#RRGGBB` hex are still translated so existing
formats keep working.
- `auto` — legacy when the string contains `&` codes, MiniMessage otherwise.
- **Per-channel format-mode override** — every channel under `channels.<id>`
can set its own `format-mode` (e.g. a legacy `global` and a MiniMessage
`staff` channel can coexist).
- **Injection-safe player messages** — under MiniMessage modes, player-typed
text is escaped before rendering: players keep their `&` colors but can no
longer inject MiniMessage tags, click or hover events into chat.
#### ⚙️ Configuration
- **Config v10** — new `chat.format-mode`, per-channel `channels.<id>.format-mode`
and `update-checker.project` keys; the automatic migration merges them into
existing configs and removes the obsolete `metrics` section (your other
settings are always kept).
### Changed
- **Update checker now uses Modrinth** — the startup and `/hchat update`
checks query the Modrinth API instead of GitHub Releases. The project is
configurable via the new `update-checker.project` key (a Modrinth slug or
a full modrinth.com project URL; default `hchat`). Alpha and beta versions
are skipped, so admins are only notified about stable releases.
- **LuckPerms is now a soft dependency** — moved from `depend` to `softdepend`
in `plugin.yml`. Detection happens at runtime and every feature degrades
gracefully; servers using another permissions plugin can now run hChat.
- **Metrics: bStats → faststats.dev** — anonymous usage metrics are now sent
to [faststats.dev](https://faststats.dev). They are always on and need no
configuration. The library is shaded and relocated
(`dev.hauch.hchat.lib.faststats`) to avoid classpath collisions.
### Removed
- **bStats** — the `org.bstats` dependency, `metrics.enabled` toggle wiring in
the entry point and the bStats shading/relocation rules are gone.
release
hChat 1.3.0
1.3.09 авг. 2026 г.62Minecraft: 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Что нового
## [1.3.0] 2026-08-09
### Added
#### 🛡️ Moderation
- **`/slowmode <seconds|off|status>`** — global per-player chat cooldown
kept in memory (never rewrites `config.yml`, comments preserved), with
configurable bypass permission (`hchat.slowmode.bypass`).
- **`/chatlock on|off|status`** — locks the whole chat; staff with
`hchat.chatlock.bypass` keep talking.
- **Staff chat `/sc`** — private staff channel with its own format and
optional console logging (`staff-chat.*`).
- **Mass mentions `@everyone` / `@here`** — permission-gated
(`hchat.mention.everyone` / `hchat.mention.here`) with per-token
cooldown and sound; `@here` only reaches players in the same world.
- **Advanced filter chain** (`filters:` section, config v6): anti-caps
(block/mask/lowercase), anti-unicode (zero-width spaces, direction
overrides, tag characters, BOM), anti-advertisement (regex patterns +
whitelist + fast-fail) and anti-spam (global per-player cooldown +
sliding-window flood detection with Levenshtein similarity).
`WordFilter` now runs inside the same `FilterChain` pipeline.
#### 💬 Chat & channels
- **Per-world channels** — `channels.<id>.per-world` stops messages from
crossing worlds; `{world}` placeholder available in channel formats.
- **Default channel by permission** — `channels.default-by-permission`
joins the first matching channel on entry without overriding a
persisted choice.
- **Channel action-bar hints** — 3-second action bar with the active
channel after switching (`channels.hint-on-switch`) and on join
(`channels.hint-on-join`).
- **Chat replay** — `/hchat replay [player]` reprints the last lines of
chat (ring buffer, `replay.capacity`, default 50) and
`/hchat replay clear-buffer` empties it. Channels with a see-permission
are never buffered.
- **Mention highlight** — bold highlight on top of the mention color
(`mentions.highlight`). A real background color is not possible in
vanilla chat (Adventure `Style` has no background), so the highlight is
bold text.
- **Click-to-reply on global chat** — the previously unused
`hover-text.format` now renders the hover tooltip + `/msg` suggestion
on public chat.
#### 🧑🤝🧑 Social & QoL
- **`/dnd [on|off]`** — completes the DND feature: DMs to a DND player
are blocked with a lang message; `hchat.bypass.dnd` overrides.
- **`/ping [player]`** and **`/seen <player>`**.
- **`/afk [message]`** — built-in AFK with automatic inactivity
detection (`afk.auto-timeout-seconds`), activity-based unset
(movement/chat/commands/interactions), chat announcement when returning
(`afk.notify-unset`) and integration with the `[afk]` chat token
(built-in state first, PAPI fallback).
- **`/hchat mail read|clear|send`** — offline messages now keep the
sender + timestamp; joining shows a clickable summary
(`offline-messages-pending`) instead of auto-delivering, and
`/hchat mail read` lists them with a reply suggestion.
- **Silenced-DM action bar** — when a DM is not delivered (receiver has
DND or ignores the sender), the sender sees the configurable
`direct-messages.silenced-action-bar`.
- **`/hchat about`** and **`/hchat ignore list`** (click to unignore).
- **Death messages** — configurable, per-cause death messages
(`death-message.*`), replacing the vanilla line.
#### 🔌 API & developer
- **Expanded public API** — `HChatProvider` now exposes
`channelManager()`, `dndManager()`, `messageHistory()` and
`broadcastService()`, plus `publishToChannel(channel, message)`.
- **Premium extension API** — `dev.hauch.hchat.api.premium`
(`PremiumModule`, `PremiumChatEnhancer`) lets a private Premium edition
register commands/listeners/managers and hook chat processing
(`allowChat` / `transformMessage` / `transformFormat`) without forking
the free core. The free distribution never references it and keeps
working without it.
#### 🛠️ Build & tests
- **Config v7** — new sections `slowmode`, `chat-lock`, `staff-chat`,
`death-message`, `mentions.everyone-*` + `mentions.highlight`,
`filters:*`, `replay`, `afk:*`, `channels.default-by-permission` +
`channels.hint-*`, `direct-messages.silenced-action-bar`. Automatic
migration merges the new keys into existing configs and now backs up
the old file once per source version (`config-backup-v{n}.yml`).
- **Unit tests** — JUnit 5 suite in `core` (26 tests) covering
`OfflineMessageStore`, `ChatReplay`, `FilterAction`, `ChatChannel` and
`MessageFormatter`. CI now runs the tests on every build (removed
`-DskipTests`).
- **New commands** — `/slowmode`, `/chatlock`, `/sc`, `/dnd`, `/ping`,
`/seen`, `/afk` (plus `hchat.afk` and the other permissions) in
`plugin.yml`.
### Fixed
- **Mention colors now actually render** — the renderer previously
ignored `event.message()`, so the mention-color edit was invisible.
The message is now built as a `Component` with styled mentions
embedded into the rendered format.
- **`@everyoneX` false positive** — mass-mention tokens use a
word-boundary check, so `@everyoneX` is no longer treated as
`@everyone`.
- **Blocked messages no longer consume cooldowns** — the mass-mention
gate (and the chatlock/slowmode/channel checks) run before any
cooldown is recorded.
- **`/dnd on|off` state message** — explicit on/off no longer showed the
inverted state.
- **`/slowmode` no longer destroys `config.yml` comments** — the value is
kept in memory, not written back to the file.
### Changed
- **`OfflineMessageStore`** entries carry sender + timestamp and are only
removed when read or cleared (`/hchat mail`); joining shows a summary.
- **`DynamicPlaceholderResolver`** prefers the built-in AFK state for
`[afk]`; the PAPI placeholder remains the fallback.
release
hChat 1.2.6
1.2.68 авг. 2026 г.14Minecraft: 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2bukkit, paper, purpur, spigot
Что нового
## [1.2.6] 2026-08-08
### Added
- **Command tab completion** — `/hchat` now completes its subcommands
(`reload`, `help`, `lang`, `update`, filtered by permission) and
`/hchat lang` completes the available language codes; `/message` also
suggests offline players (offline delivery is supported), joining the
existing player-name completion of `/ignore` and channel completion of
`/channel`.
release
hChat 1.2.3
1.2.325 июл. 2026 г.12Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6bukkit, paper, purpur, spigot
release
hChat 1.1.2
1.1.219 июл. 2026 г.15Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6bukkit, paper, purpur, spigot
Что нового
## [1.1.2] – 2026-07-19
> Items in this section map to commits `fix: some error in pom.xml`,
> `fix: HChat.java` (×2) and `chore: implement new functions` on the
> `dev` branch. Cross-check against `git log v1.1.0..v1.1.1` if you need
> the exact diffs; this changelog only records entries that can be
> confirmed against the source.
### Fixed
- **Build:** corrected malformed dependency declaration in `pom.xml`
that caused `mvn clean verify` to fail on JDK 17 + Maven 3.9
(`fix: some error in pom.xml`).
- **LangManager:** `languageManager.reload()` now preserves the
previously-selected language code after `/hchat reload`, instead of
silently resetting to `en`. Confirmed by reading
`LanguageManager#reload`, which now scans `loadedLanguages` for the
current code before re-applying it.
### Changed
- **Build:** bumped Maven Shade Plugin to `3.5.3` and Compiler Plugin
to `3.13.0`; reproducible jar ordering is now deterministic across
builds (`chore: implement new functions`).
- **Docs:** CI status badge in `README.md` now matches the actual
workflow name (`build.yml`).
### Deprecated
- Nothing.
### Removed
- Nothing.
### Security
- Nothing.