Terraria
v1.4.4.9
Terraria source code documentation
Toggle main menu visibility
Main Page
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Properties
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Events
_
a
c
d
e
f
i
l
m
o
p
r
s
t
u
w
Files
File List
File Members
All
Enumerations
Macros
▼
Terraria
►
Namespaces
►
Classes
▼
Files
▼
File List
▼
source
►
Extensions
►
Microsoft.Xna.Framework
►
Microsoft.Xna.Framework.Graphics
►
Properties
►
ReLogic
►
System
►
System.AppContext
►
System.Buffers
►
System.Collections
►
System.Collections.Concurrent
►
System.Collections.Immutable
►
System.Collections.NonGeneric
►
System.Collections.Specialized
►
System.ComponentModel
►
System.ComponentModel.Annotations
►
System.ComponentModel.DataAnnotations
►
System.ComponentModel.EventBasedAsync
►
System.ComponentModel.Primitives
►
System.ComponentModel.TypeConverter
►
System.Configuration
►
System.Console
►
System.Core
►
System.Data
►
System.Data.Common
►
System.Data.DataSetExtensions
►
System.Diagnostics.Contracts
►
System.Diagnostics.Debug
►
System.Diagnostics.DiagnosticSource
►
System.Diagnostics.FileVersionInfo
►
System.Diagnostics.Process
►
System.Diagnostics.StackTrace
►
System.Diagnostics.TextWriterTraceListener
►
System.Diagnostics.Tools
►
System.Diagnostics.TraceSource
►
System.Diagnostics.Tracing
►
System.Drawing
►
System.Drawing.Primitives
►
System.Dynamic.Runtime
►
System.Formats.Asn1
►
System.Globalization
►
System.Globalization.Calendars
►
System.Globalization.Extensions
►
System.IO
►
System.IO.Compression
►
System.IO.Compression.Brotli
►
System.IO.Compression.FileSystem
►
System.IO.Compression.ZipFile
►
System.IO.FileSystem
►
System.IO.FileSystem.AccessControl
►
System.IO.FileSystem.DriveInfo
►
System.IO.FileSystem.Primitives
►
System.IO.FileSystem.Watcher
►
System.IO.IsolatedStorage
►
System.IO.MemoryMappedFiles
►
System.IO.Pipes
►
System.IO.Pipes.AccessControl
►
System.IO.UnmanagedMemoryStream
►
System.Linq
►
System.Linq.Expressions
►
System.Linq.Parallel
►
System.Linq.Queryable
►
System.Memory
►
System.Net
►
System.Net.Http
►
System.Net.Http.Json
►
System.Net.HttpListener
►
System.Net.Mail
►
System.Net.NameResolution
►
System.Net.NetworkInformation
►
System.Net.Ping
►
System.Net.Primitives
►
System.Net.Quic
►
System.Net.Requests
►
System.Net.Security
►
System.Net.ServicePoint
►
System.Net.Sockets
►
System.Net.WebClient
►
System.Net.WebHeaderCollection
►
System.Net.WebProxy
►
System.Net.WebSockets
►
System.Net.WebSockets.Client
►
System.Numerics
►
System.Numerics.Vectors
►
System.ObjectModel
►
System.Private.CoreLib
►
System.Private.DataContractSerialization
►
System.Private.Uri
►
System.Private.Xml
►
System.Private.Xml.Linq
►
System.Reflection
►
System.Reflection.DispatchProxy
►
System.Reflection.Emit
►
System.Reflection.Emit.ILGeneration
►
System.Reflection.Emit.Lightweight
►
System.Reflection.Extensions
►
System.Reflection.Metadata
►
System.Reflection.Primitives
►
System.Reflection.TypeExtensions
►
System.Resources.Reader
►
System.Resources.ResourceManager
►
System.Resources.Writer
►
System.Runtime
►
System.Runtime.CompilerServices.Unsafe
►
System.Runtime.CompilerServices.VisualC
►
System.Runtime.Extensions
►
System.Runtime.Handles
►
System.Runtime.InteropServices
►
System.Runtime.InteropServices.RuntimeInformation
►
System.Runtime.Intrinsics
►
System.Runtime.Loader
►
System.Runtime.Numerics
►
System.Runtime.Serialization
►
System.Runtime.Serialization.Formatters
►
System.Runtime.Serialization.Json
►
System.Runtime.Serialization.Primitives
►
System.Runtime.Serialization.Xml
►
System.Security
►
System.Security.AccessControl
►
System.Security.Claims
►
System.Security.Cryptography.Algorithms
►
System.Security.Cryptography.Cng
►
System.Security.Cryptography.Csp
►
System.Security.Cryptography.Encoding
►
System.Security.Cryptography.OpenSsl
►
System.Security.Cryptography.Primitives
►
System.Security.Cryptography.X509Certificates
►
System.Security.Principal
►
System.Security.Principal.Windows
►
System.Security.SecureString
►
System.ServiceModel.Web
►
System.ServiceProcess
►
System.Text.Encoding
►
System.Text.Encoding.CodePages
►
System.Text.Encoding.Extensions
►
System.Text.Encodings.Web
►
System.Text.Json
►
System.Text.RegularExpressions
►
System.Threading
►
System.Threading.Channels
►
System.Threading.Overlapped
►
System.Threading.Tasks
►
System.Threading.Tasks.Dataflow
►
System.Threading.Tasks.Extensions
►
System.Threading.Tasks.Parallel
►
System.Threading.Thread
►
System.Threading.ThreadPool
►
System.Threading.Timer
►
System.Transactions
►
System.Transactions.Local
►
System.ValueTuple
►
System.Web
►
System.Web.HttpUtility
►
System.Windows
►
System.Xml
►
System.Xml.Linq
►
System.Xml.ReaderWriter
►
System.Xml.Serialization
►
System.Xml.XDocument
►
System.Xml.XmlDocument
►
System.Xml.XmlSerializer
►
System.Xml.XPath
►
System.Xml.XPath.XDocument
►
Terraria
►
Terraria.Achievements
►
Terraria.Audio
►
Terraria.Chat
►
Terraria.Chat.Commands
►
Terraria.Cinematics
►
Terraria.DataStructures
►
Terraria.Enums
►
Terraria.GameContent
►
Terraria.GameContent.Achievements
►
Terraria.GameContent.Ambience
►
Terraria.GameContent.Animations
►
Terraria.GameContent.Bestiary
►
Terraria.GameContent.Biomes
►
Terraria.GameContent.Biomes.CaveHouse
►
Terraria.GameContent.Biomes.Desert
►
Terraria.GameContent.Creative
►
Terraria.GameContent.Drawing
►
Terraria.GameContent.Dyes
►
Terraria.GameContent.Events
►
Terraria.GameContent.Generation
►
Terraria.GameContent.Golf
►
Terraria.GameContent.ItemDropRules
►
Terraria.GameContent.Items
►
Terraria.GameContent.Liquid
►
Terraria.GameContent.LootSimulation
►
Terraria.GameContent.LootSimulation.LootSimulatorConditionSetterTypes
►
Terraria.GameContent.Metadata
►
Terraria.GameContent.NetModules
►
Terraria.GameContent.ObjectInteractions
►
Terraria.GameContent.Personalities
►
Terraria.GameContent.Prefixes
►
Terraria.GameContent.RGB
►
Terraria.GameContent.Shaders
►
Terraria.GameContent.Skies
►
Terraria.GameContent.Skies.CreditsRoll
►
Terraria.GameContent.Tile_Entities
►
Terraria.GameContent.UI
►
Terraria.GameContent.UI.BigProgressBar
►
Terraria.GameContent.UI.Chat
►
Terraria.GameContent.UI.Elements
►
Terraria.GameContent.UI.Minimap
►
Terraria.GameContent.UI.ResourceSets
►
Terraria.GameContent.UI.States
►
Terraria.GameInput
►
Terraria.Graphics
►
Terraria.Graphics.CameraModifiers
►
Terraria.Graphics.Capture
►
Terraria.Graphics.Effects
►
Terraria.Graphics.Light
►
Terraria.Graphics.Renderers
►
Terraria.Graphics.Shaders
►
Terraria.ID
►
Terraria.Initializers
►
Terraria.IO
►
Terraria.Localization
►
Terraria.Map
►
Terraria.Modules
►
Terraria.Net
►
Terraria.Net.Sockets
►
Terraria.ObjectData
►
Terraria.Physics
►
Terraria.Server
►
Terraria.Social
►
Terraria.Social.Base
►
Terraria.Social.Steam
►
Terraria.Social.WeGame
►
Terraria.Testing
►
Terraria.Testing.ChatCommands
►
Terraria.UI
►
Terraria.UI.Chat
►
Terraria.UI.Gamepad
►
Terraria.Utilities
►
Terraria.Utilities.FileBrowser
►
Terraria.Utilities.Terraria.Utilities
▼
Terraria.WorldBuilding
►
Actions.cs
►
Conditions.cs
►
GenAction.cs
►
GenBase.cs
►
GenCondition.cs
►
GenerationProgress.cs
►
GenModShape.cs
►
GenPass.cs
►
GenSearch.cs
►
GenShape.cs
►
GenShapeActionPair.cs
►
GenStructure.cs
►
GenVars.cs
►
MicroBiome.cs
►
Modifiers.cs
►
ModShapes.cs
►
Passes.cs
►
Searches.cs
►
ShapeData.cs
►
Shapes.cs
►
SimpleStructure.cs
►
StructureMap.cs
►
TileFont.cs
►
WorldGenConfiguration.cs
►
WorldGenerator.cs
►
WorldGenRange.cs
►
WorldUtils.cs
►
nativefiledialog.cs
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Properties
Events
Macros
Loading...
Searching...
No Matches
WorldGenerator.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
using
System.Diagnostics
;
3
using
Terraria.Utilities
;
4
5
namespace
Terraria.WorldBuilding
;
6
7
public
class
WorldGenerator
8
{
9
private
readonly
List<GenPass>
_passes
=
new
List<GenPass>
();
10
11
private
double
_totalLoadWeight
;
12
13
private
readonly
int
_seed
;
14
15
private
readonly
WorldGenConfiguration
_configuration
;
16
17
public
static
GenerationProgress
CurrentGenerationProgress
;
18
19
public
WorldGenerator
(
int
seed
,
WorldGenConfiguration
configuration)
20
{
21
_seed
=
seed
;
22
_configuration
= configuration;
23
}
19
public
WorldGenerator
(
int
seed
,
WorldGenConfiguration
configuration) {
…
}
24
25
public
void
Append
(
GenPass
pass
)
26
{
27
_passes
.
Add
(
pass
);
28
_totalLoadWeight
+=
pass
.Weight;
29
}
25
public
void
Append
(
GenPass
pass
) {
…
}
30
31
public
void
GenerateWorld
(
GenerationProgress
progress
=
null
)
32
{
33
Stopwatch
stopwatch
=
new
Stopwatch
();
34
double
num = 0.0;
35
foreach
(
GenPass
pass
in
_passes
)
36
{
37
num +=
pass
.Weight;
38
}
39
if
(
progress
==
null
)
40
{
41
progress
=
new
GenerationProgress
();
42
}
43
CurrentGenerationProgress
=
progress
;
44
progress.TotalWeight = num;
45
foreach
(
GenPass
pass2
in
_passes
)
46
{
47
WorldGen._genRand =
new
UnifiedRandom
(
_seed
);
48
Main.rand =
new
UnifiedRandom
(
_seed
);
49
stopwatch
.Start();
50
progress
.Start(
pass2
.Weight);
51
pass2
.Apply(
progress
,
_configuration
.
GetPassConfiguration
(
pass2
.Name));
52
progress
.End();
53
stopwatch
.Reset();
54
}
55
CurrentGenerationProgress
=
null
;
56
}
31
public
void
GenerateWorld
(
GenerationProgress
progress
=
null
) {
…
}
57
}
7
public
class
WorldGenerator
{
…
};
System.Collections.Generic.Dictionary.Add
void Add(TKey key, TValue value)
Definition
Dictionary.cs:873
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Diagnostics.Stopwatch
Definition
Stopwatch.cs:6
Terraria.Utilities.UnifiedRandom
Definition
UnifiedRandom.cs:7
Terraria.WorldBuilding.GenPass
Definition
GenPass.cs:6
Terraria.WorldBuilding.GenerationProgress
Definition
GenerationProgress.cs:4
Terraria.WorldBuilding.WorldGenConfiguration.GetPassConfiguration
GameConfiguration GetPassConfiguration(string name)
Definition
WorldGenConfiguration.cs:55
Terraria.WorldBuilding.WorldGenConfiguration
Definition
WorldGenConfiguration.cs:10
Terraria.WorldBuilding.WorldGenerator._configuration
readonly WorldGenConfiguration _configuration
Definition
WorldGenerator.cs:15
Terraria.WorldBuilding.WorldGenerator._totalLoadWeight
double _totalLoadWeight
Definition
WorldGenerator.cs:11
Terraria.WorldBuilding.WorldGenerator.WorldGenerator
WorldGenerator(int seed, WorldGenConfiguration configuration)
Definition
WorldGenerator.cs:19
Terraria.WorldBuilding.WorldGenerator.CurrentGenerationProgress
static GenerationProgress CurrentGenerationProgress
Definition
WorldGenerator.cs:17
Terraria.WorldBuilding.WorldGenerator.GenerateWorld
void GenerateWorld(GenerationProgress progress=null)
Definition
WorldGenerator.cs:31
Terraria.WorldBuilding.WorldGenerator._passes
readonly List< GenPass > _passes
Definition
WorldGenerator.cs:9
Terraria.WorldBuilding.WorldGenerator._seed
readonly int _seed
Definition
WorldGenerator.cs:13
Terraria.WorldBuilding.WorldGenerator.Append
void Append(GenPass pass)
Definition
WorldGenerator.cs:25
Terraria.WorldBuilding.WorldGenerator
Definition
WorldGenerator.cs:8
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Diagnostics
Definition
AggregationManager.cs:6
Terraria.Utilities
Definition
ExtensionFilter.cs:1
Terraria.WorldBuilding
Definition
Actions.cs:8
source
Terraria.WorldBuilding
WorldGenerator.cs
Generated by
1.10.0