internal void LoadTrees() { treeGenProps = api.Assets.Get("worldgen/treengenproperties.json").ToObject <TreeGenProperties>(); treeGenProps.descVineMinTempRel = TerraGenConfig.DescaleTemperature(treeGenProps.vinesMinTemp) / 255f; treeGenerators.LoadTreeGenerators(); random = new Random(api.WorldManager.Seed); worldheight = api.WorldManager.MapSizeY; }
public override bool OnWorldEditCommand(WorldEdit.WorldEdit worldEdit, CmdArgs args) { if (treeGenerators == null) { treeGenerators = new TreeGeneratorsUtil(worldEdit.sapi); } string cmd = args.PopWord(); switch (cmd) { case "tsizemin": { float size = 0.7f; if (args.Length > 0) { float.TryParse(args[0], out size); } MinTreeSize = size; worldEdit.Good("Tree Min Size=" + size + " set."); return(true); } case "tsizemax": { float size = 0.7f; if (args.Length > 0) { float.TryParse(args[0], out size); } MaxTreeSize = size; worldEdit.Good("Tree Max Size=" + size + " set."); return(true); } case "tsize": { float min = 0.7f; if (args.Length > 0) { float.TryParse(args[0], out min); } MinTreeSize = min; float max = 1.3f; if (args.Length > 1) { float.TryParse(args[1], out max); } MaxTreeSize = max; worldEdit.Good("Tree Min Size=" + min + ", max size =" + MaxTreeSize + " set."); return(true); } case "trnd": return(true); case "tv": int index = 0; string variant = args.PopWord(); bool numeric = int.TryParse(variant, out index); treeGenerators.LoadTreeGenerators(); if (numeric) { var val = treeGenerators.GetGenerator(index); if (val.Key == null) { worldEdit.Bad("No such tree variant found."); return(true); } TreeVariant = val.Key.ToShortString(); worldEdit.Good("Tree variant " + val.Key + " set."); } else { if (variant != null && treeGenerators.GetGenerator(new AssetLocation(variant)) != null) { TreeVariant = variant; worldEdit.Good("Tree variant " + variant + " set."); } else { worldEdit.Bad("No such tree variant found."); } } return(true); } return(false); }