diff --git a/Content.Server/Fax/FaxSystem.cs b/Content.Server/Fax/FaxSystem.cs
index 0a3a294f92b..38b781970f2 100644
--- a/Content.Server/Fax/FaxSystem.cs
+++ b/Content.Server/Fax/FaxSystem.cs
@@ -477,6 +477,13 @@ public void Copy(EntityUid uid, FaxMachineComponent? component, FaxCopyMessage a
         // Don't play component.SendSound - it clashes with the printing sound, which
         // will start immediately.
 
+        // Frontier: check if paper should be destroyed on sending.
+        if (paper.DestroyOnFax)
+        {
+            DeleteFax(uid, sendEntity.Value, paper);
+        }
+        // End Frontier
+
         UpdateUserInterface(uid, component);
 
         _adminLogger.Add(LogType.Action,
@@ -550,6 +557,13 @@ public void Send(EntityUid uid, FaxMachineComponent? component, FaxSendMessage a
 
         _audioSystem.PlayPvs(component.SendSound, uid);
 
+        // Frontier: check if paper should be destroyed on sending.
+        if (paper.DestroyOnFax)
+        {
+            DeleteFax(uid, sendEntity.Value, paper);
+        }
+        // End Frontier
+
         UpdateUserInterface(uid, component);
     }
 
@@ -616,4 +630,16 @@ private void NotifyAdmins(string faxName)
         _chat.SendAdminAnnouncement(Loc.GetString("fax-machine-chat-notify", ("fax", faxName)));
         _audioSystem.PlayGlobal("/Audio/Machines/high_tech_confirm.ogg", Filter.Empty().AddPlayers(_adminManager.ActiveAdmins), false, AudioParams.Default.WithVolume(-8f));
     }
+
+    // Frontier: delete sensitive items on fax to prevent duplication
+    private void DeleteFax(EntityUid faxMachine, EntityUid itemToFax, PaperComponent paper)
+    {
+        if (paper.DestroyMessage != null)
+        {
+            _popupSystem.PopupEntity(Loc.GetString(paper.DestroyMessage), faxMachine);
+        }
+
+        Del(itemToFax);
+    }
+    // End Frontier
 }
diff --git a/Content.Shared/Paper/PaperComponent.cs b/Content.Shared/Paper/PaperComponent.cs
index cd0758589db..1bb98d93f40 100644
--- a/Content.Shared/Paper/PaperComponent.cs
+++ b/Content.Shared/Paper/PaperComponent.cs
@@ -32,6 +32,17 @@ public sealed partial class PaperComponent : Component
     [DataField("sound")]
     public SoundSpecifier? Sound { get; private set; } = new SoundCollectionSpecifier("PaperScribbles", AudioParams.Default.WithVariation(0.1f));
 
+    // Frontier: 
+    /// <summary>
+    /// Sound played after writing to the paper.
+    /// </summary>
+    [DataField]
+    public bool DestroyOnFax { get; private set; }
+
+    [DataField]
+    public string? DestroyMessage { get; private set; }
+    // End Frontier
+
     [Serializable, NetSerializable]
     public sealed class PaperBoundUserInterfaceState : BoundUserInterfaceState
     {
diff --git a/Resources/Changelog/Frontier.yml b/Resources/Changelog/Frontier.yml
index a6878b971d1..624858b3cef 100644
--- a/Resources/Changelog/Frontier.yml
+++ b/Resources/Changelog/Frontier.yml
@@ -4238,3 +4238,18 @@ Entries:
         optionally disable jetpacks being usable in zero gravity.
   id: 5358
   time: '2024-10-03T00:17:24.0000000+00:00'
+- author: erhardsteinhauer
+  changes:
+    - type: Add
+      message: >-
+        Blueprints can now be printed or found on expeditions.  They unlock
+        recipes in lathes or techfabs and can be stamped, signed, burned, eaten,
+        recycled and faxed (destroying the original - exped blueprints cannot be
+        faxed).
+    - type: Add
+      message: >-
+        Added the Blueprint Lithograph, a new lathe available from the
+        FlatpackVend, science bundle, or circuit imprinter.  It prints
+        blueprints from stacks of paper.
+  id: 5359
+  time: '2024-10-03T19:53:08.0000000+00:00'
diff --git a/Resources/Locale/en-US/_NF/fax/fax.ftl b/Resources/Locale/en-US/_NF/fax/fax.ftl
new file mode 100644
index 00000000000..c89eef5d443
--- /dev/null
+++ b/Resources/Locale/en-US/_NF/fax/fax.ftl
@@ -0,0 +1 @@
+fax-delete-paper-intellectual-property = NT intellectual property detected, destroying original document.
diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
index 6408d3e2f86..e68f3203159 100644
--- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
+++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
@@ -505,6 +505,7 @@
     - StationAnchorCircuitboard
     - SalvageMagnetMachineCircuitboard
     - SalvageTechFabCircuitboardNF # Frontier
+    - BlueprintLithographMachineCircuitboard # Frontier
     dynamicRecipes:
       - ThermomachineFreezerMachineCircuitBoard
       - HellfireFreezerMachineCircuitBoard
@@ -971,7 +972,7 @@
 
 - type: entity
   id: MedicalTechFab
-  parent: BaseLatheLube
+  parent: [ BaseLatheLube, BlueprintReceiverBase ] # Frontier: added BlueprintReceiverBase
   name: medical techfab
   description: Prints equipment for use by the medbay.
   components:
diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Machines/lathe.yml
index 55383245a78..aa924743276 100644
--- a/Resources/Prototypes/Nyanotrasen/Entities/Structures/Machines/lathe.yml
+++ b/Resources/Prototypes/Nyanotrasen/Entities/Structures/Machines/lathe.yml
@@ -1,5 +1,5 @@
 - type: entity
-  parent: BaseLatheLube # Frontier: Protolathe<BaseLatheLube
+  parent: [ BaseLatheLube, BlueprintReceiverBase ] # Frontier: Protolathe<BaseLatheLube, added BlueprintReceiverBase
   id: ScienceTechFab
   name: science techfab
   description: Prints equipment for use by the epistemics department.
@@ -109,7 +109,7 @@
         - Ingot
 
 - type: entity
-  parent: BaseLatheLube # Frontier: Protolathe<BaseLatheLube
+  parent: [ BaseLatheLube, BlueprintReceiverBase ] # Frontier: Protolathe<BaseLatheLube, added BlueprintReceiverBase
   id: ServiceTechFab
   name: service techfab
   description: Prints equipment for service staff.
@@ -268,7 +268,7 @@
         - Ingot
 
 - type: entity
-  parent: BaseLatheLube # Frontier: Protolathe<BaseLatheLube
+  parent: [ BaseLatheLube, BlueprintReceiverBase ] # Frontier: Protolathe<BaseLatheLube, added BlueprintReceiverBase
   id: EngineeringTechFab
   name: engineering techfab
   description: Prints equipment for engineers.
diff --git a/Resources/Prototypes/Research/arsenal.yml b/Resources/Prototypes/Research/arsenal.yml
index 481d780e829..fb4af9818fa 100644
--- a/Resources/Prototypes/Research/arsenal.yml
+++ b/Resources/Prototypes/Research/arsenal.yml
@@ -124,6 +124,7 @@
   - FlashPayload
   - ExplosivePayload
   - ChemicalPayload
+  - NFBlueprintSignallerAdvanced # Frontier
 
 - type: technology
   id: SpecialMeans
@@ -197,9 +198,11 @@
   tier: 3
   cost: 15000
   recipeUnlocks:
-  - WeaponAntiqueLaserNF # Frontier
   - WeaponAdvancedLaser
   - PortableRecharger
+  - WeaponAntiqueLaserNF # Frontier
+  - NFBlueprintWeaponAntiqueLaser # Frontier
+  - NFBlueprintPortableRecharger # Frontier
 
 - type: technology
   id: ExperimentalBatteryAmmo
@@ -212,6 +215,7 @@
   cost: 15000
   recipeUnlocks:
   - WeaponLaserSvalinn
+  - NFBlueprintWeaponLaserSvalinn # Frontier
 
 - type: technology
   id: AdvancedShuttleWeapon
diff --git a/Resources/Prototypes/Research/civilianservices.yml b/Resources/Prototypes/Research/civilianservices.yml
index 9951466eaae..b9a97db51c1 100644
--- a/Resources/Prototypes/Research/civilianservices.yml
+++ b/Resources/Prototypes/Research/civilianservices.yml
@@ -17,6 +17,8 @@
   - HydroponicsTrayMachineCircuitboard
   - ReagentGrinderIndustrialMachineCircuitboard
   - PlantAnalyzer # Frontier
+  - NFBlueprintPlantAnalyzerEmpty # Frontier
+  - NFBlueprintPlantBagOfHolding # Frontier
 
 - type: technology
   id: CritterMechs
@@ -177,6 +179,7 @@
   recipeUnlocks:
   - AdvMopItem
   - MegaSprayBottle
+  - NFBlueprintAdvMopItem # Frontier
 
 - type: technology
   id: HONKMech
@@ -250,3 +253,6 @@
   - BluespaceBeaker
   - SyringeBluespace
   - VialBluespace # Frontier
+  - NFBlueprintBluespaceBeaker # Frontier
+  - NFBlueprintSyringeBluespace # Frontier
+  - NFBlueprintVialBluespace # Frontier
diff --git a/Resources/Prototypes/Research/experimental.yml b/Resources/Prototypes/Research/experimental.yml
index 56787a8afdc..dafb1e04f81 100644
--- a/Resources/Prototypes/Research/experimental.yml
+++ b/Resources/Prototypes/Research/experimental.yml
@@ -126,18 +126,6 @@
   technologyPrerequisites:
   - BasicAnomalousResearch
 
-- type: technology
-  id: RapidPartExchange
-  name: research-technology-rped
-  icon:
-    sprite: Objects/Specific/Research/rped.rsi
-    state: icon
-  discipline: Experimental
-  tier: 2
-  cost: 7500
-  recipeUnlocks:
-  - RPED
-
 # - type: technology
   # id: DeterrenceTechnologies
   # name: research-technology-deterrence
diff --git a/Resources/Prototypes/Research/industrial.yml b/Resources/Prototypes/Research/industrial.yml
index 98b0c973de9..bee26c204f5 100644
--- a/Resources/Prototypes/Research/industrial.yml
+++ b/Resources/Prototypes/Research/industrial.yml
@@ -173,6 +173,9 @@
     - UtilityBeltChiefEngineer
     - BorgModuleAdvancedTool
     - BorgModuleRCD
+    - NFBlueprintPowerDrill # Frontier
+    - NFBlueprintJawsOfLife # Frontier
+    - NFBlueprintWelderExperimental # Frontier
 
 - type: technology
   id: MassExcavation
@@ -187,6 +190,9 @@
     - OreBagOfHolding
     - MiningDrillDiamond
     - AdvancedMineralScannerEmpty
+    - NFBlueprintOreBagOfHolding # Frontier
+    - NFBlueprintMiningDrillDiamond # Frontier
+    - NFBlueprintAdvancedMineralScannerEmpty # Frontier
 
 # Tier 3
 
@@ -204,6 +210,10 @@
   - ClothingBackpackSatchelHolding
   - ClothingBackpackDuffelHolding
   - ClothingBackpackMessengerHolding # Frontier
+  - NFBlueprintClothingBackpackHolding # Frontier
+  - NFBlueprintClothingBackpackSatchelHolding # Frontier
+  - NFBlueprintClothingBackpackDuffelHolding # Frontier
+  - NFBlueprintClothingBackpackMessengerHolding # Frontier
 
 - type: technology
   id: PortableFission
@@ -216,6 +226,7 @@
   cost: 10000
   recipeUnlocks:
   - PowerCellMicroreactor
+  - NFBlueprintPowerCellMicroreactor # Frontier
   technologyPrerequisites:
   - AdvancedPowercells
 
@@ -229,5 +240,6 @@
   tier: 2
   cost: 10000
   recipeUnlocks:
-    - ShipyardRCD
-    - ShipyardRCDAmmo
+    - ShipyardRCD # Frontier
+    - ShipyardRCDAmmo # Frontier
+    - NFBlueprintShipyardRCDAmmo # Frontier
diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Crates/science.yml b/Resources/Prototypes/_NF/Catalog/Fills/Crates/science.yml
index 3b9dd654044..ff639156957 100644
--- a/Resources/Prototypes/_NF/Catalog/Fills/Crates/science.yml
+++ b/Resources/Prototypes/_NF/Catalog/Fills/Crates/science.yml
@@ -9,6 +9,7 @@
       - id: ExosuitFabricatorFlatpack
       - id: MachineAnomalyVesselFlatpack
       - id: CircuitImprinterFlatpack
+      - id: BlueprintLithographFlatpack
       - id: ResearchAndDevelopmentServerFlatpack
       - id: ComputerResearchAndDevelopmentFlatpack
       - id: MachineArtifactAnalyzerFlatpack
diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Items/document_cases_expedition.yml b/Resources/Prototypes/_NF/Catalog/Fills/Items/document_cases_expedition.yml
new file mode 100644
index 00000000000..c48f04862a8
--- /dev/null
+++ b/Resources/Prototypes/_NF/Catalog/Fills/Items/document_cases_expedition.yml
@@ -0,0 +1,39 @@
+
+- type: entity
+  parent: WeaponCaseShortDocuments
+  id: WeaponCaseShortDocumentsFilled
+  suffix: Dungeon, Blueprints
+  categories: [ HideSpawnMenu ]
+  components:
+  - type: StorageFill
+    contents:
+    # - id: NFBlueprintBoxShotgunUranium # While funny I think we should move this to events
+      # prob: 0.2
+      # orGroup: Blueprints
+    # - id: NFBlueprintMagazineBoxRifleUranium
+      # prob: 0.2
+      # orGroup: Blueprints
+    # - id: NFBlueprintMagazineBoxLightRifleUranium
+      # prob: 0.2
+      # orGroup: Blueprints
+    # - id: NFBlueprintMagazineBoxMagnumUranium
+      # prob: 0.2
+      # orGroup: Blueprints
+    # - id: NFBlueprintMagazineBoxPistolUranium
+      # prob: 0.2
+      # orGroup: Blueprints
+    # - id: NFBlueprintBoxShotgunIncendiary
+      # prob: 0.2
+      # orGroup: Blueprints
+    # - id: NFBlueprintMagazineBoxRifleIncendiary
+      # prob: 0.2
+      # orGroup: Blueprints
+    # - id: NFBlueprintMagazineBoxMagnumIncendiary
+      # prob: 0.2
+      # orGroup: Blueprints
+    - id: NFBlueprintWeaponLaserCannon
+      prob: 0.2
+      orGroup: Blueprints
+    - id: NFBlueprintWeaponXrayCannon
+      prob: 0.2
+      orGroup: Blueprints
diff --git a/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/flatpackvend.yml b/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/flatpackvend.yml
index bc64e23b7e6..a12a179ac06 100644
--- a/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/flatpackvend.yml
+++ b/Resources/Prototypes/_NF/Catalog/VendingMachines/Inventories/flatpackvend.yml
@@ -10,6 +10,7 @@
     CircuitImprinterFlatpack: 4294967295 # Infinite
     ResearchAndDevelopmentServerFlatpack: 4294967295 # Infinite
     ComputerResearchAndDevelopmentFlatpack: 4294967295 # Infinite
+    BlueprintLithographFlatpack: 4294967295 # Infinite
     ScienceTechFabFlatpack: 4294967295 # Infinite
     EngineeringTechFabFlatpack: 4294967295 # Infinite
     SalvageTechfabNFFlatpack: 4294967295 # Infinite
diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_research.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_research.yml
index ef96d2f4b67..aaa453c02b7 100644
--- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_research.yml
+++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_research.yml
@@ -223,6 +223,7 @@
     rarePrototypes:
     - TechnologyDiskRare
     - ResearchDisk10000
+    - WeaponCaseShortDocumentsFilled
     rareChance: 0.05
 
 - type: entity
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Devices/flatpacks.yml b/Resources/Prototypes/_NF/Entities/Objects/Devices/flatpacks.yml
index b80e3c0da3c..582470b85d9 100644
--- a/Resources/Prototypes/_NF/Entities/Objects/Devices/flatpacks.yml
+++ b/Resources/Prototypes/_NF/Entities/Objects/Devices/flatpacks.yml
@@ -294,6 +294,15 @@
   - type: Flatpack
     entity: MachineAnomalyGenerator
 
+- type: entity
+  parent: ExosuitFabricatorFlatpack
+  id: BlueprintLithographFlatpack
+  name: blueprint lithograph flatpack
+  description: A flatpack used for constructing a blueprint lithograph.
+  components:
+  - type: Flatpack
+    entity: BlueprintLithograph
+
 # Service
 - type: entity
   parent: BaseNFFlatpack
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml b/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml
index f8dc9b41b33..b1f0a2c0a6f 100644
--- a/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml
+++ b/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml
@@ -228,6 +228,23 @@
     - type: StaticPrice
       price: 40
 
+- type: entity
+  id: BlueprintLithographMachineCircuitboard
+  parent: BaseMachineCircuitboard
+  name: blueprint lithograph machine board
+  components:
+  - type: Sprite
+    state: science
+  - type: MachineBoard
+    prototype: BlueprintLithograph
+    requirements:
+      MatterBin: 1
+      Manipulator: 1
+    tagRequirements:
+      GlassBeaker:
+        amount: 2
+        defaultPrototype: Beaker
+
 # Removed from upstream definitions
 - type: entity
   id: MaterialReclaimerMachineCircuitboard
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Specific/Research/rped.yml b/Resources/Prototypes/_NF/Entities/Objects/Specific/Research/rped.yml
index 53b7eb1c31d..cceb4e2fa4d 100644
--- a/Resources/Prototypes/_NF/Entities/Objects/Specific/Research/rped.yml
+++ b/Resources/Prototypes/_NF/Entities/Objects/Specific/Research/rped.yml
@@ -5,10 +5,10 @@
   description: A Rapid Part Exchange Device, perfect for quickly upgrading machines.
   components:
   - type: Sprite
-    sprite: Objects/Specific/Research/rped.rsi
+    sprite: _NF/Objects/Specific/Research/rped.rsi
     state: icon
   - type: Item
-    sprite: Objects/Specific/Research/rped.rsi
+    sprite: _NF/Objects/Specific/Research/rped.rsi
     size: Normal
   - type: PartExchanger
   - type: Storage
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Storage/weapon_cases.yml b/Resources/Prototypes/_NF/Entities/Objects/Storage/weapon_cases.yml
index 526ae330d4a..7dbefb77548 100644
--- a/Resources/Prototypes/_NF/Entities/Objects/Storage/weapon_cases.yml
+++ b/Resources/Prototypes/_NF/Entities/Objects/Storage/weapon_cases.yml
@@ -92,6 +92,27 @@
   - type: Item
     sprite: _NF/Objects/Storage/Cases/explosivescaseshort.rsi
 
+- type: entity
+  name: document case
+  parent: WeaponCaseShortExplosives
+  id: WeaponCaseShortDocuments
+  description: A reinforced casing for storing important documents.
+  suffix: Short
+  components:
+  - type: Sprite
+    sprite: _NF/Objects/Storage/Cases/documentcaseshort.rsi
+  - type: Item
+    sprite: _NF/Objects/Storage/Cases/documentcaseshort.rsi
+  - type: Storage
+    maxItemSize: Normal
+    grid:
+    - 0,0,1,1
+    whitelist:
+      tags:
+      - BlueprintAutolathe
+      - Document
+      - Paper
+
 - type: entity
   name: weapon case
   parent: WeaponCaseLong
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_armory.yml b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_armory.yml
new file mode 100644
index 00000000000..183f64c64e8
--- /dev/null
+++ b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_armory.yml
@@ -0,0 +1,40 @@
+
+- type: entity
+  parent: NFBaseBlueprintArmory
+  id: NFBlueprintWeaponAntiqueLaser
+  name: antique laser blueprint
+  description: A blueprint with a schematic of an antique laser. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - WeaponAntiqueLaserNF
+
+- type: entity
+  parent: NFBaseBlueprintArmory
+  id: NFBlueprintWeaponLaserSvalinn
+  name: svalinn pistol blueprint
+  description: A blueprint with a schematic of a svalinn pistol. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - WeaponLaserSvalinn
+
+- type: entity
+  parent: NFBaseBlueprintArmory
+  id: NFBlueprintPortableRecharger
+  name: portable recharger blueprint
+  description: A blueprint with a schematic of a portable recharger. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - PortableRecharger
+
+- type: entity
+  parent: NFBaseBlueprintArmory
+  id: BlueprintClothingOuterHardsuitScaf
+  name: scaf hardsuit blueprint
+  description: A blueprint with a schematic of a scaf hardsuit. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - ClothingOuterHardsuitScaf
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_base.yml b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_base.yml
new file mode 100644
index 00000000000..72368939bfa
--- /dev/null
+++ b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_base.yml
@@ -0,0 +1,378 @@
+- type: entity
+  parent: BaseBlueprint
+  id: NFBaseBlueprint
+  abstract: true
+  components:
+  - type: Sprite
+    layers:
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-base
+        color: "#7da0ba"
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-text
+      - sprite: Objects/Misc/bureaucracy.rsi
+        state: paper_stamp-generic
+        offset: 0.15,-0.1
+        map: ["enum.PaperVisualLayers.Stamp"]
+        visible: false
+      - sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
+        state: paper_words
+        map: ["enum.PaperVisualLayers.Writing"]
+        visible: false
+  - type: Item
+    size: Normal
+    sprite: _NF/Objects/Tools/blueprints.rsi
+    inhandVisuals:
+      left:
+      - state: inhand-left-base
+        color: "#7da0ba"
+      - state: inhand-left-text
+      right:
+      - state: inhand-right-base
+        color: "#7da0ba"
+      - state: inhand-right-text
+  - type: Tag
+    tags:
+    - BlueprintAutolathe
+    - Document
+    - Paper
+  - type: StaticPrice
+    price: 5 # Should be sold to players, not market console
+  - type: PhysicalComposition
+    materialComposition:
+      Paper: 100
+  # Paper stuff
+  - type: Paper
+  - type: PaperVisuals
+  - type: Flammable
+    fireSpread: true
+    canResistFire: false
+    alwaysCombustible: true
+    canExtinguish: false
+    damage:
+      types:
+        Heat: 1
+  - type: Appearance
+  - type: FireVisuals
+    sprite: Effects/fire.rsi
+    normalState: fire
+  - type: Damageable
+    damageModifierSet: Wood
+  - type: Destructible
+    thresholds:
+    - trigger:
+        !type:DamageTrigger
+        damage: 15
+      behaviors:
+      - !type:SpawnEntitiesBehavior
+        spawn:
+            Ash:
+              min: 1
+              max: 1
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+  - type: Food
+    solution: food
+    delay: 7
+    forceFeedDelay: 7
+  - type: FlavorProfile
+    flavors:
+    - paper
+  - type: BadFood
+  - type: SolutionContainerManager
+    solutions:
+      food:
+        maxVol: 1
+        reagents:
+        - ReagentId: Fiber
+          Quantity: 0.1
+
+- type: entity
+  parent: NFBaseBlueprint
+  id: BaseBlueprintFaxable
+  abstract: true
+  components:
+  - type: FaxableObject # Not sure about it, but why not? If someone wants to waste their time printing free copies of blueprints for cash they can have their spesos
+  - type: Paper
+    destroyOnFax: true
+    destroyMessage: fax-delete-paper-intellectual-property
+
+# Faxable variants (obtainable from research)
+
+- type: entity # Engineering
+  parent: BaseBlueprintFaxable
+  id: NFBaseBlueprintEngineering
+  abstract: true
+  components:
+  - type: Sprite
+    layers:
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-base
+        color: "#fff87c"
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-text
+      - sprite: Objects/Misc/bureaucracy.rsi
+        state: paper_stamp-generic
+        offset: 0.15,-0.1
+        map: ["enum.PaperVisualLayers.Stamp"]
+        visible: false
+      - sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
+        state: paper_words
+        map: ["enum.PaperVisualLayers.Writing"]
+        visible: false
+  - type: Item
+    size: Normal
+    inhandVisuals:
+      left:
+      - state: inhand-left-base
+        color: "#fff87c"
+      - state: inhand-left-text
+      right:
+      - state: inhand-right-base
+        color: "#fff87c"
+      - state: inhand-right-text
+
+- type: entity # Salvage / Cargo
+  parent: BaseBlueprintFaxable
+  id: NFBaseBlueprintSalvage
+  abstract: true
+  components:
+  - type: Sprite
+    layers:
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-base
+        color: "#e1ba8b"
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-text
+      - sprite: Objects/Misc/bureaucracy.rsi
+        state: paper_stamp-generic
+        offset: 0.15,-0.1
+        map: ["enum.PaperVisualLayers.Stamp"]
+        visible: false
+      - sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
+        state: paper_words
+        map: ["enum.PaperVisualLayers.Writing"]
+        visible: false
+  - type: Item
+    size: Normal
+    inhandVisuals:
+      left:
+      - state: inhand-left-base
+        color: "#e1ba8b"
+      - state: inhand-left-text
+      right:
+      - state: inhand-right-base
+        color: "#e1ba8b"
+      - state: inhand-right-text
+
+- type: entity # Science
+  parent: BaseBlueprintFaxable
+  id: NFBaseBlueprintScience
+  abstract: true
+  components:
+  - type: Sprite
+    layers:
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-base
+        color: "#e18bd5"
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-text
+      - sprite: Objects/Misc/bureaucracy.rsi
+        state: paper_stamp-generic
+        offset: 0.15,-0.1
+        map: ["enum.PaperVisualLayers.Stamp"]
+        visible: false
+      - sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
+        state: paper_words
+        map: ["enum.PaperVisualLayers.Writing"]
+        visible: false
+  - type: Item
+    size: Normal
+    inhandVisuals:
+      left:
+      - state: inhand-left-base
+        color: "#e18bd5"
+      - state: inhand-left-text
+      right:
+      - state: inhand-right-base
+        color: "#e18bd5"
+      - state: inhand-right-text
+
+- type: entity # Service
+  parent: BaseBlueprintFaxable
+  id: NFBaseBlueprintService
+  abstract: true
+  components:
+  - type: Sprite
+    layers:
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-base
+        color: "#94e18b"
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-text
+      - sprite: Objects/Misc/bureaucracy.rsi
+        state: paper_stamp-generic
+        offset: 0.15,-0.1
+        map: ["enum.PaperVisualLayers.Stamp"]
+        visible: false
+      - sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
+        state: paper_words
+        map: ["enum.PaperVisualLayers.Writing"]
+        visible: false
+  - type: Item
+    size: Normal
+    inhandVisuals:
+      left:
+      - state: inhand-left-base
+        color: "#94e18b"
+      - state: inhand-left-text
+      right:
+      - state: inhand-right-base
+        color: "#94e18b"
+      - state: inhand-right-text
+
+- type: entity # Medical
+  parent: BaseBlueprintFaxable
+  id: NFBaseBlueprintMedical
+  abstract: true
+  components:
+  - type: Sprite
+    layers:
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-base
+        color: "#97cae1"
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-text
+      - sprite: Objects/Misc/bureaucracy.rsi
+        state: paper_stamp-generic
+        offset: 0.15,-0.1
+        map: ["enum.PaperVisualLayers.Stamp"]
+        visible: false
+      - sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
+        state: paper_words
+        map: ["enum.PaperVisualLayers.Writing"]
+        visible: false
+  - type: Item
+    size: Normal
+    inhandVisuals:
+      left:
+      - state: inhand-left-base
+        color: "#97cae1"
+      - state: inhand-left-text
+      right:
+      - state: inhand-right-base
+        color: "#97cae1"
+      - state: inhand-right-text
+
+- type: entity # Armory
+  parent: BaseBlueprintFaxable
+  id: NFBaseBlueprintArmory
+  abstract: true
+  components:
+  - type: Sprite
+    layers:
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-base
+        color: "#e18b8b"
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-text
+      - sprite: Objects/Misc/bureaucracy.rsi
+        state: paper_stamp-generic
+        offset: 0.15,-0.1
+        map: ["enum.PaperVisualLayers.Stamp"]
+        visible: false
+      - sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
+        state: paper_words
+        map: ["enum.PaperVisualLayers.Writing"]
+        visible: false
+  - type: Item
+    size: Normal
+    inhandVisuals:
+      left:
+      - state: inhand-left-base
+        color: "#e18b8b"
+      - state: inhand-left-text
+      right:
+      - state: inhand-right-base
+        color: "#e18b8b"
+      - state: inhand-right-text
+
+- type: entity # Church
+  parent: BaseBlueprintFaxable
+  id: NFBaseBlueprintChurch
+  abstract: true
+  components:
+  - type: Sprite
+    layers:
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-base
+        color: "#525252"
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-text
+        color: "#cbab00"
+      - sprite: Objects/Misc/bureaucracy.rsi
+        state: paper_stamp-generic
+        offset: 0.15,-0.1
+        map: ["enum.PaperVisualLayers.Stamp"]
+        visible: false
+      - sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
+        state: paper_words
+        map: ["enum.PaperVisualLayers.Writing"]
+        visible: false
+  - type: Item
+    size: Normal
+    inhandVisuals:
+      left:
+      - state: inhand-left-base
+        color: "#525252"
+      - state: inhand-left-text
+        color: "#cbab00"
+      right:
+      - state: inhand-right-base
+        color: "#525252"
+      - state: inhand-right-text
+        color: "#cbab00"
+
+# Non-faxable variants (obtainable from expeditions)
+
+- type: entity # Armory
+  parent: [ BaseC3Contraband, NFBaseBlueprint ]
+  id: BaseBlueprintExpedition
+  abstract: true
+  components:
+  - type: Sprite
+    layers:
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-base
+        color: "#d70601"
+      - sprite: _NF/Objects/Tools/blueprints.rsi
+        state: icon-text
+      - sprite: Objects/Misc/bureaucracy.rsi
+        state: paper_stamp-generic
+        offset: 0.15,-0.1
+        map: ["enum.PaperVisualLayers.Stamp"]
+        visible: false
+      - sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
+        state: paper_words
+        map: ["enum.PaperVisualLayers.Writing"]
+        visible: false
+  - type: Item
+    size: Normal
+    inhandVisuals:
+      left:
+      - state: inhand-left-base
+        color: "#d70601"
+      - state: inhand-left-text
+      right:
+      - state: inhand-right-base
+        color: "#d70601"
+      - state: inhand-right-text
+  - type: Paper
+    stampState: paper_stamp-rd
+    stampedBy:
+    - reapply: False
+      stampType: RubberStamp
+      stampedColor: '#1F66A0FF'
+      stampedName: stamp-component-stamped-name-rd
+  - type: StaticPrice
+    price: 1000
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_engineering.yml b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_engineering.yml
new file mode 100644
index 00000000000..f786df26b81
--- /dev/null
+++ b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_engineering.yml
@@ -0,0 +1,122 @@
+# Advanced Tools
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintPowerDrill
+  name: power drill blueprint
+  description: A blueprint with a schematic of a power drill. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - PowerDrill
+
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintJawsOfLife
+  name: jaws of life blueprint
+  description: A blueprint with a schematic of a jaws of life. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - JawsOfLife
+
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintWelderExperimental
+  name: experimental welder blueprint
+  description: A blueprint with a schematic of an experimental welder. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - WelderExperimental
+
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintShipyardRCDAmmo
+  name: shipyard compressed matter blueprint
+  description: A blueprint with a schematic of a shipyard compressed matter. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - ShipyardRCDAmmo
+
+# Power cells
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintPowerCellMediumPrinted
+  name: medium-capacity power cell blueprint
+  description: A blueprint with a schematic of a medium-capacity power cell. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - PowerCellMedium
+
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintPowerCellMicroreactor
+  name: microreactor blueprint
+  description: A blueprint with a schematic of a microreactor. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - PowerCellMicroreactor
+
+# Devices
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintSignallerAdvanced
+  name: advanced signaller blueprint
+  description: A blueprint with a schematic of an advanced signaller. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - SignallerAdvanced
+
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintClothingBackpackHolding
+  name: bluespace backpack blueprint
+  description: A blueprint with a schematic of a bluespace backpack. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - ClothingBackpackHolding
+
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintClothingBackpackSatchelHolding
+  name: bluespace satchel blueprint
+  description: A blueprint with a schematic of a bluespace satchel. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - ClothingBackpackSatchelHolding
+
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintClothingBackpackMessengerHolding
+  name: bluespace messenger bag blueprint
+  description: A blueprint with a schematic of a bluespace messenger bag. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - ClothingBackpackMessengerHolding
+
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintClothingBackpackDuffelHolding
+  name: bluespace duffel blueprint
+  description: A blueprint with a schematic of a bluespace duffel. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - ClothingBackpackDuffelHolding
+
+- type: entity
+  parent: NFBaseBlueprintEngineering
+  id: NFBlueprintConstructionBagOfHolding
+  name: bluespace construction bag blueprint
+  description: A blueprint with a schematic of a bluespace construction bag. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - ConstructionBagOfHolding
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_expedition_loot.yml b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_expedition_loot.yml
new file mode 100644
index 00000000000..2fa455a60c9
--- /dev/null
+++ b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_expedition_loot.yml
@@ -0,0 +1,127 @@
+
+# Ammo
+## Uranium
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintBoxShotgunUranium
+  name: uranium shotgun ammo blueprint
+  description: A blueprint with a schematic of an uranium shotgun ammo. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - BoxShotgunUranium
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintMagazineBoxRifleUranium
+  name: uranium .20 ammo blueprint
+  description: A blueprint with a schematic of an uranium .20 rifle ammo. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - MagazineBoxRifleUranium
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintMagazineBoxLightRifleUranium
+  name: uranium .30 ammo blueprint
+  description: A blueprint with a schematic of an uranium .30 rifle ammo. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - MagazineBoxLightRifleUranium
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintMagazineBoxMagnumUranium
+  name: uranium .45 ammo blueprint
+  description: A blueprint with a schematic of an uranium .45 ammo. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - MagazineBoxMagnumUranium
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintMagazineBoxPistolUranium
+  name: uranium .35 ammo blueprint
+  description: A blueprint with a schematic of an uranium .35 ammo. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - MagazineBoxPistolUranium
+
+## Incendiary
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintBoxShotgunIncendiary
+  name: incendiary shotgun ammo blueprint
+  description: A blueprint with a schematic of an incendiary shotgun ammo. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - BoxShotgunIncendiary
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintMagazineBoxRifleIncendiary
+  name: incendiary .20 ammo blueprint
+  description: A blueprint with a schematic of an incendiary .20 rifle ammo. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - MagazineBoxRifleIncendiary
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintMagazineBoxLightRifleIncendiary
+  name: incendiary .30 ammo blueprint
+  description: A blueprint with a schematic of an incendiary .30 rifle ammo. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - MagazineBoxLightRifleIncendiary
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintMagazineBoxMagnumIncendiary
+  name: incendiary .45 ammo blueprint
+  description: A blueprint with a schematic of an incendiary .45 ammo. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - MagazineBoxMagnumIncendiary
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintMagazineBoxPistolIncendiary
+  name: incendiary .35 ammo blueprint
+  description: A blueprint with a schematic of an incendiary .35 ammo. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - MagazineBoxPistolIncendiary
+
+# Guns
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintWeaponLaserCannon
+  name: laser cannon blueprint
+  description: A blueprint with a schematic of a laser cannon. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - WeaponLaserCannon
+
+- type: entity
+  parent: BaseBlueprintExpedition
+  id: NFBlueprintWeaponXrayCannon
+  name: x-ray cannon blueprint
+  description: A blueprint with a schematic of a x-ray cannon. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - WeaponXrayCannon
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_medical.yml b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_medical.yml
new file mode 100644
index 00000000000..acaed0fc6b9
--- /dev/null
+++ b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_medical.yml
@@ -0,0 +1,30 @@
+
+- type: entity
+  parent: NFBaseBlueprintMedical
+  id: NFBlueprintBluespaceBeaker
+  name: bluespace beaker blueprint
+  description: A blueprint with a schematic of a bluespace beaker. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - BluespaceBeaker
+
+- type: entity
+  parent: NFBaseBlueprintMedical
+  id: NFBlueprintSyringeBluespace
+  name: bluespace syringe blueprint
+  description: A blueprint with a schematic of a bluespace syringe. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - SyringeBluespace
+
+- type: entity
+  parent: NFBaseBlueprintMedical
+  id: NFBlueprintVialBluespace
+  name: bluespace vial blueprint
+  description: A blueprint with a schematic of a bluespace vial. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - VialBluespace
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_salvage.yml b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_salvage.yml
new file mode 100644
index 00000000000..e0658147e90
--- /dev/null
+++ b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_salvage.yml
@@ -0,0 +1,40 @@
+
+- type: entity
+  parent: NFBaseBlueprintSalvage
+  id: NFBlueprintOreBagOfHolding
+  name: bluespace ore bag blueprint
+  description: A blueprint with a schematic of a bluespace ore bag. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - OreBagOfHolding
+
+- type: entity
+  parent: NFBaseBlueprintSalvage
+  id: NFBlueprintMiningDrillDiamond
+  name: diamond tipped mining drill blueprint
+  description: A blueprint with a schematic of a diamond tipped mining drill. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - MiningDrillDiamond
+
+- type: entity
+  parent: NFBaseBlueprintSalvage
+  id: NFBlueprintAdvancedMineralScannerEmpty
+  name: advanced mineral scanner blueprint
+  description: A blueprint with a schematic of an advanced mineral scanner. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - AdvancedMineralScannerEmpty
+
+- type: entity
+  parent: NFBaseBlueprintSalvage
+  id: NFBlueprintClothingOuterHardsuitMaximPrototype
+  name: experimental salvager hardsuit blueprint
+  description: A blueprint with a schematic of an experimental salvager hardsuit. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - ClothingOuterHardsuitMaximPrototype
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_science.yml b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_science.yml
new file mode 100644
index 00000000000..4a6f8163132
--- /dev/null
+++ b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_science.yml
@@ -0,0 +1,50 @@
+
+- type: entity
+  parent: NFBaseBlueprintScience
+  id: NFBlueprintRped
+  name: RPED blueprint
+  description: A blueprint with a schematic of a RPED. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - RPED
+
+- type: entity
+  parent: NFBaseBlueprintScience
+  id: NFBlueprintSuperCapacitorStockPart
+  name: super capacitor blueprint
+  description: A blueprint with a schematic of a super capacitor. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - SuperCapacitorStockPart
+
+- type: entity
+  parent: NFBaseBlueprintScience
+  id: NFBlueprintPicoManipulatorStockPart
+  name: super manipulator blueprint
+  description: A blueprint with a schematic of a super manipulator. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - PicoManipulatorStockPart
+
+- type: entity
+  parent: NFBaseBlueprintScience
+  id: NFBlueprintSuperMatterBinStockPart
+  name: super matter bin blueprint
+  description: A blueprint with a schematic of a super matter bin. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - SuperMatterBinStockPart
+
+- type: entity
+  parent: NFBaseBlueprintScience
+  id: NFBlueprintClothingShoesBootsMagAdv
+  name: advanced magboots blueprint
+  description: A blueprint with a schematic of an advanced magboots. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - ClothingShoesBootsMagAdv
diff --git a/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_service.yml b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_service.yml
new file mode 100644
index 00000000000..821b57de609
--- /dev/null
+++ b/Resources/Prototypes/_NF/Entities/Objects/Tools/blueprints/blueprints_service.yml
@@ -0,0 +1,30 @@
+
+- type: entity
+  parent: NFBaseBlueprintService
+  id: NFBlueprintAdvMopItem
+  name: advanced mop blueprint
+  description: A blueprint with a schematic of an advanced mop. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - AdvMopItem
+
+- type: entity
+  parent: NFBaseBlueprintService
+  id: NFBlueprintPlantAnalyzerEmpty
+  name: plant analyzer blueprint
+  description: A blueprint with a schematic of a plant analyzer. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - PlantAnalyzer
+
+- type: entity
+  parent: NFBaseBlueprintService
+  id: NFBlueprintPlantBagOfHolding
+  name: bluespace plant bag blueprint
+  description: A blueprint with a schematic of a bluespace plant bag. It can be inserted into an autolathe or a techfab.
+  components:
+  - type: Blueprint
+    providedRecipes:
+    - PlantBagOfHolding
diff --git a/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml
index 7be9a0eba89..33bf22ba2e7 100644
--- a/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml
+++ b/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml
@@ -1,3 +1,20 @@
+- type: entity
+  id: BlueprintReceiverBase
+  abstract: true
+  components:
+  - type: BlueprintReceiver
+    whitelist:
+      tags:
+      - BlueprintAutolathe
+  - type: ContainerContainer
+    containers:
+      machine_board: !type:Container
+      machine_parts: !type:Container
+      blueprint: !type:Container
+  - type: EmptyOnMachineDeconstruct
+    containers:
+    - blueprint
+
 - type: entity
   parent: [BaseStructureDisableToolUse, BaseLathe]
   id: PrizeCounter
@@ -137,7 +154,7 @@
         - PrizeTicket
 
 - type: entity
-  parent: BaseLatheLube
+  parent: [ BaseLatheLube, BlueprintReceiverBase ]
   id: SalvageTechfabNF
   name: salvage techfab
   description: Prints equipment for salvagers.
@@ -271,7 +288,7 @@
 
 - type: entity
   id: NfsdTechFab
-  parent: SecurityTechFab
+  parent: [ SecurityTechFab, BlueprintReceiverBase ]
   name: nfsd techfab
   description: Prints equipment for use by nfsd.
   components:
@@ -293,7 +310,7 @@
 
 - type: entity
   id: MercenaryTechFab
-  parent: BaseLatheLube
+  parent: [ BaseLatheLube, BlueprintReceiverBase ]
   name: mercenary techfab
   description: Prints the bare minimum of tools of the trade that any budget mercenary or private security could need. Nothing fancy.
   components:
@@ -512,7 +529,7 @@
   parent:
   - MercenaryTechFab
   - BaseHyperlathe
-  - PunkHoloGraffitiOverlay # Prototype can be located at \Resources\Prototypes\_NF\Entities\Structures\Holographic\graffiti.yml
+  - PunkHoloGraffitiOverlay # Prototype can be located at /Resources/Prototypes/_NF/Entities/Structures/Holographic/graffiti.yml
   name: hacked mercenary techfab
   description: Prints the bare minimum of tools of the trade that any budget mercenary or private security could need. Nothing fancy.
   components:
@@ -708,3 +725,74 @@
       - MagazineBoxMagnumUranium
       - MagazineBoxPistolUranium
       - MagazineBoxRifleUranium
+
+- type: entity
+  id: BlueprintLithograph
+  parent: BaseLatheLube
+  name: blueprint lithograph
+  description: Prints blueprints.
+  components:
+  - type: Sprite
+    sprite: _NF/Structures/Machines/blueprint_printer.rsi
+    snapCardinals: true
+    layers:
+    - state: icon
+      map: ["enum.LatheVisualLayers.IsRunning"]
+    - state: unlit
+      shader: unshaded
+      map: ["enum.PowerDeviceVisualLayers.Powered"]
+    - state: panel
+      map: ["enum.WiresVisualLayers.MaintenancePanel"]
+  - type: Machine
+    board: CircuitImprinterMachineCircuitboard
+  - type: Lathe
+    producingSound: /Audio/Machines/circuitprinter.ogg
+    idleState: icon
+    runningState: building
+    staticRecipes:
+    - NFBlueprintPowerCellMediumPrinted
+    dynamicRecipes:
+    # Engineering
+    - NFBlueprintPowerDrill
+    - NFBlueprintJawsOfLife
+    - NFBlueprintWelderExperimental
+    - NFBlueprintShipyardRCDAmmo
+    - NFBlueprintPowerCellMicroreactor
+    - NFBlueprintSignallerAdvanced
+    - NFBlueprintClothingBackpackHolding
+    - NFBlueprintClothingBackpackSatchelHolding
+    - NFBlueprintClothingBackpackMessengerHolding
+    - NFBlueprintClothingBackpackDuffelHolding
+    - NFBlueprintConstructionBagOfHolding
+    - NFBlueprintPortableRecharger
+    # Medical
+    - NFBlueprintBluespaceBeaker
+    - NFBlueprintSyringeBluespace
+    - NFBlueprintVialBluespace
+    # Salvage
+    - NFBlueprintOreBagOfHolding
+    - NFBlueprintMiningDrillDiamond
+    - NFBlueprintAdvancedMineralScannerEmpty
+    - NFBlueprintClothingOuterHardsuitMaximPrototype
+    # Science
+    - NFBlueprintRped
+    - NFBlueprintSuperCapacitorStockPart
+    - NFBlueprintPicoManipulatorStockPart
+    - NFBlueprintSuperMatterBinStockPart
+    - NFBlueprintClothingShoesBootsMagAdv
+    # Service
+    - NFBlueprintAdvMopItem
+    - NFBlueprintPlantAnalyzerEmpty
+    - NFBlueprintPlantBagOfHolding
+    # Armory
+    - NFBlueprintWeaponAntiqueLaser
+    - NFBlueprintWeaponLaserSvalinn
+    - NFBlueprintPortableRecharger
+    - BlueprintClothingOuterHardsuitScaf
+  - type: MaterialStorage
+    whitelist:
+      tags:
+        - Sheet
+        - RawMaterial
+        - Ingot
+  - type: RequireProjectileTarget
diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/blueprints.yml b/Resources/Prototypes/_NF/Recipes/Lathes/blueprints.yml
new file mode 100644
index 00000000000..de7cc1a26c4
--- /dev/null
+++ b/Resources/Prototypes/_NF/Recipes/Lathes/blueprints.yml
@@ -0,0 +1,176 @@
+# Base
+
+- type: latheRecipe
+  abstract: true
+  id: NFBaseBlueprintLatheRecipe
+  completetime: 4
+  materials:
+    Paper: 500
+
+# Recipes
+## Engineering
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintPowerDrill
+  result: NFBlueprintPowerDrill
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintJawsOfLife
+  result: NFBlueprintJawsOfLife
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintWelderExperimental
+  result: NFBlueprintWelderExperimental
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintShipyardRCDAmmo
+  result: NFBlueprintShipyardRCDAmmo
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintPowerCellMicroreactor
+  result: NFBlueprintPowerCellMicroreactor
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintPowerCellMediumPrinted
+  result: NFBlueprintPowerCellMediumPrinted
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintSignallerAdvanced
+  result: NFBlueprintSignallerAdvanced
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintClothingBackpackHolding
+  result: NFBlueprintClothingBackpackHolding
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintClothingBackpackSatchelHolding
+  result: NFBlueprintClothingBackpackSatchelHolding
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintClothingBackpackMessengerHolding
+  result: NFBlueprintClothingBackpackMessengerHolding
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintClothingBackpackDuffelHolding
+  result: NFBlueprintClothingBackpackDuffelHolding
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintConstructionBagOfHolding
+  result: NFBlueprintConstructionBagOfHolding
+
+## Medical
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintBluespaceBeaker
+  result: NFBlueprintBluespaceBeaker
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintSyringeBluespace
+  result: NFBlueprintSyringeBluespace
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintVialBluespace
+  result: NFBlueprintVialBluespace
+
+## Salvage
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintOreBagOfHolding
+  result: NFBlueprintOreBagOfHolding
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintMiningDrillDiamond
+  result: NFBlueprintMiningDrillDiamond
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintAdvancedMineralScannerEmpty
+  result: NFBlueprintAdvancedMineralScannerEmpty
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintClothingOuterHardsuitMaximPrototype
+  result: NFBlueprintClothingOuterHardsuitMaximPrototype
+
+## Science
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintRped
+  result: NFBlueprintRped
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintSuperCapacitorStockPart
+  result: NFBlueprintSuperCapacitorStockPart
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintPicoManipulatorStockPart
+  result: NFBlueprintPicoManipulatorStockPart
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintSuperMatterBinStockPart
+  result: NFBlueprintSuperMatterBinStockPart
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintClothingShoesBootsMagAdv
+  result: NFBlueprintClothingShoesBootsMagAdv
+
+## Service
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintAdvMopItem
+  result: NFBlueprintAdvMopItem
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintPlantAnalyzerEmpty
+  result: NFBlueprintPlantAnalyzerEmpty
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintPlantBagOfHolding
+  result: NFBlueprintPlantBagOfHolding
+
+## Armory
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintWeaponAntiqueLaser
+  result: NFBlueprintWeaponAntiqueLaser
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintWeaponLaserSvalinn
+  result: NFBlueprintWeaponLaserSvalinn
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: NFBlueprintPortableRecharger
+  result: NFBlueprintPortableRecharger
+
+- type: latheRecipe
+  parent: NFBaseBlueprintLatheRecipe
+  id: BlueprintClothingOuterHardsuitScaf
+  result: BlueprintClothingOuterHardsuitScaf
diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/electronics.yml b/Resources/Prototypes/_NF/Recipes/Lathes/electronics.yml
index 8a31eb5f40d..a4f2939b860 100644
--- a/Resources/Prototypes/_NF/Recipes/Lathes/electronics.yml
+++ b/Resources/Prototypes/_NF/Recipes/Lathes/electronics.yml
@@ -7,6 +7,15 @@
     Steel: 800
     Glass: 900
 
+- type: latheRecipe
+  id: BlueprintLithographMachineCircuitboard
+  result: BlueprintLithographMachineCircuitboard
+  category: Circuitry
+  completetime: 4
+  materials:
+    Steel: 800
+    Glass: 900
+
 # Thrusters
 - type: latheRecipe
   id: ThrusterSecurityMachineCircuitboard
diff --git a/Resources/Prototypes/_NF/Research/arsenal.yml b/Resources/Prototypes/_NF/Research/arsenal.yml
index 052168e9570..4bf0ced9362 100644
--- a/Resources/Prototypes/_NF/Research/arsenal.yml
+++ b/Resources/Prototypes/_NF/Research/arsenal.yml
@@ -107,5 +107,6 @@
   - ClothingOuterHardsuitWarden
   - ClothingOuterHardsuitBrigmedic
   - ClothingOuterHardsuitScaf
+  - BlueprintClothingOuterHardsuitScaf
   technologyPrerequisites:
   - HardsuitsArmored
diff --git a/Resources/Prototypes/_NF/Research/experimental.yml b/Resources/Prototypes/_NF/Research/experimental.yml
index 882949c9dcb..405e6f5bddb 100644
--- a/Resources/Prototypes/_NF/Research/experimental.yml
+++ b/Resources/Prototypes/_NF/Research/experimental.yml
@@ -1,3 +1,18 @@
+# Tier 2
+
+- type: technology
+  id: RapidPartExchange
+  name: research-technology-rped
+  icon:
+    sprite: _NF/Objects/Specific/Research/rped.rsi
+    state: icon
+  discipline: Experimental
+  tier: 2
+  cost: 7500
+  recipeUnlocks:
+  - RPED
+  - NFBlueprintRped
+
 # Tier 3
 
 - type: technology
@@ -13,6 +28,9 @@
   - SuperCapacitorStockPart
   - SuperMatterBinStockPart
   - PicoManipulatorStockPart
+  - NFBlueprintSuperCapacitorStockPart
+  - NFBlueprintPicoManipulatorStockPart
+  - NFBlueprintSuperMatterBinStockPart
 
 - type: technology
   id: MagnetsTechAdvanced
@@ -25,6 +43,7 @@
   cost: 10000
   recipeUnlocks:
   - ClothingShoesBootsMagAdv
+  - NFBlueprintClothingShoesBootsMagAdv
   technologyPrerequisites:
   - MagnetsTech
 
diff --git a/Resources/Prototypes/_NF/Research/industrial.yml b/Resources/Prototypes/_NF/Research/industrial.yml
index 3bb1d58fbfe..ad7b57bb82e 100644
--- a/Resources/Prototypes/_NF/Research/industrial.yml
+++ b/Resources/Prototypes/_NF/Research/industrial.yml
@@ -11,6 +11,7 @@
   cost: 5000
   recipeUnlocks:
   - ConstructionBagOfHolding
+  - NFBlueprintConstructionBagOfHolding
 
 - type: technology
   id: HardsuitsBasic
@@ -78,5 +79,6 @@
     - ClothingOuterHardsuitMaximPrototype
     - ClothingHeadHelmetAncient
     - ClothingOuterHardsuitAncientEVA
+    - NFBlueprintClothingOuterHardsuitMaximPrototype
   technologyPrerequisites:
   - HardsuitsAdvanced
diff --git a/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/icon.png b/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/icon.png
new file mode 100644
index 00000000000..cd57f65eb31
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/icon.png differ
diff --git a/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/inhand-left.png b/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/inhand-left.png
new file mode 100644
index 00000000000..25702f772a8
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/inhand-left.png differ
diff --git a/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/inhand-right.png b/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/inhand-right.png
new file mode 100644
index 00000000000..31843e50818
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/inhand-right.png differ
diff --git a/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/meta.json b/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/meta.json
new file mode 100644
index 00000000000..99acaed8489
--- /dev/null
+++ b/Resources/Textures/_NF/Objects/Specific/Research/rped.rsi/meta.json
@@ -0,0 +1,22 @@
+{
+  "version": 1,
+  "license": "CC-BY-SA-3.0",
+  "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a, inhands created by EmoGarbage404",
+  "size": {
+    "x": 32,
+    "y": 32
+  },
+  "states": [
+    {
+      "name": "icon"
+    },
+    {
+      "name": "inhand-left",
+      "directions": 4
+    },
+    {
+      "name": "inhand-right",
+      "directions": 4
+    }
+  ]
+}
diff --git a/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/icon-open.png b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/icon-open.png
new file mode 100644
index 00000000000..59ee3fc0b3b
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/icon-open.png differ
diff --git a/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/icon.png b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/icon.png
new file mode 100644
index 00000000000..4000d69ec8f
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/icon.png differ
diff --git a/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/inhand-left.png b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/inhand-left.png
new file mode 100644
index 00000000000..ee691780b16
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/inhand-left.png differ
diff --git a/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/inhand-right.png b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/inhand-right.png
new file mode 100644
index 00000000000..952ca2da6f3
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/inhand-right.png differ
diff --git a/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/meta.json b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/meta.json
new file mode 100644
index 00000000000..a8107eefdfb
--- /dev/null
+++ b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/meta.json
@@ -0,0 +1,31 @@
+{
+  "version": 1,
+  "license": "CC-BY-SA-3.0",
+  "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/blob/master/icons/obj/storage/case.dmi , held sprites and open sprite made by erhardsteinhauer",
+  "size": {
+    "x": 32,
+    "y": 32
+  },
+  "states": [
+    {
+      "name": "inhand-left",
+      "directions": 4
+    },
+    {
+      "name": "inhand-right",
+      "directions": 4
+    },
+    {
+      "name": "icon"
+    },
+    {
+      "name": "icon-open"
+    },
+    {
+      "name": "unshaded",
+      "delays": [
+        [ 0.2, 0.1, 0.1, 0.2 ]
+      ]
+    }
+  ]
+}
diff --git a/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/unshaded.png b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/unshaded.png
new file mode 100644
index 00000000000..d598b670413
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Storage/Cases/documentcaseshort.rsi/unshaded.png differ
diff --git a/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/icon-base.png b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/icon-base.png
new file mode 100644
index 00000000000..26526970dfd
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/icon-base.png differ
diff --git a/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/icon-text.png b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/icon-text.png
new file mode 100644
index 00000000000..0780b0c5d50
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/icon-text.png differ
diff --git a/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-left-base.png b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-left-base.png
new file mode 100644
index 00000000000..3d204ca7e9c
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-left-base.png differ
diff --git a/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-left-text.png b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-left-text.png
new file mode 100644
index 00000000000..744a664bc47
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-left-text.png differ
diff --git a/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-right-base.png b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-right-base.png
new file mode 100644
index 00000000000..a123c9de256
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-right-base.png differ
diff --git a/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-right-text.png b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-right-text.png
new file mode 100644
index 00000000000..649d495c3e0
Binary files /dev/null and b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/inhand-right-text.png differ
diff --git a/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/meta.json b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/meta.json
new file mode 100644
index 00000000000..8511331d7ab
--- /dev/null
+++ b/Resources/Textures/_NF/Objects/Tools/blueprints.rsi/meta.json
@@ -0,0 +1,33 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Icon sprite is taken from Baystation12 at https://github.com/Baystation12/Baystation12/blob/dev/icons/obj/tools/blueprints.dmi | Split into layers and grayscaled by ErhardSteinhauer (discord/github); Inhand sprites are taken from https://github.com/vgstation-coders/vgstation13/commit/dd749c36c416a6960782732cecf25e5ebac326e8 | Split into layers and grayscaled by ErhardSteinhauer (discord/github)",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "inhand-left-base",
+            "directions": 4
+        },
+        {
+            "name": "inhand-left-text",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right-base",
+            "directions": 4
+        },
+        {
+            "name": "inhand-right-text",
+            "directions": 4
+        },
+        {
+            "name": "icon-base"
+        },
+        {
+            "name": "icon-text"
+        }
+    ]
+}
diff --git a/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/building.png b/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/building.png
new file mode 100644
index 00000000000..32b081a8430
Binary files /dev/null and b/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/building.png differ
diff --git a/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/icon.png b/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/icon.png
new file mode 100644
index 00000000000..99ebfbe0d1d
Binary files /dev/null and b/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/icon.png differ
diff --git a/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/meta.json b/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/meta.json
new file mode 100644
index 00000000000..68647e8f754
--- /dev/null
+++ b/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/meta.json
@@ -0,0 +1,42 @@
+{
+  "version": 1,
+  "license": "CC-BY-SA-3.0",
+  "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a | Resprited by ErhardSteinhauer (discord/github)",
+  "size": {
+    "x": 32,
+    "y": 32
+  },
+  "states": [
+    {
+      "name": "icon"
+    },
+    {
+      "name": "panel"
+    },
+    {
+      "name": "unlit"
+    },
+    {
+      "name": "building",
+      "delays": [
+        [
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16,
+          0.16
+        ]
+      ]
+    }
+  ]
+}
diff --git a/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/panel.png b/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/panel.png
new file mode 100644
index 00000000000..c866a0c4566
Binary files /dev/null and b/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/panel.png differ
diff --git a/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/unlit.png b/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/unlit.png
new file mode 100644
index 00000000000..58528c802d2
Binary files /dev/null and b/Resources/Textures/_NF/Structures/Machines/blueprint_printer.rsi/unlit.png differ