Material Reclaimer (#14969)

* Material Reclaimer

* Fix this test

* autostack output, tweak volume, add upgrade examine

* whitelist AND blacklist support

why not

* trying so hard to get this fucking test to work

* EmoGarbage delves into MaterialArbitrageTest, never to return

* VV and restore cloth to glory

* make the system more robust

* even more stuff has composition; add blacklist for important items

* fix test fails

* convert recycling

* forgor :sadge:

* lol

* simply a modiCUM of doc commentary
This commit is contained in:
Nemanja
2023-04-10 00:38:20 -04:00
committed by GitHub
parent 69c1317d1c
commit 57f2a768a0
111 changed files with 1455 additions and 506 deletions

View File

@@ -1,8 +1,7 @@
using Content.Server.MachineLinking.Events;
using Content.Server.MachineLinking.System;
using Content.Server.Materials;
using Content.Server.Power.Components;
using Content.Server.Recycling;
using Content.Server.Recycling.Components;
using Content.Shared.Conveyor;
using Content.Shared.Maps;
using Content.Shared.Physics;
@@ -18,7 +17,7 @@ namespace Content.Server.Physics.Controllers;
public sealed class ConveyorController : SharedConveyorController
{
[Dependency] private readonly FixtureSystem _fixtures = default!;
[Dependency] private readonly RecyclerSystem _recycler = default!;
[Dependency] private readonly MaterialReclaimerSystem _materialReclaimer = default!;
[Dependency] private readonly SignalLinkerSystem _signalSystem = default!;
[Dependency] private readonly SharedBroadphaseSystem _broadphase = default!;
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
@@ -105,13 +104,7 @@ public sealed class ConveyorController : SharedConveyorController
if (TryComp<PhysicsComponent>(uid, out var physics))
_broadphase.RegenerateContacts(physics);
if (TryComp<RecyclerComponent>(uid, out var recycler))
{
if (component.State != ConveyorState.Off)
_recycler.EnableRecycler(recycler);
else
_recycler.DisableRecycler(recycler);
}
_materialReclaimer.SetReclaimerEnabled(uid, component.State != ConveyorState.Off);
UpdateAppearance(uid, component);
Dirty(component);