summaryrefslogtreecommitdiff
path: root/server/blocks.go
blob: bd4bbdaf88619c5a1af601366dcd7817075f14ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
package server

const (
	blockAir = iota
	blockStone
	blockGrass
	blockDirt
	blockCobblestone
	blockPlanks
	blockSapling
	blockBedrock
	blockWater
	blockStillWater // yep, it's still water
	blockLava
	blockStillLava
	blockSand
	blockGravel
	blockGoldOre
	blockIronOre
	blockCoalOre
	blockWood
	blockLeaves
	blockSponge
	blockGlass
	blockRedWool
	blockOrangeWool
	blockYellowWool
	blockLimeWool
	blockGreenWool
	blockTealWool
	blockAquaWool
	blockCyanWool // sorry, heav
	blockBlueWool
	blockIndigoWool
	blockVioletWool
	blockMagentaWool
	blockPinkWool
	blockBlackWool
	blockGrayWool
	blockWhiteWool
	blockDandelion
	blockRose
	blockBrownMushroom
	blockRedMushroom
	blockGold
	blockIron
	blockDoubleSlab
	blockSlab
	blockBricks
	blockTnt
	blockBookshelf
	blockMossyRocks // because it rocks
	blockObsidian
	blockCobblestoneSlab
	blockRope
	blockSandstone
	blockSnow
	blockFire
	blockLightPinkWool
	blockForestGreenWool
	blockBrownWool
	blockDeepBlueWool
	blockTurquoiseWool
	blockIce
	blockTile
	blockMagma
	blockPillar
	blockCrate
	blockStoneBricks
	// custom blocks
	blockMossyStoneBricks
	blockCrackedStoneBricks
	blockPolishedStone
	blockPumpkin
	blockJackOLantern; _; _; _
	blockTopSlab
	blockStoneSlab; _
	blockWoodSlab; _
	blockCobblestoneTopSlab
//	blockWoodPole
//	blockStonePole
//	blockCobblestonePole
//	blockWoodStair
//	blockStoneStair
//	blockCobblestoneStair
)

var blockDefinitions = map[blockType]blockDef {
	blockStone: blockDef {
		Name: "Stone",
		Solidity: solid,
		MovementSpeed: 128,
		WalkSound: stoneSound,
		Textures: [6]textureId {0x01, fillTextures},
	},
	blockPlanks: blockDef {
		Name: "Wood",
		Solidity: solid,
		MovementSpeed: 128,
		WalkSound: woodSound,
		Textures: [6]textureId {0x04, fillTextures},
	},
	blockCobblestone: blockDef {
		Name: "Cobblestone",
		Solidity: solid,
		MovementSpeed: 128,
		WalkSound: stoneSound,
		Textures: [6]textureId {0x10, fillTextures},
	},
	blockDoubleSlab: blockDef {
		Name: "Double Polished Stone Slab",
		Solidity: solid,
		MovementSpeed: 128,
		WalkSound: stoneSound,
		Textures: [6]textureId {0x06, 0x05, 0x05, 0x05, 0x05, 0x06},
	},
	blockMossyStoneBricks: blockDef {
		Name: "Mossy Stone Bricks",
		Solidity: solid,
		MovementSpeed: 128,
		WalkSound: stoneSound,
		Textures: [6]textureId {0x2d, fillTextures},
	},
	blockCrackedStoneBricks: blockDef {
		Name: "Cracked Stone Bricks",
		Solidity: solid,
		MovementSpeed: 128,
		WalkSound: stoneSound,
		Textures :[6]textureId {0x2e, fillTextures},
	},
	blockPolishedStone: blockDef {
		Name: "Polished Stone",
		Solidity: solid,
		MovementSpeed: 128,
		WalkSound: stoneSound,
		Textures: [6]textureId {0x06, fillTextures},
	},
	blockPumpkin: blockDef {
		Name: "Pumpkin",
		Solidity: solid,
		MovementSpeed: 128,
		WalkSound: woodSound,
		Textures: [6]textureId {0x2b, 0x3b, fillTextures},
	},
	blockJackOLantern: blockDef {
		Name: "Jack-o'-Lantern",
		Solidity: solid,
		MovementSpeed: 128,
		WalkSound: woodSound,
		Textures: [6]textureId {0x2b, 0x3c, 0x3b, 0x3b, 0x3b, 0x3b},
	},
}

func init() {
	makeRotations(blockJackOLantern)
	makeSlabs(blockDoubleSlab, blockTopSlab, "Polished Stone Slab")
	makeSlabs(blockCobblestone, blockCobblestoneTopSlab, "")
	makeSlabs(blockPlanks, blockWoodSlab, "")
	makeSlabs(blockStone, blockStoneSlab, "")
}

var inventoryList = []blockType {
	blockStone, blockGrass, blockDirt, blockCobblestone, blockPlanks,
	blockSapling, blockBedrock, blockWater, blockLava, blockSand, blockGravel,
	blockGoldOre, blockIronOre, blockCoalOre, blockWood, blockLeaves,
	blockSponge, blockGlass, blockGold, blockIron, blockRedWool,
	blockOrangeWool, blockYellowWool, blockLimeWool, blockGreenWool,
	blockTealWool, blockAquaWool, blockCyanWool, blockBlueWool,
	blockIndigoWool, blockVioletWool, blockMagentaWool, blockPinkWool,
	blockBlackWool, blockGrayWool, blockWhiteWool, blockLightPinkWool,
	blockForestGreenWool, blockBrownWool, blockDeepBlueWool,
	blockTurquoiseWool, blockDandelion, blockRose, blockBrownMushroom,
	blockRedMushroom, blockBricks, blockTnt, blockBookshelf, blockMossyRocks,
	blockObsidian, blockRope, blockSandstone, blockSnow, blockFire, blockIce,
	blockTile, blockMagma, blockPillar, blockCrate, blockStoneBricks,
	blockMossyStoneBricks, blockCrackedStoneBricks, blockPolishedStone,
	blockDoubleSlab, blockSlab, blockStoneSlab, blockCobblestoneSlab,
	blockWoodSlab, blockPumpkin, blockJackOLantern,
}