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
|
const ingredients = {
i: 'ingot',
l: 'log',
p: 'plank',
s: 'stick',
d: 'dust',
c: 'cobble',
C: 'chest',
S: 'string',
}
function recipe(...shape) {
return shape.map(line => Array.from(line).map(ch => {
if (ch === ' ') {
return null;
} else {
const item = ingredients[ch];
console.assert(!!item);
return item;
}
}));
}
export const recipes = {
helmet: recipe(
'iii',
'i i',
),
chestplate: recipe(
'i i',
'iii',
'iii',
),
leggings: recipe(
'iii',
'i i',
'i i',
),
boots: recipe(
'i i',
'i i',
),
plank: recipe(
'l',
),
stick: recipe(
'p',
'p',
),
pickaxe: recipe(
'ppp',
' s ',
' s ',
),
piston: recipe(
'ppp',
'cic',
'cdc',
),
chest: recipe(
'ppp',
'p p',
'ppp',
),
hopper: recipe(
'i i',
'iCi',
' i ',
),
rod: recipe(
' s',
' sS',
's S',
),
bow: recipe(
' sS',
's S',
' sS',
),
};
export const amounts = {
plank: 4,
stick: 4,
}
export const stackSizes = {
helmet: 1,
chestplate: 1,
leggings: 1,
boots: 1,
pickaxe: 1,
rod: 1,
bow: 1,
}
|