2 doors.registerDoor = function(obj){
3 if(! obj || ! obj.name)
5 obj.desc = obj.desc || dblib.humanFormat(obj.name) + " Door";
6 obj.hardness = obj.hardness || 1;
7 obj.groups = obj.groups || [];
8 let name = "doors:" + "door_" + obj.name;
9 let texture = "doors_" + "door_" + obj.name;
10 let sound = "doors_" + "door_" + obj.name;
11 dragonblocks.registerItem({
15 texture: texture + ".png",
17 if(! dragonblocks.getNode(x, y) || dragonblocks.getNode(x, y).stable || ! dragonblocks.getNode(x, y - 1) || dragonblocks.getNode(x, y - 1).stable)
19 dragonblocks.setNode(x, y - 1, name + "_front_upper");
20 dragonblocks.setNode(x, y, name + "_front_downer");
21 dragonblocks.items[name].playSound("place");
24 stacksize: obj.stacksize,
26 dragonblocks.registerNode({
27 name: name + "_front_upper",
31 hardness: obj.hardness,
33 texture: texture + "_front_upper.png",
35 if(dragonblocks.getNode(x, y + 1) && dragonblocks.getNode(x, y + 1).name == name + "_front_downer")
36 dragonblocks.setNode(x, y + 1, "air");
39 if(dragonblocks.getNode(x, y + 1) && dragonblocks.getNode(x, y + 1).name == name + "_front_downer")
40 dragonblocks.setNode(x, y + 1, name + "_side_downer");
41 dragonblocks.setNode(x, y, name + "_side_upper");
42 dragonblocks.playSound(sound + "_close.ogg");
47 dragonblocks.registerNode({
48 name: name + "_front_downer",
52 hardness: obj.hardness,
54 texture: texture + "_front_downer.png",
56 if(dragonblocks.getNode(x, y - 1) && dragonblocks.getNode(x, y - 1).name == name + "_front_upper")
57 dragonblocks.setNode(x, y - 1, "air");
60 if(dragonblocks.getNode(x, y - 1) && dragonblocks.getNode(x, y - 1).name == name + "_front_upper")
61 dragonblocks.setNode(x, y - 1, name + "_side_upper");
62 dragonblocks.setNode(x, y, name + "_side_downer");
63 dragonblocks.playSound(sound + "_close.ogg");
68 dragonblocks.registerNode({
69 name: name + "_side_upper",
72 hardness: obj.hardness,
74 texture: texture + "_side.png",
76 if(dragonblocks.getNode(x, y + 1) && dragonblocks.getNode(x, y + 1).name == name + "_side_downer")
77 dragonblocks.setNode(x, y + 1, "air");
80 if(dragonblocks.getNode(x, y + 1) && dragonblocks.getNode(x, y + 1).name == name + "_side_downer")
81 dragonblocks.setNode(x, y + 1, name + "_front_downer");
82 dragonblocks.setNode(x, y, name + "_front_upper");
83 dragonblocks.playSound(sound + "_open.ogg");
88 dragonblocks.registerNode({
89 name: name + "_side_downer",
92 hardness: obj.hardness,
94 texture: texture + "_side.png",
96 if(dragonblocks.getNode(x, y - 1) && dragonblocks.getNode(x, y - 1).name == name + "_side_upper")
97 dragonblocks.setNode(x, y - 1, "air");
100 if(dragonblocks.getNode(x, y - 1) && dragonblocks.getNode(x, y - 1).name == name + "_side_upper")
101 dragonblocks.setNode(x, y - 1, name + "_front_upper");
102 dragonblocks.setNode(x, y, name + "_front_downer");
103 dragonblocks.playSound(sound + "_open.ogg");
109 dragonblocks.registerRecipe({
112 [obj.material, obj.material],
113 [obj.material, obj.material],
114 [obj.material, obj.material],
118 doors.registerTrapdoor = function(obj){
119 if(! obj || ! obj.name)
121 obj.mod = obj.mod || "doors";
122 obj.desc = obj.desc || dblib.humanFormat(obj.name) + " Trapdoor";
123 obj.hardness = obj.hardness || 1;
124 obj.groups = obj.groups || [];
125 let name = obj.mod + ":" + "trapdoor_" + obj.name;
126 let texture = obj.mod + "_" + "trapdoor_" + obj.name;
127 let sound = obj.mod + "_" + "trapdoor_" + obj.name;
128 dragonblocks.registerNode({
133 hardness: obj.hardness,
135 texture: texture + ".png",
137 dragonblocks.setNode(x, y, name + "_closed");
138 dragonblocks.playSound(sound + "_close.ogg");
140 stacksize: obj.stacksize,
142 dragonblocks.registerNode({
143 name: name + "_closed",
146 hardness: obj.hardness,
148 texture: texture + "_closed.png",
150 dragonblocks.setNode(x, y, name);
151 dragonblocks.playSound(sound + "_open.ogg");
157 dragonblocks.registerRecipe({
160 [obj.material, obj.material, obj.material],
161 [obj.material, obj.material, obj.material],