bf482fd

Branches > main > bf482fd > files / src / net / bowmap / transport / writers.clj

Pass player default value directly into player joined event

Grahp, 2026-08-24

Commit: bf482fd014926f743dae8e51916d73cb8d8d550b
Parent: 4460dbb

2 changed files:

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

@@ -85,8 +85,9 @@   (let [entity-id (entity/next-entity-id)]     {:events [{::event/id ::event/player-joined                ::player/uuid uuid-               ::connection/connection connection-               ::entity/id entity-id}]+               ::player/player {::player/uuid uuid+                                ::connection/connection connection+                                ::entity/id entity-id}}]      :packets (-> [{::pk/id ::clientbound/login                     :entity-id entity-id                     :hardcore? false

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

@@ -4,8 +4,7 @@    [net.bowmap.server.position :as position]    [net.bowmap.server.server :as server]    [net.bowmap.stormbow.effect :as effect]-   [net.bowmap.stormbow.event :as event]-   [net.bowmap.transport.connection :as connection]))+   [net.bowmap.stormbow.event :as event]))  (defmulti handle-event   "Returns a sequence of effects and events yielded from an event."@@ -13,12 +12,11 @@     (::event/id event)))  ; Want this to be pure, which means you need a way to encode that state change as data?-(defmethod handle-event ::event/player-joined [{:keys! [::player/uuid ::connection/connection]}]+(defmethod handle-event ::event/player-joined [{:keys! [::player/uuid ::player/player]}]   (dosync     (if (@server/players uuid)       (throw (Exception. "Player tried to join with an existing UUID"))-      (commute server/players assoc uuid {::player/uuid uuid-                                          ::connection/connection connection}))+      (commute server/players assoc uuid player))     []))  (defmethod handle-event ::event/player-left [{:keys! [::player/uuid]}]