Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nebel sind eine Rendering-Funktion, mit der der Sichtabstand des Spielers verdeckt werden kann. Du kannst Nebel verwenden, um Grenzen zu verschleiern, z.B. entladene Chunks außerhalb der Sichtweite, oder um einen atmosphärischen Effekt zu erzeugen. Es gibt verschiedene Arten von Nebeln, die unter vielen verschiedenen Umständen verwendet werden können.
Nebel werden in einzelnen JSON-Dateien in deinem Ressourcenpaket unter dem Nebel-Verzeichnis eingerichtet.
Nebelschema
{
version "format_version"
object "minecraft:fog_settings"
{
object "description"
{
string "identifier" // The identifier for these fog settings. The identifier must include a namespace.
}
object "distance" : opt // The distance fog settings for different camera locations.
{
object "air" : opt // The fog settings when the camera is in the air.
{
color "fog_color" // The color that the fog will take on.
float "fog_start"<0.000000-*> // The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.
float "fog_end"<0.000000-*> // The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.
string "render_distance_type"<"fixed", "render"> // Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.
}
object "weather" : opt // The fog settings for when the camera is in the air with active weather (rain, snow, etc..).
{
color "fog_color" // The color that the fog will take on.
float "fog_start"<0.000000-*> // The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.
float "fog_end"<0.000000-*> // The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.
string "render_distance_type"<"fixed", "render"> // Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.
}
object "water" : opt // The fog settings when the camera is in water.
{
color "fog_color" // The color that the fog will take on.
float "fog_start"<0.000000-*> // The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.
float "fog_end"<0.000000-*> // The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.
string "render_distance_type"<"fixed", "render"> // Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.
}
object "lava" : opt // The fog settings when the camera is in lava.
{
color "fog_color" // The color that the fog will take on.
float "fog_start"<0.000000-*> // The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.
float "fog_end"<0.000000-*> // The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.
string "render_distance_type"<"fixed", "render"> // Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.
}
object "lava_resistance" : opt // The fog settings when the camera is in lava and the player has the lava resistance effect active.
{
color "fog_color" // The color that the fog will take on.
float "fog_start"<0.000000-*> // The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.
float "fog_end"<0.000000-*> // The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.
string "render_distance_type"<"fixed", "render"> // Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.
}
object "powder_snow" : opt // The fog settings when the camera is inside a Powder Snow block.
{
color "fog_color" // The color that the fog will take on.
float "fog_start"<0.000000-*> // The distance from the player that the fog will begin to appear. 'fog_start' must be less than or equal to 'fog_end'.
float "fog_end"<0.000000-*> // The distance from the player that the fog will become fully opaque. 'fog_end' must be greater than or equal to 'fog_start'.
string "render_distance_type"<"fixed", "render"> // Determines how distance value is used. Fixed distance is measured in blocks. Dynamic distance is multiplied by the current render distance.
}
}
object "volumetric" : opt // The volumetric fog settings.
{
object "density" : opt // The density settings for different camera locations.
{
object "air" : opt // Fog density values as light passes through air blocks.
{
float "max_density"<0.000000-1.000000> // The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0].
float "max_density_height"<0.000000-320.000000> : opt // The height in blocks that the ground fog will become it's maximum density.
float "zero_density_height"<0.000000-320.000000> : opt // The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than 'max_density_height'.
bool "uniform" : opt // When set to true, the density will be uniform across all heights.
}
object "water" : opt // Fog density values as light passes through water blocks.
{
float "max_density"<0.000000-1.000000> // The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0].
float "max_density_height"<0.000000-320.000000> : opt // The height in blocks that the ground fog will become it's maximum density.
float "zero_density_height"<0.000000-320.000000> : opt // The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than 'max_density_height'.
bool "uniform" : opt // When set to true, the density will be uniform across all heights.
}
object "lava" : opt // Fog density values as light passes through lava blocks.
{
float "max_density"<0.000000-1.000000> // The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0].
float "max_density_height"<0.000000-320.000000> : opt // The height in blocks that the ground fog will become it's maximum density.
float "zero_density_height"<0.000000-320.000000> : opt // The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than 'max_density_height'.
bool "uniform" : opt // When set to true, the density will be uniform across all heights.
}
object "lava_resistance" : opt // Fog density values as light passes through lava blocks while the player has lava resistance.
{
float "max_density"<0.000000-1.000000> // The maximum amount of opaqueness that the ground fog will take on. A value from [0.0, 1.0].
float "max_density_height"<0.000000-320.000000> : opt // The height in blocks that the ground fog will become it's maximum density.
float "zero_density_height"<0.000000-320.000000> : opt // The height in blocks that the ground fog will be completely transparent and begin to appear. This value needs to be at least 1 higher than 'max_density_height'.
bool "uniform" : opt // When set to true, the density will be uniform across all heights.
}
}
object "media_coefficients" : opt // The coefficient settings for the volumetric fog in different blocks.
{
object "air" : opt // Fog coefficient values while light passes through air.
{
color "scattering" // Proportion of light that is scattered per block.
color "absorption" // Proportion of light that is absorbed (lost) per block.
}
object "water" : opt // Fog coefficient values while light passes through water.
{
color "scattering" // Proportion of light that is scattered per block.
color "absorption" // Proportion of light that is absorbed (lost) per block.
}
object "cloud" : opt // Fog coefficient values while light passes through clouds.
{
color "scattering" // Proportion of light that is scattered per block.
color "absorption" // Proportion of light that is absorbed (lost) per block.
}
}
}
}
}
Aktiver Nebel-Stack
Der aktive Nebel-Stack wird verwendet, um zu bestimmen, welche Nebeleinstellung zu einem bestimmten Zeitpunkt im Spiel verwendet werden soll. Jeder Spieler hat einen eindeutigen Nebel-Stack.
Wann immer das Spiel die Werte für den Nebel bestimmen muss, beginnt es oben im Nebel-Stack und überprüft diesen so lange, bis es einen Wert für den aktuellen Einstellungstyp findet. Wenn keine Nebeleinstellungen auf dem Stack eine Übereinstimmung liefern, wird das Spiel den Stack weiter nach unten durchsuchen. Wenn keine übereinstimmende Einstellung gefunden wird, verwendet das Spiel die vom Modul definierten Standardeinstellungen.
Der Nebel-Stack wird zunächst wie folgt eingerichtet. Es wird unten begonnen:
- Engine-Standard: hartcodierte Werte
- Datenstandard: Die datengesteuerten Standardeinstellungen
- Biome: Die Einstellungen, die für jedes Biom definiert sind
- Befehl: Die Einstellungen, die für den Spieler durch Serverbefehle festgelegt werden
Engine-Standard
Hartcodierte Werte, falls keine datengesteuerten Werte vorhanden sind. Der Engine-Standard wird geladen, wenn keine passende Nebeleinstellung vorhanden ist, wenn das Spiel den Boden des Nebel-Stacks erreicht.
Datenstandard
Definiert in biomes_client.json unter default
, wenn damit über fog_identifier
auf eine Nebeldefinition verwiesen wird.
Biome
Die Biom-Ebene besteht aus dem Mittelwert aller Einstellungen, die durch die Biome rund um die Position des Spielers definiert werden. Die Biom-Einstellungen werden in biomes_client.json sowie für jedes einzelne Biom definiert.
Befehl
Die Befehlsebene besteht aus allen Einstellungen, die vom Befehl /fog festgelegt wurden und von oben nach unten als ein Stack ausgewertet werden. Weitere Informationen findest du im Abschnitt Nebel-Befehl.
Biome
Nebeleinstellungen für die Biome können mit biomes_client.json festgelegt werden. In jedem Biom-Eintrag kannst du eine Variable mit dem Namen fog_identifier
haben und einen Namen einrichten, der der Nebeleinstellung entspricht, die du mit diesem Biom verwenden möchtest.
Der Eintrag default
kann ebenfalls auf diese Weise eingestellt werden und wird unter den Biom-Einträgen im aktiven Nebel-Stack verwendet. Die Nebeleinstellung eines Bioms ersetzt die Standardeinstellung also nicht vollständig. Stattdessen wird das Biom wird über dem Standard gelesen, wie im Abschnitt Aktiver Nebel-Stack beschrieben.
Der Biom-Eintrag default
hat das Tag remove_all_prior_fog
, das standardmäßig auf false
gesetzt ist.
Wenn es auf false
gesetzt ist (oder wenn das Tag nicht eingegeben wurde), werden fehlende Nebeldefinitionen durch ein niedrigeres Ressourcenpaket gefüllt, in dem diese Definition vorhanden ist.
Bei Einstellung auf true
werden alle vorherigen Nebeldefinitionen in Ressourcenpaketen vor dem aktuellen Paket gelöscht, das sie aktiviert hat. Dadurch wird das aktuelle Ressourcenpaket zum neuen Ausgangspunkt für jeden Nebel.
Jedes Biom (einschließlich default
) enthält das Tag inherit_from_prior_fog
, das standardmäßig auf false
gesetzt ist.
Wenn es auf false
gesetzt ist (oder wenn das Tag nicht eingegeben wurde), überschreibt das Biom des aktuellen Ressourcenpakets das derzeit gespeicherte fog_identifier
-Tag mit seinem eigenen Tag.
Bei Einstellung auf true
werden die fog_identifier
-Tags aus allen übereinstimmenden Biomen addiert und eine neue zusammengeführte Nebeldefinition für dieses Biom erstellt.
Nebel-Befehl
Der Befehl /fog
kann verwendet werden, um Nebeleinstellungen auf der aktuellen Ebene des aktiven Nebel-Stacks für jeden Spieler zu verwalten.
Die Nebeleinstellungen auf dieser Ebene werden über die Modi push
, pop
und remove
des Befehls /fog
aufgerufen.
Nebeleinstellungen werden von oben nach unten im aktiven Nebel-Stack ausgewertet, wozu die Auswertung zuerst von oben nach unten in der aktuellen Ebene gehört.
Nebeleinstellungen auf dieser Ebene werden gespeichert und dann beim Laden der Welt spielerspezifisch wiederhergestellt. Eine Nebeleinstellung, die vor dem Speichern einer Welt ausgegeben wird, gilt auch nach dem Laden einer Welt und kann dann entfernt werden.
Push
Gibt eine neue Nebeleinstellung und eine vom Benutzer bereitgestellte ID an bestimmte Spieler aus, nämlich auf die Nebel-Befehlsebenen der aktiven Nebel-Stacks der Spieler.
Pop
Entfernt die oberste Nebeleinstellung von ausgewählten Spielern, die mit der vom Benutzer bereitgestellten ID übereinstimmt.
Remove
Entfernt alle übereinstimmenden Nebeleinstellungen von ausgewählten Spielern, die mit der vom Benutzer bereitgestellten ID übereinstimmen.