315fbaa

Branches > main > 315fbaa > files

Move broadcast messages to text/component

Grahp, 2026-08-25

Commit: 315fbaada01e853ad7f7865044a89fe6b82d4802
Parent: bffdd52

4 changed files:

src/net/bowmap/protocol/packet/clientbound.clj modified (view file)

@@ -95,6 +95,7 @@                                                       :relative-yaw :relative-pitch                                                       :relative-velocity-x :relative-velocity-y :relative-velocity-z                                                       :rotate-velocity])]+   ; TODO can move this to ::text/component once an actual writer and actual schema are created?    ::system-chat-message [:message nbt->                           :overlay? boolean->]    ::update-tags [:tagged-registries (list-> [:registry identifier->

src/net/bowmap/server/logic.clj modified (view file)

@@ -3,6 +3,7 @@    [net.bowmap.server.player :as player]    [net.bowmap.server.position :as position]    [net.bowmap.server.server :as server]+   [net.bowmap.server.text :as text]    [net.bowmap.stormbow.effect :as effect]    [net.bowmap.stormbow.event :as event])) @@ -30,21 +31,21 @@   (dosync     (commute server/players update uuid merge player)     [{::event/id ::event/broadcast-      :message {:text (str (or (::player/username (server/player uuid)) "Unknown Player") " Joined!")}}]))+      ::text/component {:text (str (or (::player/username (server/player uuid)) "Unknown Player") " Joined!")}}]))  (defmethod handle-event ::event/player-left [{:keys! [::player/uuid]}]   (dosync     (let [username (::player/username (server/player uuid))]       (commute server/players dissoc uuid)       [{::event/id ::event/broadcast-        :message {:text (str (or username "Unknown Player") " Left.")}}])))+        ::text/component {:text (str (or username "Unknown Player") " Left.")}}]))) -(defmethod handle-event ::event/broadcast [{:keys! [message]}]+(defmethod handle-event ::event/broadcast [{:keys! [::text/component]}]   (dosync     (for [[recipient] @server/players]       {::effect/id ::effect/send-chat-message        ::player/uuid recipient-       :message message})))+       ::text/component component})))  (defmethod handle-event ::event/updated-player-movement [{:keys! [::player/uuid ::position/position] :as e}]   (dosync@@ -61,7 +62,7 @@   (for [[recipient] @server/players]     {::effect/id ::effect/send-chat-message      ::player/uuid recipient-     :message {:text (str (::player/username (server/player uuid)) ": " message)}}))+     ::text/component {:text (str (::player/username (server/player uuid)) ": " message)}}))  (defn handle-events   "Handles the supplied event, and all events returned recursively from this one.

src/net/bowmap/server/text.clj added (view file)

@@ -0,0 +1 @@+(ns net.bowmap.server.text)

src/net/bowmap/stormbow/effect_execution.clj modified (view file)

@@ -4,6 +4,7 @@    [net.bowmap.protocol.packet.clientbound :as clientbound]    [net.bowmap.server.player :as player]    [net.bowmap.server.server :as server]+   [net.bowmap.server.text :as text]    [net.bowmap.stormbow.effect :as effect]    [net.bowmap.transport.connection :as connection])) @@ -16,9 +17,10 @@         {::connection/keys! [send-packet]} connection]     (send-packet packet))) -(defmethod execute-effect! ::effect/send-chat-message [{::player/keys! [uuid] :keys! [message]}]+(defmethod execute-effect! ::effect/send-chat-message [{::player/keys! [uuid] ::text/keys! [component]}]   (send-packet! uuid {::pk/id ::clientbound/system-chat-message-                      :message message}))+                      ; TODO could rename this key+                      :message component}))  (defn execute-effects! [effects]   (run! execute-effect! effects))