Block and item type mappings.
author |
Steve Losh <steve@stevelosh.com> |
date |
Wed, 03 Aug 2011 20:14:46 -0400 |
parents |
3a6904455feb
|
children |
085e63240d4f
|
branches/tags |
(none) |
files |
src/clojurecraft/core.clj src/clojurecraft/mappings.clj src/clojurecraft/util.clj |
Changes
--- a/src/clojurecraft/core.clj Wed Aug 03 19:30:42 2011 -0400
+++ b/src/clojurecraft/core.clj Wed Aug 03 20:14:46 2011 -0400
@@ -116,4 +116,3 @@
(defn disconnect [bot]
(dosync (alter (:connection bot) merge {:exit true})))
-
--- a/src/clojurecraft/mappings.clj Wed Aug 03 19:30:42 2011 -0400
+++ b/src/clojurecraft/mappings.clj Wed Aug 03 20:14:46 2011 -0400
@@ -1,4 +1,6 @@
-(ns clojurecraft.mappings)
+(ns clojurecraft.mappings
+ (:use [clojurecraft.util]))
+
(def packet-types {
0x00 :keepalive
@@ -59,5 +61,215 @@
0xC8 :incrementstatistic
0xFF :disconnectkick
})
+(def packet-ids (invert packet-types))
-(def packet-ids (apply assoc {} (mapcat reverse packet-types)))
+(def block-types {
+ -1 nil
+ 0x00 :air
+ 0x01 :stone
+ 0x02 :grass
+ 0x03 :dirt
+ 0x04 :cobblestone
+ 0x05 :planks
+ 0x06 :sapling
+ 0x07 :bedrock
+ 0x08 :water
+ 0x09 :stationary-water
+ 0x0A :lava
+ 0x0B :stationary-lava
+ 0x0C :sand
+ 0x0D :gravel
+ 0x0E :gold-ore
+ 0x0F :iron-ore
+ 0x10 :coal-ore
+ 0x11 :wood
+ 0x12 :leaves
+ 0x13 :sponge
+ 0x14 :glass
+ 0x15 :lapis-ore
+ 0x16 :lapis-block
+ 0x17 :dispenser
+ 0x18 :sandstone
+ 0x19 :note
+ 0x1A :bed
+ 0x1B :powered-rail
+ 0x1C :detector-rail
+ 0x1D :sticky-piston
+ 0x1E :cobweb
+ 0x1F :tall-grass
+ 0x20 :shrub
+ 0x21 :piston
+ 0x22 :piston-head
+ 0x23 :wool
+ 0x25 :flower-yellow
+ 0x26 :flower-red
+ 0x27 :mushroom-brown
+ 0x28 :mushroom-red
+ 0x29 :gold-block
+ 0x2A :iron-block
+ 0x2B :double-slab
+ 0x2C :slab
+ 0x2D :brick
+ 0x2E :tnt
+ 0x2F :books
+ 0x30 :mossy-cobblestone
+ 0x31 :obsidian
+ 0x32 :torch
+ 0x33 :fire
+ 0x34 :spawner
+ 0x35 :wood-stairs
+ 0x36 :chest
+ 0x37 :redstone-wire
+ 0x38 :diamond-ore
+ 0x39 :diamond-block
+ 0x3A :crafting-table
+ 0x3B :wheat
+ 0x3C :farmland
+ 0x3D :furnace
+ 0x3E :furnace-lit
+ 0x3F :sign-standing
+ 0x40 :wood-door
+ 0x41 :ladder
+ 0x42 :rail
+ 0x43 :cobblestone-stairs
+ 0x44 :sign-wall
+ 0x45 :lever
+ 0x46 :stone-plate
+ 0x47 :iron-door
+ 0x48 :wood-plate
+ 0x49 :redstone-ore
+ 0x4A :redstone-ore-glowing
+ 0x4B :redstone-torch-off
+ 0x4C :redstone-torch-on
+ 0x4D :stone-button
+ 0x4E :snow
+ 0x4F :ice
+ 0x50 :snow-block
+ 0x51 :cactus
+ 0x52 :clay
+ 0x53 :reeds
+ 0x54 :jukebox
+ 0x55 :fence
+ 0x56 :pumpkin
+ 0x57 :netherrack
+ 0x58 :soulsand
+ 0x59 :glowstone
+ 0x5A :portal
+ 0x5B :jackolantern
+ 0x5C :cake
+ 0x5D :repeater-off
+ 0x5E :repeater-off
+ 0x60 :hatch
+})
+(def block-ids (invert block-types))
+
+(def item-types {
+ -1 nil
+ 0x100 :iron-shovel
+ 0x101 :iron-pick
+ 0x102 :iron-axe
+ 0x103 :flint-and-steel
+ 0x104 :apple
+ 0x105 :box
+ 0x106 :arrow
+ 0x107 :coal
+ 0x108 :diamond
+ 0x109 :iron-ingot
+ 0x10A :gold-ingot
+ 0x10B :gold-sword
+ 0x10C :wood-sword
+ 0x10D :wood-shovel
+ 0x10E :wood-pick
+ 0x10F :wood-axe
+ 0x110 :stone-sword
+ 0x111 :stone-shovel
+ 0x112 :stone-pick
+ 0x113 :stone-axe
+ 0x114 :diamond-sword
+ 0x115 :diamond-shovel
+ 0x116 :diamond-pick
+ 0x117 :diamond-axe
+ 0x118 :stick
+ 0x119 :bowl
+ 0x11A :mushroom-stew
+ 0x11B :gold-sword
+ 0x11C :gold-shovel
+ 0x11D :gold-pick
+ 0x11E :gold-axe
+ 0x11F :string
+ 0x120 :feather
+ 0x121 :gunpowder
+ 0x122 :wood-hoe
+ 0x123 :stone-hoe
+ 0x124 :iron-hoe
+ 0x125 :diamond-hoe
+ 0x126 :gold-hoe
+ 0x127 :seeds
+ 0x128 :wheat
+ 0x129 :bread
+ 0x12A :leather-helm
+ 0x12B :leather-chestplate
+ 0x12C :leather-leggings
+ 0x12D :leather-boots
+ 0x12E :chain-helm
+ 0x12F :chain-chestplate
+ 0x130 :chain-leggings
+ 0x131 :chain-boots
+ 0x132 :iron-helm
+ 0x133 :iron-chestplate
+ 0x134 :iron-leggings
+ 0x135 :iron-boots
+ 0x136 :diamond-helm
+ 0x137 :diamond-chestplate
+ 0x138 :diamond-leggings
+ 0x139 :diamond-boots
+ 0x13A :gold-helm
+ 0x13B :gold-chestplate
+ 0x13C :gold-leggings
+ 0x13D :gold-boots
+ 0x13E :flint
+ 0x13F :pork-raw
+ 0x140 :pork-cooked
+ 0x141 :painting
+ 0x142 :golden-apple
+ 0x143 :sign
+ 0x144 :wood-door
+ 0x145 :bucket
+ 0x146 :bucket-water
+ 0x147 :bucket-lava
+ 0x148 :minecart
+ 0x149 :saddle
+ 0x14A :iron-door
+ 0x14B :redstone
+ 0x14C :snowball
+ 0x14D :boat
+ 0x14E :leader
+ 0x14F :bucket-milk
+ 0x150 :brick
+ 0x151 :clay
+ 0x152 :reeds
+ 0x153 :paper
+ 0x154 :book
+ 0x155 :slimeball
+ 0x156 :minecart-storage
+ 0x157 :minecart-powered
+ 0x158 :egg
+ 0x159 :compass
+ 0x15A :fishing-rod
+ 0x15B :clock
+ 0x15C :glowstone-dust
+ 0x15D :fish-raw
+ 0x15E :fish-cooked
+ 0x15F :ink-sac
+ 0x160 :bone
+ 0x161 :sugar
+ 0x162 :cake
+ 0x163 :bed
+ 0x164 :repeater
+ 0x165 :cookie
+ 0x166 :map
+ 0x167 :shears
+ 0x8D0 :record-gold
+ 0x8D1 :record-green
+})
+(def item-ids (invert item-types))
--- a/src/clojurecraft/util.clj Wed Aug 03 19:30:42 2011 -0400
+++ b/src/clojurecraft/util.clj Wed Aug 03 20:14:46 2011 -0400
@@ -4,3 +4,6 @@
`(let [result# (~@body)]
(println result#)
result#))
+
+(defn invert [m]
+ (apply assoc {} (mapcat reverse m)))