1
1
use crate :: args:: Args ;
2
- use crate :: block_definitions:: * ;
2
+ use crate :: block_definitions:: BLOCKS ;
3
3
use crate :: bresenham:: bresenham_line;
4
4
use crate :: cartesian:: XZPoint ;
5
5
use crate :: floodfill:: flood_fill_area;
@@ -35,20 +35,20 @@ pub fn generate_amenities(
35
35
"waste_disposal" | "waste_basket" => {
36
36
// Place a cauldron for waste disposal or waste basket
37
37
if let Some ( pt) = first_node {
38
- editor. set_block ( CAULDRON , pt. x , ground. level ( pt) + 1 , pt. z , None , None ) ;
38
+ editor. set_block ( BLOCKS . by_name ( "cauldron" ) . unwrap ( ) , pt. x , ground. level ( pt) + 1 , pt. z , None , None ) ;
39
39
}
40
40
}
41
41
"vending_machine" | "atm" => {
42
42
if let Some ( pt) = first_node {
43
43
let y = ground. level ( pt) ;
44
44
45
- editor. set_block ( IRON_BLOCK , pt. x , y + 1 , pt. z , None , None ) ;
46
- editor. set_block ( IRON_BLOCK , pt. x , y + 2 , pt. z , None , None ) ;
45
+ editor. set_block ( BLOCKS . by_name ( "iron_block" ) . unwrap ( ) , pt. x , y + 1 , pt. z , None , None ) ;
46
+ editor. set_block ( BLOCKS . by_name ( "iron_block" ) . unwrap ( ) , pt. x , y + 2 , pt. z , None , None ) ;
47
47
}
48
48
}
49
49
"bicycle_parking" => {
50
- let ground_block: Block = OAK_PLANKS ;
51
- let roof_block: Block = STONE_BLOCK_SLAB ;
50
+ let ground_block = BLOCKS . by_name ( "oak_planks" ) . unwrap ( ) ;
51
+ let roof_block = BLOCKS . by_name ( "stone_block_slab" ) . unwrap ( ) ;
52
52
53
53
let polygon_coords: Vec < ( i32 , i32 ) > = element
54
54
. nodes ( )
@@ -82,7 +82,7 @@ pub fn generate_amenities(
82
82
editor. set_block ( ground_block, x, y, z, None , None ) ;
83
83
84
84
for cur_y in ( y_min + 1 ) ..roof_y {
85
- editor. set_block ( OAK_FENCE , x, cur_y, z, None , None ) ;
85
+ editor. set_block ( BLOCKS . by_name ( "oak_fence" ) . unwrap ( ) , x, cur_y, z, None , None ) ;
86
86
}
87
87
editor. set_block ( roof_block, x, roof_y, z, None , None ) ;
88
88
}
@@ -97,22 +97,22 @@ pub fn generate_amenities(
97
97
if let Some ( pt) = first_node {
98
98
let y = ground. level ( pt) + 1 ;
99
99
100
- editor. set_block ( SMOOTH_STONE , pt. x , y, pt. z , None , None ) ;
101
- editor. set_block ( OAK_LOG , pt. x + 1 , y, pt. z , None , None ) ;
102
- editor. set_block ( OAK_LOG , pt. x - 1 , y, pt. z , None , None ) ;
100
+ editor. set_block ( BLOCKS . by_name ( "smooth_stone" ) . unwrap ( ) , pt. x , y, pt. z , None , None ) ;
101
+ editor. set_block ( BLOCKS . by_name ( "oak_log" ) . unwrap ( ) , pt. x + 1 , y, pt. z , None , None ) ;
102
+ editor. set_block ( BLOCKS . by_name ( "oak_log" ) . unwrap ( ) , pt. x - 1 , y, pt. z , None , None ) ;
103
103
}
104
104
}
105
105
"vending" => {
106
106
// Place vending machine blocks
107
107
if let Some ( pt) = first_node {
108
108
let y = ground. level ( pt) ;
109
109
110
- editor. set_block ( IRON_BLOCK , pt. x , y + 1 , pt. z , None , None ) ;
111
- editor. set_block ( IRON_BLOCK , pt. x , y + 2 , pt. z , None , None ) ;
110
+ editor. set_block ( BLOCKS . by_name ( "iron_block" ) . unwrap ( ) , pt. x , y + 1 , pt. z , None , None ) ;
111
+ editor. set_block ( BLOCKS . by_name ( "iron_block" ) . unwrap ( ) , pt. x , y + 2 , pt. z , None , None ) ;
112
112
}
113
113
}
114
114
"shelter" => {
115
- let roof_block: Block = STONE_BRICK_SLAB ;
115
+ let roof_block = BLOCKS . by_name ( "stone_brick_slab" ) . unwrap ( ) ;
116
116
117
117
let polygon_coords: Vec < ( i32 , i32 ) > = element
118
118
. nodes ( )
@@ -131,7 +131,7 @@ pub fn generate_amenities(
131
131
} ;
132
132
133
133
for fence_height in 1 ..=4 {
134
- editor. set_block ( OAK_FENCE , x, y + fence_height, z, None , None ) ;
134
+ editor. set_block ( BLOCKS . by_name ( "oak_fence" ) . unwrap ( ) , x, y + fence_height, z, None , None ) ;
135
135
}
136
136
editor. set_block ( roof_block, x, y + 5 , z, None , None ) ;
137
137
}
@@ -153,9 +153,9 @@ pub fn generate_amenities(
153
153
let mut current_amenity: Vec < ( i32 , i32 ) > = vec ! [ ] ;
154
154
155
155
let block_type = match amenity_type. as_str ( ) {
156
- "fountain" => WATER ,
157
- "parking" => GRAY_CONCRETE ,
158
- _ => GRAY_CONCRETE ,
156
+ "fountain" => BLOCKS . by_name ( "water" ) . unwrap ( ) ,
157
+ "parking" => BLOCKS . by_name ( "gray_concrete" ) . unwrap ( ) ,
158
+ _ => BLOCKS . by_name ( "gray_concrete" ) . unwrap ( ) ,
159
159
} ;
160
160
161
161
for node in element. nodes ( ) {
@@ -168,15 +168,15 @@ pub fn generate_amenities(
168
168
let bresenham_points: Vec < ( i32 , i32 , i32 ) > =
169
169
bresenham_line ( prev. x , prev_y, prev. z , pt. x , y, pt. z ) ;
170
170
for ( bx, by, bz) in bresenham_points {
171
- editor. set_block ( block_type, bx, by, bz, Some ( & [ BLACK_CONCRETE ] ) , None ) ;
171
+ editor. set_block ( block_type, bx, by, bz, Some ( & [ BLOCKS . by_name ( "black_concrete" ) . unwrap ( ) ] ) , None ) ;
172
172
173
173
// Decorative border around fountains
174
174
if amenity_type == "fountain" {
175
175
for dx in [ -1 , 0 , 1 ] . iter ( ) {
176
176
for dz in [ -1 , 0 , 1 ] . iter ( ) {
177
177
if ( * dx, * dz) != ( 0 , 0 ) {
178
178
editor. set_block (
179
- LIGHT_GRAY_CONCRETE ,
179
+ BLOCKS . by_name ( "light_gray_concrete" ) . unwrap ( ) ,
180
180
bx + dx,
181
181
by,
182
182
bz + dz,
@@ -211,18 +211,18 @@ pub fn generate_amenities(
211
211
x,
212
212
y,
213
213
z,
214
- Some ( & [ BLACK_CONCRETE , GRAY_CONCRETE ] ) ,
214
+ Some ( & [ BLOCKS . by_name ( "black_concrete" ) . unwrap ( ) , BLOCKS . by_name ( "gray_concrete" ) . unwrap ( ) ] ) ,
215
215
None ,
216
216
) ;
217
217
218
218
// Add parking spot markings
219
219
if amenity_type == "parking" && ( x + z) % 8 == 0 && ( x * z) % 32 != 0 {
220
220
editor. set_block (
221
- LIGHT_GRAY_CONCRETE ,
221
+ BLOCKS . by_name ( "light_gray_concrete" ) . unwrap ( ) ,
222
222
x,
223
223
y,
224
224
z,
225
- Some ( & [ BLACK_CONCRETE , GRAY_CONCRETE ] ) ,
225
+ Some ( & [ BLOCKS . by_name ( "black_concrete" ) . unwrap ( ) , BLOCKS . by_name ( "gray_concrete" ) . unwrap ( ) ] ) ,
226
226
None ,
227
227
) ;
228
228
}
0 commit comments