]> git.lizzy.rs Git - dragonblocks.git/blob - game/core/init.js
8bd88439045d19c467991a02797c3cef13bcf98b
[dragonblocks.git] / game / core / init.js
1 dragonblocks.registerNode({
2         name: "core:stone",
3         stable: true,
4         texture: "core_stone.png",
5         groups: ["cracky"],
6         hardness: 10,
7         desc: "Stone",
8         drops: "core:cobble"
9 });
10 dragonblocks.registerNode({
11         name: "core:stonebrick",
12         stable: true,
13         texture: "core_stonebrick.png",
14         groups: ["cracky"],
15         hardness: 10,
16         desc: "Stonebrick",
17 });
18 dragonblocks.registerRecipe({
19         result: "core:stonebrick",
20         recipe: [
21                 ["core:stone", "core:stone"],
22                 ["core:stone", "core:stone"],
23         ]
24 });
25 dragonblocks.registerNode({
26         name: "core:cobble",
27         stable: true,
28         texture: "core_cobble.png",
29         groups: ["cracky"],
30         hardness: 9,
31         desc: "Cobblestone",
32 });
33 dragonblocks.registerRecipe({
34         result: "furnace:furnace",
35         recipe: [
36                 ["core:cobble", "core:cobble", "core:cobble"],
37                 ["core:cobble", "", "core:cobble"],
38                 ["core:cobble", "core:cobble", "core:cobble"],
39         ]
40 });
41 tools.registerToolset({
42         name: "stone",
43         material: "core:cobble",
44         level: 2
45 });
46 furnace.registerRecipe({
47         input: "core:cobble",
48         output: "core:stone",
49         time: 3
50 });
51 dragonblocks.registerNode({
52         name: "core:water",
53         stable: false,
54         texture: "core_water.png",
55         groups: ["liquid"],
56         desc: "Water",
57         lavacooling: true,
58         liquid: true,
59 });
60 dragonblocks.registerNode({
61         name: "core:lava",
62         stable: false,
63         texture: "core_lava.png",
64         groups: ["liquid"],
65         desc: "Lava",
66         onset: (x, y) => {
67                 dragonblocks.getNode(x, y).meta.lavaInterval = setInterval(_ => {
68                         for(let ix = x - 1; ix <= x + 1; ix++)
69                                 for(let iy = y - 1; iy <= y + 1; iy++)
70                                         if(dragonblocks.getNode(ix, iy) && dragonblocks.getNode(ix, iy).toNode().lavacooling)
71                                                 dragonblocks.setNode(x, y, "core:obsidian");
72                 }, 2000);
73         },
74         onremove: (x, y) => {
75                 clearInterval(dragonblocks.getNode(x, y).meta.lavaInterval);
76         },
77         liquid: true,
78 });
79 dragonblocks.registerNode({
80         name: "core:obsidian",
81         stable: true,
82         texture: "core_obsidian.png",
83         groups: ["cracky"],
84         hardness: 25,
85         desc: "Obsidian",
86 });
87 dragonblocks.registerNode({
88         name: "core:sand",
89         stable: true,
90         texture: "core_sand.png",
91         groups: ["crumbly"],
92         hardness: 7,
93         desc: "Sand",
94         physics: true,
95 });
96 dragonblocks.registerMaterial({
97         name: "core:sand",
98         factor: 8,
99 });
100 dragonblocks.registerNode({
101         name: "core:desert_sand",
102         stable: true,
103         texture: "core_desert_sand.png",
104         groups: ["crumbly"],
105         hardness: 7,
106         desc: "Desert Sand",
107         physics: true,
108 });
109 dragonblocks.registerGroup({
110         name: "glass",
111         sounds: {
112                 dug: "dug_glass.ogg",
113                 dig: "dig_glass.ogg"
114         }
115 });
116 doors.registerDoor({
117         name: "glass",
118         groups: ["glass"],
119         hardness: 4,
120         material: "default:glass",
121 });
122 dragonblocks.registerNode({
123         name: "core:glass",
124         stable: true,
125         texture: "core_glass.png",
126         groups: ["glass"],
127         hardness: 4,
128         desc: "Glass",
129 });
130 furnace.registerRecipe({
131         input: "core:sand",
132         output: "core:glass",
133         time: 3
134 });
135 furnace.registerRecipe({
136         input: "core:desert_sand",
137         output: "core:glass",
138         time: 3
139 });
140 dragonblocks.registerNode({
141         name: "core:snow",
142         stable: true,
143         texture: "core_snow.png",
144         groups: ["crumbly"],
145         hardness: 7,
146         desc: "Snow",
147         lavacooling: true
148 });
149 dragonblocks.registerNode({
150         name: "core:ice",
151         stable: true,
152         texture: "core_ice.png",
153         groups: ["glass"],
154         hardness: 6,
155         desc: "Ice",
156         lavacooling: true,
157 });
158 dragonblocks.registerNode({
159         name: "core:gravel",
160         stable: true,
161         texture: "core_gravel.png",
162         groups: ["crumbly"],
163         hardness: 7,
164         desc: "Gravel",
165         physics: true,
166 });
167 dragonblocks.registerMaterial({
168         name: "core:gravel",
169         factor: 6,
170 });