package ru.dbotthepony.kstarbound.world.api

import ru.dbotthepony.kstarbound.Registry
import ru.dbotthepony.kstarbound.defs.tile.BuiltinMetaMaterials
import ru.dbotthepony.kstarbound.defs.tile.LiquidDefinition

data class ImmutableLiquidState(
	override val state: Registry.Entry<LiquidDefinition> = BuiltinMetaMaterials.NO_LIQUID,
	override val level: Float = 0f,
	override val pressure: Float = 0f,
	override val isInfinite: Boolean = false,
) : AbstractLiquidState() {
	override fun mutable(): MutableLiquidState {
		return MutableLiquidState(state, level, pressure, isInfinite)
	}

	override fun immutable(): ImmutableLiquidState {
		return this
	}
}
