]> git.lizzy.rs Git - dragonblocks.git/blobdiff - game/dirt/api.js
Map abstraction and World class
[dragonblocks.git] / game / dirt / api.js
index 0d21f0cf264e8e5944d212d0a7ee62b07a5ddfa3..0551059a3e465b8f190d795996038e2c2b6f1e2e 100644 (file)
@@ -15,18 +15,18 @@ dirt.registerDirt = function(obj){
                hardness: 3,
                desc: desc,
                drops: "dirt:dirt",
-               onset: (x, y) => {
-                       dragonblocks.getNode(x, y).meta.dirtInterval = setInterval(_ => {
+               onset: (map, x, y) => {
+                       map.getNode(x, y).meta.dirtInterval = setInterval(_ => {
                                for(let ix = x - 1; ix <= x + 1; ix++)
                                        for(let iy = y - 1; iy <= y + 1; iy++)
-                                               if(dblib.random(0, 60) == 0 && dragonblocks.getNode(ix, iy) && dragonblocks.getNode(ix, iy).name == "dirt:dirt" && dragonblocks.getNode(ix, iy - 1) && ! dragonblocks.getNode(ix, iy - 1).stable)
-                                                       dragonblocks.setNode(ix, iy, name);
-                               if(dblib.random(0, 45) == 0 && dragonblocks.getNode(x, y - 1) && dragonblocks.getNode(x, y - 1).stable)
-                                       dragonblocks.setNode(x, y, "dirt:dirt");
+                                               if(dblib.random(0, 60) == 0 && map.getNode(ix, iy) && map.getNode(ix, iy).name == "dirt:dirt" && map.getNode(ix, iy - 1) && ! map.getNode(ix, iy - 1).stable)
+                                                       map.setNode(ix, iy, name);
+                               if(dblib.random(0, 45) == 0 && map.getNode(x, y - 1) && map.getNode(x, y - 1).stable)
+                                       map.setNode(x, y, "dirt:dirt");
                        }, 1000);
                },
-               onremove: (x, y) => {
-                       clearInterval(dragonblocks.getNode(x, y).meta.dirtInterval);
+               onremove: (map, x, y) => {
+                       clearInterval(map.getNode(x, y).meta.dirtInterval);
                }
        });
 }