Package-level declarations

Types

Link copied to clipboard
@Serializable
data class CaughtFish(val uniqueId: UUID, val fish: FishId, val rarity: RarityId, val size: Double, val lengthRate: Double, val worth: Double, val angler: AnglerId, val world: FishingWorldId, val timestamp: ZonedDateTime)

釣果。釣りのイベントと魚アイテム (PDC moripafishing:caught_fish) が運ぶ。

Link copied to clipboard
data class Fish(val data: FishData, val rarity: RarityData, val size: Double, val lengthRate: Double, val worth: Double)

抽選済みの魚 (不変値)。FishDrawer が返す。

Link copied to clipboard
@Serializable
data class FishConditions(val weather: Set<WeatherType> = emptySet(), val world: Set<FishingWorldId> = emptySet())

魚が釣れる条件。空の項目は制限なしを表す。

Link copied to clipboard
@Serializable
data class FishData(val id: FishId, val rarity: RarityId, val displayName: Map<@Serializable(with = LocaleSerializer::class) Locale, String>, val lore: Map<@Serializable(with = LocaleSerializer::class) Locale, List<String>> = emptyMap(), val item: FishItemData, val size: FishSize, val weight: Double = 1.0, val worth: String? = null, val conditions: FishConditions = FishConditions(), val enabled: Boolean = true)

魚の定義。fish/ 配下の JSON ファイル (サブディレクトリを含む) から読み込まれる。

Link copied to clipboard
@Serializable(with = FishIdSerializer::class)
data class FishId(val value: String)

魚のIDを表すデータクラス

Link copied to clipboard
@Serializable
data class FishItemData(val material: String, val customModelData: List<Float> = emptyList(), val skullTexture: String? = null)

魚アイテムの見た目。

Link copied to clipboard
@Serializable
data class FishSize(val min: Double, val max: Double)

魚のサイズの範囲 (cm)。抽選は平均 (min + max) / 2・標準偏差 (max - min) / 6 の正規分布を範囲内に収めて行う。