Remove IgnoreComponents on the client (#8308)
This commit is contained in:
@@ -68,11 +68,7 @@ namespace Content.Client.Entry
|
|||||||
var prototypes = IoCManager.Resolve<IPrototypeManager>();
|
var prototypes = IoCManager.Resolve<IPrototypeManager>();
|
||||||
|
|
||||||
factory.DoAutoRegistrations();
|
factory.DoAutoRegistrations();
|
||||||
|
factory.IgnoreMissingComponents();
|
||||||
foreach (var ignoreName in IgnoredComponents.List)
|
|
||||||
{
|
|
||||||
factory.RegisterIgnore(ignoreName);
|
|
||||||
}
|
|
||||||
|
|
||||||
factory.RegisterClass<SharedResearchConsoleComponent>();
|
factory.RegisterClass<SharedResearchConsoleComponent>();
|
||||||
factory.RegisterClass<SharedLatheComponent>();
|
factory.RegisterClass<SharedLatheComponent>();
|
||||||
|
|||||||
@@ -1,366 +0,0 @@
|
|||||||
// ReSharper disable ArrangeTrailingCommaInMultilineLists
|
|
||||||
namespace Content.Client.Entry
|
|
||||||
{
|
|
||||||
public static class IgnoredComponents
|
|
||||||
{
|
|
||||||
public static string[] List => new[]
|
|
||||||
{
|
|
||||||
"AirlockPainter",
|
|
||||||
"AmmoBox",
|
|
||||||
"IngestionBlocker",
|
|
||||||
"Charger",
|
|
||||||
"CloningPod",
|
|
||||||
"HealthExaminable",
|
|
||||||
"Destructible",
|
|
||||||
"Temperature",
|
|
||||||
"AtmosExposed",
|
|
||||||
"Explosive",
|
|
||||||
"ExplosionResistance",
|
|
||||||
"Vocal",
|
|
||||||
"Summonable",
|
|
||||||
"OnUseTimerTrigger",
|
|
||||||
"WarpPoint",
|
|
||||||
"EmitSoundOnUse",
|
|
||||||
"EmitSoundOnLand",
|
|
||||||
"EmitSoundOnTrigger",
|
|
||||||
"EmitSoundOnActivate",
|
|
||||||
"EmitSoundOnUIOpen",
|
|
||||||
"NameIdentifier",
|
|
||||||
"HeatResistance",
|
|
||||||
"EntityStorage",
|
|
||||||
"MeleeWeapon",
|
|
||||||
"MeleeChemicalInjector",
|
|
||||||
"Dice",
|
|
||||||
"PaperLabel",
|
|
||||||
"PressureImmunity",
|
|
||||||
"Construction",
|
|
||||||
"PoweredLight",
|
|
||||||
"Smes",
|
|
||||||
"LightBulb",
|
|
||||||
"GlassTable",
|
|
||||||
"Healing",
|
|
||||||
"Material",
|
|
||||||
"RandomAppearance",
|
|
||||||
"DiseaseProtection",
|
|
||||||
"DiseaseDiagnoser",
|
|
||||||
"DiseaseVaccine",
|
|
||||||
"DiseaseVaccineCreator",
|
|
||||||
"ImmovableRod",
|
|
||||||
"DiseaseZombie",
|
|
||||||
"DiseaseBuildup",
|
|
||||||
"ZombieTransfer",
|
|
||||||
"RangedMagazine",
|
|
||||||
"RandomMetadata",
|
|
||||||
"Ammo",
|
|
||||||
"AiController",
|
|
||||||
"Computer",
|
|
||||||
"ResearchServer",
|
|
||||||
"ResearchPointSource",
|
|
||||||
"ResearchClient",
|
|
||||||
"MimePowers",
|
|
||||||
"Polymorphable",
|
|
||||||
"PolymorphedEntity",
|
|
||||||
"ThermalRegulator",
|
|
||||||
"DiseaseMachineRunning",
|
|
||||||
"DiseaseMachine",
|
|
||||||
"AtmosFixMarker",
|
|
||||||
"CablePlacer",
|
|
||||||
"Drink",
|
|
||||||
"Drain",
|
|
||||||
"Food",
|
|
||||||
"DeployableBarrier",
|
|
||||||
"SpaceGarbage",
|
|
||||||
"MagicMirror",
|
|
||||||
"DiseaseSwab",
|
|
||||||
"FloorTile",
|
|
||||||
"RandomInsulation",
|
|
||||||
"AgentIDCard",
|
|
||||||
"Electrified",
|
|
||||||
"Electrocution",
|
|
||||||
"Paper",
|
|
||||||
"Drone",
|
|
||||||
"Bloodstream",
|
|
||||||
"TransformableContainer",
|
|
||||||
"Mind",
|
|
||||||
"DiseaseCarrier",
|
|
||||||
"StorageFill",
|
|
||||||
"Absorbent",
|
|
||||||
"RandomHumanoidAppearance",
|
|
||||||
"CableVis",
|
|
||||||
"BatterySelfRecharger",
|
|
||||||
"Puddle",
|
|
||||||
"Stomach",
|
|
||||||
"SpeedLoader",
|
|
||||||
"Hitscan",
|
|
||||||
"Sharp",
|
|
||||||
"StunOnCollide",
|
|
||||||
"ExaminableDamage",
|
|
||||||
"RandomPottedPlant",
|
|
||||||
"Brain",
|
|
||||||
"CommunicationsConsole",
|
|
||||||
"BarSign",
|
|
||||||
"SolarPanel",
|
|
||||||
"BodyScanner",
|
|
||||||
"Stunbaton",
|
|
||||||
"TilePrying",
|
|
||||||
"RandomSpriteColor",
|
|
||||||
"ConditionalSpawner",
|
|
||||||
"TemperatureProtection",
|
|
||||||
"DamageOnToolInteract",
|
|
||||||
"ExaminableBattery",
|
|
||||||
"PottedPlantHide",
|
|
||||||
"Lock",
|
|
||||||
"PresetIdCard",
|
|
||||||
"SolarControlConsole",
|
|
||||||
"Thruster",
|
|
||||||
"FlashOnTrigger",
|
|
||||||
"Signaller",
|
|
||||||
"TriggerOnCollide",
|
|
||||||
"DeleteOnTrigger",
|
|
||||||
"EmptyOnMachineDeconstruct",
|
|
||||||
"ExplodeOnTrigger",
|
|
||||||
"Utensil",
|
|
||||||
"TimedSpawner",
|
|
||||||
"NodeContainer",
|
|
||||||
"PowerSupplier",
|
|
||||||
"PowerConsumer",
|
|
||||||
"Battery",
|
|
||||||
"Lung",
|
|
||||||
"BatteryDischarger",
|
|
||||||
"Apc",
|
|
||||||
"IntrinsicUI",
|
|
||||||
"PowerProvider",
|
|
||||||
"ApcPowerReceiver",
|
|
||||||
"Cable",
|
|
||||||
"StressTestMovement",
|
|
||||||
"EmitSoundOnThrow",
|
|
||||||
"SalvageMagnet",
|
|
||||||
"Flash",
|
|
||||||
"Docking",
|
|
||||||
"Telecrystal",
|
|
||||||
"PowerMonitoringConsole",
|
|
||||||
"RCD",
|
|
||||||
"RCDAmmo",
|
|
||||||
"SurplusBundle",
|
|
||||||
"CursedEntityStorage",
|
|
||||||
"DiseaseArtifact",
|
|
||||||
"Radio",
|
|
||||||
"GasArtifact",
|
|
||||||
"SentienceTarget",
|
|
||||||
"VentCritterSpawnLocation",
|
|
||||||
"RadiateArtifact",
|
|
||||||
"TemperatureArtifact",
|
|
||||||
"SuppressArtifactContainer",
|
|
||||||
"DisposalHolder",
|
|
||||||
"DisposalTagger",
|
|
||||||
"DisposalRouter",
|
|
||||||
"DisposalTransit",
|
|
||||||
"DisposalEntry",
|
|
||||||
"DisposalJunction",
|
|
||||||
"DisposalBend",
|
|
||||||
"Recycler",
|
|
||||||
"Conveyor",
|
|
||||||
"Flippable",
|
|
||||||
"Airtight",
|
|
||||||
"MovedByPressure",
|
|
||||||
"Spray",
|
|
||||||
"Ringer",
|
|
||||||
"Vapor",
|
|
||||||
"AddAccentClothing",
|
|
||||||
"DamageOnHighSpeedImpact",
|
|
||||||
"SolutionContainerManager",
|
|
||||||
"RefillableSolution",
|
|
||||||
"DrainableSolution",
|
|
||||||
"ExaminableSolution",
|
|
||||||
"DrawableSolution",
|
|
||||||
"InjectableSolution",
|
|
||||||
"SalvageMobRestrictions",
|
|
||||||
"SalvageMobRestrictionsGrid",
|
|
||||||
"Barotrauma",
|
|
||||||
"GasVentPump",
|
|
||||||
"GasPassiveVent",
|
|
||||||
"GasVentScrubber",
|
|
||||||
"GasOutletInjector",
|
|
||||||
"GasMiner",
|
|
||||||
"GasPressurePump",
|
|
||||||
"GasVolumePump",
|
|
||||||
"GasPassiveGate",
|
|
||||||
"GasValve",
|
|
||||||
"GasThermoMachine",
|
|
||||||
"Respirator",
|
|
||||||
"Metabolizer",
|
|
||||||
"AiFactionTag",
|
|
||||||
"PressureProtection",
|
|
||||||
"AMEPart",
|
|
||||||
"AMEFuelContainer",
|
|
||||||
"AMEShield",
|
|
||||||
"AtmosDevice",
|
|
||||||
"SignalReceiver",
|
|
||||||
"SignalSwitch",
|
|
||||||
"SignalTransmitter",
|
|
||||||
"SignalLinker",
|
|
||||||
"ItemCabinet",
|
|
||||||
"FireExtinguisher",
|
|
||||||
"Firelock",
|
|
||||||
"AtmosPlaque",
|
|
||||||
"Spillable",
|
|
||||||
"SpaceVillainArcade",
|
|
||||||
"Flammable",
|
|
||||||
"Smokable",
|
|
||||||
"Cigar",
|
|
||||||
"Matchstick",
|
|
||||||
"Matchbox",
|
|
||||||
"BlockGameArcade",
|
|
||||||
"Rehydratable",
|
|
||||||
"Headset",
|
|
||||||
"ComputerBoard",
|
|
||||||
"GasAnalyzable",
|
|
||||||
"GasCanister",
|
|
||||||
"GasPort",
|
|
||||||
"Sticky",
|
|
||||||
"GasPortable",
|
|
||||||
"AtmosPipeColor",
|
|
||||||
"AtmosUnsafeUnanchor",
|
|
||||||
"GasMixer",
|
|
||||||
"Cleanable",
|
|
||||||
"Configuration",
|
|
||||||
"PlantHolder",
|
|
||||||
"SeedExtractor",
|
|
||||||
"Produce",
|
|
||||||
"Log",
|
|
||||||
"Seed",
|
|
||||||
"ActivatableUI",
|
|
||||||
"ActivatableUIRequiresPower",
|
|
||||||
"Internals",
|
|
||||||
"GasTank",
|
|
||||||
"BreathMask",
|
|
||||||
"RadiationCollector",
|
|
||||||
"Emitter",
|
|
||||||
"SingularityGenerator",
|
|
||||||
"ParticleProjectile",
|
|
||||||
"ParticleAcceleratorControlBox",
|
|
||||||
"ParticleAcceleratorEmitter",
|
|
||||||
"ParticleAcceleratorEndCap",
|
|
||||||
"ParticleAcceleratorFuelChamber",
|
|
||||||
"ParticleAcceleratorPowerBox",
|
|
||||||
"BodyBagEntityStorage",
|
|
||||||
"MorgueEntityStorage",
|
|
||||||
"MorgueTray",
|
|
||||||
"CrematoriumEntityStorage",
|
|
||||||
"RandomSpriteState",
|
|
||||||
"ReagentGrinder",
|
|
||||||
"Extractable",
|
|
||||||
"WelderRefinable",
|
|
||||||
"TwoWayLever",
|
|
||||||
"SolutionInjectOnCollide",
|
|
||||||
"Machine",
|
|
||||||
"MachinePart",
|
|
||||||
"MachineFrame",
|
|
||||||
"MachineBoard",
|
|
||||||
"ChemicalAmmo",
|
|
||||||
"TraitorDeathMatchRedemption",
|
|
||||||
"CanHostGuardian",
|
|
||||||
"SliceableFood",
|
|
||||||
"DamageOtherOnHit",
|
|
||||||
"SinguloFood",
|
|
||||||
"DamageOnLand",
|
|
||||||
"SmokeSolutionAreaEffect",
|
|
||||||
"FoamSolutionAreaEffect",
|
|
||||||
"GasFilter",
|
|
||||||
"Recyclable",
|
|
||||||
"LightReplacer",
|
|
||||||
"SecretStash",
|
|
||||||
"Toilet",
|
|
||||||
"ClusterGrenade",
|
|
||||||
"Repairable",
|
|
||||||
"SolutionTransfer",
|
|
||||||
"Evaporation",
|
|
||||||
"ReagentTank",
|
|
||||||
"UtilityAI",
|
|
||||||
"FlashImmunity",
|
|
||||||
"GhostTakeoverAvailable",
|
|
||||||
"GhostRoleMobSpawner",
|
|
||||||
"GhostOnMove",
|
|
||||||
"RandomSpawner",
|
|
||||||
"SpawnAfterInteract",
|
|
||||||
"DisassembleOnAltVerb",
|
|
||||||
"BeingCloned",
|
|
||||||
"Advertise",
|
|
||||||
"Bible",
|
|
||||||
"HealOnBuckle",
|
|
||||||
"StasisBed",
|
|
||||||
"PowerNetworkBattery",
|
|
||||||
"BatteryCharger",
|
|
||||||
"UnpoweredFlashlight",
|
|
||||||
"Uplink",
|
|
||||||
"SpawnItemsOnUse",
|
|
||||||
"AmbientOnPowered",
|
|
||||||
"DoorSignalControl",
|
|
||||||
"Wieldable",
|
|
||||||
"ArtifactStorage",
|
|
||||||
"IncreaseDamageOnWield",
|
|
||||||
"TabletopGame",
|
|
||||||
"LitOnPowered",
|
|
||||||
"TriggerOnSignal",
|
|
||||||
"DeviceNetwork",
|
|
||||||
"WiredNetworkConnection",
|
|
||||||
"WirelessNetworkConnection",
|
|
||||||
"ExtensionCableReceiver",
|
|
||||||
"ExtensionCableProvider",
|
|
||||||
"ApcNetworkConnection",
|
|
||||||
"Gatherable",
|
|
||||||
"SuitSensor",
|
|
||||||
"CrewMonitoringConsole",
|
|
||||||
"ApcNetSwitch",
|
|
||||||
"HandLabeler",
|
|
||||||
"Label",
|
|
||||||
"Nuke",
|
|
||||||
"NukeCodePaper",
|
|
||||||
"GhostRadio",
|
|
||||||
"Armor",
|
|
||||||
"AtmosMonitor",
|
|
||||||
"AtmosAlarmable",
|
|
||||||
"LandMine",
|
|
||||||
"GhostKickUserOnTrigger",
|
|
||||||
"FireAlarm",
|
|
||||||
"AirAlarm",
|
|
||||||
"RadarConsole",
|
|
||||||
"GatheringTool",
|
|
||||||
"Guardian",
|
|
||||||
"GuardianCreator",
|
|
||||||
"GuardianHost",
|
|
||||||
"Udder",
|
|
||||||
"PneumaticCannon",
|
|
||||||
"Spreader",
|
|
||||||
"GrowingKudzu",
|
|
||||||
"MonkeyAccent",
|
|
||||||
"LizardAccent",
|
|
||||||
"ReplacementAccent",
|
|
||||||
"ResistLocker",
|
|
||||||
"IgniteOnCollide",
|
|
||||||
"SpawnArtifact",
|
|
||||||
"TelepathicArtifact",
|
|
||||||
"ArtifactGasTrigger",
|
|
||||||
"ArtifactInteractionTrigger",
|
|
||||||
"ArtifactTimerTrigger",
|
|
||||||
"ArtifactHeatTrigger",
|
|
||||||
"ArtifactElectricityTrigger",
|
|
||||||
"Artifact",
|
|
||||||
"RandomArtifactSprite",
|
|
||||||
"EnergySword",
|
|
||||||
"DeleteAfterTime",
|
|
||||||
"MeleeSound",
|
|
||||||
"RangedDamageSound",
|
|
||||||
"DoorRemote",
|
|
||||||
"InteractionPopup",
|
|
||||||
"HealthAnalyzer",
|
|
||||||
"BodyReassemble",
|
|
||||||
"Thirst",
|
|
||||||
"CanEscapeInventory",
|
|
||||||
"PowerSink",
|
|
||||||
"Mousetrap",
|
|
||||||
"DamageOnTrigger",
|
|
||||||
"Wires",
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -12,7 +12,6 @@ using YamlDotNet.RepresentationModel;
|
|||||||
namespace Content.IntegrationTests.Tests.GameObjects.Components
|
namespace Content.IntegrationTests.Tests.GameObjects.Components
|
||||||
{
|
{
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
[TestOf(typeof(Client.Entry.IgnoredComponents))]
|
|
||||||
[TestOf(typeof(Server.Entry.IgnoredComponents))]
|
[TestOf(typeof(Server.Entry.IgnoredComponents))]
|
||||||
public sealed class EntityPrototypeComponentsTest : ContentIntegrationTest
|
public sealed class EntityPrototypeComponentsTest : ContentIntegrationTest
|
||||||
{
|
{
|
||||||
@@ -124,20 +123,8 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components
|
|||||||
var serverComponents = server.ResolveDependency<IComponentFactory>();
|
var serverComponents = server.ResolveDependency<IComponentFactory>();
|
||||||
var ignoredServerNames = Server.Entry.IgnoredComponents.List;
|
var ignoredServerNames = Server.Entry.IgnoredComponents.List;
|
||||||
var clientComponents = client.ResolveDependency<IComponentFactory>();
|
var clientComponents = client.ResolveDependency<IComponentFactory>();
|
||||||
var ignoredClientNames = Client.Entry.IgnoredComponents.List;
|
|
||||||
|
|
||||||
var failureMessages = "";
|
var failureMessages = "";
|
||||||
foreach (var clientIgnored in ignoredClientNames)
|
|
||||||
{
|
|
||||||
if (clientComponents.TryGetRegistration(clientIgnored, out _))
|
|
||||||
{
|
|
||||||
failureMessages = $"{failureMessages}\nComponent {clientIgnored} was ignored on client, but exists on client";
|
|
||||||
}
|
|
||||||
if (!serverComponents.TryGetRegistration(clientIgnored, out _))
|
|
||||||
{
|
|
||||||
failureMessages = $"{failureMessages}\nComponent {clientIgnored} was ignored on client, but does not exist on server";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
foreach (var serverIgnored in ignoredServerNames)
|
foreach (var serverIgnored in ignoredServerNames)
|
||||||
{
|
{
|
||||||
if (serverComponents.TryGetRegistration(serverIgnored, out _))
|
if (serverComponents.TryGetRegistration(serverIgnored, out _))
|
||||||
|
|||||||
Reference in New Issue
Block a user