8763571

Bowmap · bowmap.git · Tickets

Branches > main > 8763571 > files / src / net / bowmap / server / protocol / packet_serialization.clj

Distinguish empty and unimplemented serverbound packets with nil

Grahp, 2026-09-24

Commit: 8763571c0c678634a54d281ac3f3ff1df981948d
Parent: 859a00c

1 changed file:

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

@@ -15,92 +15,92 @@    [::status-request []     ::ping-request [::p/timestamp long<]]    ::phase/login-   [::login-start []-    ::encryption-response []-    ::login-plugin-response []-    ::login-acknowledged []-    ::cookie-response []]+   [::login-start nil+    ::encryption-response nil+    ::login-plugin-response nil+    ::login-acknowledged nil+    ::cookie-response nil]    ::phase/config-   [::client-information []-    ::cookie-response []-    ::plugin-message []-    ::finish-config []-    ::keep-alive []-    ::pong []-    ::resource-pack-response []-    ::known-packs []-    ::custom-click-action []-    ::accept-code-of-conduct []]+   [::client-information nil+    ::cookie-response nil+    ::plugin-message nil+    ::finish-config nil+    ::keep-alive nil+    ::pong nil+    ::resource-pack-response nil+    ::known-packs nil+    ::custom-click-action nil+    ::accept-code-of-conduct nil]    ::phase/play-   [::confirm-teleportation []-    ::attack []-    ::query-block-entity-tag []-    ::bundle-item-selected []-    ::change-difficulty []-    ::change-game-mode []-    ::acknowledge-message []-    ::chat-command []-    ::signed-chat-command []-    ::chat-message []-    ::player-session []-    ::chunk-batch-received []-    ::client-status []-    ::client-tick-end []-    ::client-information []-    ::command-suggestions-request []-    ::acknowledge-configuration []-    ::click-container-button []-    ::click-container []-    ::close-container []-    ::change-container-slot-state []-    ::cookie-response []-    ::plugin-message []-    ::debug-subscription-request []-    ::edit-book []-    ::query-entity-tag []-    ::interact []-    ::jigsaw-generate []-    ::keep-alive []-    ::lock-difficulty []-    ::set-player-position []-    ::set-player-position-and-rotation []-    ::set-player-rotation []-    ::set-player-movement-flags []-    ::move-vehicle []-    ::paddle-boat []-    ::pick-item-from-block []-    ::pick-item-from-entity []-    ::ping-request []-    ::place-recipe []-    ::player-abilities []-    ::player-action []-    ::player-command []-    ::player-input []-    ::player-loaded []-    ::pong []-    ::change-recipe-book-settings []-    ::set-seen-recipe []-    ::rename-item []-    ::resource-pack-response []-    ::seen-advancements []-    ::select-trade []-    ::set-beacon-effect []-    ::select-hotbar-slot []-    ::program-command-block []-    ::program-command-block-minecart []-    ::set-creative-mode-slot []-    ::set-game-rules []-    ::program-jigsaw-block []-    ::program-structure-block []-    ::set-test-block []-    ::update-sign []-    ::spectator-action []-    ::swing-arm []-    ::teleport-to-entity []-    ::test-instance-block-action []-    ::use-item-on []-    ::use-item []-    ::custom-click-action []]})+   [::confirm-teleportation nil+    ::attack nil+    ::query-block-entity-tag nil+    ::bundle-item-selected nil+    ::change-difficulty nil+    ::change-game-mode nil+    ::acknowledge-message nil+    ::chat-command nil+    ::signed-chat-command nil+    ::chat-message nil+    ::player-session nil+    ::chunk-batch-received nil+    ::client-status nil+    ::client-tick-end nil+    ::client-information nil+    ::command-suggestions-request nil+    ::acknowledge-configuration nil+    ::click-container-button nil+    ::click-container nil+    ::close-container nil+    ::change-container-slot-state nil+    ::cookie-response nil+    ::plugin-message nil+    ::debug-subscription-request nil+    ::edit-book nil+    ::query-entity-tag nil+    ::interact nil+    ::jigsaw-generate nil+    ::keep-alive nil+    ::lock-difficulty nil+    ::set-player-position nil+    ::set-player-position-and-rotation nil+    ::set-player-rotation nil+    ::set-player-movement-flags nil+    ::move-vehicle nil+    ::paddle-boat nil+    ::pick-item-from-block nil+    ::pick-item-from-entity nil+    ::ping-request nil+    ::place-recipe nil+    ::player-abilities nil+    ::player-action nil+    ::player-command nil+    ::player-input nil+    ::player-loaded nil+    ::pong nil+    ::change-recipe-book-settings nil+    ::set-seen-recipe nil+    ::rename-item nil+    ::resource-pack-response nil+    ::seen-advancements nil+    ::select-trade nil+    ::set-beacon-effect nil+    ::select-hotbar-slot nil+    ::program-command-block nil+    ::program-command-block-minecart nil+    ::set-creative-mode-slot nil+    ::set-game-rules nil+    ::program-jigsaw-block nil+    ::program-structure-block nil+    ::set-test-block nil+    ::update-sign nil+    ::spectator-action nil+    ::swing-arm nil+    ::teleport-to-entity nil+    ::test-instance-block-action nil+    ::use-item-on nil+    ::use-item nil+    ::custom-click-action nil]})  (def phase->numeric-id->id (update-vals serverbound-packets #(zipmap (range) (take-nth 2 %)))) (def phase->id->reader (update-vals serverbound-packets #(-> (apply hash-map %)