@@ -52,21 +52,21 @@ macro_rules! define_blocks {
52
52
(
53
53
$(
54
54
$name: ident {
55
- $( modid $modid: expr, ) *
55
+ $( modid $modid: expr, ) ?
56
56
props {
57
57
$(
58
58
$fname: ident : $ftype: ty = [ $( $val: expr) ,+] ,
59
59
) *
60
60
} ,
61
- $( data $datafunc: expr, ) *
62
- $( offset $offsetfunc: expr, ) *
63
- $( material $mat: expr, ) *
61
+ $( data $datafunc: expr, ) ?
62
+ $( offset $offsetfunc: expr, ) ?
63
+ $( material $mat: expr, ) ?
64
64
model $model: expr,
65
- $( variant $variant: expr, ) *
66
- $( tint $tint: expr, ) *
67
- $( collision $collision: expr, ) *
68
- $( update_state ( $world: ident, $pos: ident) => $update_state: expr, ) *
69
- $( multipart ( $mkey: ident, $mval: ident) => $multipart: expr, ) *
65
+ $( variant $variant: expr, ) ?
66
+ $( tint $tint: expr, ) ?
67
+ $( collision $collision: expr, ) ?
68
+ $( update_state ( $world: ident, $pos: ident) => $update_state: expr, ) ?
69
+ $( multipart ( $mkey: ident, $mval: ident) => $multipart: expr, ) ?
70
70
}
71
71
) +
72
72
) => (
@@ -76,7 +76,7 @@ macro_rules! define_blocks {
76
76
$name {
77
77
$(
78
78
$fname : $ftype,
79
- ) *
79
+ ) ?
80
80
} ,
81
81
) +
82
82
}
@@ -90,7 +90,7 @@ macro_rules! define_blocks {
90
90
match * self {
91
91
$(
92
92
Block :: $name {
93
- $( $fname, ) *
93
+ $( $fname, ) ?
94
94
} => {
95
95
internal_ids:: $name
96
96
}
@@ -103,12 +103,12 @@ macro_rules! define_blocks {
103
103
match * self {
104
104
$(
105
105
Block :: $name {
106
- $( $fname, ) *
106
+ $( $fname, ) ?
107
107
} => {
108
108
$(
109
109
let data: Option <usize > = ( $datafunc) . map( |v| v) ;
110
110
return data;
111
- ) *
111
+ ) ?
112
112
Some ( 0 )
113
113
}
114
114
) +
@@ -120,16 +120,16 @@ macro_rules! define_blocks {
120
120
match * self {
121
121
$(
122
122
Block :: $name {
123
- $( $fname, ) *
123
+ $( $fname, ) ?
124
124
} => {
125
125
$(
126
126
let offset: Option <usize > = ( $offsetfunc) . map( |v| v) ;
127
127
return offset;
128
- ) *
128
+ ) ?
129
129
$(
130
130
let data: Option <usize > = ( $datafunc) . map( |v| v) ;
131
131
return data;
132
- ) *
132
+ ) ?
133
133
Some ( 0 )
134
134
}
135
135
) +
@@ -141,11 +141,11 @@ macro_rules! define_blocks {
141
141
match * self {
142
142
$(
143
143
Block :: $name {
144
- $( $fname, ) *
144
+ $( $fname, ) ?
145
145
} => {
146
146
$(
147
147
return Some ( $modid) ;
148
- ) *
148
+ ) ?
149
149
None
150
150
}
151
151
) +
@@ -181,9 +181,9 @@ macro_rules! define_blocks {
181
181
match * self {
182
182
$(
183
183
Block :: $name {
184
- $( $fname, ) *
184
+ $( $fname, ) ?
185
185
} => {
186
- $( return $mat; ) *
186
+ $( return $mat; ) ?
187
187
material:: SOLID
188
188
}
189
189
) +
@@ -195,7 +195,7 @@ macro_rules! define_blocks {
195
195
match * self {
196
196
$(
197
197
Block :: $name {
198
- $( $fname, ) *
198
+ $( $fname, ) ?
199
199
} => {
200
200
let parts = $model;
201
201
( String :: from( parts. 0 ) , String :: from( parts. 1 ) )
@@ -209,9 +209,9 @@ macro_rules! define_blocks {
209
209
match * self {
210
210
$(
211
211
Block :: $name {
212
- $( $fname, ) *
212
+ $( $fname, ) ?
213
213
} => {
214
- $( return String :: from( $variant) ; ) *
214
+ $( return String :: from( $variant) ; ) ?
215
215
"normal" . to_owned( )
216
216
}
217
217
) +
@@ -223,9 +223,9 @@ macro_rules! define_blocks {
223
223
match * self {
224
224
$(
225
225
Block :: $name {
226
- $( $fname, ) *
226
+ $( $fname, ) ?
227
227
} => {
228
- $( return $tint; ) *
228
+ $( return $tint; ) ?
229
229
TintType :: Default
230
230
}
231
231
) +
@@ -237,9 +237,9 @@ macro_rules! define_blocks {
237
237
match * self {
238
238
$(
239
239
Block :: $name {
240
- $( $fname, ) *
240
+ $( $fname, ) ?
241
241
} => {
242
- $( return $collision; ) *
242
+ $( return $collision; ) ?
243
243
vec![ Aabb3 :: new(
244
244
Point3 :: new( 0.0 , 0.0 , 0.0 ) ,
245
245
Point3 :: new( 1.0 , 1.0 , 1.0 )
@@ -254,15 +254,15 @@ macro_rules! define_blocks {
254
254
match * self {
255
255
$(
256
256
Block :: $name {
257
- $( $fname, ) *
257
+ $( $fname, ) ?
258
258
} => {
259
259
$(
260
260
let $world = world;
261
261
let $pos = pos;
262
262
return $update_state;
263
- ) *
263
+ ) ?
264
264
Block :: $name {
265
- $( $fname: $fname, ) *
265
+ $( $fname: $fname, ) ?
266
266
}
267
267
}
268
268
) +
@@ -274,13 +274,13 @@ macro_rules! define_blocks {
274
274
match * self {
275
275
$(
276
276
Block :: $name {
277
- $( $fname, ) *
277
+ $( $fname, ) ?
278
278
} => {
279
279
$(
280
280
let $mkey = key;
281
281
let $mval = val;
282
282
return $multipart;
283
- ) *
283
+ ) ?
284
284
false
285
285
}
286
286
) +
@@ -307,15 +307,15 @@ macro_rules! define_blocks {
307
307
}
308
308
#[ allow( non_camel_case_types) ]
309
309
struct CombinationIterState <$( $fname) ,* > {
310
- $( $fname: $fname, ) *
310
+ $( $fname: $fname, ) ?
311
311
}
312
312
#[ allow( non_camel_case_types) ]
313
313
struct CombinationIterOrig <$( $fname) ,* > {
314
- $( $fname: $fname, ) *
314
+ $( $fname: $fname, ) ?
315
315
}
316
316
#[ allow( non_camel_case_types) ]
317
317
struct CombinationIterCurrent {
318
- $( $fname: $ftype, ) *
318
+ $( $fname: $ftype, ) ?
319
319
}
320
320
321
321
#[ allow( non_camel_case_types) ]
@@ -332,7 +332,7 @@ macro_rules! define_blocks {
332
332
return Some ( Block :: $name {
333
333
$(
334
334
$fname: self . current. $fname,
335
- ) *
335
+ ) ?
336
336
} ) ;
337
337
}
338
338
let mut has_value = false ;
@@ -345,15 +345,15 @@ macro_rules! define_blocks {
345
345
}
346
346
self . state. $fname = self . orig. $fname. clone( ) ;
347
347
self . current. $fname = self . state. $fname. next( ) . unwrap( ) ;
348
- ) *
348
+ ) ?
349
349
self . finished = true ;
350
350
return None ;
351
351
}
352
352
if has_value {
353
353
Some ( Block :: $name {
354
354
$(
355
355
$fname: self . current. $fname,
356
- ) *
356
+ ) ?
357
357
} )
358
358
} else {
359
359
None
@@ -368,13 +368,13 @@ macro_rules! define_blocks {
368
368
finished: false ,
369
369
first: true ,
370
370
orig: CombinationIterOrig {
371
- $( $fname: $fname. clone( ) , ) *
371
+ $( $fname: $fname. clone( ) , ) ?
372
372
} ,
373
373
current: CombinationIterCurrent {
374
- $( $fname: $fname. next( ) . unwrap( ) , ) *
374
+ $( $fname: $fname. next( ) . unwrap( ) , ) ?
375
375
} ,
376
376
state: CombinationIterState {
377
- $( $fname: $fname, ) *
377
+ $( $fname: $fname, ) ?
378
378
}
379
379
}
380
380
}
0 commit comments