     :z (-read-int conn)
     :instrumenttype (-read-byte conn)
     :pitch (-read-byte conn)))
+
+(defn read-packet-explosion [conn]
+  (let [prerecords (assoc {}
+                          :x (-read-int conn)
+                          :y (-read-short conn)
+                          :z (-read-int conn)
+                          :unknownradius (-read-byte conn)
+                          :recordcount (-read-byte conn))]
+    (assoc prerecords
+           :records (-read-bytearray conn
+                                     (* 3 (:recordcount prerecords))))))
 
 
 ; Reading Wrappers -----------------------------------------------------------------

        :multiblockchange          (read-packet-multiblockchange conn)
        :blockchange               (read-packet-blockchange conn)
        :playnoteblock             (read-packet-playnoteblock conn)

        :else (str "UNKNOWN PACKET TYPE: " packet-id)
        ))

  (-write-byte conn blocktype)
  (-write-byte conn blockmetadata))

(defn write-packet-explosion [conn {x :x y :y z :z unknownradius :unknownradius recordcount :recordcount records :records}]
  ; TODO: Implement this.
  nil)


; Writing Wrappers -----------------------------------------------------------------
(defn flushc [conn]
