315fbaa
Branches > main > 315fbaa > files
Move broadcast messages to text/component
Commit: 315fbaada01e853ad7f7865044a89fe6b82d4802
Parent: bffdd52
4 changed files:
src/net/bowmap/protocol/packet/clientbound.clj 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 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 view file
@@ -0,0 +1 @@+(ns net.bowmap.server.text)src/net/bowmap/stormbow/effect_execution.clj 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))