Space Engineers

Space Engineers

134 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.568 KB
Oct 17, 2020 @ 7:49pm
Oct 22, 2024 @ 5:33pm
33 Change Notes ( view )

Subscribe to download
Block Progression - Schematic Hunter

Description
Last Updated 22 October 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
Jan 16, 2023 @ 7:35am
Store price bug.
Grumbledore
302 Comments
STUNNING & BRAVE Mar 27 @ 5:52am 
Hello, could I please re-upload an unlisted version of this to reconfigure for server use?

This contains some of the exact stuff I want for forcing progression on players.
Aquila27 Mar 24 @ 5:19pm 
I been playing that same game with your mod for about a month, everything was fine but I recently stop getting any schematic, I cant figure out why... any reason they would just stop spawning? im single player and I miss a lots of them, more then half
jTurp  [author] Mar 22 @ 8:10am 
This is meant to be added after you’ve decided which other mods you want to use. It will add the new entries to the config list, but you have to manually add them to the locked list if you want them there.

You can add them to the locked list, and then delete them from your player config (just run the game with the new block mod once, exit, update configs, then load the game) which will make them locked.
BattlestormTitan Mar 8 @ 6:11am 
@pixelateddrake, had the same idea for a scrapyard scenario and testing with just the progression mod, i can repair blocks, tested removing batteries and i can grind them down and fix them again
PixelatedDrake Jan 22 @ 2:05pm 
@Endo Yes, progression is off. I thought about it some more and perhaps is the issue i'm having that it was off prior to adding it to the scenario? It was the Scrapyard scenario, and since Splitsie's block restriction mod is no longer working, I wanted to swap it for this system instead along with a few other tweaks.

Side question, will this allow you to repair blocks you haven't got a schematic for, just not build them? If not, is there something I can edit to be able to do so?
Endo Jan 22 @ 11:52am 
@pixelateddrake Did you turn off progression?
PixelatedDrake Jan 22 @ 2:29am 
Really love this mod, but would it be possible for blocks that are added after install not default to be always unlocked? After adding it to a scenario I setup, all the modded blocks and majority of normal ones all seem to be unlocked by default. I assume this is partly intentional and requires a hell of a lot of pre-setup? Regardless, it'd be great if things defaulted to needing to be found outside of basic categories like armor, etc, instead of default unlock.
Endo Jan 13 @ 3:47am 
I figured out a work around for the refinery issue by grouping the research. On the other hand I can get the schematic into the store inventory but I dont know how to make it register it to show for sale. I sent a friend request on discord.
Endo Jan 12 @ 1:47pm 
I'm trying to make a store block (or multiple) that has all the main schematics in it so that they can be purchased instead of found. Is there a way to add a specific schematic to a store block other than random 10 to 15? Also was trying to get the vanilla refinery schematic but everything I try creates the industrial large refinery instead.
Wyte Knight Dec 14, 2024 @ 5:51am 
So sad. Research mode and its trees are so cool, specially with MES and AQD Vanilla Ore Distribution, but you're kinda forced to avoid any combat since you're very underpowered at first and forced to grind the magnesium that is so deep...
Encouraging players to take risks and hunt a bit more, hoping to unlock a breakthrough research like Large Grid Ore Detector or Large Grid hydrogen would be fantastic to keep it fresh and interesting. Oh well! Thanks for answering :)