]> git.lizzy.rs Git - dragonblocks.git/blob - game/furnace/itemdef.js
Rework inventory rendering
[dragonblocks.git] / game / furnace / itemdef.js
1 dragonblocks.registerNode({
2         name: "furnace:furnace",
3         texture: "furnace_furnace.png",
4         groups: ["cracky"],
5         hardness: 10,
6         desc: "Furnace",
7         stable: true,
8         onset: (map, x, y) => {
9                 let meta = map.getNode(x, y).meta;
10
11                 meta.inventory = new furnace.Inventory();
12
13                 if (meta.inventoryString)
14                         meta.inventory.deserialize(meta.inventoryString);
15         },
16         onclick: (map, x, y) => {
17                 let meta = map.getNode(x, y).meta;
18
19                 dragonblocks.player.setInventoryElements([meta.inventory, dragonblocks.player.tmp.mainInventory]);
20                 dragonblocks.player.openInventory();
21
22                 dragonblocks.player.onNextInventoryClose = _ => {
23                         dragonblocks.player.resetInventoryElements();
24                         meta.inventoryString = meta.inventory.serialize();
25                 };
26         },
27         ondig: (map, x, y) => {
28                 return map.getNode(x, y).meta.inventory.isEmpty();
29         },
30 });
31
32 for (let i = 0; i < 6; i++) {
33         dragonblocks.registerItem({
34                 name: "furnace:burn_progress_" + i,
35                 texture: "furnace_burn_progress_" + i + ".png",
36                 groups: [],
37                 hidden: true,
38                 desc: "",
39         });
40
41         dragonblocks.registerItem({
42                 name: "furnace:fuel_progress_" + i,
43                 texture: "furnace_fuel_progress_" + i + ".png",
44                 groups: [],
45                 hidden: true,
46                 desc: "",
47         });
48 }