e234a79
Branches > main > e234a79 > files / src / net / bowmap / transport
Update function names
Commit: e234a79a4f7cdc7db9a4014c19206b6dd72ec683
Parent: 9df6982
3 changed files:
src/net/bowmap/protocol/entity.clj view file
@@ -6,5 +6,5 @@ (s/def ::id pos-int?) (defonce highest-entity-id (ref 0)) -(defn next-entity-id! []+(defn next-entity-id [] (dosync (commute highest-entity-id inc)))src/net/bowmap/protocol/handle.clj view file
@@ -15,27 +15,28 @@ [net.bowmap.server.server :as server] [net.bowmap.stormbow.event :as event])) -(defmulti handle-packet+(defmulti interpret-packet+ "Interprets one serverbound packet, returns a map of [:client :packets :events :keep-alive?]" (fn [client packet] (::pk/id packet))) -(defmethod handle-packet :default [_ _]+(defmethod interpret-packet :default [_ _] {}) -(defmethod handle-packet ::serverbound/handshaking [client pk]+(defmethod interpret-packet ::serverbound/handshaking [client pk] (let [{:keys! [intent protocol]} pk] {:client (assoc client ::state/connection-state intent :protocol-id protocol)})) -(defmethod handle-packet ::serverbound/status-request [_ _]+(defmethod interpret-packet ::serverbound/status-request [_ _] {:events [{::event/id ::event/server-list-requested}]}) -(defmethod handle-packet ::serverbound/ping-request [_ pk]+(defmethod interpret-packet ::serverbound/ping-request [_ pk] {:packets [{::pk/id ::clientbound/pong-response :timestamp (:timestamp pk)}]}) -(defmethod handle-packet ::serverbound/login-start [client pk]+(defmethod interpret-packet ::serverbound/login-start [client pk] (let [{:keys! [uuid username]} pk] {:client (assoc client ::player/uuid uuid) :packets [{::pk/id ::clientbound/login-success@@ -44,7 +45,7 @@ :properties []} :session-id (random-uuid)}]})) -(defmethod handle-packet ::serverbound/login-acknowledged [client _]+(defmethod interpret-packet ::serverbound/login-acknowledged [client _] {:client (assoc client ::state/connection-state ::state/config) :packets [{::pk/id ::clientbound/known-packs ;; TODO also probably good to unbundle this@@ -52,7 +53,7 @@ :id "core" :version "26.2"}]}]}) -(defmethod handle-packet ::serverbound/known-packs [_ _]+(defmethod interpret-packet ::serverbound/known-packs [_ _] {:packets (conj (registry/registry-and-tag-packets) {::pk/id ::clientbound/finish-config})}) @@ -80,10 +81,10 @@ :chunk-x x :chunk-z z)))) -(defmethod handle-packet ::serverbound/finish-config [client _]+(defmethod interpret-packet ::serverbound/finish-config [client _] ; TODO shit, this is not a pure function! ; I'm just going to pretend like this is a pure function for now.- (let [entity-id (entity/next-entity-id!)+ (let [entity-id (entity/next-entity-id) uuid (req! client ::player/uuid) client (assoc client ::state/connection-state ::state/play@@ -96,7 +97,8 @@ ::player/uuid uuid}] {:client client :events [{::event/id ::event/player-joined- ::player/player player}]+ ; This one event passing a player value itself rather than a uuid I don't like...+ ::player/player player}] :packets (-> [{::pk/id ::clientbound/login :entity-id entity-id :hardcore? false@@ -142,14 +144,14 @@ ::player/uuid uuid ::position/position movement})]}) -(defmethod handle-packet ::serverbound/set-player-rotation [client pk]+(defmethod interpret-packet ::serverbound/set-player-rotation [client pk] (handle-player-update-movement-packet client pk)) -(defmethod handle-packet ::serverbound/set-player-position-and-rotation [client pk]+(defmethod interpret-packet ::serverbound/set-player-position-and-rotation [client pk] (handle-player-update-movement-packet client pk)) -(defmethod handle-packet ::serverbound/set-player-position [client pk]+(defmethod interpret-packet ::serverbound/set-player-position [client pk] (handle-player-update-movement-packet client pk)) -(defmethod handle-packet ::serverbound/set-player-movement-flags [client pk]+(defmethod interpret-packet ::serverbound/set-player-movement-flags [client pk] (handle-player-update-movement-packet client pk))src/net/bowmap/protocol/server.clj view file
@@ -26,7 +26,7 @@ serverbound-frames ([frame] (when (some? frame) (let [packet (decode-packet! frame (::state/connection-state client))- {:keys [client packets events keep-alive?] :or {:client client}} (handle/handle-packet client packet)]+ {:keys [client packets events keep-alive?] :or {:client client}} (handle/interpret-packet client packet)] ; TODO probably want to clean up this side effecting stuff (doseq [pk packets] (put! clientbound-packets pk))