bf482fd
Branches > main > bf482fd > files / src / net / bowmap / transport / writers.clj
Pass player default value directly into player joined event
Commit: bf482fd014926f743dae8e51916d73cb8d8d550b
Parent: 4460dbb
2 changed files:
src/net/bowmap/protocol/handle.clj 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? falsesrc/net/bowmap/server/logic.clj 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]}]