]> git.lizzy.rs Git - dragonblocks.git/commitdiff
Added dragonblocks.spawnFallingNode 1/head
authorElias Fleckenstein <eliasfleckenstein@web.de>
Wed, 24 Jun 2020 09:42:02 +0000 (11:42 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Wed, 24 Jun 2020 09:42:02 +0000 (11:42 +0200)
engine/falling_node.js

index de7aa68ce6215cd340ddd7c305d467e08c114dbe..99cdfe2237ed6f58d40af58675528f346c3de63e 100644 (file)
@@ -26,22 +26,24 @@ dragonblocks.registerEntity({
        width: 1,
        height: 1,
        texture: this.texture,
-       oncollide: entity => {
-               if(! dragonblocks.getNode(Math.floor(entity.x), Math.floor(entity.y) + 1) || dragonblocks.getNode(Math.floor(entity.x), Math.floor(entity.y) + 1).mobstable){
-                       dragonblocks.setNode(Math.floor(entity.x), Math.floor(entity.y), entity.meta.nodeName);
-                       entity.despawn();
+       oncollide: self => {
+               if(! dragonblocks.getNode(Math.floor(self.x), Math.floor(self.y) + 1) || dragonblocks.getNode(Math.floor(self.x), Math.floor(self.y) + 1).mobstable){
+                       dragonblocks.setNode(Math.floor(self.x), Math.floor(self.y), self.meta.nodeName);
+                       self.despawn();
                }
        }
 }); 
 
 dragonblocks.registerOnActivateNode((x, y) => {
-       if(! dragonblocks.getNode(x, y).toNode().physics || ! dragonblocks.getNode(x, y + 1) || dragonblocks.getNode(x, y + 1).mobstable)
-               return;
-       let name =      dragonblocks.getNode(x, y).name;
+       if(dragonblocks.getNode(x, y).toNode().physics && dragonblocks.getNode(x, y + 1) && ! dragonblocks.getNode(x, y + 1).mobstable)
+               dragonblocks.spawnFallingNode(dragonblocks.getNode(x, y).name, x, y)
+})
+
+dragonblocks.spawnFallingNode = function(nodename, x, y) {
        setTimeout(_ => {dragonblocks.map.activate(x, y);}, 50);
        dragonblocks.setNode(x, y, "air");
        let entity = dragonblocks.spawnEntity("dragonblocks:falling_node", x, y);
-       entity.meta.nodeName = name;
-       entity.texture = dragonblocks.nodes[name].texture;
+       entity.meta.nodeName = nodename;
+       entity.texture = dragonblocks.nodes[nodename].texture;
        entity.updateTexture();
-})
+}