- FriendsManager persists a per-user friend list at config/clientirc-friends.json. - MarkerManager holds one ephemeral marker per owner (5 min expiry). - IRC protocol extended with marker_set / marker_remove; server relays them. - IrcService DisplayLine replaced with sealed IrcEvent (Chat / System / MarkerSet / MarkerRemove); chat formatting moved into the client. - ClientIrcMod handles .friends add/remove/list, .marker remove, .help; chat lines from friends are prefixed with a green dot; marker events from non-friends are ignored. - OverlayHud draws a top-center compass strip and a top-left watermark (nick / FPS / ping) via HudLayerRegistrationCallback. - WorldOverlayRenderer draws green crosses above friends and magenta beams + base cubes at active markers via WorldRenderEvents.AFTER_ENTITIES. - MiddleClickHandler binds MMB via KeyMapping, raycasts a block or 20-block look ray, stores locally and sends marker_set on a daemon executor. - ChatScreenMixin completes . prefix commands on Tab; first mixin in the project, plumbed through clientirc.client.mixins.json and fabric.mod.json.
28 lines
613 B
JSON
28 lines
613 B
JSON
{
|
|
"schemaVersion": 1,
|
|
"id": "clientirc",
|
|
"version": "${version}",
|
|
"name": "Client IRC Chat",
|
|
"description": "Client-side Fabric mod that redirects .irc messages to a standalone IRC-like TCP chat server.",
|
|
"authors": [
|
|
"Codex"
|
|
],
|
|
"contact": {},
|
|
"license": "MIT",
|
|
"environment": "client",
|
|
"entrypoints": {
|
|
"client": [
|
|
"ru.nevetime.clientirc.ClientIrcMod"
|
|
]
|
|
},
|
|
"mixins": [
|
|
{ "config": "clientirc.client.mixins.json", "environment": "client" }
|
|
],
|
|
"depends": {
|
|
"fabricloader": ">=0.19.3",
|
|
"minecraft": "26.2",
|
|
"java": ">=25",
|
|
"fabric-api": "*"
|
|
}
|
|
}
|