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)); } }
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)); }
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)); } }
private void OnWorldGenBlockAccessor(IChunkProviderThread chunkProvider) { blockAccessor = chunkProvider.GetBlockAccessor(false); }
private void OnWorldGenBlockAccessor(IChunkProviderThread chunkProvider) { wgenBlockAccessor = chunkProvider.GetBlockAccessor(true); }