using System.Text.Json.Serialization; namespace NeonSprawl.Server.Game.Items; /// JSON body for GET /game/world/item-definitions (NEO-53). public sealed class ItemDefinitionsListResponse { public const int CurrentSchemaVersion = 1; [JsonPropertyName("schemaVersion")] public int SchemaVersion { get; init; } = CurrentSchemaVersion; /// Loaded items ordered by stable id (ordinal), matching . [JsonPropertyName("items")] public required IReadOnlyList Items { get; init; } } /// One row in the read-only item definition projection. public sealed class ItemDefinitionJson { [JsonPropertyName("id")] public required string Id { get; init; } [JsonPropertyName("displayName")] public required string DisplayName { get; init; } [JsonPropertyName("prototypeRole")] public required string PrototypeRole { get; init; } [JsonPropertyName("stackMax")] public required int StackMax { get; init; } [JsonPropertyName("inventorySlotKind")] public required string InventorySlotKind { get; init; } }