Ejemplo n.º 1
0
        private void TestWgen(IServerPlayer player, CmdArgs arguments)
        {
            NoiseLandforms.ReloadLandforms(api);

            api.ModLoader.GetModSystem <GenVegetation>().GameWorldLoaded();
            api.ModLoader.GetModSystem <GenMaps>().GameWorldLoaded();
            api.ModLoader.GetModSystem <GenLakes>().GameWorldLoaded();
            api.ModLoader.GetModSystem <GenTerra>().GameWorldLoaded();
            api.ModLoader.GetModSystem <GenBlockLayers>().GameWorldLoaded();

            Regen(player, arguments, false);
        }
Ejemplo n.º 2
0
        private void RegenChunks(IServerPlayer player, CmdArgs arguments, bool aroundPlayer = false, bool randomSeed = false)
        {
            int seedDiff = randomSeed ? api.World.Rand.Next(100000) : 0;

            if (randomSeed)
            {
                player.SendMessage(GlobalConstants.CurrentChatGroup, "Using random seed diff " + seedDiff, EnumChatType.Notification);
            }

            player.SendMessage(GlobalConstants.CurrentChatGroup, "Waiting for chunk thread to pause...", EnumChatType.Notification);

            if (api.Server.PauseThread("chunkdbthread"))
            {
                NoiseLandforms.ReloadLandforms(api);

                api.ModLoader.GetModSystem <GenTerra>().initWorldGen();
                api.ModLoader.GetModSystem <GenMaps>().initWorldGen();
                api.ModLoader.GetModSystem <GenRockStrataNew>().initWorldGen(seedDiff);

                if (ModStdWorldGen.DoDecorationPass)
                {
                    api.ModLoader.GetModSystem <GenVegetation>().initWorldGen();
                    api.ModLoader.GetModSystem <GenLakes>().initWorldGen();
                    api.ModLoader.GetModSystem <GenBlockLayers>().InitWorldGen();
                    api.ModLoader.GetModSystem <GenCaves>().initWorldGen();
                    api.ModLoader.GetModSystem <GenDeposits>().initWorldGen();
                }

                Regen(player, arguments, false, aroundPlayer);
            }
            else
            {
                player.SendMessage(GlobalConstants.CurrentChatGroup, "Unable to regenerate chunks. Was not able to pause the chunk gen thread", EnumChatType.Notification);
            }

            api.Server.ResumeThread("chunkdbthread");
            player.CurrentChunkSentRadius = 0;
        }