b76d0fe
Branches > namespace-reorganization > b76d0fe > files / src / dev / grahp / build.clj
Always handle packets as a vector
Commit: b76d0fea287ab4c6cacaa3878979bbf81cada0b7
Parent: 9180d22
2 changed files:
src/net/bowmap/core.clj view file
@@ -24,12 +24,8 @@ (let [pk (sp/decode-packet! buf (::state/state client)) {:keys [::state/state response]} (handle/handle-packet pk client) client (cond-> client state (assoc ::state/state state))]- (when response- ;; TODO yeah :p- (if (vector? response)- (doseq [pk response]- (s/put! stream (encode-packet pk (::state/state client))))- (s/put! stream (encode-packet response (::state/state client)))))+ (doseq [pk response]+ (s/put! stream (encode-packet pk (::state/state client)))) (ByteBuf/.discardReadBytes buf) (recur client)) client))))src/net/bowmap/packet_handling.clj view file
@@ -17,28 +17,28 @@ {::state/state (:intent pk)}) (defmethod handle-packet ::sp/status-request [pk client]- {:response {::pk/id ::cp/status-response- :response {:version {:name "1.21.11"- :protocol 774}- :players {:max 1000- :online 0}- :description {:text "Bowmap!"}- :enforcesSecureChat false}}})+ {:response [{::pk/id ::cp/status-response+ :response {:version {:name "1.21.11"+ :protocol 774}+ :players {:max 1000+ :online 0}+ :description {:text "Bowmap!"}+ :enforcesSecureChat false}}]}) (defmethod handle-packet ::sp/ping-request [pk client]- {:response {::pk/id ::cp/pong-response- :timestamp (:timestamp pk)}})+ {:response [{::pk/id ::cp/pong-response+ :timestamp (:timestamp pk)}]}) (defmethod handle-packet ::sp/login-start [pk client]- {:response {::pk/id ::cp/login-success- :uuid (:uuid pk)- :username (:username pk)- :properties []}})+ {:response [{::pk/id ::cp/login-success+ :uuid (:uuid pk)+ :username (:username pk)+ :properties []}]}) (defmethod handle-packet ::sp/login-acknowledged [pk client] {::state/state ::state/config- :response {::pk/id ::cp/known-packs- :known-packs [{:namespace "minecraft" :id "core" :version "1.12.11"}]}})+ :response [{::pk/id ::cp/known-packs+ :known-packs [{:namespace "minecraft" :id "core" :version "1.12.11"}]}]}) (defmethod handle-packet ::sp/known-packs [pk client] {:response (conj (vec registry/registry-packets)