WeatherEffect Definition
Player info: Weather
Can spawn automatically through planet's <WeatherGenerators> or manually from chat commands.
Uses <Id>, <DisplayName> and <Public> from the common section. DisplayName being used by the weather LCD app and Public can be set to false to ignore the definition.
This means if a mod adds
snowlight (vanilla adds a SnowLight first), then when something requests "snowlight" it will use the first one it finds that matches the letters without caring about letter case, which would be the vanilla SnowLight.Sounds
AmbientSound<AmbientSound> | Type: String | Default: null |
Plays continuously during the weather.SubtypeId (without Arc or Real prefix) of an audio definition (Audio_*.sbc). | ||
AmbientVolume<AmbientVolume> | Type: Single | Default: 0 |
| Maximum volume ratio (0 to 1) for <AmbientSound>. The actual volume is affected by proximity to weather, its intensity progress, dimmed if inside a closed cockpit, dimmed depending on how much you're surrounded by grids. Then dimmed some more by closed helmet (only for realistic sound). | ||
Fog
FogColor<FogColor> | Type: Vector3 | Default: X:0 Y:0 Z:0 |
| Color of the fog. Example syntax: <SunColor>
<X>0.0</X>
<Y>0.0</Y>
<Z>0.0</Z>
</SunColor>
| ||
FogDensity<FogDensity> | Type: Single | Default: 0 |
| Affects multiple things on the fog. Start from very tiny values. | ||
FogMultiplier<FogMultiplier> | Type: Single | Default: 0 |
FogAtmoMultiplier<FogAtmoMultiplier> | Type: Single | Default: 0 |
| How much the fog affects the atmospheric fog. Requires <FogDensity> to not be 0. | ||
FogSkyboxMultiplier<FogSkyboxMultiplier> | Type: Single | Default: 0 |
| How much the fog affects the space background image. | ||
Hazards
LightningIntervalMin<LightningIntervalMin> | Type: Single | Default: 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Minimum seconds between visual-only lightning strikes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LightningIntervalMax<LightningIntervalMax> | Type: Single | Default: 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Maximum seconds between visual-only lightning strikes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LightningCharacterHitIntervalMin<LightningCharacterHitIntervalMin> | Type: Single | Default: 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Minimum seconds between lightning strikes that target players (ignores animals/bots). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LightningCharacterHitIntervalMax<LightningCharacterHitIntervalMax> | Type: Single | Default: 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Maximum seconds between lightning strikes that target players (ignores animals/bots). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LightningGridHitIntervalMin<LightningGridHitIntervalMin> | Type: Single | Default: 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Minimum seconds between lightning strikes that target grids. See <LightningGridHitIntervalMax> for more details. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LightningGridHitIntervalMax<LightningGridHitIntervalMax> | Type: Single | Default: 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Maximum seconds between lightning strikes that target grids. Valid targets are searched at the weather position within the weather radius, and ignores respawn ships, immune and projections. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lightning<Lightning> | Type: WeatherLightning | Default: null | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The settings for each lightning strike.
Each lightning strike regardless of targeted or not will be checking for nearby trees (hardcoded 20m), decoys or antennas in that order. Decoys and antennas have radius in their own definitions. If a targeted lightning can't find its type of target, it will fall back to random anywhere in the weather radius and will deal no damage. Then once the final target is picked, a raycast from 50m above goes down to hit anything else on the way, then repeats the process above with checking nearby trees/decoys/antennas. Finally, if the position is under the original voxel surface it will cancel the lightning strike.
<Lightning>
<Damage>0</Damage>
<ExplosionRadius>1</ExplosionRadius>
<BoltImpulseMultiplier>1</BoltImpulseMultiplier>
<Sound>WM_Lightning</Sound>
<MaxLife>7</MaxLife>
<BoltLength>5000</BoltLength>
<BoltParts>50</BoltParts>
<BoltVariation>100</BoltVariation>
<BoltRadius>30</BoltRadius>
<Color>
<Y>100</Y>
<Z>100</Z>
<W>1000</W>
</Color>
</Lightning>
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HealthHazard<HealthHazard> | Type: HealthHazardSource | Default: null | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Optional. Damage over time to players standing in this weather. Contains more elements:
<HealthHazard>
<MinWeatherIntensity>0.5</MinWeatherIntensity>
<DamageIntervalMin>10</DamageIntervalMin>
<DamageIntervalMax>120</DamageIntervalMax>
<DamageAmountMin>5</DamageAmountMin>
<DamageAmountMax>40</DamageAmountMax>
<DamageSoundOverride>ImpHail</DamageSoundOverride>
<ShowNotification>true</ShowNotification>
</HealthHazard>
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HazardNotification<HazardNotification> | Type: HazardNotificationData | Default: null | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Optional. HUD notification to be shown to players being damaged by <HealthHazard> only. Contains more elements:
<HazardNotification>
<Text>Notification_WeatherDamage_HailImpact</Text>
<Font>Red</Font>
<Duration>5</Duration>
<Cooldown>10</Cooldown>
</HazardNotification>
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RadiationHazard<RadiationHazard> | Type: RadiationHazardSource | Default: null | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Optional. Radiation over time to players standing in this weather. Contains more elements:
<RadiationHazard>
<MinWeatherIntensity>0.5</MinWeatherIntensity>
<RadiationGain>0.3</RadiationGain>
</RadiationHazard>
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Atmosphere Multipliers
WindOutputModifier<WindOutputModifier> | Type: Single | Default: 1 |
| Wind multiplier for blocks that require it (wind turbines, etc). | ||
FoliageWindModifier<FoliageWindModifier> | Type: Single | Default: 1 |
| Wind multiplier for foliage (grass, bushes, trees and any other material that uses the wind properties). | ||
SolarOutputModifier<SolarOutputModifier> | Type: Single | Default: 1 |
| Sunlight multiplier for blocks that require it (solar panels, oxygen farms, etc). | ||
OxygenLevelModifier<OxygenLevelModifier> | Type: Single | Default: 1 |
| Oxygen multiplier to planet's <OxygenDensity>. | ||
TemperatureModifier<TemperatureModifier> | Type: Single | Default: 1 |
| Temperature multiplier. Visit the Temperature reference page for details on how the temperature is calculated. | ||
SunColor<SunColor> | Type: Vector3 | Default: X:0 Y:0 Z:0 |
| Weak additive Sun light and Sun sprite color. For example if planet's <SunColor>
<X>0.0</X>
<Y>0.0</Y>
<Z>0.0</Z>
</SunColor>
| ||
SunIntensity<SunIntensity> | Type: Single | Default: 150 |
| Sets the Sun light and Sun sprite intensity, same unit as environment's <SunIntensity>. | ||
SunSpecularColor<SunSpecularColor> | Type: Vector3 | Default: X:0 Y:0 Z:0 |
| Supposedly Sun's color when reflecting off surfaces, but does not seem to function even at high values.
Does not affect the Sun sprite. <SunSpecularColor>
<X>0.0</X>
<Y>0.0</Y>
<Z>0.0</Z>
</SunSpecularColor>
| ||
Particle Effects
ParticleCount<ParticleCount> | Type: Int32 | Default: 0 |
| How many of the particle effects (<EffectName>) to have at one time. 0 to not use any particles. | ||
EffectName<EffectName> | Type: String | Default: null |
| The particle effect that spawns around the camera.
The particles's "Soft particle distance scale" and "Camera Soft Radius" properties will be multiplied by the weather when the player is inside grids or cockpits, to reduce the particle's perceived leaking. | ||
ParticleRadius<ParticleRadius> | Type: Single | Default: 0 |
| Maximum radius around the camera (offset by velocity) where to spawn the particles. | ||
ParticleScale<ParticleScale> | Type: Single | Default: 0 |
| Scale multiplier for the particle effect (UserScale). | ||
(Top) | From DefinitionBase:
Common
Id<Id> | Type: SerializableDefinitionId | Default: (invalid) | ||||||||||||||||||||||||
| The type and subtype combined make up a unique identifier for this definition. If two definitions use the same Type+Subtype (Subtypes are only unique per Type), then the last to load will override the first one(s). For more details see Things to know about SBC.
<Id>
<TypeId>CubeBlock</TypeId>
<SubtypeId>FancyTable</SubtypeId>
</Id>
Because it has attribute alternatives it can also be declared as: <Id Type="CubeBlock" Subtype="FancyTable" />
| ||||||||||||||||||||||||||
DisplayName<DisplayName> | Type: String | Default: null | ||||||||||||||||||||||||
| If the object defined here is visible anywhere in the game GUI, this would be the name shown for it. In cases where it is used, it is very much required. Can be plain-text.
| ||||||||||||||||||||||||||
Description<Description> | Type: String | Default: null | ||||||||||||||||||||||||
| Optional. If the object defined here is shown with a description in the game GUI (Hotbar/G-menu, HUD, etc) then this is the place to write it. Can be plain-text.
{0}, {1}, etc, then they will replaced by kb&m control binds defined in <DescriptionArgs>. | ||||||||||||||||||||||||||
DescriptionArgs<DescriptionArgs> | Type: String | Default: null | ||||||||||||||||||||||||
Optional. A comma-separated list of control IDs which are referenced in <Description> by {number} tags, which then get replaced by the keyboard or mouse bind that the viewer has for those controls.Example: <Description>Press {0} to fire, {1} to change color, {2} to interact.</description>
<DescriptionArgs>PRIMARY_TOOL_ACTION,CUBE_COLOR_CHANGE,USE</DescriptionArgs>
And each player will see their current binds for those actions. | ||||||||||||||||||||||||||
Icon<Icon> | Type: String[] | Default: null | ||||||||||||||||||||||||
| Icon(s) for the definition which may or may not be used depending on the definition type. Path to a .dds or .png file relative to current mod's folder. Falls back to game folder if not found in current mod.
Referencing assets in other mods Can be declared multiple times which will stack icons on top of eachother, however it will not work for all definitions. Known definitions to work or not work with multiple icons
| ||||||||||||||||||||||||||
DLC<DLC> | Type: String[] | Default: null | ||||||||||||||||||||||||
| Optional. The DLC subtypeId that this definition will require. For the IDs, refer to <SE>\Content\Data\Game\DLCs.sbc. | ||||||||||||||||||||||||||
AvailableInSurvival<AvailableInSurvival> | Type: Boolean | Default: true | ||||||||||||||||||||||||
| Depends on the definition if it uses this, and if it does then this determines whether it can be accessible in survival game mode.
Currently known definitions that do use this:
| ||||||||||||||||||||||||||
Public<Public> | Type: Boolean | Default: true | ||||||||||||||||||||||||
| If the definition is visible or accessible in some cases. For blocks, this only hides them and they can still be built using projectors and other means. | ||||||||||||||||||||||||||
EnabledEnabled (attribute[1]) | Type: Boolean | Default: true | ||||||||||||||||||||||||
If set to false it will remove the definition after it's been loaded.Example usage: <Definition Enabled="false">
The "Definition" above is the opening element that for the entire definition, not an inner node like Note: One known case where it doesn't "fully" remove a definition is removing another mod's blocks only for one size, leaving the other size referencing the removed definition. The solution to that is to append something to the <BlockPairName> to make it unique and not link itself with the other size anymore. The block is otherwise removed from other systems: cannot be found in blocks menu and pasting a blueprint that had the block spawns without it (which is good). | ||||||||||||||||||||||||||
xsi:typexsi:type (attribute[1]) | Type: string | Default: null | ||||||||||||||||||||||||
Name of an object that this definition will be deserialized as. This attribute is available on all elements and comes from the XML specification. This game relies on this attribute to change which sub-definition object is used to deserialize that element's contents. It's what allows, for example, a thruster to have unique elements (such as For more details on how this relates to the TypeId, and usage examples, see: Things to know about SBC - TypeId vs xsi:type. | ||||||||||||||||||||||||||
Obsolete Elements
Note: this list only contains root-level from this definition only, nothing from inherited ones.
| <ShadowFadeout> | Type: Single | Default: 0 |
| Not used. | ||
| <ParticleAlphaMultiplier> | Type: Single | Default: 0 |
| Not used. | ||
| <LightningColor> | Type: - | Default: - |
| Found in SBC but does not exist in game code, therefore it's not used. The color can however be set at <Lightning>'s <Color>. | ||
| <LightningRodSafetyRadius> | Type: - | Default: - |
| Found in SBC but does not exist in game code, therefore it's not used. This functionality is however configurable per-block: RadioAntenna Definition (section LightningRodRadiusLarge) and Decoy Definition (section LightningRodRadiusLarge). | ||