]> git.lizzy.rs Git - dragonblocks.git/blobdiff - engine/init.js
Remove entities from old map when setting a new one
[dragonblocks.git] / engine / init.js
index 349d4670b39693a4c990cca98c2aceb0a4257c99..e8daae4db7d877803d86165d9ec5b636c169bd00 100644 (file)
                throw error;
        };
 
-       dragonblocks.getToken = _ => {
-               return "#" + (Math.random() * 10).toString().replace(".", "");
-       };
-
        dragonblocks.getModInfo = modname => {
                return dragonblocks.mods[modname] || dragonblocks.gamemods[modname];
        };
                loadingMods[modname] = false;
        };
 
-       dragonblocks.start = selectedMods => {
+       dragonblocks.loadMods = selectedMods = _ => {
+               dragonblocks.loadedMods = {};
+
+               for (let mod in selectedMods)
+                       if (selectedMods[mod])
+                               loadMod(mod);
+
+               for (let mod in dragonblocks.gamemods)
+                       loadMod(mod);
+       };
+
+       dragonblocks.start = worldProperties => {
                dragonblocks.log("Starting");
 
                for (let func of dragonblocks.onStartCallbacks)
                        func();
 
                setTimeout(_ => {
-                       dragonblocks.loadedMods = {};
-
-                       for (let mod in selectedMods)
-                               if (selectedMods[mods])
-                                       loadMod(mod);
-
-                       for (let mod in dragonblocks.gamemods)
-                               loadMod(mod);
-
-                       dragonblocks.map = new dragonblocks.Map();
-                       dragonblocks.map.load();
-
-                       dragonblocks.player = new dragonblocks.Player();
-
-                       dragonblocks.worldIsLoaded || dragonblocks.generateMap();
+                       dragonblocks.world = new dragonblocks.World(worldProperties);
+                       dragonblocks.player = dragonblocks.world.player;
 
                        for (let func of dragonblocks.onStartedCallbacks)
                                func();
 
                if (dragonblocks.loggedin)
                        setTimeout(_ => {
-                               dragonblocks.save();
+                               dragonblocks.player.removeFromMap();
+                               dragonblocks.world.save();
                                location.reload();
                        });
                else
                "group",
                "builtin",
                "map_node",
+               "map_display",
                "map",
                "item_stack",
                "inventory",
                "out_stack",
                "inventory_group",
-               "hudbar",
+               "hotbar",
                "inventory_container",
                "creative_inventory",
                "recipe",