schema.clj

Bowmap · bowmap.git · Tickets

Branches > main > d4a482d > files / src / net / bowmap / server / packet / schema.clj

(ns net.bowmap.server.packet.schema
  (:require
   [clojure.spec.alpha :as s]
   [net.bowmap.server.packet.identifier :refer [identifier?]]
   [net.bowmap.server.packet.nbt :as nbt]))

(s/def ::id qualified-keyword?)
(s/def ::packet (s/keys :opt [::id]))

(s/def ::identifier identifier?)

(s/def ::registry-id ::identifier)
(s/def ::registry-entries (s/coll-of ::registry-entry :kind sequential?))
(s/def ::registry-entry (s/map-of ::registry-entry-id ::registry-data))
(s/def ::registry-entry-id ::identifier)
(s/def ::registry-data ::nbt/nbt)