Exemple #1
0
        public override void StartServerSide(ICoreServerAPI Api)
        {
            this.Api = Api;
            if (DoDecorationPass)
            {
                foreach (var block in Api.World.Blocks)
                {
                    if (block is BlockOre)
                    {
                        int?id = Api.World.BlockAccessor.GetBlock(new AssetLocation("looseores".Apd(block.Variant["type"]).Apd(block.Variant["rock"])))?.Id;
                        if (id != null)
                        {
                            surfaceBlocks.Add(block.Id, (int)id);
                        }
                    }
                }
                genProperties = Api.Assets.Get("deeporebits:worldgen/deeporebits.json").ToObject <List <DeepOreGenProperty> >();

                foreach (var val in genProperties)
                {
                    val.id = Api.World.GetBlock(val.Code).Id;
                }

                Api.Event.InitWorldGenerator(InitWorldGen, "standard");
                Api.Event.ChunkColumnGeneration(OnChunkColumnGen, EnumWorldGenPass.TerrainFeatures, "standard");
                Api.Event.GetWorldgenBlockAccessor(c => bA = c.GetBlockAccessor(true));
            }
        }
Exemple #2
0
        public override void StartServerSide(ICoreServerAPI api)
        {
            this.api = api;
            api.RegisterTreeGenerator(new AssetLocation("immersion:palm"), new PalmTreeGenerator(api, "palm"));
            api.RegisterTreeGenerator(new AssetLocation("immersion:palmcoconut"), new PalmTreeGenerator(api, "palmcoconut"));
            api.RegisterTreeGenerator(new AssetLocation("immersion:palmbanana"), new PalmTreeGenerator(api, "palmbanana"));

            api.RegisterCommand("genpalm", "genpalm", "", (p, g, a) =>
            {
                var pos = p.CurrentBlockSelection?.Position?.AddCopy(0, 1, 0);
                if (sNoise == null)
                {
                    SetupPalm(api.World.BlockAccessor.GetBlock(new AssetLocation("immersion:palmlog-bottom-grown")));
                }
                if (pos != null)
                {
                    GenPalmTree(api.World.BlockAccessor, pos);
                }
            }, Privilege.ban);

            if (!ImmersionWorldgenConfig.GenPalms)
            {
                return;
            }
            chunksize = api.WorldManager.ChunkSize;
            api.Event.ChunkColumnGeneration(OnChunkColumnGen, EnumWorldGenPass.Vegetation, "standard");
            api.Event.InitWorldGenerator(() => SetupPalm(api.World.BlockAccessor.GetBlock(new AssetLocation("immersion:palmlog-bottom-grown"))), "standard");
            api.Event.GetWorldgenBlockAccessor(c => blockAccessor = c.GetBlockAccessor(true));
        }
Exemple #3
0
 public override void StartServerSide(ICoreServerAPI Api)
 {
     this.Api = Api;
     if (DoDecorationPass)
     {
         foreach (var block in Api.World.Blocks)
         {
             if (block is BlockOre)
             {
                 int?id = Api.World.BlockAccessor.GetBlock(new AssetLocation("looseores".Apd(block.Variant["type"]).Apd(block.Variant["rock"])))?.Id;
                 if (id != null)
                 {
                     surfaceBlocks.Add(block.Id, (int)id);
                 }
             }
         }
         Api.Event.InitWorldGenerator(InitWorldGen, "standard");
         Api.Event.ChunkColumnGeneration(OnChunkColumnGen, EnumWorldGenPass.TerrainFeatures, "standard");
         Api.Event.GetWorldgenBlockAccessor(c => bA = c.GetBlockAccessor(true));
     }
 }
Exemple #4
0
 private void OnWorldGenBlockAccessor(IChunkProviderThread chunkProvider)
 {
     blockAccessor = chunkProvider.GetBlockAccessor(false);
 }
 private void OnWorldGenBlockAccessor(IChunkProviderThread chunkProvider)
 {
     wgenBlockAccessor = chunkProvider.GetBlockAccessor(true);
 }