Space Engineers

Space Engineers

124 ratings
Block Progression - Schematic Hunter
2
2
2
3
2
3
2
2
   
Award
Favorite
Favorited
Unfavorite
Type: Mod
Mod category: Block, Script, Other
File Size
Posted
Updated
170.340 KB
17 Oct, 2020 @ 7:49pm
20 May @ 5:32pm
32 Change Notes ( view )

Subscribe to download
Block Progression - Schematic Hunter

Description
Last Updated 20 May 2024

Hello! This mod replaces the vanilla progression system with something a bit more immersive - in order to "learn" how to build a block, you must first find the datapad that contains the schematic for it! For this to work properly, the vanilla progression system needs to be turned OFF!

Where do you find them, you ask? Great question! This mod spawns them into random cargo containers found on wreckages, pirate bases, pirate drones, and other (NPC faction) grids around the universe. So, get out there and explore! Or raid those pirate strongholds. Your treasure awaits!

But you don't have the resources to fight or explore.. well, fear not! Your admins can setup store blocks that will sell you schematics. Or! You can trade with your fellow engineers - there's more than one way to skin this cyberhound!

Thanks be to Ryoden for putting together a tutorial video, now linked above!

Notes:
  • Assemblers cannot be locked - doing this results in a CTD for the client. Therefore, the mod ensures they aren't removed from the AlwaysUnlocked list
  • The mod will add GPS markers to all grids that contain a schematic that are less than 1km away from your character
  • GPS markers are placed at the center of the grid, so you'll need to search the grid's cargo containers to find the schematic(s)!
  • NPC-only grids that are spawned have a configurable chance to contain a schematic
  • Schematics can only be added to grids once within any 30-second period (except for first-time setup)
  • If you feel that items are priced too high, talk to your admins! They have the tools to configure those prices :)


For the Admins
There are a few commands you may find useful. Check them out, below!

All commands are prefaced with /progression

  • Unlock <schematicType> - temporarily unlocks the first block that contains <schematicType> in its block definition. Reload the client to revert changes.
  • UnlockAll <true/false> - unlocks all blocks for you to enable you to do your admin stuffs
    • By default, this will be temporary and can be reverted by simply reloading the client. If you want to permanently unlock all blocks, add true to the end of the command, ie /progression unlockall true
  • Create <schematicType> - creates and spawns a schematic in front of your character
    • If <schematicType> is missing, it will create a random schematic, otherwise it will search for and return the first schematic that contains the given type
  • Spawn <gridName> <schematicType> - creates and spawns a schematic inside the first grid with the same name as <gridName>; if <schematicType> is missing, it will spawn a random schematic
    • Grid must have a cargo container with room for a datapad in order to succeed
    • Grid name must match the Display Name as found in the Info tab of the terminal menu; surround multi-word names in quotes
  • FillStore - after placing a store block, stand within 10m of it and use this command in order to configure it for use with this mod
    • The store block will be filled with a random number (10-15) of random schematics
  • FactionShare - will toggle Faction Sharing on / off. When on, schematics found will unlock blocks for every member of the faction


Settings
There are a few settings files that you can tailor things to your liking. Note that only servers will have config files created. Clients will only have a log file for any errors that occur.

Config File Locations
  • Dedicated Server - will be found in the local storage and will be prefixed by the world save name
  • Local Game - will be found in the world storage folder

Block Rarity Settings
<BasePrice_Minimum>50000</BasePrice_Minimum> <BasePrice_Maximum>500000</BasePrice_Maximum> <BlockRarityList> <BlockRarity> <BlockDefinition Type="MyObjectBuilder_CubeBlock" Subtype="LargeRailStraight" /> <NumberInWorld>10</NumberInWorld> <PriceModifier>1</PriceModifier> <SpawnChanceModifer>1</SpawnChanceModifier> </BlockRarity> </BlockRarityList>
  • BasePrice_Minimum - this is the default minimum price for any schematic
  • BasePrice_Maximum - this is the default maximum price for any schematic
  • BlockRarity - each of these sections pertains to a single schematic (now separated by type and subtype)
  • BlockDefinition - the block this setting is for
  • NumberInWorld - this is the MAX number that can be in the world. Once this many have been "found", those that don't have the type unlocked will need to beg, borrow, and steal from other engineers to get it!
  • PriceModifier - the base price (min and max) are multiplied by this modifier when the item is listed for a store block. Use this to increase / decrease the price of schematics (minimum is 0.01)
  • SpawnChanceModifier - a decimal between 0 and 1. 1 = normal spawn chance, 0 = never spawned


Universal Block Settings
<AlwaysUnlocked> <SerializableDefinitionId Type="MyObjectBuilder_CubeBlock" Subtype="LargeRailStraight" /> ... </AlwaysUnlocked> <AlwaysLocked> <SerializableDefinitionId Type="(null)" /> </AlwaysLocked> <AllBlockTypes> <SerializableDefinitionId Type="MyObjectBuilder_CubeBlock" Subtype="LargeRailStraight" /> ... </AllBlockTypes>
  • AlwaysUnlocked - blocks listed in this section are the default unlocked blocks for all engineers
  • AlwaysLocked - blocks listed in this section will never be unlocked for anyone
  • AllBlockTypes - this is the complete list of all block types in the world, including any mod blocks. Simply copy and paste the line items into the two other sections as you see fit. If you happen to remove an item from this section, it will be regenerated on the next world load

Research Group Settings
<ResearchGroup> <BlockDefinitons> <SerializableDefinitionId Type="MyObjectBuilder_Refinery" Subtype="LargeRefinery" /> <SerializableDefinitionId Type="MyObjectBuilder_Refinery" Subtype="Blast Furnace" /> </BlockDefinitons> </ResearchGroup>
  • ResearchGroup - each of these sections denotes a group of blocks that are unlocked together
  • BlockDefinitons - add your grouped definitions here

Server Save Data
<ServerSettings> <FactionSharing>false</FactionSharing> <UseBuiltInSpawnSystem>true</UseBuiltInSpawnSystem> <SpawnProbabilityPercent_Stations>100</SpawnProbabilityPercent_Stations> <SpawnProbabilityPercent_Ships>60</SpawnProbabilityPercent_Ships> <AllowMultipleSpawnsPerGrid>true</AllowMultipleSpawnsPerGrid> <AddSpawnPerBlockCount>1000</AddSpawnPerBlockCount>
  • FactionSharing - can be set here or via chat command
  • UseBuiltInSpawnSystem - if false the mod will no longer spawn schematics on its own
  • SpawnProbabilityPercent - the % chance that a new grid (of given type) will be given a schematic
  • AllowMultipleSpawnsPerGrid - if true, larger grids are given more schematics
  • AddSpawnPerBlockCount - how many blocks per schematic

Grids Containing Schematics
This document contains information about every grid that currently contains a schematic. Altering this document will break the mod!

Known Issues
If you find a bug, please let me know so I can fix it! You can reach me on here or on Discord (jTurp#7926).
Popular Discussions View All (1)
3
16 Jan, 2023 @ 7:35am
Store price bug.
Grumbledore
284 Comments
Torqs 18 Jun @ 8:04am 
Does this also work for NPC mods? Or is a custom spawntable required to make it work?
jTurp  [author] 23 May @ 9:52am 
I just tested and it worked fine for me. Do note that you CANNOT use the command on vanilla trade stations as Keen monitors those internally and does not allow mod interaction.
76-ой ☬ 23 May @ 2:58am 
why it doesn't work "/progression FillStore"?
小凡 21 May @ 5:53am 
@jTurp Thank you very much!
jTurp  [author] 20 May @ 5:34pm 
This should now be functional again
小凡 18 May @ 10:13am 
Please update the mod to the new version of the game.
Spartanec312 14 May @ 1:55am 
Please update the mod to the new version of the game.
Aquila27 5 May @ 6:04pm 
what the deal with the reactors? seem like they are always available even when I move to line in universal block setting?
jTurp  [author] 30 Mar @ 7:36am 
@Stilgar

Thanks for that note - I've been investigating a similar issue, but in truth I believe it's due to *when Keen changes the file path for the Save.* Your files are still being generated, but they are in the SE Install Dir / Content / Custom Worlds folder because that is where new games are defaulted to until sometime during first load.
Stilgar 27 Mar @ 5:03pm 
(Discovered cause I'm playing with an ore distribution mod and am dying inside cause I didn't have solar panels and no uranium on Earth lol)