#![allow(non_camel_case_types, non_snake_case, unused_imports)]
use crate::*;
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyGameModeEnum")]
pub enum MyGameModeEnum {
#[default]
Creative,
Survival,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyOnlineModeEnum")]
pub enum MyOnlineModeEnum {
#[default]
OFFLINE,
PUBLIC,
FRIENDS,
PRIVATE,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyBlockLimitsEnabledEnum")]
pub enum MyBlockLimitsEnabledEnum {
#[default]
NONE,
GLOBALLY,
PER_FACTION,
PER_PLAYER,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyEnvironmentHostilityEnum")]
pub enum MyEnvironmentHostilityEnum {
#[default]
SAFE,
NORMAL,
CATACLYSM,
CATACLYSM_UNREAL,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "LimitBlocksByOption")]
pub enum MyObjectBuilder_SessionSettings_LimitBlocksByOption {
#[default]
BlockPairName,
Tag,
}
#[::enumflags2::bitflags(default = Stationary | Linear | Accelerating | WithBlockCount | DistanceFromPlayer | RevertMaterials | RevertAsteroids)]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyTrashRemovalFlags")]
pub enum MyTrashRemovalFlags {
Fixed = 1,
Stationary = 2,
Linear = 8,
Accelerating = 16,
Powered = 32,
Controlled = 64,
WithProduction = 128,
WithMedBay = 256,
WithBlockCount = 512,
DistanceFromPlayer = 1024,
RevertMaterials = 2048,
RevertAsteroids = 4096,
RevertWithFloatingsPresent = 8192,
Indestructible = 16384,
RevertBoulders = 32768,
RevertCloseToNPCGrids = 65536,
}
impl MyTrashRemovalFlags {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
pub const DEFAULT: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{Stationary | Linear | Accelerating | WithBlockCount | DistanceFromPlayer | RevertMaterials | RevertAsteroids});
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_SessionSettings")]
pub struct MyObjectBuilder_SessionSettings {
#[proto(tag = 1)]
#[serde(rename = "GameMode")]
pub game_mode: MyGameModeEnum,
#[proto(tag = 3)]
#[serde(rename = "InventorySizeMultiplier")]
pub inventory_size_multiplier: f32,
#[proto(tag = 5)]
#[serde(rename = "BlocksInventorySizeMultiplier")]
pub blocks_inventory_size_multiplier: f32,
#[proto(tag = 7)]
#[serde(rename = "AssemblerSpeedMultiplier")]
pub assembler_speed_multiplier: f32,
#[proto(tag = 9)]
#[serde(rename = "AssemblerEfficiencyMultiplier")]
pub assembler_efficiency_multiplier: f32,
#[proto(tag = 11)]
#[serde(rename = "RefinerySpeedMultiplier")]
pub refinery_speed_multiplier: f32,
#[proto(tag = 13)]
#[serde(rename = "OnlineMode")]
pub online_mode: MyOnlineModeEnum,
#[proto(tag = 15)]
#[serde(rename = "MaxPlayers")]
pub max_players: i32,
#[proto(tag = 17)]
#[serde(rename = "MaxFloatingObjects")]
pub max_floating_objects: i32,
#[proto(tag = 18)]
#[serde(rename = "TotalBotLimit")]
pub total_bot_limit: i32,
#[proto(tag = 19)]
#[serde(rename = "MaxBackupSaves")]
pub max_backup_saves: i32,
#[proto(tag = 21)]
#[serde(rename = "MaxGridSize")]
pub max_grid_size: i32,
#[proto(tag = 23)]
#[serde(rename = "MaxBlocksPerPlayer")]
pub max_blocks_per_player: i32,
#[proto(tag = 25)]
#[serde(rename = "TotalPCU")]
pub total_pc_u: i32,
#[proto(tag = 27)]
#[serde(rename = "PiratePCU")]
pub pirate_pc_u: i32,
#[proto(tag = 28)]
#[serde(rename = "GlobalEncounterPCU")]
pub global_encounter_pc_u: i32,
#[proto(tag = 29)]
#[serde(rename = "MaxFactionsCount")]
pub max_factions_count: i32,
#[proto(tag = 31)]
#[serde(rename = "BlockLimitsEnabled")]
pub block_limits_enabled: MyBlockLimitsEnabledEnum,
#[proto(tag = 33)]
#[serde(rename = "EnableRemoteBlockRemoval")]
pub enable_remote_block_removal: bool,
#[proto(tag = 35)]
#[serde(rename = "EnvironmentHostility")]
pub environment_hostility: MyEnvironmentHostilityEnum,
#[proto(tag = 37)]
#[serde(rename = "AutoHealing")]
pub auto_healing: bool,
#[proto(tag = 39)]
#[serde(rename = "EnableCopyPaste")]
pub enable_copy_paste: bool,
#[proto(tag = 41)]
#[serde(rename = "WeaponsEnabled")]
pub weapons_enabled: bool,
#[proto(tag = 43)]
#[serde(rename = "ShowPlayerNamesOnHud")]
pub show_player_names_on_hud: bool,
#[proto(tag = 45)]
#[serde(rename = "ThrusterDamage")]
pub thruster_damage: bool,
#[proto(tag = 47)]
#[serde(rename = "CargoShipsEnabled")]
pub cargo_ships_enabled: bool,
#[proto(tag = 49)]
#[serde(rename = "EnableSpectator")]
pub enable_spectator: bool,
#[proto(tag = 51)]
#[serde(rename = "WorldSizeKm")]
pub world_size_km: i32,
#[proto(tag = 53)]
#[serde(rename = "RespawnShipDelete")]
pub respawn_ship_delete: bool,
#[proto(tag = 55)]
#[serde(rename = "ResetOwnership")]
pub reset_ownership: bool,
#[proto(tag = 57)]
#[serde(rename = "WelderSpeedMultiplier")]
pub welder_speed_multiplier: f32,
#[proto(tag = 59)]
#[serde(rename = "GrinderSpeedMultiplier")]
pub grinder_speed_multiplier: f32,
#[proto(tag = 61)]
#[serde(rename = "RealisticSound")]
pub realistic_sound: bool,
#[proto(tag = 63)]
#[serde(rename = "HackSpeedMultiplier")]
pub hack_speed_multiplier: f32,
#[proto(tag = 65)]
#[serde(rename = "PermanentDeath")]
pub permanent_death: crate::compat::Nullable<bool>,
#[proto(tag = 67)]
#[serde(rename = "AutoSaveInMinutes")]
pub auto_save_in_minutes: u32,
#[proto(tag = 69)]
#[serde(rename = "EnableSaving")]
pub enable_saving: bool,
#[proto(tag = 71)]
#[serde(rename = "InfiniteAmmo")]
pub infinite_ammo: bool,
#[proto(tag = 73)]
#[serde(rename = "EnableContainerDrops")]
pub enable_container_drops: bool,
#[proto(tag = 75)]
#[serde(rename = "SpawnShipTimeMultiplier")]
pub spawn_ship_time_multiplier: f32,
#[proto(tag = 77)]
#[serde(rename = "ProceduralDensity")]
pub procedural_density: f32,
#[proto(tag = 79)]
#[serde(rename = "ProceduralSeed")]
pub procedural_seed: i32,
#[proto(tag = 81)]
#[serde(rename = "DestructibleBlocks")]
pub destructible_blocks: bool,
#[proto(tag = 83)]
#[serde(rename = "EnableIngameScripts")]
pub enable_ingame_scripts: bool,
#[proto(tag = 85)]
#[serde(rename = "ViewDistance")]
pub view_distance: i32,
#[proto(tag = 87)]
#[serde(rename = "EnableToolShake")]
pub enable_tool_shake: bool,
#[proto(tag = 89)]
#[serde(rename = "VoxelGeneratorVersion")]
pub voxel_generator_version: i32,
#[proto(tag = 91)]
#[serde(rename = "EnableOxygen")]
pub enable_oxygen: bool,
#[proto(tag = 93)]
#[serde(rename = "EnableOxygenPressurization")]
pub enable_oxygen_pressurization: bool,
#[proto(tag = 95)]
#[serde(rename = "Enable3rdPersonView")]
pub enable3rd_person_view: bool,
#[proto(tag = 97)]
#[serde(rename = "EnableEncounters")]
pub enable_encounters: bool,
#[proto(tag = 99)]
#[serde(rename = "EnableConvertToStation")]
pub enable_convert_to_station: bool,
#[proto(tag = 101)]
#[serde(rename = "StationVoxelSupport")]
pub station_voxel_support: bool,
#[proto(tag = 103)]
#[serde(rename = "EnableSunRotation")]
pub enable_sun_rotation: bool,
#[proto(tag = 105)]
#[serde(rename = "EnableRespawnShips")]
pub enable_respawn_ships: bool,
#[proto(tag = 107)]
#[serde(rename = "ScenarioEditMode")]
pub scenario_edit_mode: bool,
#[proto(tag = 109)]
#[serde(rename = "Scenario")]
pub scenario: bool,
#[proto(tag = 110)]
#[serde(rename = "UpdateRespawnDictionary")]
pub update_respawn_dictionary: bool,
#[proto(tag = 111)]
#[serde(rename = "CanJoinRunning")]
pub can_join_running: bool,
#[proto(tag = 113)]
#[serde(rename = "PhysicsIterations")]
pub physics_iterations: i32,
#[proto(tag = 115)]
#[serde(rename = "SunRotationIntervalMinutes")]
pub sun_rotation_interval_minutes: f32,
#[proto(tag = 117)]
#[serde(rename = "EnableJetpack")]
pub enable_jetpack: bool,
#[proto(tag = 119)]
#[serde(rename = "SpawnWithTools")]
pub spawn_with_tools: bool,
#[proto(tag = 120)]
#[serde(rename = "BlueprintShareTimeout")]
pub blueprint_share_timeout: i32,
#[proto(tag = 124)]
#[serde(rename = "BlueprintShare")]
pub blueprint_share: bool,
#[proto(tag = 121)]
#[serde(rename = "StartInRespawnScreen")]
pub start_in_respawn_screen: bool,
#[proto(tag = 123)]
#[serde(rename = "EnableVoxelDestruction")]
pub enable_voxel_destruction: bool,
#[proto(tag = 125)]
#[serde(rename = "MaxDrones")]
pub max_drones: i32,
#[proto(tag = 127)]
#[serde(rename = "EnableDrones")]
pub enable_drones: bool,
#[proto(tag = 129)]
#[serde(rename = "EnableWolfs")]
pub enable_wolfs: bool,
#[proto(tag = 131)]
#[serde(rename = "EnableSpiders")]
pub enable_spiders: bool,
#[proto(tag = 133)]
#[serde(rename = "FloraDensityMultiplier")]
pub flora_density_multiplier: f32,
#[proto(tag = 139)]
#[serde(rename = "BlockTypeLimits")]
pub block_type_limits: crate::compat::SerializableDictionary<String,i32>,
#[proto(tag = 141)]
#[serde(rename = "EnableScripterRole")]
pub enable_scripter_role: bool,
#[proto(tag = 143)]
#[serde(rename = "MinDropContainerRespawnTime")]
pub min_drop_container_respawn_time: i32,
#[proto(tag = 145)]
#[serde(rename = "MaxDropContainerRespawnTime")]
pub max_drop_container_respawn_time: i32,
#[proto(tag = 147)]
#[serde(rename = "EnableTurretsFriendlyFire")]
pub enable_turrets_friendly_fire: bool,
#[proto(tag = 149)]
#[serde(rename = "EnableSubgridDamage")]
pub enable_subgrid_damage: bool,
#[proto(tag = 151)]
#[serde(rename = "SyncDistance")]
pub sync_distance: i32,
#[proto(tag = 153)]
#[serde(rename = "ExperimentalMode")]
pub experimental_mode: bool,
#[proto(tag = 155)]
#[serde(rename = "AdaptiveSimulationQuality")]
pub adaptive_simulation_quality: bool,
#[proto(tag = 157)]
#[serde(rename = "EnableVoxelHand")]
pub enable_voxel_hand: bool,
#[proto(tag = 158)]
#[serde(rename = "RemoveOldIdentitiesH")]
pub remove_old_identities_h: i32,
#[proto(tag = 159)]
#[serde(rename = "TrashRemovalEnabled")]
pub trash_removal_enabled: bool,
#[proto(tag = 160)]
#[serde(rename = "StopGridsPeriodMin")]
pub stop_grids_period_min: i32,
#[proto(tag = 161)]
#[serde(rename = "TrashFlagsValue")]
pub trash_flags_value: i32,
#[proto(tag = 162)]
#[serde(rename = "AFKTimeountMin")]
pub afk_timeount_min: i32,
#[proto(tag = 163)]
#[serde(rename = "BlockCountThreshold")]
pub block_count_threshold: i32,
#[proto(tag = 165)]
#[serde(rename = "PlayerDistanceThreshold")]
pub player_distance_threshold: f32,
#[proto(tag = 167)]
#[serde(rename = "OptimalGridCount")]
pub optimal_grid_count: i32,
#[proto(tag = 169)]
#[serde(rename = "PlayerInactivityThreshold")]
pub player_inactivity_threshold: f32,
#[proto(tag = 171)]
#[serde(rename = "PlayerCharacterRemovalThreshold")]
pub player_character_removal_threshold: i32,
#[proto(tag = 173)]
#[serde(rename = "VoxelTrashRemovalEnabled")]
pub voxel_trash_removal_enabled: bool,
#[proto(tag = 175)]
#[serde(rename = "VoxelPlayerDistanceThreshold")]
pub voxel_player_distance_threshold: f32,
#[proto(tag = 177)]
#[serde(rename = "VoxelGridDistanceThreshold")]
pub voxel_grid_distance_threshold: f32,
#[proto(tag = 179)]
#[serde(rename = "VoxelAgeThreshold")]
pub voxel_age_threshold: i32,
#[proto(tag = 181)]
#[serde(rename = "EnableResearch")]
pub enable_research: bool,
#[proto(tag = 183)]
#[serde(rename = "EnableGoodBotHints")]
pub enable_good_bot_hints: bool,
#[proto(tag = 185)]
#[serde(rename = "OptimalSpawnDistance")]
pub optimal_spawn_distance: f32,
#[proto(tag = 187)]
#[serde(rename = "EnableAutorespawn")]
pub enable_autorespawn: bool,
#[proto(tag = 188)]
#[serde(rename = "EnableBountyContracts")]
pub enable_bounty_contracts: bool,
#[proto(tag = 189)]
#[serde(rename = "EnableSupergridding")]
pub enable_supergridding: bool,
#[proto(tag = 191)]
#[serde(rename = "EnableEconomy")]
pub enable_economy: bool,
#[proto(tag = 194)]
#[serde(rename = "DepositsCountCoefficient")]
pub deposits_count_coefficient: f32,
#[proto(tag = 197)]
#[serde(rename = "DepositSizeDenominator")]
pub deposit_size_denominator: f32,
#[proto(tag = 198)]
#[serde(rename = "WeatherSystem")]
pub weather_system: bool,
#[proto(tag = 199)]
#[serde(rename = "WeatherLightingDamage")]
pub weather_lighting_damage: bool,
#[proto(tag = 200)]
#[serde(rename = "HarvestRatioMultiplier")]
pub harvest_ratio_multiplier: f32,
#[proto(tag = 203)]
#[serde(rename = "TradeFactionsCount")]
pub trade_factions_count: i32,
#[proto(tag = 206)]
#[serde(rename = "StationsDistanceInnerRadius")]
pub stations_distance_inner_radius: f64,
#[proto(tag = 209)]
#[serde(rename = "StationsDistanceOuterRadiusStart")]
pub stations_distance_outer_radius_start: f64,
#[proto(tag = 212)]
#[serde(rename = "StationsDistanceOuterRadiusEnd")]
pub stations_distance_outer_radius_end: f64,
#[proto(tag = 215)]
#[serde(rename = "EconomyTickInSeconds")]
pub economy_tick_in_seconds: i32,
#[proto(tag = 216)]
#[serde(rename = "NPCGridClaimTimeLimit")]
pub npc_grid_claim_time_limit: i32,
#[proto(tag = 217)]
#[serde(rename = "SimplifiedSimulation")]
pub simplified_simulation: bool,
#[proto(tag = 219)]
#[serde(rename = "SuppressedWarnings")]
pub suppressed_warnings: Vec<String>,
#[proto(tag = 222)]
#[serde(rename = "EnablePcuTrading")]
pub enable_pcu_trading: bool,
#[proto(tag = 220)]
#[serde(rename = "FamilySharing")]
pub family_sharing: bool,
#[proto(tag = 224)]
#[serde(rename = "EnableSelectivePhysicsUpdates")]
pub enable_selective_physics_updates: bool,
#[proto(tag = 228)]
#[serde(rename = "PredefinedAsteroids")]
pub predefined_asteroids: bool,
#[proto(tag = 232)]
#[serde(rename = "UseConsolePCU")]
pub use_console_pc_u: bool,
#[proto(tag = 236)]
#[serde(rename = "MaxPlanets")]
pub max_planets: i32,
#[proto(tag = 240)]
#[serde(rename = "OffensiveWordsFiltering")]
pub offensive_words_filtering: bool,
#[proto(tag = 245)]
#[serde(rename = "AdjustableMaxVehicleSpeed")]
pub adjustable_max_vehicle_speed: bool,
#[proto(tag = 246)]
#[serde(rename = "EnableMatchComponent")]
pub enable_match_component: bool,
#[proto(tag = 247)]
#[serde(rename = "PreMatchDuration")]
pub pre_match_duration: f32,
#[proto(tag = 248)]
#[serde(rename = "MatchDuration")]
pub match_duration: f32,
#[proto(tag = 249)]
#[serde(rename = "PostMatchDuration")]
pub post_match_duration: f32,
#[proto(tag = 250)]
#[serde(rename = "EnableFriendlyFire")]
pub enable_friendly_fire: bool,
#[proto(tag = 251)]
#[serde(rename = "EnableTeamBalancing")]
pub enable_team_balancing: bool,
#[proto(tag = 252)]
#[serde(rename = "CharacterSpeedMultiplier")]
pub character_speed_multiplier: f32,
#[proto(tag = 253)]
#[serde(rename = "EnableRecoil")]
pub enable_recoil: bool,
#[proto(tag = 254)]
#[serde(rename = "EnvironmentDamageMultiplier")]
pub environment_damage_multiplier: f32,
#[proto(tag = 255)]
#[serde(rename = "EnableGamepadAimAssist")]
pub enable_gamepad_aim_assist: bool,
#[proto(tag = 256)]
#[serde(rename = "BackpackDespawnTimer")]
pub backpack_despawn_timer: f32,
#[proto(tag = 257)]
#[serde(rename = "EnableFactionPlayerNames")]
pub enable_faction_player_names: bool,
#[proto(tag = 258)]
#[serde(rename = "EnableTeamScoreCounters")]
pub enable_team_score_counters: bool,
#[proto(tag = 259)]
#[serde(rename = "EnableSpaceSuitRespawn")]
pub enable_space_suit_respawn: bool,
#[proto(tag = 260)]
#[serde(rename = "MatchRestartWhenEmptyTime")]
pub match_restart_when_empty_time: i32,
#[proto(tag = 261)]
#[serde(rename = "EnableFactionVoiceChat")]
pub enable_faction_voice_chat: bool,
#[proto(tag = 262)]
#[serde(rename = "EnableOrca")]
pub enable_orca: bool,
#[proto(tag = 264)]
#[serde(rename = "MaxProductionQueueLength")]
pub max_production_queue_length: i32,
#[proto(tag = 266)]
#[serde(rename = "PrefetchShapeRayLengthLimit")]
pub prefetch_shape_ray_length_limit: i64,
#[proto(tag = 268)]
#[serde(rename = "EnemyTargetIndicatorDistance")]
pub enemy_target_indicator_distance: f32,
#[proto(tag = 270)]
#[serde(rename = "EnableTrashSettingsPlatformOverride")]
pub enable_trash_settings_platform_override: bool,
#[proto(tag = 271)]
#[serde(rename = "MinimumWorldSize")]
pub minimum_world_size: i32,
#[proto(tag = 272)]
#[serde(rename = "MaxCargoBags")]
pub max_cargo_bags: i32,
#[proto(tag = 273)]
#[serde(rename = "TrashCleanerCargoBagsMaxLiveTime")]
pub trash_cleaner_cargo_bags_max_live_time: i32,
#[proto(tag = 274)]
#[serde(rename = "ScrapEnabled")]
pub scrap_enabled: bool,
#[proto(tag = 275)]
#[serde(rename = "BroadcastControllerMaxOfflineTransmitDistance")]
pub broadcast_controller_max_offline_transmit_distance: i32,
#[proto(tag = 276)]
#[serde(rename = "TemporaryContainers")]
pub temporary_containers: bool,
#[proto(tag = 278)]
#[serde(rename = "GlobalEncounterTimer")]
pub global_encounter_timer: i32,
#[proto(tag = 280)]
#[serde(rename = "GlobalEncounterCap")]
pub global_encounter_cap: i32,
#[proto(tag = 282)]
#[serde(rename = "GlobalEncounterEnableRemovalTimer")]
pub global_encounter_enable_removal_timer: bool,
#[proto(tag = 284)]
#[serde(rename = "GlobalEncounterMinRemovalTimer")]
pub global_encounter_min_removal_timer: i32,
#[proto(tag = 286)]
#[serde(rename = "GlobalEncounterMaxRemovalTimer")]
pub global_encounter_max_removal_timer: i32,
#[proto(tag = 288)]
#[serde(rename = "GlobalEncounterRemovalTimeClock")]
pub global_encounter_removal_time_clock: i32,
#[proto(tag = 290)]
#[serde(rename = "EncounterDensity")]
pub encounter_density: f32,
#[proto(tag = 292)]
#[serde(rename = "EncounterGeneratorVersion")]
pub encounter_generator_version: i32,
#[proto(tag = 296)]
#[serde(rename = "EnablePlanetaryEncounters")]
pub enable_planetary_encounters: bool,
#[proto(tag = 298)]
#[serde(rename = "PlanetaryEncounterTimerMin")]
pub planetary_encounter_timer_min: f32,
#[proto(tag = 300)]
#[serde(rename = "PlanetaryEncounterTimerMax")]
pub planetary_encounter_timer_max: f32,
#[proto(tag = 301)]
#[serde(rename = "PlanetaryEncounterTimerFirst")]
pub planetary_encounter_timer_first: f32,
#[proto(tag = 302)]
#[serde(rename = "PlanetaryEncounterExistingStructuresRange")]
pub planetary_encounter_existing_structures_range: i32,
#[proto(tag = 304)]
#[serde(rename = "PlanetaryEncounterAreaLockdownRange")]
pub planetary_encounter_area_lockdown_range: i32,
#[proto(tag = 306)]
#[serde(rename = "PlanetaryEncounterDesiredSpawnRange")]
pub planetary_encounter_desired_spawn_range: i32,
#[proto(tag = 308)]
#[serde(rename = "PlanetaryEncounterPresenceRange")]
pub planetary_encounter_presence_range: i32,
#[proto(tag = 310)]
#[serde(rename = "PlanetaryEncounterDespawnTimeout")]
pub planetary_encounter_despawn_timeout: f32,
#[proto(tag = 316)]
#[serde(rename = "LimitBlocksBy")]
pub limit_blocks_by: MyObjectBuilder_SessionSettings_LimitBlocksByOption,
#[proto(tag = 320)]
#[serde(rename = "MaxHudChatMessageCount")]
pub max_hud_chat_message_count: i32,
#[proto(tag = 325)]
#[serde(rename = "EnableShareInertiaTensor")]
pub enable_share_inertia_tensor: bool,
#[proto(tag = 330)]
#[serde(rename = "EnableUnsafePistonImpulses")]
pub enable_unsafe_piston_impulses: bool,
#[proto(tag = 335)]
#[serde(rename = "EnableUnsafeRotorTorques")]
pub enable_unsafe_rotor_torques: bool,
#[proto(tag = 340)]
#[serde(rename = "EnableRadiation")]
pub enable_radiation: bool,
#[proto(tag = 345)]
#[serde(rename = "SolarRadiationIntensity")]
pub solar_radiation_intensity: f32,
#[proto(tag = 350)]
#[serde(rename = "ResetForageableItems")]
pub reset_forageable_items: bool,
#[proto(tag = 351)]
#[serde(rename = "ResetForageableItemsTimeM")]
pub reset_forageable_items_time_m: i32,
#[proto(tag = 352)]
#[serde(rename = "ResetForageableItemsDistance")]
pub reset_forageable_items_distance: i32,
#[proto(tag = 353)]
#[serde(rename = "FoodConsumptionRate")]
pub food_consumption_rate: f32,
#[proto(tag = 354)]
#[serde(rename = "EnableSurvivalBuffs")]
pub enable_survival_buffs: bool,
#[proto(tag = 355)]
#[serde(rename = "EnableReducedStatsOnRespawn")]
pub enable_reduced_stats_on_respawn: bool,
#[proto(tag = 360)]
#[serde(rename = "RandomizeSeed")]
pub randomize_seed: bool,
#[proto(skip)]
#[serde(rename = "AutoSave")]
pub auto_save: bool,
#[proto(skip)]
#[serde(skip)]
pub client_can_save: bool,
#[proto(skip)]
#[serde(skip)]
pub trash_flags: crate::compat::BitField<MyTrashRemovalFlags>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "WorkshopId")]
pub struct WorkshopId {
#[proto(tag = 1)]
#[serde(rename = "Id")]
pub id: u64,
#[proto(tag = 4)]
#[serde(rename = "ServiceName")]
pub service_name: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyServerData")]
pub struct MyCachedServerItem_MyServerData {
#[proto(tag = 1)]
#[serde(rename = "Settings")]
pub settings: MyObjectBuilder_SessionSettings,
#[proto(tag = 4)]
#[serde(rename = "ExperimentalMode")]
pub experimental_mode: bool,
#[proto(tag = 7)]
#[serde(rename = "Mods")]
pub mods: Vec<WorkshopId>,
#[proto(tag = 10)]
#[serde(rename = "Description")]
pub description: String,
#[proto(tag = 14)]
#[serde(rename = "UsedServices")]
pub used_services: Vec<String>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyPositionAndOrientation")]
pub struct MyPositionAndOrientation {
#[proto(tag = 1)]
#[serde(rename = "Position")]
pub position: crate::math::SerializableVector3D,
#[proto(skip)]
#[serde(rename = "Forward")]
pub forward: crate::math::SerializableVector3F,
#[proto(skip)]
#[serde(rename = "Up")]
pub up: crate::math::SerializableVector3F,
#[proto(skip)]
#[serde(rename = "Orientation")]
pub orientation: crate::math::Quaternion,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyCameraControllerEnum")]
pub enum MyCameraControllerEnum {
#[default]
Spectator,
Entity,
ThirdPersonSpectator,
SpectatorDelta,
SpectatorFixed,
SpectatorOrbit,
SpectatorFreeMouse,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyToolbarType")]
pub enum MyToolbarType {
#[default]
Character,
SmallCockpit,
LargeCockpit,
Ship,
Seat,
ButtonPanel,
Spectator,
None,
BuildCockpit,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ToolbarItem")]
pub struct MyObjectBuilder_ToolbarItem {}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Slot")]
pub struct MyObjectBuilder_Toolbar_Slot {
#[proto(tag = 1)]
#[serde(rename = "Index")]
pub index: i32,
#[proto(tag = 4)]
#[serde(rename = "Item")]
pub item: String,
#[proto(tag = 7)]
#[serde(rename = "Data")]
pub data: MyObjectBuilder_ToolbarItem,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Toolbar")]
pub struct MyObjectBuilder_Toolbar {
#[proto(tag = 10)]
#[serde(rename = "ToolbarType")]
pub toolbar_type: MyToolbarType,
#[proto(tag = 13)]
#[serde(rename = "SelectedSlot")]
pub selected_slot: crate::compat::Nullable<i32>,
#[proto(tag = 16)]
#[serde(rename = "Slots")]
pub slots: Vec<MyObjectBuilder_Toolbar_Slot>,
#[proto(tag = 17)]
#[serde(rename = "SlotsGamepad")]
pub slots_gamepad: Vec<MyObjectBuilder_Toolbar_Slot>,
#[proto(skip)]
#[serde(rename = "ColorMaskHSVList")]
pub color_mask_hsv_list: Vec<crate::math::Vector3F>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Eq, Hash, PartialOrd, Ord)]
#[serde(rename = "PlayerId")]
pub struct MyObjectBuilder_Checkpoint_PlayerId {
#[proto(tag = 183)]
#[serde(rename = "ClientId")]
pub client_id: u64,
#[proto(tag = 185)]
#[serde(rename = "SerialId")]
pub serial_id: i32,
#[proto(tag = 186)]
#[serde(rename = "HashedId")]
pub hashed_id: u64,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Object")]
pub struct Object {}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ScriptManager")]
pub struct MyObjectBuilder_ScriptManager {
#[proto(tag = 1)]
#[serde(rename = "variables")]
pub variables: crate::compat::SerializableDictionary<String,Vec<u8>>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionMember")]
pub struct MyObjectBuilder_FactionMember {
#[proto(tag = 1)]
#[serde(rename = "PlayerId")]
pub player_id: i64,
#[proto(tag = 4)]
#[serde(rename = "IsLeader")]
pub is_leader: bool,
#[proto(tag = 7)]
#[serde(rename = "IsFounder")]
pub is_founder: bool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyFactionTypes")]
pub enum MyFactionTypes {
#[default]
None,
PlayerMade,
Miner,
Trader,
Builder,
Pirate,
Military,
Custom,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStationTypeEnum")]
pub enum MyStationTypeEnum {
#[default]
MiningStation,
OrbitalStation,
Outpost,
SpaceStation,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "MyObjectBuilderType")]
pub struct MyObjectBuilderType {
#[serde(rename = "IsNull")]
pub is_null: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "SerializableDefinitionId")]
pub struct SerializableDefinitionId {
#[proto(skip)]
#[serde(skip)]
pub type_id: MyObjectBuilderType,
#[proto(skip)]
#[serde(skip)]
pub subtype_name: String,
#[proto(skip)]
#[serde(rename = "@TypeIdStringAttribute")]
pub type_id_string_attribute: String,
#[proto(skip)]
#[serde(rename = "TypeIdString")]
pub type_id_string: String,
#[proto(skip)]
#[serde(rename = "@SubtypeIdAttribute")]
pub subtype_id_attribute: String,
#[proto(skip)]
#[serde(rename = "SubtypeId")]
pub subtype_id: String,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ItemTypes")]
pub enum ItemTypes {
#[default]
PhysicalItem,
Oxygen,
Hydrogen,
Grid,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "StoreItemTypes")]
pub enum StoreItemTypes {
#[default]
Offer,
Order,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_StoreItem")]
pub struct MyObjectBuilder_StoreItem {
#[proto(tag = 1)]
#[serde(rename = "Id")]
pub id: i64,
#[proto(tag = 3)]
#[serde(rename = "Item")]
pub item: crate::compat::Nullable<SerializableDefinitionId>,
#[proto(tag = 4)]
#[serde(rename = "ItemType")]
pub item_type: ItemTypes,
#[proto(tag = 5)]
#[serde(rename = "Amount")]
pub amount: i32,
#[proto(tag = 7)]
#[serde(rename = "RemovedAmount")]
pub removed_amount: i32,
#[proto(tag = 9)]
#[serde(rename = "PricePerUnit")]
pub price_per_unit: i32,
#[proto(tag = 11)]
#[serde(rename = "StoreItemType")]
pub store_item_type: StoreItemTypes,
#[proto(tag = 13)]
#[serde(rename = "UpdateCount")]
pub update_count: i32,
#[proto(tag = 15)]
#[serde(rename = "PrefabName")]
pub prefab_name: String,
#[proto(tag = 17)]
#[serde(rename = "PrefabTotalPcu")]
pub prefab_total_pcu: i32,
#[proto(tag = 19)]
#[serde(rename = "PricePerUnitDiscount")]
pub price_per_unit_discount: f32,
#[proto(tag = 21)]
#[serde(rename = "IsCustomStoreItem")]
pub is_custom_store_item: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Station")]
pub struct MyObjectBuilder_Station {
#[proto(tag = 1)]
#[serde(rename = "Id")]
pub id: i64,
#[proto(tag = 2)]
#[serde(rename = "Position")]
pub position: crate::math::SerializableVector3D,
#[proto(tag = 3)]
#[serde(rename = "Up")]
pub up: crate::math::SerializableVector3F,
#[proto(tag = 5)]
#[serde(rename = "Forward")]
pub forward: crate::math::SerializableVector3F,
#[proto(tag = 7)]
#[serde(rename = "StationType")]
pub station_type: MyStationTypeEnum,
#[proto(tag = 9)]
#[serde(rename = "IsDeepSpaceStation")]
pub is_deep_space_station: bool,
#[proto(tag = 11)]
#[serde(rename = "StationEntityId")]
pub station_entity_id: i64,
#[proto(tag = 13)]
#[serde(rename = "FactionId")]
pub faction_id: i64,
#[proto(tag = 15)]
#[serde(rename = "PrefabName")]
pub prefab_name: String,
#[proto(tag = 19)]
#[serde(rename = "SafeZoneEntityId")]
pub safe_zone_entity_id: i64,
#[proto(tag = 21)]
#[serde(rename = "StoreItems")]
pub store_items: Vec<MyObjectBuilder_StoreItem>,
#[proto(tag = 23)]
#[serde(rename = "IsOnPlanetWithAtmosphere")]
pub is_on_planet_with_atmosphere: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Faction")]
pub struct MyObjectBuilder_Faction {
#[proto(tag = 10)]
#[serde(rename = "FactionId")]
pub faction_id: i64,
#[proto(tag = 13)]
#[serde(rename = "Tag")]
pub tag: String,
#[proto(tag = 16)]
#[serde(rename = "Name")]
pub name: String,
#[proto(tag = 19)]
#[serde(rename = "Description")]
pub description: String,
#[proto(tag = 22)]
#[serde(rename = "PrivateInfo")]
pub private_info: String,
#[proto(tag = 25)]
#[serde(rename = "Members")]
pub members: Vec<MyObjectBuilder_FactionMember>,
#[proto(tag = 28)]
#[serde(rename = "JoinRequests")]
pub join_requests: Vec<MyObjectBuilder_FactionMember>,
#[proto(tag = 31)]
#[serde(rename = "AutoAcceptMember")]
pub auto_accept_member: bool,
#[proto(tag = 34)]
#[serde(rename = "AutoAcceptPeace")]
pub auto_accept_peace: bool,
#[proto(tag = 37)]
#[serde(rename = "AcceptHumans")]
pub accept_humans: bool,
#[proto(tag = 40)]
#[serde(rename = "EnableFriendlyFire")]
pub enable_friendly_fire: bool,
#[proto(tag = 43)]
#[serde(rename = "FactionType")]
pub faction_type: MyFactionTypes,
#[proto(tag = 44)]
#[serde(rename = "FactionTypeString")]
pub faction_type_string: String,
#[proto(tag = 46)]
#[serde(rename = "Stations")]
pub stations: Vec<MyObjectBuilder_Station>,
#[proto(tag = 49)]
#[serde(rename = "CustomColor")]
pub custom_color: crate::math::SerializableVector3F,
#[proto(tag = 51)]
#[serde(rename = "IconColor")]
pub icon_color: crate::math::SerializableVector3F,
#[proto(tag = 52)]
#[serde(rename = "FactionIcon")]
pub faction_icon: String,
#[proto(tag = 53)]
#[serde(rename = "TransferedPCUDelta")]
pub transfered_pcu_delta: i32,
#[proto(tag = 56)]
#[serde(rename = "Score")]
pub score: i32,
#[proto(tag = 59)]
#[serde(rename = "ObjectivePercentageCompleted")]
pub objective_percentage_completed: f32,
#[proto(tag = 61)]
#[serde(rename = "FactionIconWorkshopId")]
pub faction_icon_workshop_id: crate::compat::Nullable<WorkshopId>,
#[proto(tag = 64)]
#[serde(rename = "DamageInflicted")]
pub damage_inflicted: crate::compat::SerializableDictionary<i64,f32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyRelationsBetweenFactions")]
pub enum MyRelationsBetweenFactions {
#[default]
Neutral,
Enemies,
Allies,
Friends,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionRelation")]
pub struct MyObjectBuilder_FactionRelation {
#[proto(tag = 1)]
#[serde(rename = "FactionId1")]
pub faction_id1: i64,
#[proto(tag = 4)]
#[serde(rename = "FactionId2")]
pub faction_id2: i64,
#[proto(tag = 7)]
#[serde(rename = "Relation")]
pub relation: MyRelationsBetweenFactions,
#[proto(tag = 10)]
#[serde(rename = "Reputation")]
pub reputation: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_PlayerFactionRelation")]
pub struct MyObjectBuilder_PlayerFactionRelation {
#[proto(tag = 1)]
#[serde(rename = "PlayerId")]
pub player_id: i64,
#[proto(tag = 4)]
#[serde(rename = "FactionId")]
pub faction_id: i64,
#[proto(tag = 7)]
#[serde(rename = "Relation")]
pub relation: MyRelationsBetweenFactions,
#[proto(tag = 10)]
#[serde(rename = "Reputation")]
pub reputation: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionRequests")]
pub struct MyObjectBuilder_FactionRequests {
#[proto(tag = 10)]
#[serde(rename = "FactionId")]
pub faction_id: i64,
#[proto(tag = 13)]
#[serde(rename = "FactionRequests")]
pub faction_requests: Vec<i64>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionsVisEntry")]
pub struct MyObjectBuilder_FactionsVisEntry {
#[proto(tag = 1)]
#[serde(rename = "PlayerId")]
pub player_id: u64,
#[proto(tag = 3)]
#[serde(rename = "SerialId")]
pub serial_id: i32,
#[proto(tag = 4)]
#[serde(rename = "IdentityId")]
pub identity_id: i64,
#[proto(tag = 5)]
#[serde(rename = "DiscoveredFactions")]
pub discovered_factions: Vec<i64>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionCollection")]
pub struct MyObjectBuilder_FactionCollection {
#[proto(tag = 16)]
#[serde(rename = "Factions")]
pub factions: Vec<MyObjectBuilder_Faction>,
#[proto(tag = 19)]
#[serde(rename = "Players")]
pub players: crate::compat::SerializableDictionary<i64,i64>,
#[proto(tag = 22)]
#[serde(rename = "Relations")]
pub relations: Vec<MyObjectBuilder_FactionRelation>,
#[proto(tag = 25)]
#[serde(rename = "RelationsWithPlayers")]
pub relations_with_players: Vec<MyObjectBuilder_PlayerFactionRelation>,
#[proto(tag = 28)]
#[serde(rename = "Requests")]
pub requests: Vec<MyObjectBuilder_FactionRequests>,
#[proto(tag = 31)]
#[serde(rename = "PlayerToFactionsVis")]
pub player_to_factions_vis: Vec<MyObjectBuilder_FactionsVisEntry>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ModItem")]
pub struct MyObjectBuilder_Checkpoint_ModItem {
#[proto(tag = 70)]
#[serde(rename = "Name")]
pub name: String,
#[proto(tag = 73)]
#[serde(rename = "PublishedFileId")]
pub published_file_id: u64,
#[proto(tag = 74)]
#[serde(rename = "PublishedServiceName")]
pub published_service_name: String,
#[proto(tag = 76)]
#[serde(rename = "IsDependency")]
pub is_dependency: bool,
#[proto(tag = 79)]
#[serde(rename = "@FriendlyName")]
pub friendly_name: String,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyPromoteLevel")]
pub enum MyPromoteLevel {
#[default]
None,
Scripter,
Moderator,
SpaceMaster,
Admin,
Owner,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "RespawnCooldownItem")]
pub struct MyObjectBuilder_Checkpoint_RespawnCooldownItem {
#[proto(tag = 91)]
#[serde(rename = "PlayerSteamId")]
pub player_steam_id: u64,
#[proto(tag = 94)]
#[serde(rename = "PlayerSerialId")]
pub player_serial_id: i32,
#[proto(tag = 95)]
#[serde(rename = "IdentityId")]
pub identity_id: i64,
#[proto(tag = 97)]
#[serde(rename = "RespawnShipId")]
pub respawn_ship_id: String,
#[proto(tag = 100)]
#[serde(rename = "Cooldown")]
pub cooldown: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Identity")]
pub struct MyObjectBuilder_Identity {
#[proto(tag = 1)]
#[serde(rename = "IdentityId")]
pub identity_id: i64,
#[proto(tag = 4)]
#[serde(rename = "DisplayName")]
pub display_name: String,
#[proto(tag = 7)]
#[serde(rename = "CharacterEntityId")]
pub character_entity_id: i64,
#[proto(tag = 10)]
#[serde(rename = "Model")]
pub model: String,
#[proto(tag = 13)]
#[serde(rename = "ColorMask")]
pub color_mask: crate::compat::Nullable<crate::math::SerializableVector3F>,
#[proto(tag = 16)]
#[serde(rename = "BlockLimitModifier")]
pub block_limit_modifier: i32,
#[proto(tag = 19)]
#[serde(rename = "LastLoginTime")]
pub last_login_time: crate::compat::DateTime,
#[proto(tag = 22)]
#[serde(rename = "SavedCharacters")]
pub saved_characters: Vec<i64>,
#[proto(tag = 25)]
#[serde(rename = "LastLogoutTime")]
pub last_logout_time: crate::compat::DateTime,
#[proto(tag = 28)]
#[serde(rename = "RespawnShips")]
pub respawn_ships: Vec<i64>,
#[proto(skip)]
#[serde(rename = "LastDeathPosition")]
pub last_death_position: crate::compat::Nullable<crate::math::Vector3D>,
#[proto(tag = 33)]
#[serde(rename = "ActiveContracts")]
pub active_contracts: Vec<i64>,
#[proto(tag = 35)]
#[serde(rename = "TransferedPCUDelta")]
pub transfered_pcu_delta: i32,
#[proto(tag = 38)]
#[serde(rename = "IsGlobalEncounterSpawner")]
pub is_global_encounter_spawner: bool,
#[proto(skip)]
#[serde(rename = "PlayerId")]
pub player_id: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Client")]
pub struct MyObjectBuilder_Client {
#[proto(tag = 1)]
#[serde(rename = "SteamId")]
pub steam_id: u64,
#[proto(tag = 4)]
#[serde(rename = "Name")]
pub name: String,
#[proto(tag = 7)]
#[serde(rename = "IsAdmin")]
pub is_admin: bool,
#[proto(tag = 10)]
#[serde(rename = "ClientService")]
pub client_service: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "CameraControllerSettings")]
pub struct CameraControllerSettings {
#[proto(tag = 1)]
#[serde(rename = "IsFirstPerson")]
pub is_first_person: bool,
#[proto(tag = 4)]
#[serde(rename = "Distance")]
pub distance: f64,
#[proto(tag = 7)]
#[serde(rename = "HeadAngle")]
pub head_angle: crate::compat::Nullable<crate::math::SerializableVector2F>,
#[proto(skip)]
#[serde(rename = "@EntityId")]
pub entity_id: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Player")]
pub struct MyObjectBuilder_Player {
#[proto(tag = 10)]
#[serde(rename = "DisplayName")]
pub display_name: String,
#[proto(tag = 13)]
#[serde(rename = "IdentityId")]
pub identity_id: i64,
#[proto(tag = 16)]
#[serde(rename = "Connected")]
pub connected: bool,
#[proto(tag = 19)]
#[serde(rename = "ForceRealPlayer")]
pub force_real_player: bool,
#[proto(tag = 22)]
#[serde(rename = "Toolbar")]
pub toolbar: MyObjectBuilder_Toolbar,
#[proto(tag = 25)]
#[serde(rename = "EntityCameraData")]
pub entity_camera_data: Vec<CameraControllerSettings>,
#[proto(tag = 28)]
#[serde(rename = "BuildColorSlots")]
pub build_color_slots: Vec<crate::math::Vector3F>,
#[proto(tag = 30)]
#[serde(rename = "CreativeToolsEnabled")]
pub creative_tools_enabled: bool,
#[proto(tag = 33)]
#[serde(rename = "RemoteAdminSettings")]
pub remote_admin_settings: i32,
#[proto(tag = 38)]
#[serde(rename = "PromoteLevel")]
pub promote_level: MyPromoteLevel,
#[proto(skip)]
#[serde(rename = "SteamID")]
pub steam_i_d: u64,
#[proto(skip)]
#[serde(rename = "PlayerEntity")]
pub player_entity: i64,
#[proto(skip)]
#[serde(rename = "PlayerModel")]
pub player_model: String,
#[proto(skip)]
#[serde(rename = "PlayerId")]
pub player_id: i64,
#[proto(skip)]
#[serde(rename = "LastActivity")]
pub last_activity: i64,
#[proto(tag = 31)]
#[serde(rename = "BuildArmorSkin")]
pub build_armor_skin: String,
#[proto(tag = 35)]
#[serde(rename = "BuildColorSlot")]
pub build_color_slot: i32,
#[proto(tag = 40)]
#[serde(rename = "IsWildlifeAgent")]
pub is_wildlife_agent: bool,
#[proto(tag = 45)]
#[serde(rename = "PlatformIcon")]
pub platform_icon: String,
#[proto(tag = 50)]
#[serde(rename = "GameAcronym")]
pub game_acronym: String,
#[proto(skip)]
#[serde(rename = "CameraData")]
pub camera_data: crate::compat::SerializableDictionary<i64,CameraControllerSettings>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_PlayerChatItem")]
pub struct MyObjectBuilder_PlayerChatItem {
#[proto(tag = 25)]
#[serde(rename = "@Text")]
pub text: String,
#[proto(tag = 28)]
#[serde(rename = "IdentityIdUniqueNumber")]
pub identity_id_unique_number: i64,
#[proto(tag = 31)]
#[serde(rename = "TimestampMs")]
pub timestamp_ms: i64,
#[proto(tag = 34)]
#[serde(rename = "Sent")]
pub sent: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_PlayerChatHistory")]
pub struct MyObjectBuilder_PlayerChatHistory {
#[proto(tag = 10)]
#[serde(rename = "Chat")]
pub chat: Vec<MyObjectBuilder_PlayerChatItem>,
#[proto(tag = 13)]
#[serde(rename = "IdentityId")]
pub identity_id: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_GlobalChatItem")]
pub struct MyObjectBuilder_GlobalChatItem {
#[proto(tag = 52)]
#[serde(rename = "@Text")]
pub text: String,
#[proto(tag = 55)]
#[serde(rename = "IdentityIdUniqueNumber")]
pub identity_id_unique_number: i64,
#[proto(tag = 58)]
#[serde(rename = "@Author")]
pub author: String,
#[proto(tag = 61)]
#[serde(rename = "@Font")]
pub font: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_GlobalChatHistory")]
pub struct MyObjectBuilder_GlobalChatHistory {
#[proto(tag = 22)]
#[serde(rename = "Chat")]
pub chat: Vec<MyObjectBuilder_GlobalChatItem>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ChatHistory")]
pub struct MyObjectBuilder_ChatHistory {
#[proto(tag = 1)]
#[serde(rename = "IdentityId")]
pub identity_id: i64,
#[proto(tag = 4)]
#[serde(rename = "PlayerChatHistory")]
pub player_chat_history: Vec<MyObjectBuilder_PlayerChatHistory>,
#[proto(tag = 7)]
#[serde(rename = "GlobalChatHistory")]
pub global_chat_history: MyObjectBuilder_GlobalChatHistory,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionChatItem")]
pub struct MyObjectBuilder_FactionChatItem {
#[proto(tag = 37)]
#[serde(rename = "@Text")]
pub text: String,
#[proto(tag = 40)]
#[serde(rename = "IdentityIdUniqueNumber")]
pub identity_id_unique_number: i64,
#[proto(tag = 43)]
#[serde(rename = "TimestampMs")]
pub timestamp_ms: i64,
#[proto(tag = 46)]
#[serde(rename = "PlayersToSendToUniqueNumber")]
pub players_to_send_to_unique_number: Vec<i64>,
#[proto(tag = 49)]
#[serde(rename = "IsAlreadySentTo")]
pub is_already_sent_to: Vec<bool>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionChatHistory")]
pub struct MyObjectBuilder_FactionChatHistory {
#[proto(tag = 16)]
#[serde(rename = "Chat")]
pub chat: Vec<MyObjectBuilder_FactionChatItem>,
#[proto(tag = 19)]
#[serde(rename = "FactionId1")]
pub faction_id1: i64,
#[proto(skip)]
#[serde(rename = "FactionId2")]
pub faction_id2: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Eq, Hash, PartialOrd, Ord)]
#[serde(rename = "Color")]
pub struct Color {
#[proto(tag = 1)]
#[serde(rename = "PackedValue")]
pub packed_value: u32,
#[proto(skip)]
#[serde(rename = "X")]
pub X: i32,
#[proto(skip)]
#[serde(rename = "Y")]
pub Y: i32,
#[proto(skip)]
#[serde(rename = "Z")]
pub Z: i32,
#[proto(skip)]
#[serde(rename = "R")]
pub R: i32,
#[proto(skip)]
#[serde(rename = "G")]
pub G: i32,
#[proto(skip)]
#[serde(rename = "B")]
pub B: i32,
#[proto(skip)]
#[serde(rename = "A")]
pub A: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Entry")]
pub struct MyObjectBuilder_Gps_Entry {
#[proto(tag = 1)]
#[serde(rename = "name")]
pub name: String,
#[proto(tag = 4)]
#[serde(rename = "description")]
pub description: String,
#[proto(tag = 7)]
#[serde(rename = "coords")]
pub coords: crate::math::Vector3D,
#[proto(tag = 10)]
#[serde(rename = "isFinal")]
pub is_final: bool,
#[proto(tag = 13)]
#[serde(rename = "showOnHud")]
pub show_on_hud: bool,
#[proto(tag = 16)]
#[serde(rename = "alwaysVisible")]
pub always_visible: bool,
#[proto(tag = 19)]
#[serde(rename = "color")]
pub color: Color,
#[proto(tag = 22)]
#[serde(rename = "entityId")]
pub entity_id: i64,
#[proto(tag = 28)]
#[serde(rename = "isObjective")]
pub is_objective: bool,
#[proto(tag = 31)]
#[serde(rename = "contractId")]
pub contract_id: i64,
#[proto(tag = 33)]
#[serde(rename = "IsGlobalEncounterGPS")]
pub is_global_encounter_gp_s: bool,
#[proto(tag = 25)]
#[serde(rename = "DisplayName")]
pub display_name: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Gps")]
pub struct MyObjectBuilder_Gps {
#[proto(tag = 35)]
#[serde(rename = "Entries")]
pub entries: Vec<MyObjectBuilder_Gps_Entry>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_SessionComponent")]
pub struct MyObjectBuilder_SessionComponent {
#[proto(skip)]
#[serde(rename = "Definition")]
pub definition: crate::compat::Nullable<SerializableDefinitionId>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "PlayerItem")]
pub struct MyObjectBuilder_Checkpoint_PlayerItem {
#[proto(tag = 55)]
#[serde(rename = "PlayerId")]
pub player_id: i64,
#[proto(tag = 58)]
#[serde(rename = "IsDead")]
pub is_dead: bool,
#[proto(tag = 61)]
#[serde(rename = "Name")]
pub name: String,
#[proto(tag = 64)]
#[serde(rename = "SteamId")]
pub steam_id: u64,
#[proto(tag = 67)]
#[serde(rename = "Model")]
pub model: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Checkpoint")]
pub struct MyObjectBuilder_Checkpoint {
#[proto(tag = 1)]
#[serde(rename = "CurrentSector")]
pub current_sector: crate::math::SerializableVector3I,
#[proto(tag = 4)]
#[serde(rename = "ElapsedGameTime")]
pub elapsed_game_time: i64,
#[proto(tag = 7)]
#[serde(rename = "SessionName")]
pub session_name: String,
#[proto(tag = 10)]
#[serde(rename = "SpectatorPosition")]
pub spectator_position: MyPositionAndOrientation,
#[proto(tag = 11)]
#[serde(rename = "SpectatorSpeed")]
pub spectator_speed: crate::math::SerializableVector2F,
#[proto(tag = 13)]
#[serde(rename = "SpectatorIsLightOn")]
pub spectator_is_light_on: bool,
#[proto(tag = 16)]
#[serde(rename = "CameraController")]
pub camera_controller: MyCameraControllerEnum,
#[proto(tag = 19)]
#[serde(rename = "CameraEntity")]
pub camera_entity: i64,
#[proto(tag = 22)]
#[serde(rename = "ControlledObject")]
pub controlled_object: i64,
#[proto(tag = 25)]
#[serde(rename = "Password")]
pub password: String,
#[proto(tag = 28)]
#[serde(rename = "Description")]
pub description: String,
#[proto(tag = 31)]
#[serde(rename = "LastSaveTime")]
pub last_save_time: crate::compat::DateTime,
#[proto(tag = 34)]
#[serde(rename = "SpectatorDistance")]
pub spectator_distance: f32,
#[proto(tag = 37)]
#[serde(rename = "WorkshopId")]
pub workshop_id: crate::compat::Nullable<u64>,
#[proto(tag = 38)]
#[serde(rename = "WorkshopServiceName")]
pub workshop_service_name: String,
#[proto(tag = 39)]
#[serde(rename = "WorkshopId1")]
pub workshop_id1: crate::compat::Nullable<u64>,
#[proto(tag = 41)]
#[serde(rename = "WorkshopServiceName1")]
pub workshop_service_name1: String,
#[proto(tag = 40)]
#[serde(rename = "CharacterToolbar")]
pub character_toolbar: MyObjectBuilder_Toolbar,
#[proto(tag = 43)]
#[serde(rename = "ControlledEntities")]
pub controlled_entities: crate::compat::SerializableDictionary<i64,MyObjectBuilder_Checkpoint_PlayerId>,
#[proto(tag = 46)]
#[serde(rename = "Settings")]
pub settings: MyObjectBuilder_SessionSettings,
#[proto(skip)]
#[serde(rename = "ScriptManagerData")]
pub script_manager_data: MyObjectBuilder_ScriptManager,
#[proto(tag = 49)]
#[serde(rename = "AppVersion")]
pub app_version: i32,
#[proto(tag = 52)]
#[serde(rename = "Factions")]
pub factions: MyObjectBuilder_FactionCollection,
#[proto(tag = 54)]
#[serde(rename = "PlayersDeadInCryopods")]
pub players_dead_in_cryopods: crate::compat::SerializableDictionary<u64,i64>,
#[proto(tag = 82)]
#[serde(rename = "Mods")]
pub mods: Vec<MyObjectBuilder_Checkpoint_ModItem>,
#[proto(tag = 85)]
#[serde(rename = "PromotedUsers")]
pub promoted_users: crate::compat::SerializableDictionary<u64,MyPromoteLevel>,
#[proto(skip)]
#[serde(rename = "CreativeTools")]
pub creative_tools: Vec<u64>,
#[proto(tag = 88)]
#[serde(rename = "Scenario")]
pub scenario: SerializableDefinitionId,
#[proto(tag = 103)]
#[serde(rename = "RespawnCooldowns")]
pub respawn_cooldowns: Vec<MyObjectBuilder_Checkpoint_RespawnCooldownItem>,
#[proto(tag = 106)]
#[serde(rename = "Identities")]
pub identities: Vec<MyObjectBuilder_Identity>,
#[proto(tag = 109)]
#[serde(rename = "Clients")]
pub clients: Vec<MyObjectBuilder_Client>,
#[proto(tag = 112)]
#[serde(rename = "PreviousEnvironmentHostility")]
pub previous_environment_hostility: crate::compat::Nullable<MyEnvironmentHostilityEnum>,
#[proto(tag = 113)]
#[serde(rename = "SharedToolbar")]
pub shared_toolbar: u64,
#[proto(tag = 115)]
#[serde(rename = "AllPlayersData")]
pub all_players_data: crate::compat::SerializableDictionary<MyObjectBuilder_Checkpoint_PlayerId,MyObjectBuilder_Player>,
#[proto(tag = 118)]
#[serde(rename = "AllPlayersColors")]
pub all_players_colors: crate::compat::SerializableDictionary<MyObjectBuilder_Checkpoint_PlayerId,Vec<crate::math::Vector3F>>,
#[proto(tag = 121)]
#[serde(rename = "ChatHistory")]
pub chat_history: Vec<MyObjectBuilder_ChatHistory>,
#[proto(tag = 124)]
#[serde(rename = "FactionChatHistory")]
pub faction_chat_history: Vec<MyObjectBuilder_FactionChatHistory>,
#[proto(tag = 127)]
#[serde(rename = "NonPlayerIdentities")]
pub non_player_identities: Vec<i64>,
#[proto(tag = 130)]
#[serde(rename = "Gps")]
pub gps: crate::compat::SerializableDictionary<i64,MyObjectBuilder_Gps>,
#[proto(tag = 132)]
#[serde(rename = "ContainerGridIds")]
pub container_grid_ids: crate::compat::SerializableDictionary<u64,Vec<i64>>,
#[proto(tag = 133)]
#[serde(rename = "WorldBoundaries")]
pub world_boundaries: crate::compat::Nullable<crate::math::SerializableBoundingBoxD>,
#[proto(tag = 136)]
#[serde(rename = "SessionComponents")]
pub session_components: Vec<MyObjectBuilder_SessionComponent>,
#[proto(tag = 139)]
#[serde(rename = "GameDefinition")]
pub game_definition: SerializableDefinitionId,
#[proto(tag = 142)]
#[serde(rename = "SessionComponentEnabled")]
pub session_component_enabled: Vec<String>,
#[proto(tag = 145)]
#[serde(rename = "SessionComponentDisabled")]
pub session_component_disabled: Vec<String>,
#[proto(tag = 148)]
#[serde(rename = "InGameTime")]
pub in_game_time: crate::compat::DateTime,
#[proto(skip)]
#[serde(rename = "CustomLoadingScreenImage")]
pub custom_loading_screen_image: String,
#[proto(skip)]
#[serde(rename = "CustomLoadingScreenText")]
pub custom_loading_screen_text: String,
#[proto(tag = 160)]
#[serde(rename = "CustomSkybox")]
pub custom_skybox: String,
#[proto(tag = 163)]
#[serde(rename = "RequiresDX")]
pub requires_d_x: i32,
#[proto(tag = 166)]
#[serde(rename = "VicinityModelsCache")]
pub vicinity_models_cache: Vec<String>,
#[proto(tag = 169)]
#[serde(rename = "VicinityArmorModelsCache")]
pub vicinity_armor_models_cache: Vec<String>,
#[proto(tag = 172)]
#[serde(rename = "VicinityVoxelCache")]
pub vicinity_voxel_cache: Vec<String>,
#[proto(tag = 179)]
#[serde(rename = "WorldId")]
pub world_id: crate::compat::Guid,
#[proto(tag = 175)]
#[serde(rename = "ConnectedPlayers")]
pub connected_players: crate::compat::SerializableDictionary<MyObjectBuilder_Checkpoint_PlayerId,MyObjectBuilder_Player>,
#[proto(tag = 178)]
#[serde(rename = "DisconnectedPlayers")]
pub disconnected_players: crate::compat::SerializableDictionary<MyObjectBuilder_Checkpoint_PlayerId,i64>,
#[proto(skip)]
#[serde(rename = "AllPlayers")]
pub all_players: Vec<MyObjectBuilder_Checkpoint_PlayerItem>,
#[proto(tag = 181)]
#[serde(rename = "RemoteAdminSettings")]
pub remote_admin_settings: crate::compat::SerializableDictionary<u64,i32>,
#[proto(skip)]
#[serde(rename = "GameTime")]
pub game_time: crate::compat::DateTime,
#[proto(skip)]
#[serde(rename = "OnlineMode")]
pub online_mode: MyOnlineModeEnum,
#[proto(skip)]
#[serde(rename = "AutoHealing")]
pub auto_healing: bool,
#[proto(skip)]
#[serde(rename = "EnableCopyPaste")]
pub enable_copy_paste: bool,
#[proto(skip)]
#[serde(rename = "MaxPlayers")]
pub max_players: i32,
#[proto(skip)]
#[serde(rename = "WeaponsEnabled")]
pub weapons_enabled: bool,
#[proto(skip)]
#[serde(rename = "ShowPlayerNamesOnHud")]
pub show_player_names_on_hud: bool,
#[proto(skip)]
#[serde(rename = "MaxFloatingObjects")]
pub max_floating_objects: i32,
#[proto(skip)]
#[serde(rename = "GameMode")]
pub game_mode: MyGameModeEnum,
#[proto(skip)]
#[serde(rename = "InventorySizeMultiplier")]
pub inventory_size_multiplier: f32,
#[proto(skip)]
#[serde(rename = "AssemblerSpeedMultiplier")]
pub assembler_speed_multiplier: f32,
#[proto(skip)]
#[serde(rename = "AssemblerEfficiencyMultiplier")]
pub assembler_efficiency_multiplier: f32,
#[proto(skip)]
#[serde(rename = "RefinerySpeedMultiplier")]
pub refinery_speed_multiplier: f32,
#[proto(skip)]
#[serde(rename = "ThrusterDamage")]
pub thruster_damage: bool,
#[proto(skip)]
#[serde(rename = "CargoShipsEnabled")]
pub cargo_ships_enabled: bool,
#[proto(skip)]
#[serde(rename = "AutoSave")]
pub auto_save: bool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyGlobalEventTypeEnum")]
pub enum MyGlobalEventTypeEnum {
#[default]
InvalidEventType,
SpawnNeutralShip,
MeteorShower,
MeteorWave,
SpawnCargoShip,
April2014,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_GlobalEventBase")]
pub struct MyObjectBuilder_GlobalEventBase {
#[proto(tag = 1)]
#[serde(rename = "DefinitionId")]
pub definition_id: crate::compat::Nullable<SerializableDefinitionId>,
#[proto(tag = 4)]
#[serde(rename = "Enabled")]
pub enabled: bool,
#[proto(tag = 7)]
#[serde(rename = "ActivationTimeMs")]
pub activation_time_ms: i64,
#[proto(tag = 10)]
#[serde(rename = "EventType")]
pub event_type: MyGlobalEventTypeEnum,
#[proto(tag = 13)]
#[serde(rename = "TargetIdentity")]
pub target_identity: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_GlobalEvents")]
pub struct MyObjectBuilder_GlobalEvents {
#[proto(tag = 1)]
#[serde(rename = "Events")]
pub events: Vec<MyObjectBuilder_GlobalEventBase>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyEncounterId")]
pub struct MyEncounterId {
#[proto(tag = 1)]
#[serde(rename = "BoundingBox")]
pub bounding_box: crate::math::BoundingBoxD,
#[proto(tag = 4)]
#[serde(rename = "Seed")]
pub seed: i32,
#[proto(tag = 7)]
#[serde(rename = "EncounterId")]
pub encounter_id: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Encounters")]
pub struct MyObjectBuilder_Encounters {
#[proto(tag = 10)]
#[serde(rename = "SavedEncounters")]
pub saved_encounters: Vec<MyEncounterId>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_EnvironmentSettings")]
pub struct MyObjectBuilder_EnvironmentSettings {
#[proto(tag = 1)]
#[serde(rename = "SunAzimuth")]
pub sun_azimuth: f32,
#[proto(tag = 4)]
#[serde(rename = "SunElevation")]
pub sun_elevation: f32,
#[proto(tag = 7)]
#[serde(rename = "SunIntensity")]
pub sun_intensity: f32,
#[proto(tag = 10)]
#[serde(rename = "FogMultiplier")]
pub fog_multiplier: f32,
#[proto(tag = 13)]
#[serde(rename = "FogDensity")]
pub fog_density: f32,
#[proto(tag = 16)]
#[serde(rename = "FogColor")]
pub fog_color: crate::math::SerializableVector3F,
#[proto(tag = 19)]
#[serde(rename = "EnvironmentDefinition")]
pub environment_definition: SerializableDefinitionId,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyPersistentEntityFlags2")]
pub enum MyPersistentEntityFlags2 {
Enabled = 2,
CastShadows = 4,
InScene = 16,
}
impl MyPersistentEntityFlags2 {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ComponentBase")]
pub struct MyObjectBuilder_ComponentBase {
#[proto(tag = 1)]
#[serde(rename = "RemoveExistingComponentOnNewInsert")]
pub remove_existing_component_on_new_insert: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ComponentData")]
pub struct MyObjectBuilder_ComponentContainer_ComponentData {
#[proto(tag = 1)]
#[serde(rename = "TypeId")]
pub type_id: String,
#[proto(tag = 4)]
#[serde(rename = "Component")]
pub component: MyObjectBuilder_ComponentBase,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ComponentContainer")]
pub struct MyObjectBuilder_ComponentContainer {
#[proto(tag = 7)]
#[serde(rename = "Components")]
pub components: Vec<MyObjectBuilder_ComponentContainer_ComponentData>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_EntityBase")]
pub struct MyObjectBuilder_EntityBase {
#[proto(tag = 1)]
#[serde(rename = "EntityId")]
pub entity_id: i64,
#[proto(tag = 4)]
#[serde(rename = "PersistentFlags")]
pub persistent_flags: crate::compat::BitField<MyPersistentEntityFlags2>,
#[proto(tag = 7)]
#[serde(rename = "Name")]
pub name: String,
#[proto(tag = 10)]
#[serde(rename = "PositionAndOrientation")]
pub position_and_orientation: crate::compat::Nullable<MyPositionAndOrientation>,
#[proto(tag = 11)]
#[serde(rename = "LocalPositionAndOrientation")]
pub local_position_and_orientation: crate::compat::Nullable<MyPositionAndOrientation>,
#[proto(tag = 13)]
#[serde(rename = "ComponentContainer")]
pub component_container: MyObjectBuilder_ComponentContainer,
#[proto(skip)]
#[serde(rename = "EntityDefinitionId")]
pub entity_definition_id: crate::compat::Nullable<SerializableDefinitionId>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Sector")]
pub struct MyObjectBuilder_Sector {
#[proto(tag = 1)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3I,
#[proto(tag = 7)]
#[serde(rename = "SectorEvents")]
pub sector_events: MyObjectBuilder_GlobalEvents,
#[proto(tag = 10)]
#[serde(rename = "AppVersion")]
pub app_version: i32,
#[proto(tag = 13)]
#[serde(rename = "Encounters")]
pub encounters: MyObjectBuilder_Encounters,
#[proto(tag = 16)]
#[serde(rename = "Environment")]
pub environment: MyObjectBuilder_EnvironmentSettings,
#[proto(tag = 19)]
#[serde(rename = "VoxelHandVolumeChanged")]
pub voxel_hand_volume_changed: u64,
#[proto(tag = 4)]
#[serde(rename = "SectorObjects")]
pub sector_objects: Vec<MyObjectBuilder_EntityBase>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "Vector3S")]
pub struct Vector3S {
#[proto(tag = 1)]
#[serde(rename = "X")]
pub X: i32,
#[proto(tag = 4)]
#[serde(rename = "Y")]
pub Y: i32,
#[proto(tag = 7)]
#[serde(rename = "Z")]
pub Z: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "Vector3B")]
pub struct Vector3B {
#[proto(tag = 1)]
#[serde(rename = "X")]
pub X: u32,
#[proto(tag = 4)]
#[serde(rename = "Y")]
pub Y: u32,
#[proto(tag = 7)]
#[serde(rename = "Z")]
pub Z: u32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "SavedSector")]
pub struct MyObjectBuilder_Planet_SavedSector {
#[proto(tag = 1)]
#[serde(rename = "IdPos")]
pub id_pos: Vector3S,
#[proto(tag = 4)]
#[serde(rename = "IdDir")]
pub id_dir: Vector3B,
#[proto(tag = 7)]
#[serde(rename = "RemovedItems")]
pub removed_items: Vec<i32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyAtmosphereSettings")]
pub struct MyAtmosphereSettings {
#[proto(tag = 1)]
#[serde(rename = "RayleighScattering")]
pub rayleigh_scattering: crate::math::Vector3F,
#[proto(tag = 4)]
#[serde(rename = "MieScattering")]
pub mie_scattering: f32,
#[proto(tag = 7)]
#[serde(rename = "MieColorScattering")]
pub mie_color_scattering: crate::math::Vector3F,
#[proto(tag = 10)]
#[serde(rename = "RayleighHeight")]
pub rayleigh_height: f32,
#[proto(tag = 13)]
#[serde(rename = "RayleighHeightSpace")]
pub rayleigh_height_space: f32,
#[proto(tag = 16)]
#[serde(rename = "RayleighTransitionModifier")]
pub rayleigh_transition_modifier: f32,
#[proto(tag = 19)]
#[serde(rename = "MieHeight")]
pub mie_height: f32,
#[proto(tag = 22)]
#[serde(rename = "MieG")]
pub mie_g: f32,
#[proto(tag = 25)]
#[serde(rename = "Intensity")]
pub intensity: f32,
#[proto(tag = 28)]
#[serde(rename = "FogIntensity")]
pub fog_intensity: f32,
#[proto(tag = 31)]
#[serde(rename = "SeaLevelModifier")]
pub sea_level_modifier: f32,
#[proto(tag = 34)]
#[serde(rename = "AtmosphereTopModifier")]
pub atmosphere_top_modifier: f32,
#[proto(tag = 37)]
#[serde(rename = "Scale")]
pub scale: f32,
#[proto(skip)]
#[serde(skip)]
pub sun_color_linear: crate::compat::Nullable<crate::math::Vector3F>,
#[proto(skip)]
#[serde(skip)]
pub sun_specular_color_linear: crate::compat::Nullable<crate::math::Vector3F>,
#[proto(skip)]
#[serde(rename = "SunColor")]
pub sun_color: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "SunSpecularColor")]
pub sun_specular_color: crate::math::Vector3F,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Planet")]
pub struct MyObjectBuilder_Planet {
#[proto(tag = 10)]
#[serde(rename = "Radius")]
pub radius: f32,
#[proto(tag = 13)]
#[serde(rename = "HasAtmosphere")]
pub has_atmosphere: bool,
#[proto(tag = 16)]
#[serde(rename = "AtmosphereRadius")]
pub atmosphere_radius: f32,
#[proto(tag = 19)]
#[serde(rename = "MinimumSurfaceRadius")]
pub minimum_surface_radius: f32,
#[proto(tag = 22)]
#[serde(rename = "MaximumHillRadius")]
pub maximum_hill_radius: f32,
#[proto(tag = 25)]
#[serde(rename = "AtmosphereWavelengths")]
pub atmosphere_wavelengths: crate::math::Vector3F,
#[proto(tag = 28)]
#[serde(rename = "SavedEnviromentSectors")]
pub saved_enviroment_sectors: Vec<MyObjectBuilder_Planet_SavedSector>,
#[proto(tag = 31)]
#[serde(rename = "GravityFalloff")]
pub gravity_falloff: f32,
#[proto(tag = 34)]
#[serde(rename = "MarkAreaEmpty")]
pub mark_area_empty: bool,
#[proto(tag = 37)]
#[serde(rename = "AtmosphereSettings")]
pub atmosphere_settings: crate::compat::Nullable<MyAtmosphereSettings>,
#[proto(tag = 40)]
#[serde(rename = "SurfaceGravity")]
pub surface_gravity: f32,
#[proto(tag = 43)]
#[serde(rename = "SpawnsFlora")]
pub spawns_flora: bool,
#[proto(tag = 46)]
#[serde(rename = "ShowGPS")]
pub show_gp_s: bool,
#[proto(tag = 49)]
#[serde(rename = "SpherizeWithDistance")]
pub spherize_with_distance: bool,
#[proto(tag = 52)]
#[serde(rename = "PlanetGenerator")]
pub planet_generator: String,
#[proto(tag = 55)]
#[serde(rename = "Seed")]
pub seed: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_World")]
pub struct MyObjectBuilder_World {
#[proto(tag = 1)]
#[serde(rename = "Checkpoint")]
pub checkpoint: MyObjectBuilder_Checkpoint,
#[proto(tag = 4)]
#[serde(rename = "Sector")]
pub sector: MyObjectBuilder_Sector,
#[proto(tag = 7)]
#[serde(rename = "VoxelMaps")]
pub voxel_maps: crate::compat::SerializableDictionary<String,Vec<i32>>,
#[proto(skip)]
#[serde(rename = "Clusters")]
pub clusters: Vec<crate::math::BoundingBoxD>,
#[proto(skip)]
#[serde(rename = "Planets")]
pub planets: Vec<MyObjectBuilder_Planet>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "MyFixedPoint")]
pub struct MyFixedPoint {
#[proto(tag = 1)]
#[serde(rename = "RawValue")]
pub raw_value: i64,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyItemFlags")]
pub enum MyItemFlags {
Damaged = 2,
}
impl MyItemFlags {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Eq, Hash, PartialOrd, Ord)]
#[serde(rename = "MyStringHash")]
pub struct MyStringHash {
#[proto(tag = 1)]
#[serde(rename = "m_hash")]
pub m_hash: i32,
#[proto(skip)]
#[serde(rename = "String")]
pub string: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Base")]
pub struct MyObjectBuilder_Base {
#[proto(skip)]
#[serde(rename = "SubtypeId")]
pub subtype_id: MyStringHash,
#[proto(skip)]
#[serde(rename = "SubtypeName")]
pub subtype_name: String,
#[proto(skip)]
#[serde(skip)]
pub type_id: MyObjectBuilderType,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "BitReaderWriter")]
pub struct BitReaderWriter {
#[serde(rename = "IsReading")]
pub is_reading: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_AutopilotWaypoint")]
pub struct MyObjectBuilder_AutopilotWaypoint {
#[proto(tag = 1)]
#[serde(rename = "Coords")]
pub coords: crate::math::Vector3D,
#[proto(tag = 4)]
#[serde(rename = "Name")]
pub name: String,
#[proto(tag = 7)]
#[serde(rename = "Actions")]
pub actions: Vec<MyObjectBuilder_ToolbarItem>,
#[proto(tag = 10)]
#[serde(rename = "Indexes")]
pub indexes: Vec<i32>,
#[proto(tag = 14)]
#[serde(rename = "Draw")]
pub draw: bool,
#[proto(tag = 18)]
#[serde(rename = "ForceRotation")]
pub force_rotation: bool,
#[proto(tag = 25)]
#[serde(rename = "RelatedEntityId")]
pub related_entity_id: i64,
#[proto(tag = 29)]
#[serde(rename = "Matrix")]
pub matrix: MyPositionAndOrientation,
#[proto(tag = 30)]
#[serde(rename = "RelatedMatrixCurrent")]
pub related_matrix_current: crate::compat::Nullable<MyPositionAndOrientation>,
#[proto(tag = 31)]
#[serde(rename = "RelatedEntityMatrix")]
pub related_entity_matrix: MyPositionAndOrientation,
#[proto(tag = 34)]
#[serde(rename = "RelatedEntityWorldOffset")]
pub related_entity_world_offset: crate::math::Vector3D,
#[proto(tag = 37)]
#[serde(rename = "StoppingTimeMultiplier")]
pub stopping_time_multiplier: f32,
#[proto(tag = 40)]
#[serde(rename = "AdaptiveRotationSpeed")]
pub adaptive_rotation_speed: bool,
#[proto(tag = 43)]
#[serde(rename = "AreaUp")]
pub area_up: crate::math::Vector3D,
#[proto(tag = 46)]
#[serde(rename = "SerializeForCopy")]
pub serialize_for_copy: bool,
#[proto(tag = 49)]
#[serde(rename = "DistancePrecisionMultiplier")]
pub distance_precision_multiplier: f32,
#[proto(tag = 52)]
#[serde(rename = "IsCorrectRotationNeeded")]
pub is_correct_rotation_needed: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_AutopilotClipboard")]
pub struct MyObjectBuilder_AutopilotClipboard {
#[proto(tag = 1)]
#[serde(rename = "RemoteEntityId")]
pub remote_entity_id: i64,
#[proto(tag = 4)]
#[serde(rename = "FlightMode")]
pub flight_mode: i32,
#[proto(tag = 7)]
#[serde(rename = "indexes")]
pub indexes: Vec<i32>,
#[proto(tag = 10)]
#[serde(rename = "Waypoints")]
pub waypoints: Vec<MyObjectBuilder_AutopilotWaypoint>,
#[proto(tag = 13)]
#[serde(rename = "Direction")]
pub direction: i32,
#[proto(tag = 16)]
#[serde(rename = "DockingModeEnabled")]
pub docking_mode_enabled: bool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "TypeCode")]
pub enum TypeCode {
#[default]
Empty,
Object,
DBNull,
Boolean,
Char,
SByte,
Byte,
Int16,
UInt16,
Int32,
UInt32,
Int64,
UInt64,
Single,
Double,
Decimal,
DateTime,
String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ToolbarItemActionParameter")]
pub struct MyObjectBuilder_ToolbarItemActionParameter {
#[proto(tag = 1)]
#[serde(rename = "TypeCode")]
pub type_code: TypeCode,
#[proto(tag = 4)]
#[serde(rename = "Value")]
pub value: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ToolbarItem")]
pub struct ToolbarItem {
#[proto(tag = 1)]
#[serde(rename = "EntityID")]
pub entity_i_d: i64,
#[proto(tag = 4)]
#[serde(rename = "GroupName")]
pub group_name: String,
#[proto(tag = 7)]
#[serde(rename = "Action")]
pub action: String,
#[proto(tag = 10)]
#[serde(rename = "Parameters")]
pub parameters: Vec<MyObjectBuilder_ToolbarItemActionParameter>,
#[proto(tag = 13)]
#[serde(rename = "CustomIconTitle")]
pub custom_icon_title: String,
#[proto(skip)]
#[serde(rename = "GunId")]
pub gun_id: crate::compat::Nullable<SerializableDefinitionId>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "SpriteType")]
pub enum SpriteType {
#[default]
TEXTURE,
TEXT,
CLIP_RECT,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "TextAlignment")]
pub enum TextAlignment {
#[default]
LEFT,
RIGHT,
CENTER,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MySerializableSprite")]
pub struct MySerializableSprite {
#[proto(tag = 1)]
#[serde(rename = "Type")]
pub r#type: SpriteType,
#[proto(tag = 4)]
#[serde(rename = "Position")]
pub position: crate::compat::Nullable<crate::math::SerializableVector2F>,
#[proto(tag = 7)]
#[serde(rename = "Size")]
pub size: crate::compat::Nullable<crate::math::SerializableVector2F>,
#[proto(tag = 10)]
#[serde(rename = "Color")]
pub color: crate::compat::Nullable<u32>,
#[proto(tag = 13)]
#[serde(rename = "Data")]
pub data: String,
#[proto(tag = 16)]
#[serde(rename = "FontId")]
pub font_id: String,
#[proto(tag = 19)]
#[serde(rename = "Alignment")]
pub alignment: TextAlignment,
#[proto(tag = 22)]
#[serde(rename = "RotationOrScale")]
pub rotation_or_scale: f32,
#[proto(tag = 25)]
#[serde(rename = "Index")]
pub index: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MySerializableSpriteCollection")]
pub struct MySerializableSpriteCollection {
#[proto(tag = 1)]
#[serde(rename = "Sprites")]
pub sprites: Vec<MySerializableSprite>,
#[proto(tag = 4)]
#[serde(rename = "Length")]
pub length: i32,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "UseActionEnum")]
pub enum UseActionEnum {
Manipulate = 1,
OpenTerminal = 2,
OpenInventory = 4,
UseFinished = 8,
Close = 16,
PickUp = 32,
BuildPlanner = 64,
Deposit = 128,
Harvest = 256,
Plant = 512,
}
impl UseActionEnum {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "UseActionResult")]
pub enum UseActionResult {
#[default]
OK,
UsedBySomeoneElse,
AccessDenied,
Closed,
Unpowered,
CockpitDamaged,
MissingDLC,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStatChangeInfo")]
pub struct MyStatSyncData_MyStatChangeInfo {
#[serde(rename = "DamageType")]
pub damage_type: MyStringHash,
#[serde(rename = "DamageSound")]
pub damage_sound: String,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStatSyncData")]
pub struct MyEntityStat_MyStatSyncData {
#[serde(rename = "StatId")]
pub stat_id: MyStringHash,
#[serde(rename = "Amount")]
pub amount: f32,
#[serde(rename = "RegenLeft")]
pub regen_left: f32,
#[serde(rename = "ChangeInfo")]
pub change_info: MyStatSyncData_MyStatChangeInfo,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStatAction")]
pub struct MyStatLogic_MyStatAction {
#[proto(tag = 1)]
#[serde(rename = "StatId")]
pub stat_id: MyStringHash,
#[proto(tag = 4)]
#[serde(rename = "Cost")]
pub cost: f32,
#[proto(tag = 7)]
#[serde(rename = "AmountToActivate")]
pub amount_to_activate: f32,
#[proto(tag = 10)]
#[serde(rename = "CanPerformWithout")]
pub can_perform_without: bool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyShootActionEnum")]
pub enum MyShootActionEnum {
#[default]
PrimaryAction,
SecondaryAction,
TertiaryAction,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Missile")]
pub struct MyObjectBuilder_Missile {
#[proto(tag = 1)]
#[serde(rename = "WeaponDefinitionId")]
pub weapon_definition_id: SerializableDefinitionId,
#[proto(tag = 4)]
#[serde(rename = "AmmoMagazineId")]
pub ammo_magazine_id: SerializableDefinitionId,
#[proto(tag = 7)]
#[serde(rename = "LinearVelocity")]
pub linear_velocity: crate::math::Vector3F,
#[proto(tag = 10)]
#[serde(rename = "Owner")]
pub owner: i64,
#[proto(tag = 13)]
#[serde(rename = "OriginEntity")]
pub origin_entity: i64,
#[proto(tag = 16)]
#[serde(rename = "LauncherId")]
pub launcher_id: i64,
#[proto(tag = 19)]
#[serde(rename = "HealthPool")]
pub health_pool: f32,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "TargetFocusResult")]
pub enum TargetFocusResult {
#[default]
Ok,
IsNotInLoS,
IsOutOfRange,
Other,
Filter,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_AutopilotBase")]
pub struct MyObjectBuilder_AutopilotBase {}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Matrix")]
pub struct Matrix {
#[proto(tag = 1)]
#[serde(rename = "M11")]
pub M11: f32,
#[proto(tag = 4)]
#[serde(rename = "M12")]
pub M12: f32,
#[proto(tag = 7)]
#[serde(rename = "M13")]
pub M13: f32,
#[proto(tag = 10)]
#[serde(rename = "M14")]
pub M14: f32,
#[proto(tag = 13)]
#[serde(rename = "M21")]
pub M21: f32,
#[proto(tag = 16)]
#[serde(rename = "M22")]
pub M22: f32,
#[proto(tag = 19)]
#[serde(rename = "M23")]
pub M23: f32,
#[proto(tag = 22)]
#[serde(rename = "M24")]
pub M24: f32,
#[proto(tag = 25)]
#[serde(rename = "M31")]
pub M31: f32,
#[proto(tag = 28)]
#[serde(rename = "M32")]
pub M32: f32,
#[proto(tag = 31)]
#[serde(rename = "M33")]
pub M33: f32,
#[proto(tag = 34)]
#[serde(rename = "M34")]
pub M34: f32,
#[proto(tag = 37)]
#[serde(rename = "M41")]
pub M41: f32,
#[proto(tag = 40)]
#[serde(rename = "M42")]
pub M42: f32,
#[proto(tag = 43)]
#[serde(rename = "M43")]
pub M43: f32,
#[proto(tag = 46)]
#[serde(rename = "M44")]
pub M44: f32,
#[proto(skip)]
#[serde(rename = "Up")]
pub up: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Down")]
pub down: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Right")]
pub right: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Col0")]
pub col0: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Col1")]
pub col1: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Col2")]
pub col2: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Left")]
pub left: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Forward")]
pub forward: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Backward")]
pub backward: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Scale")]
pub scale: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Translation")]
pub translation: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Item")]
pub item: f32,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyConveyorSorterMode")]
pub enum MyConveyorSorterMode {
#[default]
Whitelist,
Blacklist,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Group")]
pub struct MyDisconnectHelper_Group {
#[serde(rename = "FirstBlockIndex")]
pub first_block_index: i32,
#[serde(rename = "BlockCount")]
pub block_count: i32,
#[serde(rename = "IsValid")]
pub is_valid: bool,
#[serde(rename = "EntityId")]
pub entity_id: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "BlockPositionId")]
pub struct MyCubeGrid_BlockPositionId {
#[proto(tag = 22)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3I,
#[proto(tag = 25)]
#[serde(rename = "CompoundId")]
pub compound_id: u32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyBlockVisuals")]
pub struct MyCubeGrid_MyBlockVisuals {
#[proto(tag = 28)]
#[serde(rename = "ColorMaskHSV")]
pub color_mask_hs_v: u32,
#[proto(tag = 31)]
#[serde(rename = "SkinId")]
pub skin_id: MyStringHash,
#[proto(tag = 33)]
#[serde(rename = "ApplyColor")]
pub apply_color: bool,
#[proto(tag = 35)]
#[serde(rename = "ApplySkin")]
pub apply_skin: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "MyBlockOrientation")]
pub struct MyBlockOrientation {
#[proto(tag = 1)]
#[serde(rename = "Forward")]
pub forward: crate::compat::direction::Direction,
#[proto(tag = 4)]
#[serde(rename = "Up")]
pub up: crate::compat::direction::Direction,
#[proto(skip)]
#[serde(rename = "Left")]
pub left: crate::compat::direction::Direction,
#[proto(skip)]
#[serde(rename = "IsValid")]
pub is_valid: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyRuntimeObjectBuilderId")]
pub struct MyRuntimeObjectBuilderId {
#[proto(tag = 1)]
#[serde(rename = "Value")]
pub value: u32,
#[proto(skip)]
#[serde(rename = "IsValid")]
pub is_valid: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "DefinitionIdBlit")]
pub struct DefinitionIdBlit {
#[proto(skip)]
#[serde(rename = "TypeId")]
pub type_id: MyRuntimeObjectBuilderId,
#[proto(tag = 4)]
#[serde(rename = "SubtypeId")]
pub subtype_id: MyStringHash,
#[proto(skip)]
#[serde(rename = "IsValid")]
pub is_valid: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyBlockLocation")]
pub struct MyCubeGrid_MyBlockLocation {
#[proto(tag = 1)]
#[serde(rename = "Min")]
pub min: crate::math::Vector3I,
#[proto(tag = 4)]
#[serde(rename = "Max")]
pub max: crate::math::Vector3I,
#[proto(tag = 7)]
#[serde(rename = "CenterPos")]
pub center_pos: crate::math::Vector3I,
#[proto(tag = 10)]
#[serde(rename = "Orientation")]
pub orientation: MyBlockOrientation,
#[proto(tag = 13)]
#[serde(rename = "EntityId")]
pub entity_id: i64,
#[proto(tag = 16)]
#[serde(rename = "BlockDefinition")]
pub block_definition: DefinitionIdBlit,
#[proto(tag = 19)]
#[serde(rename = "Owner")]
pub owner: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "SerializableBlockOrientation")]
pub struct SerializableBlockOrientation {
#[proto(tag = 1)]
#[serde(rename = "@Forward")]
pub forward: crate::compat::direction::Direction,
#[proto(tag = 4)]
#[serde(rename = "@Up")]
pub up: crate::compat::direction::Direction,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_PhysicalObject")]
pub struct MyObjectBuilder_PhysicalObject {
#[proto(tag = 1)]
#[serde(rename = "Flags")]
pub flags: crate::compat::BitField<MyItemFlags>,
#[proto(tag = 4)]
#[serde(rename = "DurabilityHP")]
pub durability_h_p: crate::compat::Nullable<f32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_InventoryItem")]
pub struct MyObjectBuilder_InventoryItem {
#[proto(tag = 1)]
#[serde(rename = "Amount")]
pub amount: MyFixedPoint,
#[proto(tag = 4)]
#[serde(rename = "Scale")]
pub scale: f32,
#[proto(tag = 7)]
#[serde(rename = "Content")]
pub content: MyObjectBuilder_PhysicalObject,
#[proto(tag = 10)]
#[serde(rename = "PhysicalContent")]
pub physical_content: MyObjectBuilder_PhysicalObject,
#[proto(tag = 13)]
#[serde(rename = "ItemId")]
pub item_id: u32,
#[proto(skip)]
#[serde(rename = "Obsolete_AmountDecimal")]
pub obsolete_amount_decimal: crate::compat::Decimal,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyInventoryFlags")]
pub enum MyInventoryFlags {
CanReceive = 1,
CanSend = 2,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Inventory")]
pub struct MyObjectBuilder_Inventory {
#[proto(tag = 1)]
#[serde(rename = "Items")]
pub items: Vec<MyObjectBuilder_InventoryItem>,
#[proto(tag = 4)]
#[serde(rename = "nextItemId")]
pub next_item_id: u32,
#[proto(tag = 7)]
#[serde(rename = "Volume")]
pub volume: crate::compat::Nullable<MyFixedPoint>,
#[proto(tag = 10)]
#[serde(rename = "Mass")]
pub mass: crate::compat::Nullable<MyFixedPoint>,
#[proto(tag = 13)]
#[serde(rename = "MaxItemCount")]
pub max_item_count: crate::compat::Nullable<i32>,
#[proto(tag = 16)]
#[serde(rename = "Size")]
pub size: crate::compat::Nullable<crate::math::SerializableVector3F>,
#[proto(tag = 19)]
#[serde(rename = "InventoryFlags")]
pub inventory_flags: crate::compat::Nullable<crate::compat::BitField<MyInventoryFlags>>,
#[proto(tag = 22)]
#[serde(rename = "RemoveEntityOnEmpty")]
pub remove_entity_on_empty: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_StockpileItem")]
pub struct MyObjectBuilder_StockpileItem {
#[proto(tag = 1)]
#[serde(rename = "Amount")]
pub amount: i32,
#[proto(tag = 4)]
#[serde(rename = "PhysicalContent")]
pub physical_content: MyObjectBuilder_PhysicalObject,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ConstructionStockpile")]
pub struct MyObjectBuilder_ConstructionStockpile {
#[proto(tag = 1)]
#[serde(rename = "Items")]
pub items: Vec<MyObjectBuilder_StockpileItem>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyOwnershipShareModeEnum")]
pub enum MyOwnershipShareModeEnum {
#[default]
None,
Faction,
All,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MySubBlockId")]
pub struct MyObjectBuilder_CubeBlock_MySubBlockId {
#[proto(tag = 43)]
#[serde(rename = "SubGridId")]
pub sub_grid_id: i64,
#[proto(tag = 46)]
#[serde(rename = "SubGridName")]
pub sub_grid_name: String,
#[proto(tag = 49)]
#[serde(rename = "SubBlockPosition")]
pub sub_block_position: crate::math::SerializableVector3I,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "SerializableQuaternion")]
pub struct SerializableQuaternion {
#[proto(skip)]
#[serde(rename = "X")]
pub X: f32,
#[proto(skip)]
#[serde(rename = "Y")]
pub Y: f32,
#[proto(skip)]
#[serde(rename = "Z")]
pub Z: f32,
#[proto(skip)]
#[serde(rename = "W")]
pub W: f32,
#[proto(skip)]
#[serde(rename = "@x")]
pub x: f32,
#[proto(skip)]
#[serde(rename = "@y")]
pub y: f32,
#[proto(skip)]
#[serde(rename = "@z")]
pub z: f32,
#[proto(skip)]
#[serde(rename = "@w")]
pub w: f32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_CubeBlock")]
pub struct MyObjectBuilder_CubeBlock {
#[proto(tag = 1)]
#[serde(rename = "EntityId")]
pub entity_id: i64,
#[proto(tag = 4)]
#[serde(rename = "Name")]
pub name: String,
#[proto(tag = 7)]
#[serde(rename = "Min")]
pub min: crate::math::SerializableVector3I,
#[proto(tag = 10)]
#[serde(rename = "IntegrityPercent")]
pub integrity_percent: f32,
#[proto(tag = 13)]
#[serde(rename = "BuildPercent")]
pub build_percent: f32,
#[proto(tag = 16)]
#[serde(rename = "BlockOrientation")]
pub block_orientation: SerializableBlockOrientation,
#[proto(skip)]
#[serde(rename = "ConstructionInventory")]
pub construction_inventory: MyObjectBuilder_Inventory,
#[proto(tag = 22)]
#[serde(rename = "ColorMaskHSV")]
pub color_mask_hs_v: crate::math::SerializableVector3F,
#[proto(tag = 25)]
#[serde(rename = "SkinSubtypeId")]
pub skin_subtype_id: String,
#[proto(tag = 28)]
#[serde(rename = "ConstructionStockpile")]
pub construction_stockpile: MyObjectBuilder_ConstructionStockpile,
#[proto(tag = 31)]
#[serde(rename = "Owner")]
pub owner: i64,
#[proto(tag = 34)]
#[serde(rename = "BuiltBy")]
pub built_by: i64,
#[proto(tag = 37)]
#[serde(rename = "ShareMode")]
pub share_mode: MyOwnershipShareModeEnum,
#[proto(skip)]
#[serde(rename = "DeformationRatio")]
pub deformation_ratio: f32,
#[proto(tag = 52)]
#[serde(rename = "SubBlocks")]
pub sub_blocks: Vec<MyObjectBuilder_CubeBlock_MySubBlockId>,
#[proto(tag = 55)]
#[serde(rename = "MultiBlockId")]
pub multi_block_id: i32,
#[proto(tag = 58)]
#[serde(rename = "MultiBlockDefinition")]
pub multi_block_definition: crate::compat::Nullable<SerializableDefinitionId>,
#[proto(tag = 61)]
#[serde(rename = "MultiBlockIndex")]
pub multi_block_index: i32,
#[proto(tag = 64)]
#[serde(rename = "BlockGeneralDamageModifier")]
pub block_general_damage_modifier: f32,
#[proto(tag = 67)]
#[serde(rename = "ComponentContainer")]
pub component_container: MyObjectBuilder_ComponentContainer,
#[proto(skip)]
#[serde(rename = "Orientation")]
pub orientation: SerializableQuaternion,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "Vector3UByte")]
pub struct Vector3UByte {
#[proto(tag = 1)]
#[serde(rename = "X")]
pub X: i32,
#[proto(tag = 4)]
#[serde(rename = "Y")]
pub Y: i32,
#[proto(tag = 7)]
#[serde(rename = "Z")]
pub Z: i32,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyBlockBuildArea")]
pub struct MyCubeGrid_MyBlockBuildArea {
#[serde(rename = "DefinitionId")]
pub definition_id: DefinitionIdBlit,
#[serde(rename = "ColorMaskHSV")]
pub color_mask_hs_v: u32,
#[serde(rename = "PosInGrid")]
pub pos_in_grid: crate::math::Vector3I,
#[serde(rename = "BlockMin")]
pub block_min: Vector3B,
#[serde(rename = "BlockMax")]
pub block_max: Vector3B,
#[serde(rename = "BuildAreaSize")]
pub build_area_size: Vector3UByte,
#[serde(rename = "StepDelta")]
pub step_delta: Vector3B,
#[serde(rename = "OrientationForward")]
pub orientation_forward: crate::compat::direction::Direction,
#[serde(rename = "OrientationUp")]
pub orientation_up: crate::compat::direction::Direction,
#[serde(rename = "SkinId")]
pub skin_id: MyStringHash,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyIntegrityChangeEnum")]
pub enum MyIntegrityChangeEnum {
#[default]
Damage,
ConstructionBegin,
ConstructionEnd,
ConstructionProcess,
DeconstructionBegin,
DeconstructionEnd,
DeconstructionProcess,
Repair,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStockpileItem")]
pub struct MyStockpileItem {
#[proto(tag = 1)]
#[serde(rename = "Amount")]
pub amount: i32,
#[proto(tag = 4)]
#[serde(rename = "Content")]
pub content: MyObjectBuilder_PhysicalObject,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyCubeSize")]
pub enum MyCubeSize {
#[default]
Large,
Small,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "SerializableVector3UByte")]
pub struct SerializableVector3UByte {
#[proto(skip)]
#[serde(rename = "X")]
pub X: i32,
#[proto(skip)]
#[serde(rename = "Y")]
pub Y: i32,
#[proto(skip)]
#[serde(rename = "Z")]
pub Z: i32,
#[proto(skip)]
#[serde(rename = "@x")]
pub x: i32,
#[proto(skip)]
#[serde(rename = "@y")]
pub y: i32,
#[proto(skip)]
#[serde(rename = "@z")]
pub z: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "BoneInfo")]
pub struct BoneInfo {
#[proto(tag = 1)]
#[serde(rename = "BonePosition")]
pub bone_position: crate::math::SerializableVector3I,
#[proto(tag = 2)]
#[serde(rename = "BoneOffset")]
pub bone_offset: SerializableVector3UByte,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ConveyorPacket")]
pub struct MyObjectBuilder_ConveyorPacket {
#[proto(tag = 1)]
#[serde(rename = "Item")]
pub item: MyObjectBuilder_InventoryItem,
#[proto(tag = 4)]
#[serde(rename = "LinePosition")]
pub line_position: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "SerializableLineSectionInformation")]
pub struct SerializableLineSectionInformation {
#[proto(tag = 1)]
#[serde(rename = "@Direction")]
pub direction: crate::compat::direction::Direction,
#[proto(tag = 4)]
#[serde(rename = "@Length")]
pub length: i32,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "LineType")]
pub enum MyObjectBuilder_ConveyorLine_LineType {
#[default]
DEFAULT_LINE,
SMALL_LINE,
LARGE_LINE,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "LineConductivity")]
pub enum MyObjectBuilder_ConveyorLine_LineConductivity {
#[default]
FULL,
FORWARD,
BACKWARD,
NONE,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ConveyorLine")]
pub struct MyObjectBuilder_ConveyorLine {
#[proto(tag = 1)]
#[serde(rename = "StartPosition")]
pub start_position: crate::math::SerializableVector3I,
#[proto(tag = 4)]
#[serde(rename = "StartDirection")]
pub start_direction: crate::compat::direction::Direction,
#[proto(tag = 7)]
#[serde(rename = "EndPosition")]
pub end_position: crate::math::SerializableVector3I,
#[proto(tag = 10)]
#[serde(rename = "EndDirection")]
pub end_direction: crate::compat::direction::Direction,
#[proto(tag = 13)]
#[serde(rename = "PacketsForward")]
pub packets_forward: Vec<MyObjectBuilder_ConveyorPacket>,
#[proto(tag = 16)]
#[serde(rename = "PacketsBackward")]
pub packets_backward: Vec<MyObjectBuilder_ConveyorPacket>,
#[proto(tag = 19)]
#[serde(rename = "Sections")]
pub sections: Vec<SerializableLineSectionInformation>,
#[proto(tag = 22)]
#[serde(rename = "ConveyorLineType")]
pub conveyor_line_type: MyObjectBuilder_ConveyorLine_LineType,
#[proto(tag = 25)]
#[serde(rename = "ConveyorLineConductivity")]
pub conveyor_line_conductivity: MyObjectBuilder_ConveyorLine_LineConductivity,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_BlockGroup")]
pub struct MyObjectBuilder_BlockGroup {
#[proto(tag = 1)]
#[serde(rename = "Name")]
pub name: String,
#[proto(tag = 4)]
#[serde(rename = "Blocks")]
pub blocks: Vec<crate::math::Vector3I>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "OxygenRoom")]
pub struct OxygenRoom {
#[proto(tag = 112)]
#[serde(rename = "StartingPosition")]
pub starting_position: crate::math::Vector3I,
#[proto(tag = 115)]
#[serde(rename = "@OxygenAmount")]
pub oxygen_amount: f32,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyUpdateTiersGridPresence")]
pub enum MyUpdateTiersGridPresence {
#[default]
Normal,
Tier1,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyUpdateTiersPlayerPresence")]
pub enum MyUpdateTiersPlayerPresence {
#[default]
Normal,
Tier1,
Tier2,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_CubeGrid")]
pub struct MyObjectBuilder_CubeGrid {
#[proto(tag = 1)]
#[serde(rename = "GridSizeEnum")]
pub grid_size_enum: MyCubeSize,
#[proto(tag = 4)]
#[serde(rename = "CubeBlocks")]
pub cube_blocks: Vec<MyObjectBuilder_CubeBlock>,
#[proto(tag = 7)]
#[serde(rename = "IsStatic")]
pub is_static: bool,
#[proto(tag = 10)]
#[serde(rename = "IsUnsupportedStation")]
pub is_unsupported_station: bool,
#[proto(tag = 13)]
#[serde(rename = "Skeleton")]
pub skeleton: Vec<BoneInfo>,
#[proto(tag = 16)]
#[serde(rename = "LinearVelocity")]
pub linear_velocity: crate::math::SerializableVector3F,
#[proto(tag = 19)]
#[serde(rename = "AngularVelocity")]
pub angular_velocity: crate::math::SerializableVector3F,
#[proto(tag = 22)]
#[serde(rename = "XMirroxPlane")]
pub x_mirrox_plane: crate::compat::Nullable<crate::math::SerializableVector3I>,
#[proto(tag = 25)]
#[serde(rename = "YMirroxPlane")]
pub y_mirrox_plane: crate::compat::Nullable<crate::math::SerializableVector3I>,
#[proto(tag = 28)]
#[serde(rename = "ZMirroxPlane")]
pub z_mirrox_plane: crate::compat::Nullable<crate::math::SerializableVector3I>,
#[proto(tag = 31)]
#[serde(rename = "XMirroxOdd")]
pub x_mirrox_odd: bool,
#[proto(tag = 34)]
#[serde(rename = "YMirroxOdd")]
pub y_mirrox_odd: bool,
#[proto(tag = 37)]
#[serde(rename = "ZMirroxOdd")]
pub z_mirrox_odd: bool,
#[proto(tag = 40)]
#[serde(rename = "DampenersEnabled")]
pub dampeners_enabled: bool,
#[proto(tag = 43)]
#[serde(rename = "UsePositionForSpawn")]
pub use_position_for_spawn: bool,
#[proto(tag = 46)]
#[serde(rename = "PlanetSpawnHeightRatio")]
pub planet_spawn_height_ratio: f32,
#[proto(tag = 49)]
#[serde(rename = "SpawnRangeMin")]
pub spawn_range_min: f32,
#[proto(tag = 52)]
#[serde(rename = "SpawnRangeMax")]
pub spawn_range_max: f32,
#[proto(tag = 55)]
#[serde(rename = "ConveyorLines")]
pub conveyor_lines: Vec<MyObjectBuilder_ConveyorLine>,
#[proto(tag = 58)]
#[serde(rename = "BlockGroups")]
pub block_groups: Vec<MyObjectBuilder_BlockGroup>,
#[proto(tag = 61)]
#[serde(rename = "Handbrake")]
pub handbrake: bool,
#[proto(tag = 64)]
#[serde(rename = "DisplayName")]
pub display_name: String,
#[proto(tag = 67)]
#[serde(rename = "OxygenAmount")]
pub oxygen_amount: Vec<f32>,
#[proto(tag = 70)]
#[serde(rename = "DestructibleBlocks")]
pub destructible_blocks: bool,
#[proto(tag = 73)]
#[serde(rename = "JumpDriveDirection")]
pub jump_drive_direction: crate::compat::Nullable<crate::math::Vector3D>,
#[proto(tag = 76)]
#[serde(rename = "JumpRemainingTime")]
pub jump_remaining_time: crate::compat::Nullable<f32>,
#[proto(tag = 79)]
#[serde(rename = "CreatePhysics")]
pub create_physics: bool,
#[proto(tag = 85)]
#[serde(rename = "IsRespawnGrid")]
pub is_respawn_grid: bool,
#[proto(tag = 88)]
#[serde(rename = "playedTime")]
pub played_time: i32,
#[proto(tag = 91)]
#[serde(rename = "GridGeneralDamageModifier")]
pub grid_general_damage_modifier: f32,
#[proto(tag = 94)]
#[serde(rename = "LocalCoordSys")]
pub local_coord_sys: i64,
#[proto(tag = 97)]
#[serde(rename = "Editable")]
pub editable: bool,
#[proto(tag = 100)]
#[serde(rename = "TargetingTargets")]
pub targeting_targets: Vec<i64>,
#[proto(tag = 103)]
#[serde(rename = "TargetingWhitelist")]
pub targeting_whitelist: bool,
#[proto(tag = 106)]
#[serde(rename = "IsPowered")]
pub is_powered: bool,
#[proto(tag = 109)]
#[serde(rename = "OxygenRooms")]
pub oxygen_rooms: Vec<OxygenRoom>,
#[proto(tag = 120)]
#[serde(rename = "Immune")]
pub immune: bool,
#[proto(tag = 123)]
#[serde(rename = "GridPresenceTier")]
pub grid_presence_tier: MyUpdateTiersGridPresence,
#[proto(tag = 126)]
#[serde(rename = "PlayerPresenceTier")]
pub player_presence_tier: MyUpdateTiersPlayerPresence,
#[proto(tag = 129)]
#[serde(rename = "IsNpcSpawnedGrid")]
pub is_npc_spawned_grid: bool,
#[proto(tag = 132)]
#[serde(rename = "NPCGridClaimElapsed")]
pub npc_grid_claim_elapsed: crate::compat::Nullable<i32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MatrixI")]
pub struct MatrixI {
#[serde(rename = "Right")]
pub right: crate::compat::direction::Direction,
#[serde(rename = "Up")]
pub up: crate::compat::direction::Direction,
#[serde(rename = "Backward")]
pub backward: crate::compat::direction::Direction,
#[serde(rename = "Translation")]
pub translation: crate::math::Vector3I,
#[serde(rename = "Left")]
pub left: crate::compat::direction::Direction,
#[serde(rename = "Down")]
pub down: crate::compat::direction::Direction,
#[serde(rename = "Forward")]
pub forward: crate::compat::direction::Direction,
#[serde(rename = "RightVector")]
pub right_vector: crate::math::Vector3I,
#[serde(rename = "LeftVector")]
pub left_vector: crate::math::Vector3I,
#[serde(rename = "UpVector")]
pub up_vector: crate::math::Vector3I,
#[serde(rename = "DownVector")]
pub down_vector: crate::math::Vector3I,
#[serde(rename = "BackwardVector")]
pub backward_vector: crate::math::Vector3I,
#[serde(rename = "ForwardVector")]
pub forward_vector: crate::math::Vector3I,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyMultipleEnabledEnum")]
pub enum MyMultipleEnabledEnum {
#[default]
NoObjects,
AllDisabled,
Mixed,
AllEnabled,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyTestDynamicReason")]
pub enum MyCubeGrid_MyTestDynamicReason {
#[default]
NoReason,
GridCopied,
GridSplit,
GridSplitByBlock,
ConvertToShip,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "HandbrakeToggleResult")]
pub enum MyCubeGrid_HandbrakeToggleResult {
#[default]
RELEASED,
ENGAGED_SUCCESSFULLY,
FAILED_TO_ENGAGE,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyHudIndicatorFlagsEnum")]
pub enum MyHudIndicatorFlagsEnum {
SHOW_TEXT = 1,
SHOW_BORDER_INDICATORS = 2,
SHOW_DISTANCE = 16,
ALPHA_CORRECTION_BY_DISTANCE = 32,
SHOW_ICON = 1024,
SHOW_FOCUS_MARK = 2048,
}
impl MyHudIndicatorFlagsEnum {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
pub const SHOW_ALL: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::ALL;
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_HudEntityParams")]
pub struct MyObjectBuilder_HudEntityParams {
#[proto(tag = 1)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[proto(tag = 2)]
#[serde(rename = "EntityId")]
pub entity_id: i64,
#[proto(tag = 3)]
#[serde(rename = "Text")]
pub text: String,
#[proto(tag = 4)]
#[serde(rename = "FlagsEnum")]
pub flags_enum: crate::compat::BitField<MyHudIndicatorFlagsEnum>,
#[proto(tag = 5)]
#[serde(rename = "Owner")]
pub owner: i64,
#[proto(tag = 6)]
#[serde(rename = "Share")]
pub share: MyOwnershipShareModeEnum,
#[proto(tag = 7)]
#[serde(rename = "BlinkingTime")]
pub blinking_time: f32,
#[proto(tag = 9)]
#[serde(rename = "Waypoints")]
pub waypoints: Vec<MyPositionAndOrientation>,
#[proto(tag = 11)]
#[serde(rename = "ForceShow")]
pub force_show: bool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyCapsuleShapeParams")]
pub struct MyVoxelBase_MyCapsuleShapeParams {
#[serde(rename = "A")]
pub A: crate::math::Vector3D,
#[serde(rename = "B")]
pub B: crate::math::Vector3D,
#[serde(rename = "Radius")]
pub radius: f32,
#[serde(rename = "Transformation")]
pub transformation: crate::math::MatrixD,
#[serde(rename = "Material")]
pub material: i32,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "OperationType")]
pub enum MyVoxelBase_OperationType {
#[default]
Fill,
Paint,
Cut,
Revert,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyRampShapeParams")]
pub struct MyVoxelBase_MyRampShapeParams {
#[serde(rename = "Box")]
pub r#box: crate::math::BoundingBoxD,
#[serde(rename = "RampNormal")]
pub ramp_normal: crate::math::Vector3D,
#[serde(rename = "RampNormalW")]
pub ramp_normal_w: f64,
#[serde(rename = "Transformation")]
pub transformation: crate::math::MatrixD,
#[serde(rename = "Material")]
pub material: i32,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStorageDataTypeFlags")]
pub enum MyStorageDataTypeFlags {
Content = 1,
Material = 2,
}
impl MyStorageDataTypeFlags {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
pub const CONTENT_AND_MATERIAL: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{Content | Material});
pub const ALL: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::ALL;
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "BoundingBoxI")]
pub struct BoundingBoxI {
#[proto(tag = 1)]
#[serde(rename = "Min")]
pub min: crate::math::Vector3I,
#[proto(tag = 4)]
#[serde(rename = "Max")]
pub max: crate::math::Vector3I,
#[proto(skip)]
#[serde(rename = "Center")]
pub center: crate::math::Vector3I,
#[proto(skip)]
#[serde(rename = "HalfExtents")]
pub half_extents: crate::math::Vector3I,
#[proto(skip)]
#[serde(rename = "Size")]
pub size: crate::math::Vector3I,
#[proto(skip)]
#[serde(rename = "Perimeter")]
pub perimeter: f32,
#[proto(skip)]
#[serde(rename = "IsValid")]
pub is_valid: bool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "BoundingSphere")]
pub struct BoundingSphere {
#[serde(rename = "Center")]
pub center: crate::math::Vector3F,
#[serde(rename = "Radius")]
pub radius: f32,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "CutOut")]
pub struct NetworkCutoutData_CutOut {
#[serde(rename = "Sphere")]
pub sphere: BoundingSphere,
#[serde(rename = "ApplyDamagedMaterial")]
pub apply_damaged_material: bool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "NetworkCutoutData")]
pub struct MyShipMiningSystem_NetworkCutoutData {
#[serde(rename = "StorageOffset")]
pub storage_offset: crate::math::Vector3I,
#[serde(rename = "AffectedRange")]
pub affected_range: BoundingBoxI,
#[serde(rename = "CutOuts")]
pub cut_outs: Vec<NetworkCutoutData_CutOut>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "LadderInfo")]
pub struct MyObjectBuilder_Character_LadderInfo {
#[proto(tag = 200)]
#[serde(rename = "BaseMatrix")]
pub base_matrix: MyPositionAndOrientation,
#[proto(tag = 205)]
#[serde(rename = "IncrementToBase")]
pub increment_to_base: crate::math::SerializableVector3F,
#[proto(tag = 207)]
#[serde(rename = "EnableJetpackOnExit")]
pub enable_jetpack_on_exit: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ComponentItem")]
pub struct MyObjectBuilder_Character_ComponentItem {
#[proto(tag = 197)]
#[serde(rename = "ComponentId")]
pub component_id: SerializableDefinitionId,
#[proto(tag = 199)]
#[serde(rename = "Count")]
pub count: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "BuildPlanItem")]
pub struct MyObjectBuilder_Character_BuildPlanItem {
#[proto(tag = 185)]
#[serde(rename = "BlockId")]
pub block_id: SerializableDefinitionId,
#[proto(tag = 188)]
#[serde(rename = "IsInProgress")]
pub is_in_progress: bool,
#[proto(tag = 190)]
#[serde(rename = "Components")]
pub components: Vec<MyObjectBuilder_Character_ComponentItem>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "MyCueId")]
pub struct MyCueId {
#[proto(tag = 1)]
#[serde(rename = "Hash")]
pub hash: MyStringHash,
#[proto(skip)]
#[serde(rename = "IsNull")]
pub is_null: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyDamageInformation")]
pub struct MyDamageInformation {
#[proto(tag = 1)]
#[serde(rename = "IsDeformation")]
pub is_deformation: bool,
#[proto(tag = 4)]
#[serde(rename = "Amount")]
pub amount: f32,
#[proto(tag = 7)]
#[serde(rename = "Type")]
pub r#type: MyStringHash,
#[proto(tag = 10)]
#[serde(rename = "AttackerId")]
pub attacker_id: i64,
#[proto(tag = 13)]
#[serde(rename = "ExtraInfo")]
pub extra_info: crate::compat::Nullable<MyStringHash>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyPlaybackCommand")]
pub enum MyPlaybackCommand {
#[default]
Play,
Stop,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyBlendOption")]
pub enum MyBlendOption {
#[default]
Immediate,
WaitForPreviousEnd,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyFrameOption")]
pub enum MyFrameOption {
#[default]
Default,
PlayOnce,
JustFirstFrame,
StayOnLastFrame,
Loop,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyAnimationCommand")]
pub struct MyAnimationCommand {
#[serde(rename = "AnimationSubtypeName")]
pub animation_subtype_name: String,
#[serde(rename = "PlaybackCommand")]
pub playback_command: MyPlaybackCommand,
#[serde(rename = "BlendOption")]
pub blend_option: MyBlendOption,
#[serde(rename = "FrameOption")]
pub frame_option: MyFrameOption,
#[serde(rename = "Area")]
pub area: String,
#[serde(rename = "BlendTime")]
pub blend_time: f32,
#[serde(rename = "TimeScale")]
pub time_scale: f32,
#[serde(rename = "ExcludeLegsWhenMoving")]
pub exclude_legs_when_moving: bool,
#[serde(rename = "KeepContinuingAnimations")]
pub keep_continuing_animations: bool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "StateEnum")]
pub enum MyLaserAntenna_StateEnum {
#[default]
idle,
rot_GPS,
search_GPS,
rot_Rec,
contact_Rec,
connected,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyTopBlockSize")]
pub enum MyMechanicalConnectionBlockBase_MyTopBlockSize {
#[default]
Normal,
Medium,
Small,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "LimitResult")]
pub enum MySession_LimitResult {
#[default]
Passed,
MaxGridSize,
NoFaction,
BlockTypeLimit,
MaxBlocksPerPlayer,
PCU,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyRotationDirection")]
pub enum MyRotationDirection {
#[default]
AUTO,
CW,
CCW,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyContractCreationDataWrapper_Deliver")]
pub struct MyContractBlock_MyContractCreationDataWrapper_Deliver {
#[serde(rename = "RewardMoney")]
pub reward_money: i32,
#[serde(rename = "StartingDeposit")]
pub starting_deposit: i32,
#[serde(rename = "DurationInMin")]
pub duration_in_min: i32,
#[serde(rename = "TargetBlockId")]
pub target_block_id: i64,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyContractCreationDataWrapper_ObtainAndDeliver")]
pub struct MyContractBlock_MyContractCreationDataWrapper_ObtainAndDeliver {
#[serde(rename = "RewardMoney")]
pub reward_money: i32,
#[serde(rename = "StartingDeposit")]
pub starting_deposit: i32,
#[serde(rename = "DurationInMin")]
pub duration_in_min: i32,
#[serde(rename = "TargetBlockId")]
pub target_block_id: i64,
#[serde(rename = "ItemTypeId")]
pub item_type_id: SerializableDefinitionId,
#[serde(rename = "ItemAmount")]
pub item_amount: i32,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyContractCreationDataWrapper_Repair")]
pub struct MyContractBlock_MyContractCreationDataWrapper_Repair {
#[serde(rename = "RewardMoney")]
pub reward_money: i32,
#[serde(rename = "StartingDeposit")]
pub starting_deposit: i32,
#[serde(rename = "DurationInMin")]
pub duration_in_min: i32,
#[serde(rename = "TargetGridId")]
pub target_grid_id: i64,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyContractCreationDataWrapper_Find")]
pub struct MyContractBlock_MyContractCreationDataWrapper_Find {
#[serde(rename = "RewardMoney")]
pub reward_money: i32,
#[serde(rename = "StartingDeposit")]
pub starting_deposit: i32,
#[serde(rename = "DurationInMin")]
pub duration_in_min: i32,
#[serde(rename = "TargetGridId")]
pub target_grid_id: i64,
#[serde(rename = "SearchRadius")]
pub search_radius: f64,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyContractStateEnum")]
pub enum MyContractStateEnum {
#[default]
Inactive,
Active,
Finished,
Failed,
ToBeDisposed,
Disposed,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ContractCondition")]
pub struct MyObjectBuilder_ContractCondition {
#[proto(tag = 1)]
#[serde(rename = "Id")]
pub id: i64,
#[proto(tag = 2)]
#[serde(rename = "IsFinished")]
pub is_finished: bool,
#[proto(tag = 3)]
#[serde(rename = "ContractId")]
pub contract_id: i64,
#[proto(tag = 4)]
#[serde(rename = "SubId")]
pub sub_id: i32,
#[proto(tag = 5)]
#[serde(rename = "StationEndId")]
pub station_end_id: i64,
#[proto(tag = 9)]
#[serde(rename = "FactionEndId")]
pub faction_end_id: i64,
#[proto(tag = 11)]
#[serde(rename = "BlockEndId")]
pub block_end_id: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Contract")]
pub struct MyObjectBuilder_Contract {
#[proto(tag = 1)]
#[serde(rename = "Id")]
pub id: i64,
#[proto(tag = 2)]
#[serde(rename = "IsPlayerMade")]
pub is_player_made: bool,
#[proto(tag = 3)]
#[serde(rename = "State")]
pub state: MyContractStateEnum,
#[proto(tag = 5)]
#[serde(rename = "Owners")]
pub owners: Vec<i64>,
#[proto(tag = 7)]
#[serde(rename = "RewardMoney")]
pub reward_money: i64,
#[proto(tag = 9)]
#[serde(rename = "RewardReputation")]
pub reward_reputation: i32,
#[proto(tag = 11)]
#[serde(rename = "StartingDeposit")]
pub starting_deposit: i64,
#[proto(tag = 13)]
#[serde(rename = "FailReputationPrice")]
pub fail_reputation_price: i32,
#[proto(tag = 15)]
#[serde(rename = "StartFaction")]
pub start_faction: i64,
#[proto(tag = 17)]
#[serde(rename = "StartStation")]
pub start_station: i64,
#[proto(tag = 18)]
#[serde(rename = "StartBlock")]
pub start_block: i64,
#[proto(tag = 19)]
#[serde(rename = "Creation")]
pub creation: i64,
#[proto(tag = 21)]
#[serde(rename = "TicksToDiscard")]
pub ticks_to_discard: crate::compat::Nullable<i32>,
#[proto(tag = 23)]
#[serde(rename = "RemainingTimeInS")]
pub remaining_time_in_s: crate::compat::Nullable<f64>,
#[proto(tag = 25)]
#[serde(rename = "ContractCondition")]
pub contract_condition: MyObjectBuilder_ContractCondition,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyEntityInfoWrapper")]
pub struct MyContractBlock_MyEntityInfoWrapper {
#[serde(rename = "NamePrefix")]
pub name_prefix: String,
#[serde(rename = "NameSuffix")]
pub name_suffix: String,
#[serde(rename = "Id")]
pub id: i64,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyContractResults")]
pub enum MyContractResults {
#[default]
Success,
Error_Unknown,
Error_MissingKeyStructure,
Error_InvalidData,
Fail_CannotAccess,
Fail_NotPossible,
Fail_ActivationConditionsNotMet,
Fail_ActivationConditionsNotMet_InsufficientFunds,
Fail_ActivationConditionsNotMet_InsufficientSpace,
Fail_FinishConditionsNotMet,
Fail_FinishConditionsNotMet_MissingPackage,
Fail_FinishConditionsNotMet_IncorrectTargetEntity,
Fail_ContractNotFound_Activation,
Fail_ContractNotFound_Abandon,
Fail_ContractNotFound_Finish,
Fail_FinishConditionsNotMet_NotEnoughItems,
Fail_ActivationConditionsNotMet_ContractLimitReachedHard,
Fail_ActivationConditionsNotMet_TargetOffline,
Fail_FinishConditionsNotMet_NotEnoughSpace,
Fail_ActivationConditionsNotMet_YouAreTargetOfThisHunt,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyTargetEntityInfoWrapper")]
pub struct MyContractBlock_MyTargetEntityInfoWrapper {
#[serde(rename = "Id")]
pub id: i64,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "DisplayName")]
pub display_name: String,
}
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyContractCreationResults")]
pub enum MyContractCreationResults {
#[default]
Success,
Fail_Common,
Fail_Impossible,
Fail_NoAccess,
Fail_GridNotFound,
Fail_BlockNotFound,
Error,
Error_MissingKeyStructure,
Fail_NotAnOwnerOfBlock,
Fail_NotAnOwnerOfGrid,
Fail_NotEnoughFunds,
Fail_CreationLimitHard,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "UpdateType")]
pub enum UpdateType {
Terminal = 1,
Trigger = 2,
Mod = 8,
Script = 16,
Update1 = 32,
Update10 = 64,
Update100 = 128,
Once = 256,
IGC = 512,
}
impl UpdateType {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStoreItem")]
pub struct MyStoreItem {}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStoreBuyItemResult")]
pub struct MyStoreBuyItemResult {}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStoreSellItemResult")]
pub struct MyStoreSellItemResult {}
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStoreCreationResult")]
pub enum MyStoreCreationResult {
#[default]
Success,
Fail_CreationLimitHard,
Fail_PricePerUnitIsLowerThanMinimum,
Error,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStoreBuyItemResults")]
pub enum MyStoreBuyItemResults {
#[default]
Success,
ItemNotFound,
WrongAmount,
NotEnoughMoney,
ItemsTimeout,
NotEnoughInventorySpace,
WrongInventory,
SpawnFailed,
FreePositionNotFound,
NotEnoughStoreBlockInventorySpace,
NotEnoughAmount,
NotEnoughPCU,
NotEnoughSpaceInTank,
StoreNotOwnedByFaction,
LimitsGridSize,
LimitsNoFaction,
LimitsPerBlockType,
LimitsPlayer,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyKeys")]
pub enum MyKeys {
#[default]
None,
LeftButton,
RightButton,
Cancel,
MiddleButton,
ExtraButton1,
ExtraButton2,
Back,
Tab,
Clear,
Enter,
Shift,
Control,
Alt,
Pause,
CapsLock,
Kana,
Hangeul,
Hangul,
Junja,
Final,
Hanja,
Kanji,
Ctrl_Y,
Ctrl_Z,
Escape,
Convert,
NonConvert,
Accept,
ModeChange,
Space,
PageUp,
PageDown,
End,
Home,
Left,
Up,
Right,
Down,
Select,
Print,
Execute,
Snapshot,
Insert,
Delete,
Help,
D0,
D1,
D2,
D3,
D4,
D5,
D6,
D7,
D8,
D9,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
LeftWindows,
RightWindows,
Apps,
Sleep,
NumPad0,
NumPad1,
NumPad2,
NumPad3,
NumPad4,
NumPad5,
NumPad6,
NumPad7,
NumPad8,
NumPad9,
Multiply,
Add,
Separator,
Subtract,
Decimal,
Divide,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
F13,
F14,
F15,
F16,
F17,
F18,
F19,
F20,
F21,
F22,
F23,
F24,
NumLock,
ScrollLock,
NEC_Equal,
Fujitsu_Jisho,
Fujitsu_Masshou,
Fujitsu_Touroku,
Fujitsu_Loya,
Fujitsu_Roya,
LeftShift,
RightShift,
LeftControl,
RightControl,
LeftAlt,
RightAlt,
BrowserBack,
BrowserForward,
BrowserRefresh,
BrowserStop,
BrowserSearch,
BrowserFavorites,
BrowserHome,
VolumeMute,
VolumeDown,
VolumeUp,
MediaNextTrack,
MediaPrevTrack,
MediaStop,
MediaPlayPause,
LaunchMail,
LaunchMediaSelect,
LaunchApplication1,
LaunchApplication2,
OemSemicolon,
OemPlus,
OemComma,
OemMinus,
OemPeriod,
OemQuestion,
OemTilde,
ChatPadGreen,
ChatPadOrange,
OemOpenBrackets,
OemPipe,
OemCloseBrackets,
OemQuotes,
Oem8,
OEMAX,
OemBackslash,
ICOHelp,
ICO00,
ProcessKey,
ICOClear,
Packet,
OEMReset,
OEMJump,
OEMPA1,
OEMPA2,
OEMPA3,
OEMWSCtrl,
OEMCUSel,
OEMATTN,
OEMFinish,
OEMCopy,
OEMAuto,
OEMENLW,
OEMBackTab,
ATTN,
CRSel,
EXSel,
EREOF,
Play,
Zoom,
Noname,
PA1,
OEMClear,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "AllPlayerData")]
pub struct MyPlayerCollection_AllPlayerData {
#[proto(tag = 1)]
#[serde(rename = "SteamId")]
pub steam_id: u64,
#[proto(tag = 4)]
#[serde(rename = "SerialId")]
pub serial_id: i32,
#[proto(tag = 7)]
#[serde(rename = "Player")]
pub player: MyObjectBuilder_Player,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "AllMembersDataMsg")]
pub struct AllMembersDataMsg {
#[serde(rename = "Identities")]
pub identities: Vec<MyObjectBuilder_Identity>,
#[serde(rename = "Players")]
pub players: Vec<MyPlayerCollection_AllPlayerData>,
#[serde(rename = "Factions")]
pub factions: Vec<MyObjectBuilder_Faction>,
#[serde(rename = "Clients")]
pub clients: Vec<MyObjectBuilder_Client>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ChatMessageCustomData")]
pub struct ChatMessageCustomData {
#[serde(rename = "AuthorName")]
pub author_name: String,
#[serde(rename = "SenderId")]
pub sender_id: crate::compat::Nullable<u64>,
#[serde(rename = "TextColor")]
pub text_color: crate::compat::Nullable<Color>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ChatMsg")]
pub struct ChatMsg {
#[serde(rename = "Text")]
pub text: String,
#[serde(rename = "Author")]
pub author: u64,
#[serde(rename = "Channel")]
pub channel: i32,
#[serde(rename = "TargetId")]
pub target_id: i64,
#[serde(rename = "CrossChatEnabled")]
pub cross_chat_enabled: bool,
#[serde(rename = "CustomData")]
pub custom_data: crate::compat::Nullable<ChatMessageCustomData>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "BlockList")]
pub struct BlockList {
#[serde(rename = "BlockedUsers")]
pub blocked_users: Vec<u64>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ScriptedChatMsg")]
pub struct ScriptedChatMsg {
#[serde(rename = "Text")]
pub text: String,
#[serde(rename = "Author")]
pub author: String,
#[serde(rename = "Target")]
pub target: i64,
#[serde(rename = "Font")]
pub font: String,
#[serde(rename = "Color")]
pub color: Color,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyGuiSounds")]
pub enum MyGuiSounds {
#[default]
HudClick,
HudUse,
HudRotateBlock,
HudPlaceBlock,
HudDeleteBlock,
HudColorBlock,
HudMouseClick,
HudMouseOver,
HudUnable,
HudGPSNotification1,
HudGPSNotification2,
HudGPSNotification3,
PlayDropItem,
HudVocInventoryFull,
HudVocMeteorInbound,
HudVocHealthLow,
HudVocHealthCritical,
HudVocFuelLow,
HudVocFuelCrit,
None,
HudVocEnergyLow,
HudVocStationFuelLow,
HudVocShipFuelLow,
HudVocEnergyCrit,
HudVocStationFuelCrit,
HudVocShipFuelCrit,
HudVocEnergyNo,
HudVocStationFuelNo,
HudVocShipFuelNo,
HudCraftBarProgressLoop,
HudErrorMessage,
HudOpenCraftWin,
HudOpenInventory,
HudItem,
PlayTakeItem,
HudPlaceItem,
HudAntennaOn,
HudAntennaOff,
HudBrakeOff,
HudBrakeOn,
HudObjectiveComplete,
HudBleep,
HudQuestlogDetail,
HudLockingProgress,
HudLockingSuccess,
HudLockingLost,
MatchVictory,
MatchDraw,
MatchDefeat,
HudVocFoodLow,
HudVocRadiationImmunityLow,
HudVocRadiationCritical,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyGuiDrawAlignEnum")]
pub enum MyGuiDrawAlignEnum {
#[default]
HORISONTAL_LEFT_AND_VERTICAL_TOP,
HORISONTAL_LEFT_AND_VERTICAL_CENTER,
HORISONTAL_LEFT_AND_VERTICAL_BOTTOM,
HORISONTAL_CENTER_AND_VERTICAL_TOP,
HORISONTAL_CENTER_AND_VERTICAL_CENTER,
HORISONTAL_CENTER_AND_VERTICAL_BOTTOM,
HORISONTAL_RIGHT_AND_VERTICAL_TOP,
HORISONTAL_RIGHT_AND_VERTICAL_CENTER,
HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyUIString")]
pub struct MyUIString {
#[serde(rename = "Text")]
pub text: String,
#[serde(rename = "NormalizedCoord")]
pub normalized_coord: crate::math::Vector2F,
#[serde(rename = "Scale")]
pub scale: f32,
#[serde(rename = "Font")]
pub font: String,
#[serde(rename = "DrawAlign")]
pub draw_align: MyGuiDrawAlignEnum,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyColumn")]
pub struct MyGuiScreenBoard_MyColumn {
#[serde(rename = "HeaderText")]
pub header_text: String,
#[serde(rename = "HeaderDrawAlign")]
pub header_draw_align: MyGuiDrawAlignEnum,
#[serde(rename = "ColumnDrawAlign")]
pub column_draw_align: MyGuiDrawAlignEnum,
#[serde(rename = "Width")]
pub width: f32,
#[serde(rename = "Visible")]
pub visible: bool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyExplosionTypeEnum")]
pub enum MyExplosionTypeEnum {
#[default]
MISSILE_EXPLOSION,
BOMB_EXPLOSION,
AMMO_EXPLOSION,
GRID_DEFORMATION,
GRID_DESTRUCTION,
WARHEAD_EXPLOSION_02,
WARHEAD_EXPLOSION_15,
WARHEAD_EXPLOSION_30,
WARHEAD_EXPLOSION_50,
CUSTOM,
ProjectileExplosion,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyExplosionFlags")]
pub enum MyExplosionFlags {
CREATE_DEBRIS = 1,
AFFECT_VOXELS = 2,
APPLY_FORCE_AND_DAMAGE = 4,
CREATE_DECALS = 8,
FORCE_DEBRIS = 16,
CREATE_PARTICLE_EFFECT = 32,
CREATE_SHRAPNELS = 64,
APPLY_DEFORMATION = 128,
CREATE_PARTICLE_DEBRIS = 256,
FORCE_CUSTOM_END_OF_LIFE_EFFECT = 512,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyExplosionInfoSimplified")]
pub struct MyExplosionInfoSimplified {
#[serde(rename = "Damage")]
pub damage: f32,
#[serde(rename = "Center")]
pub center: crate::math::Vector3D,
#[serde(rename = "Radius")]
pub radius: f32,
#[serde(rename = "Type")]
pub r#type: MyExplosionTypeEnum,
#[serde(rename = "Flags")]
pub flags: crate::compat::BitField<MyExplosionFlags>,
#[serde(rename = "VoxelCenter")]
pub voxel_center: crate::math::Vector3D,
#[serde(rename = "ParticleScale")]
pub particle_scale: f32,
#[serde(rename = "Velocity")]
pub velocity: crate::math::Vector3F,
#[serde(rename = "IgnoreFriendlyFireSetting")]
pub ignore_friendly_fire_setting: bool,
#[serde(rename = "CustomEffect")]
pub custom_effect: String,
#[serde(rename = "CustomSound")]
pub custom_sound: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyHighlightData")]
pub struct MyHighlightData {
#[proto(tag = 5)]
#[serde(rename = "EntityId")]
pub entity_id: i64,
#[proto(tag = 10)]
#[serde(rename = "OutlineColor")]
pub outline_color: crate::compat::Nullable<Color>,
#[proto(tag = 15)]
#[serde(rename = "Thickness")]
pub thickness: i32,
#[proto(tag = 20)]
#[serde(rename = "PulseTimeInFrames")]
pub pulse_time_in_frames: u64,
#[proto(tag = 25)]
#[serde(rename = "PlayerId")]
pub player_id: i64,
#[proto(tag = 30)]
#[serde(rename = "IgnoreUseObjectData")]
pub ignore_use_object_data: bool,
#[proto(tag = 35)]
#[serde(rename = "SubPartNames")]
pub sub_part_names: String,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "HighlightMsg")]
pub struct MyHighlightSystem_HighlightMsg {
#[serde(rename = "Data")]
pub data: MyHighlightData,
#[serde(rename = "ExclusiveKey")]
pub exclusive_key: i32,
#[serde(rename = "IsExclusive")]
pub is_exclusive: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_WeatherEffect")]
pub struct MyObjectBuilder_WeatherEffect {
#[proto(tag = 5)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[proto(tag = 7)]
#[serde(rename = "Velocity")]
pub velocity: crate::math::Vector3D,
#[proto(tag = 10)]
#[serde(rename = "Weather")]
pub weather: String,
#[proto(tag = 15)]
#[serde(rename = "Radius")]
pub radius: f32,
#[proto(tag = 20)]
#[serde(rename = "Life")]
pub life: i32,
#[proto(tag = 21)]
#[serde(rename = "MaxLife")]
pub max_life: i32,
#[proto(tag = 25)]
#[serde(rename = "Intensity")]
pub intensity: f32,
#[proto(tag = 30)]
#[serde(rename = "StartPoint")]
pub start_point: crate::math::Vector3D,
#[proto(tag = 35)]
#[serde(rename = "NextLightning")]
pub next_lightning: i32,
#[proto(tag = 40)]
#[serde(rename = "NextLightningCharacter")]
pub next_lightning_character: i32,
#[proto(tag = 45)]
#[serde(rename = "NextLightningGrid")]
pub next_lightning_grid: i32,
#[proto(skip)]
#[serde(rename = "EndPoint")]
pub end_point: crate::math::Vector3D,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_WeatherPlanetData")]
pub struct MyObjectBuilder_WeatherPlanetData {
#[proto(tag = 5)]
#[serde(rename = "PlanetId")]
pub planet_id: i64,
#[proto(tag = 10)]
#[serde(rename = "NextWeather")]
pub next_weather: i32,
#[proto(tag = 30)]
#[serde(rename = "Weathers")]
pub weathers: Vec<MyObjectBuilder_WeatherEffect>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Vector4")]
pub struct Vector4 {
#[proto(tag = 1)]
#[serde(rename = "X")]
pub X: f32,
#[proto(tag = 4)]
#[serde(rename = "Y")]
pub Y: f32,
#[proto(tag = 7)]
#[serde(rename = "Z")]
pub Z: f32,
#[proto(tag = 10)]
#[serde(rename = "W")]
pub W: f32,
#[proto(skip)]
#[serde(rename = "Item")]
pub item: f32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_WeatherLightning")]
pub struct MyObjectBuilder_WeatherLightning {
#[proto(tag = 5)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[proto(tag = 10)]
#[serde(rename = "Life")]
pub life: i32,
#[proto(tag = 15)]
#[serde(rename = "MaxLife")]
pub max_life: i32,
#[proto(tag = 20)]
#[serde(rename = "BoltLength")]
pub bolt_length: f32,
#[proto(tag = 25)]
#[serde(rename = "BoltParts")]
pub bolt_parts: i32,
#[proto(tag = 30)]
#[serde(rename = "BoltVariation")]
pub bolt_variation: i32,
#[proto(tag = 35)]
#[serde(rename = "BoltRadius")]
pub bolt_radius: f32,
#[proto(tag = 40)]
#[serde(rename = "Damage")]
pub damage: i32,
#[proto(tag = 45)]
#[serde(rename = "Sound")]
pub sound: String,
#[proto(tag = 50)]
#[serde(rename = "Color")]
pub color: Vector4,
#[proto(tag = 55)]
#[serde(rename = "BoltImpulseMultiplier")]
pub bolt_impulse_multiplier: f32,
#[proto(tag = 65)]
#[serde(rename = "ExplosionRadius")]
pub explosion_radius: f32,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyContractNotificationTypes")]
pub enum MyContractNotificationTypes {
#[default]
ContractSuccessful,
ContractFailed,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyMatchState")]
pub enum MyMatchState {
#[default]
PreMatch,
Match,
PostMatch,
Finished,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyEntityListInfoItem")]
pub struct MyEntityList_MyEntityListInfoItem {}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ForageableItemInfo")]
pub struct MySessionComponentTrash_ForageableItemInfo {
#[serde(rename = "ItemID")]
pub item_i_d: i32,
#[serde(rename = "SectorID")]
pub sector_i_d: i64,
#[serde(rename = "PlanetID")]
pub planet_i_d: i64,
#[serde(rename = "WorldAABB")]
pub world_aab_b: crate::math::BoundingBoxD,
#[serde(rename = "WorldPosition")]
pub world_position: crate::math::Vector3D,
#[serde(rename = "RemovedAt")]
pub removed_at: crate::compat::TimeSpan,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Category")]
pub enum MySessionComponentWarningSystem_Category {
#[default]
Graphics,
Blocks,
Other,
UnsafeGrids,
BlockLimits,
Server,
Performance,
General,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "WarningData")]
pub struct MySessionComponentWarningSystem_WarningData {
#[serde(rename = "LastOccurence")]
pub last_occurence: crate::compat::Nullable<crate::compat::DateTime>,
#[serde(rename = "Category")]
pub category: MySessionComponentWarningSystem_Category,
#[serde(rename = "TitleIdKey")]
pub title_id_key: String,
#[serde(rename = "TitleString")]
pub title_string: String,
#[serde(rename = "DescriptionIdKey")]
pub description_id_key: String,
#[serde(rename = "DescriptionString")]
pub description_string: String,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyReputationChangeWrapper")]
pub struct MyFactionCollection_MyReputationChangeWrapper {
#[serde(rename = "FactionId")]
pub faction_id: i64,
#[serde(rename = "RepTotal")]
pub rep_total: i32,
#[serde(rename = "Change")]
pub change: i32,
#[serde(rename = "ShowNotification")]
pub show_notification: bool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ReputationChangeReason")]
pub enum ReputationChangeReason {
#[default]
None,
Hostility,
Contract,
Admin,
Mod,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyFactionStateChange")]
pub enum MyFactionStateChange {
#[default]
RemoveFaction,
SendPeaceRequest,
CancelPeaceRequest,
AcceptPeace,
DeclareWar,
SendFriendRequest,
CancelFriendRequest,
AcceptFriendRequest,
FactionMemberSendJoin,
FactionMemberCancelJoin,
FactionMemberAcceptJoin,
FactionMemberKick,
FactionMemberPromote,
FactionMemberDemote,
FactionMemberLeave,
FactionMemberNotPossibleJoin,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "AddFactionMsg")]
pub struct MyFactionCollection_AddFactionMsg {
#[proto(tag = 1)]
#[serde(rename = "FounderId")]
pub founder_id: i64,
#[proto(tag = 4)]
#[serde(rename = "FactionId")]
pub faction_id: i64,
#[proto(tag = 7)]
#[serde(rename = "FactionTag")]
pub faction_tag: String,
#[proto(tag = 10)]
#[serde(rename = "FactionName")]
pub faction_name: String,
#[proto(tag = 13)]
#[serde(rename = "FactionDescription")]
pub faction_description: String,
#[proto(tag = 16)]
#[serde(rename = "FactionPrivateInfo")]
pub faction_private_info: String,
#[proto(tag = 19)]
#[serde(rename = "CreateFromDefinition")]
pub create_from_definition: bool,
#[proto(tag = 25)]
#[serde(rename = "FactionColor")]
pub faction_color: crate::math::SerializableVector3F,
#[proto(tag = 26)]
#[serde(rename = "FactionIconColor")]
pub faction_icon_color: crate::math::SerializableVector3F,
#[proto(tag = 28)]
#[serde(rename = "FactionIconGroupId")]
pub faction_icon_group_id: crate::compat::Nullable<SerializableDefinitionId>,
#[proto(tag = 31)]
#[serde(rename = "FactionIconId")]
pub faction_icon_id: i32,
#[proto(tag = 35)]
#[serde(rename = "FactionScore")]
pub faction_score: i32,
#[proto(tag = 38)]
#[serde(rename = "FactionObjectivePercentageCompleted")]
pub faction_objective_percentage_completed: f32,
#[proto(tag = 41)]
#[serde(rename = "isNPCFaction")]
pub is_npc_faction: bool,
#[proto(tag = 44)]
#[serde(rename = "Type")]
pub r#type: String,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "PlayerId")]
pub struct MyPlayer_PlayerId {
#[serde(rename = "SteamId")]
pub steam_id: u64,
#[serde(rename = "SerialId")]
pub serial_id: i32,
#[serde(rename = "IsValid")]
pub is_valid: bool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "AddMsg")]
pub struct MyGpsCollection_AddMsg {
#[serde(rename = "IdentityId")]
pub identity_id: i64,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "DisplayName")]
pub display_name: String,
#[serde(rename = "Description")]
pub description: String,
#[serde(rename = "Coords")]
pub coords: crate::math::Vector3D,
#[serde(rename = "ShowOnHud")]
pub show_on_hud: bool,
#[serde(rename = "IsFinal")]
pub is_final: bool,
#[serde(rename = "AlwaysVisible")]
pub always_visible: bool,
#[serde(rename = "EntityId")]
pub entity_id: i64,
#[serde(rename = "ContractId")]
pub contract_id: i64,
#[serde(rename = "GPSColor")]
pub gps_color: Color,
#[serde(rename = "IsContainerGPS")]
pub is_container_gp_s: bool,
#[serde(rename = "PlaySoundOnCreation")]
pub play_sound_on_creation: bool,
#[serde(rename = "IsObjective")]
pub is_objective: bool,
#[serde(rename = "IsGlobalEncounterGPS")]
pub is_global_encounter_gp_s: bool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ModifyMsg")]
pub struct MyGpsCollection_ModifyMsg {
#[serde(rename = "IdentityId")]
pub identity_id: i64,
#[serde(rename = "Hash")]
pub hash: i32,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "Description")]
pub description: String,
#[serde(rename = "Coords")]
pub coords: crate::math::Vector3D,
#[serde(rename = "GPSColor")]
pub gps_color: Color,
#[serde(rename = "ContractId")]
pub contract_id: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "NewPlayerRequestParameters")]
pub struct MyPlayerCollection_NewPlayerRequestParameters {
#[proto(skip)]
#[serde(rename = "ClientSteamId")]
pub client_steam_id: u64,
#[proto(skip)]
#[serde(rename = "PlayerSerialId")]
pub player_serial_id: i32,
#[proto(skip)]
#[serde(rename = "DisplayName")]
pub display_name: String,
#[proto(skip)]
#[serde(rename = "PlatformIcon")]
pub platform_icon: String,
#[proto(skip)]
#[serde(rename = "GameAcronym")]
pub game_acronym: String,
#[proto(skip)]
#[serde(rename = "CharacterModel")]
pub character_model: String,
#[proto(skip)]
#[serde(rename = "RealPlayer")]
pub real_player: bool,
#[proto(skip)]
#[serde(rename = "InitialPlayer")]
pub initial_player: bool,
#[proto(skip)]
#[serde(rename = "IsWildlifeEntity")]
pub is_wildlife_entity: bool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyTypeLimitData")]
pub struct MyBlockLimits_MyTypeLimitData {}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyGridLimitData")]
pub struct MyBlockLimits_MyGridLimitData {}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "RespawnMsg")]
pub struct MyPlayerCollection_RespawnMsg {
#[serde(rename = "JoinGame")]
pub join_game: bool,
#[serde(rename = "NewIdentity")]
pub new_identity: bool,
#[serde(rename = "RespawnEntityId")]
pub respawn_entity_id: i64,
#[serde(rename = "RespawnShipId")]
pub respawn_ship_id: String,
#[serde(rename = "PlayerSerialId")]
pub player_serial_id: i32,
#[serde(rename = "ModelName")]
pub model_name: String,
#[serde(rename = "Color")]
pub color: Color,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStationDebugDrawStructure")]
pub struct MyGuiScreenDebugEconomy_MyStationDebugDrawStructure {
#[serde(rename = "Start")]
pub start: crate::math::SerializableVector3D,
#[serde(rename = "End")]
pub end: crate::math::SerializableVector3D,
#[serde(rename = "TypeId")]
pub type_id: i32,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "SpawnAsteroidInfo")]
pub struct MyGuiScreenDebugSpawnMenu_SpawnAsteroidInfo {
#[serde(rename = "Asteroid")]
pub asteroid: String,
#[serde(rename = "RandomSeed")]
pub random_seed: i32,
#[serde(rename = "WorldMatrix")]
pub world_matrix: crate::math::MatrixD,
#[serde(rename = "IsProcedural")]
pub is_procedural: bool,
#[serde(rename = "ProceduralRadius")]
pub procedural_radius: f32,
#[serde(rename = "VoxelMaterial")]
pub voxel_material: String,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "BoxCornerEnumerator")]
pub struct BoxCornerEnumerator {
#[serde(rename = "Current")]
pub current: crate::math::Vector3F,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "BoundingBox")]
pub struct BoundingBox {
#[proto(tag = 1)]
#[serde(rename = "Min")]
pub min: crate::math::Vector3F,
#[proto(tag = 4)]
#[serde(rename = "Max")]
pub max: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Corners")]
pub corners: BoxCornerEnumerator,
#[proto(skip)]
#[serde(rename = "Center")]
pub center: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "HalfExtents")]
pub half_extents: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Extents")]
pub extents: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Width")]
pub width: f32,
#[proto(skip)]
#[serde(rename = "Height")]
pub height: f32,
#[proto(skip)]
#[serde(rename = "Depth")]
pub depth: f32,
#[proto(skip)]
#[serde(rename = "Size")]
pub size: crate::math::Vector3F,
#[proto(skip)]
#[serde(rename = "Matrix")]
pub matrix: Matrix,
#[proto(skip)]
#[serde(rename = "Perimeter")]
pub perimeter: f32,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Entity")]
pub struct Layer_Entity {
#[serde(rename = "Id")]
pub id: i64,
#[serde(rename = "Bounds")]
pub bounds: crate::compat::Nullable<crate::math::BoundingBoxD>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Layer")]
pub struct MyGuiScreenDebugNetwork_Layer {
#[serde(rename = "Bounds")]
pub bounds: BoundingBox,
#[serde(rename = "Entities")]
pub entities: Vec<Layer_Entity>,
#[serde(rename = "PCU")]
pub PCU: i32,
#[serde(rename = "Enabled")]
pub enabled: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ValidationFailedRecord")]
pub struct ValidationFailedRecord {
#[proto(tag = 1)]
#[serde(rename = "PlayerId")]
pub player_id: u64,
#[proto(tag = 4)]
#[serde(rename = "TimeAgo")]
pub time_ago: u32,
#[proto(tag = 7)]
#[serde(rename = "Explanation")]
pub explanation: String,
#[proto(tag = 11)]
#[serde(rename = "Id")]
pub id: u32,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyEntityTypeEnum")]
pub enum MyEntityList_MyEntityTypeEnum {
#[default]
Grids,
SmallGrids,
LargeGrids,
Characters,
FloatingObjects,
Planets,
Asteroids,
Replicated,
NotReplicated,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyEntityCyclingOrder")]
pub enum MyEntityCyclingOrder {
#[default]
Characters,
BiggestGrids,
Fastest,
BiggestDistanceFromPlayers,
MostActiveDrills,
MostActiveReactors,
MostActiveProductionBuildings,
MostActiveSensors,
MostActiveThrusters,
MostWheels,
StaticObjects,
FloatingObjects,
Gps,
Planets,
OwnerLoginTime,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "CyclingOptions")]
pub struct CyclingOptions {
#[serde(rename = "Enabled")]
pub enabled: bool,
#[serde(rename = "OnlySmallGrids")]
pub only_small_grids: bool,
#[serde(rename = "OnlyLargeGrids")]
pub only_large_grids: bool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "EntityListAction")]
pub enum MyEntityList_EntityListAction {
#[default]
Remove,
Stop,
Depower,
Power,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "AdminSettingsEnum")]
pub enum AdminSettingsEnum {
Invulnerable = 1,
ShowPlayers = 2,
UseTerminals = 4,
Untargetable = 8,
KeepOriginalOwnershipOnPaste = 16,
IgnoreSafeZones = 32,
IgnorePcu = 64,
}
impl AdminSettingsEnum {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
pub const MODERATOR_ACCESS: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{ShowPlayers | KeepOriginalOwnershipOnPaste});
pub const SPACE_MASTER_ACCESS: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{UseTerminals});
pub const ADMIN_ONLY: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{Invulnerable | Untargetable | IgnoreSafeZones | IgnorePcu});
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "AdminSettings")]
pub struct MyGuiScreenAdminMenu_AdminSettings {
#[serde(rename = "Flags")]
pub flags: crate::compat::BitField<MyTrashRemovalFlags>,
#[serde(rename = "Enable")]
pub enable: bool,
#[serde(rename = "BlockCount")]
pub block_count: i32,
#[serde(rename = "PlayerDistance")]
pub player_distance: f32,
#[serde(rename = "GridCount")]
pub grid_count: i32,
#[serde(rename = "PlayerInactivity")]
pub player_inactivity: f32,
#[serde(rename = "CharacterRemovalThreshold")]
pub character_removal_threshold: i32,
#[serde(rename = "AfkTimeout")]
pub afk_timeout: i32,
#[serde(rename = "StopGridsPeriod")]
pub stop_grids_period: i32,
#[serde(rename = "RemoveOldIdentities")]
pub remove_old_identities: i32,
#[serde(rename = "VoxelEnable")]
pub voxel_enable: bool,
#[serde(rename = "VoxelDistanceFromPlayer")]
pub voxel_distance_from_player: f32,
#[serde(rename = "VoxelDistanceFromGrid")]
pub voxel_distance_from_grid: f32,
#[serde(rename = "VoxelAge")]
pub voxel_age: i32,
#[serde(rename = "TrashCleanerCargoBagsMaxLiveTime")]
pub trash_cleaner_cargo_bags_max_live_time: i32,
#[serde(rename = "MaxCargoBags")]
pub max_cargo_bags: i32,
#[serde(rename = "ResetForageableItems")]
pub reset_forageable_items: bool,
#[serde(rename = "ResetForageableItemsTimeM")]
pub reset_forageable_items_time_m: i32,
#[serde(rename = "ResetForageableItemsDistance")]
pub reset_forageable_items_distance: i32,
#[serde(rename = "AdminSettingsFlags")]
pub admin_settings_flags: crate::compat::BitField<AdminSettingsEnum>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyEntityListShortInfoItem")]
pub struct MyEntityList_MyEntityListShortInfoItem {}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "GridBuiltByIdInfo")]
pub struct MyTerminalInfoController_GridBuiltByIdInfo {
#[serde(rename = "GridName")]
pub grid_name: String,
#[serde(rename = "EntityId")]
pub entity_id: i64,
#[serde(rename = "PCUBuilt")]
pub pcu_built: i32,
#[serde(rename = "BlockCount")]
pub block_count: i32,
#[serde(rename = "UnsafeBlocks")]
pub unsafe_blocks: Vec<String>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyTradeResponseReason")]
pub enum MyTradeResponseReason {
#[default]
AlreadyTrading,
Offline,
Dead,
Ok,
Cancel,
Abort,
Complete,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_SubmitOffer")]
pub struct MyObjectBuilder_SubmitOffer {
#[proto(skip)]
#[serde(rename = "InventoryItems")]
pub inventory_items: Vec<MyObjectBuilder_InventoryItem>,
#[proto(skip)]
#[serde(rename = "CurrencyAmount")]
pub currency_amount: i64,
#[proto(skip)]
#[serde(rename = "PCUAmount")]
pub pcu_amount: i32,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyCreateCoordSysBuffer")]
pub struct MyCoordinateSystem_MyCreateCoordSysBuffer {
#[serde(rename = "Id")]
pub id: i64,
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[serde(rename = "Rotation")]
pub rotation: crate::math::Quaternion,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyUnifiedChatItem")]
pub struct MyUnifiedChatItem {}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyGameInventoryItemSlot")]
pub enum MyGameInventoryItemSlot {
#[default]
None,
Face,
Helmet,
Gloves,
Boots,
Suit,
Rifle,
Welder,
Grinder,
Drill,
Emote,
Armor,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "TransferMessageData")]
pub struct MyBlockLimits_TransferMessageData {
#[serde(rename = "EntityId")]
pub entity_id: i64,
#[serde(rename = "GridName")]
pub grid_name: String,
#[serde(rename = "BlocksBuilt")]
pub blocks_built: i32,
#[serde(rename = "PCUBuilt")]
pub pcu_built: i32,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyHitIndicatorTarget")]
pub enum MySession_MyHitIndicatorTarget {
#[default]
Character,
Headshot,
Kill,
Grid,
Other,
Friend,
None,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ProfilingBlockType")]
pub enum MySimpleProfiler_ProfilingBlockType {
#[default]
GPU,
MOD,
BLOCK,
RENDER,
OTHER,
INTERNAL,
INTERNALGPU,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectSeedType")]
pub enum MyObjectSeedType {
#[default]
Empty,
Asteroid,
AsteroidCluster,
EncounterAlone,
EncounterSingle,
Planet,
Moon,
Station,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "MyObjectSeedParams")]
pub struct MyObjectSeedParams {
#[proto(tag = 1)]
#[serde(rename = "Index")]
pub index: i32,
#[proto(tag = 4)]
#[serde(rename = "Seed")]
pub seed: i32,
#[proto(tag = 7)]
#[serde(rename = "Type")]
pub r#type: MyObjectSeedType,
#[proto(tag = 10)]
#[serde(rename = "Generated")]
pub generated: bool,
#[proto(tag = 13)]
#[serde(rename = "m_proxyId")]
pub m_proxy_id: i32,
#[proto(tag = 16)]
#[serde(rename = "GeneratorSeed")]
pub generator_seed: i32,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Author")]
pub struct MyCubeBuilder_Author {
#[serde(rename = "EntityId")]
pub entity_id: i64,
#[serde(rename = "IdentityId")]
pub identity_id: i64,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "BuildData")]
pub struct MyCubeBuilder_BuildData {
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[serde(rename = "Forward")]
pub forward: crate::math::Vector3F,
#[serde(rename = "Up")]
pub up: crate::math::Vector3F,
#[serde(rename = "AbsolutePosition")]
pub absolute_position: bool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "GridSpawnRequestData")]
pub struct MyCubeBuilder_GridSpawnRequestData {
#[serde(rename = "Author")]
pub author: MyCubeBuilder_Author,
#[serde(rename = "Definition")]
pub definition: DefinitionIdBlit,
#[serde(rename = "Position")]
pub position: MyCubeBuilder_BuildData,
#[serde(rename = "InstantBuild")]
pub instant_build: bool,
#[serde(rename = "ForceStatic")]
pub force_static: bool,
#[serde(rename = "Visuals")]
pub visuals: MyCubeGrid_MyBlockVisuals,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "RelativeOffset")]
pub struct MyCubeGrid_RelativeOffset {
#[serde(rename = "Use")]
pub r#use: bool,
#[serde(rename = "RelativeToEntity")]
pub relative_to_entity: bool,
#[serde(rename = "SpawnerId")]
pub spawner_id: i64,
#[serde(rename = "OriginalSpawnPoint")]
pub original_spawn_point: crate::math::Vector3D,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyPasteGridParameters")]
pub struct MyCubeGrid_MyPasteGridParameters {
#[serde(rename = "Entities")]
pub entities: Vec<MyObjectBuilder_CubeGrid>,
#[serde(rename = "ClientsideDLCs")]
pub clientside_dl_cs: Vec<u64>,
#[serde(rename = "DetectDisconnects")]
pub detect_disconnects: bool,
#[serde(rename = "InstantBuild")]
pub instant_build: bool,
#[serde(rename = "ObjectVelocity")]
pub object_velocity: crate::math::Vector3F,
#[serde(rename = "Offset")]
pub offset: MyCubeGrid_RelativeOffset,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MySingleOwnershipRequest")]
pub struct MyCubeGrid_MySingleOwnershipRequest {
#[proto(tag = 28)]
#[serde(rename = "BlockId")]
pub block_id: i64,
#[proto(tag = 31)]
#[serde(rename = "Owner")]
pub owner: i64,
#[proto(tag = 50)]
#[serde(rename = "Sender")]
pub sender: u64,
#[proto(tag = 55)]
#[serde(rename = "BatchGuid")]
pub batch_guid: crate::compat::Guid,
#[proto(tag = 60)]
#[serde(rename = "GridId")]
pub grid_id: i64,
#[proto(tag = 65)]
#[serde(rename = "ShareMode")]
pub share_mode: MyOwnershipShareModeEnum,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FloatingObject")]
pub struct MyObjectBuilder_FloatingObject {
#[proto(tag = 1)]
#[serde(rename = "Item")]
pub item: MyObjectBuilder_InventoryItem,
#[proto(tag = 4)]
#[serde(rename = "ModelVariant")]
pub model_variant: i32,
#[proto(tag = 7)]
#[serde(rename = "OreSubtypeId")]
pub ore_subtype_id: String,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MySafeZoneAccess")]
pub enum MySafeZoneAccess {
#[default]
Whitelist,
Blacklist,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MySafeZoneAction")]
pub enum MySafeZoneAction {
Damage = 1,
Shooting = 2,
Drilling = 4,
Welding = 8,
Grinding = 16,
VoxelHand = 32,
Building = 64,
LandingGearLock = 128,
ConvertToStation = 256,
BuildingProjections = 512,
}
impl MySafeZoneAction {
pub const ALL: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::ALL;
pub const ADMIN_IGNORE: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{Shooting | Drilling | Welding | Grinding | VoxelHand | Building | ConvertToStation | BuildingProjections});
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MySafeZoneShape")]
pub enum MySafeZoneShape {
#[default]
Sphere,
Box,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_SafeZone")]
pub struct MyObjectBuilder_SafeZone {
#[proto(tag = 1)]
#[serde(rename = "Radius")]
pub radius: f32,
#[proto(tag = 4)]
#[serde(rename = "Enabled")]
pub enabled: bool,
#[proto(tag = 5)]
#[serde(rename = "SafeZoneBlockId")]
pub safe_zone_block_id: i64,
#[proto(tag = 7)]
#[serde(rename = "AccessTypePlayers")]
pub access_type_players: MySafeZoneAccess,
#[proto(tag = 10)]
#[serde(rename = "AccessTypeFactions")]
pub access_type_factions: MySafeZoneAccess,
#[proto(tag = 13)]
#[serde(rename = "AccessTypeGrids")]
pub access_type_grids: MySafeZoneAccess,
#[proto(tag = 16)]
#[serde(rename = "AccessTypeFloatingObjects")]
pub access_type_floating_objects: MySafeZoneAccess,
#[proto(tag = 19)]
#[serde(rename = "AllowedActions")]
pub allowed_actions: crate::compat::BitField<MySafeZoneAction>,
#[proto(tag = 22)]
#[serde(rename = "Factions")]
pub factions: Vec<i64>,
#[proto(tag = 25)]
#[serde(rename = "Players")]
pub players: Vec<i64>,
#[proto(tag = 28)]
#[serde(rename = "Entities")]
pub entities: Vec<i64>,
#[proto(tag = 31)]
#[serde(rename = "Size")]
pub size: crate::math::Vector3F,
#[proto(tag = 34)]
#[serde(rename = "Shape")]
pub shape: MySafeZoneShape,
#[proto(tag = 37)]
#[serde(rename = "DisplayName")]
pub display_name: String,
#[proto(tag = 40)]
#[serde(rename = "ContainedEntities")]
pub contained_entities: Vec<i64>,
#[proto(tag = 41)]
#[serde(rename = "ContainedGrids")]
pub contained_grids: Vec<i64>,
#[proto(tag = 43)]
#[serde(rename = "IsVisible")]
pub is_visible: bool,
#[proto(tag = 46)]
#[serde(rename = "ModelColor")]
pub model_color: crate::math::SerializableVector3F,
#[proto(tag = 49)]
#[serde(rename = "Texture")]
pub texture: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyHitInfo")]
pub struct MyHitInfo {
#[proto(tag = 1)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[proto(tag = 4)]
#[serde(rename = "Normal")]
pub normal: crate::math::Vector3F,
#[proto(tag = 7)]
#[serde(rename = "Velocity")]
pub velocity: crate::math::Vector3D,
#[proto(tag = 10)]
#[serde(rename = "ShapeKey")]
pub shape_key: u32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "DoDamageSlimBlockMsg")]
pub struct MySlimBlock_DoDamageSlimBlockMsg {
#[proto(tag = 1)]
#[serde(rename = "GridEntityId")]
pub grid_entity_id: i64,
#[proto(tag = 4)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3I,
#[proto(tag = 7)]
#[serde(rename = "Damage")]
pub damage: f32,
#[proto(tag = 10)]
#[serde(rename = "Type")]
pub r#type: MyStringHash,
#[proto(tag = 13)]
#[serde(rename = "HitInfo")]
pub hit_info: crate::compat::Nullable<MyHitInfo>,
#[proto(tag = 16)]
#[serde(rename = "AttackerEntityId")]
pub attacker_entity_id: i64,
#[proto(tag = 22)]
#[serde(rename = "ExtraInfo")]
pub extra_info: MyStringHash,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "RenderProfilerCommand")]
pub enum RenderProfilerCommand {
#[default]
Enable,
ToggleEnabled,
JumpToLevel,
JumpToRoot,
Pause,
NextFrame,
PreviousFrame,
DisableFrameSelection,
NextThread,
PreviousThread,
IncreaseLevel,
DecreaseLevel,
IncreaseLocalArea,
DecreaseLocalArea,
IncreaseRange,
DecreaseRange,
Reset,
SetLevel,
ChangeSortingOrder,
CopyPathToClipboard,
TryGoToPathInClipboard,
GetFomServer,
GetFromClient,
SaveToFile,
LoadFromFile,
SwapBlockOptimized,
ToggleOptimizationsEnabled,
ResetAllOptimizations,
SwitchBlockRender,
SwitchGraphContent,
SwitchShallowProfile,
ToggleAutoScale,
SwitchAverageTimes,
SubtractFromFile,
EnableAutoScale,
EnableShallowProfile,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "RespawnCooldownEntry")]
pub struct MySpaceRespawnComponent_RespawnCooldownEntry {
#[serde(rename = "ControllerId")]
pub controller_id: i32,
#[serde(rename = "ShipId")]
pub ship_id: String,
#[serde(rename = "RelativeRespawnTime")]
pub relative_respawn_time: i32,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MOTDData")]
pub struct MySpaceRespawnComponent_MOTDData {
#[serde(rename = "Url")]
pub url: String,
#[serde(rename = "Message")]
pub message: String,
#[serde(rename = "HasMessage")]
pub has_message: bool,
#[serde(rename = "HasUrl")]
pub has_url: bool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyRespawnPointInfo")]
pub struct MySpaceRespawnComponent_MyRespawnPointInfo {}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyPlanetInfo")]
pub struct MyGuiScreenMedicals_MyPlanetInfo {}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "StatType")]
pub enum MyGuiScreenDebugCharacterStats_StatType {
#[default]
Health,
Radiation,
RadiationImmunity,
Oxygen,
Hydrogen,
Energy,
Food,
}