Record Class CaptureProvenance

java.lang.Object
java.lang.Record
ke.ric.renderer.api.CaptureProvenance
Record Components:
worldId - stable Bukkit world UUID
worldName - captured world name
worldEnvironment - captured world environment identifier
sourceCamera - original source camera, with angles in radians
capturedAt - wall-clock capture timestamp
startedNanos - monotonic time at the start of world evidence capture
completedNanos - monotonic time at the end of world evidence capture
fullTime - captured world time including elapsed days
timeOfDay - captured day ticks in 0..23999
weather - captured local precipitation, including rain versus snow
thundering - captured thunder state
cameraBiome - captured camera biome identifier

public record CaptureProvenance(UUID worldId, String worldName, String worldEnvironment, SceneCamera sourceCamera, Instant capturedAt, long startedNanos, long completedNanos, long fullTime, long timeOfDay, Weather weather, boolean thundering, String cameraBiome) extends Record
Immutable facts from the original capture, retained unchanged by scene derivation and camera reuse. Rendered time/weather overrides do not rewrite these facts. Compare RenderedFrame.effectiveCamera() with sourceCamera to inspect a reframed camera.

A batched capture covers an interval, not one instant. Monotonic nanosecond values are useful for ages and durations only in the same server process; capturedAt provides a wall-clock label. Camera biome and precipitation describe the source camera's captured environment.

  • Constructor Details

    • CaptureProvenance

      public CaptureProvenance(UUID worldId, String worldName, String worldEnvironment, SceneCamera sourceCamera, Instant capturedAt, long startedNanos, long completedNanos, long fullTime, long timeOfDay, Weather weather, boolean thundering, String cameraBiome)
      Constructs a validated immutable value.
      Throws:
      IllegalArgumentException - for a reversed interval or invalid time of day
      NullPointerException - if a reference component is null
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • worldId

      public UUID worldId()
      Returns the value of the worldId record component.
      Returns:
      the value of the worldId record component
    • worldName

      public String worldName()
      Returns the value of the worldName record component.
      Returns:
      the value of the worldName record component
    • worldEnvironment

      public String worldEnvironment()
      Returns the value of the worldEnvironment record component.
      Returns:
      the value of the worldEnvironment record component
    • sourceCamera

      public SceneCamera sourceCamera()
      Returns the value of the sourceCamera record component.
      Returns:
      the value of the sourceCamera record component
    • capturedAt

      public Instant capturedAt()
      Returns the value of the capturedAt record component.
      Returns:
      the value of the capturedAt record component
    • startedNanos

      public long startedNanos()
      Returns the value of the startedNanos record component.
      Returns:
      the value of the startedNanos record component
    • completedNanos

      public long completedNanos()
      Returns the value of the completedNanos record component.
      Returns:
      the value of the completedNanos record component
    • fullTime

      public long fullTime()
      Returns the value of the fullTime record component.
      Returns:
      the value of the fullTime record component
    • timeOfDay

      public long timeOfDay()
      Returns the value of the timeOfDay record component.
      Returns:
      the value of the timeOfDay record component
    • weather

      public Weather weather()
      Returns the value of the weather record component.
      Returns:
      the value of the weather record component
    • thundering

      public boolean thundering()
      Returns the value of the thundering record component.
      Returns:
      the value of the thundering record component
    • cameraBiome

      public String cameraBiome()
      Returns the value of the cameraBiome record component.
      Returns:
      the value of the cameraBiome record component