1e827df

Branches > refactor/use-spec-1 > 1e827df > files

Qualify registry packet

Grahp, 2026-06-03

Commit: 1e827df45dee06d67e91d86bc7610387da86e1ad
Parent: 5da38bd

4 changed files:

src/net/bowmap/message_application.clj modified (view file)

@@ -7,7 +7,7 @@    [net.bowmap.network.message :as msg]    [net.bowmap.network.message.client :as cl]    [net.bowmap.network.message.server :as srv]-   [net.bowmap.network.registry :as registry]+   [net.bowmap.network.message.registry :as registry]    [net.bowmap.network.state :as state]))  (S/def ::messages (s/coll-of ::msg/message :type vector?))

src/net/bowmap/network/message/client.clj modified (view file)

@@ -11,6 +11,7 @@             double-> enum-> float-> identifier-> int-> json-> length-prefixed             light-data-> list-> long-> nbt-> optional-> or-> position->             string-> table-> ubyte-> uuid-> varint->]]+   [net.bowmap.network.registry :as reg]    [net.bowmap.network.state :as state])   (:import    [io.netty.buffer Unpooled]))@@ -224,9 +225,9 @@                                                    :id string->                                                    :version string->]))] -     ::registry-data [:registry-id identifier->-                      :entries (list-> (table-> [:id identifier->-                                                 :data (optional-> nbt->)]))]+     ::registry-data [::reg/id identifier->+                      ::reg/entries (list-> (table-> [::reg/entry-id identifier->+                                                      ::reg/entry-data (optional-> nbt->)]))]      ::keep-alive [:id long->]      ::finish-config []      ::login [:entity-id int->@@ -243,6 +244,7 @@               :hashed-seed long->               ;; TODO :net.bowmap.gamemode ig?               :gamemode (enum-> ubyte-> {0 :survival 1 :creative 2 :adventure 3 :spectator})+              ;; Wonder if this should return a map instead where unknown is not present               :previous-gamemode (enum-> byte-> {-1 :unknown 0 :survival 1 :creative 2 :adventure 3 :spectator})               :debug-world? boolean->               :superflat-world? boolean->

src/net/bowmap/network/message/registry.clj added (view file)

@@ -0,0 +1,13 @@+(ns net.bowmap.network.message.registry+  (:require+   [net.bowmap.network.message :as msg]+   [net.bowmap.network.message.client :as client]+   [net.bowmap.network.registry :as reg]))++(def registry-messages+  (for [[id m] (partition 2 reg/registries)]+    {::msg/id ::client/registry-data+     ::reg/id id+     ::reg/entries (for [[entry-id data] m]+                {::reg/entry-id entry-id+                 ::reg/entry-data data})}))

src/net/bowmap/network/registry.clj modified (view file)

@@ -1,8 +1,6 @@ (ns net.bowmap.network.registry   (:require-   [net.bowmap.network.chunk :as chunk]-   [net.bowmap.network.message :as msg]-   [net.bowmap.network.message.client :as client]))+   [net.bowmap.network.chunk :as chunk]))  ;; Some way to keep track of order of these things and make that clear... ;; Probably a map of id -> order?@@ -86,12 +84,3 @@ #_(defn registry-id     "Function to get the ordered numerical id from a given registry id"     [id])--;; TODO this shouldn't be here :p-(def registry-messages-  (for [[id m] (partition 2 registries)]-    {::msg/id ::client/registry-data-     :registry-id id-     :entries (for [[entry-id data] m]-                {:id entry-id-                 :data data})}))