About this mod
Create your own clutter mods or patches that resolve clipping and positioning conflicts between other mods (almost) entirely in game!
- Requirements
- Permissions and credits
- Changelogs
This mod provides an alternative to the CK. Use your favourite positioner mod to move the objects while in game, then use the new igpcstore console command to store the new position to a file. Run the Xedit script to generate a new esl file, and that's it!
New with v1.1.0 - The mod can now handle objects that you add to the world in game as well! Use mods such as Campfire which allow you to add objects to the world (or even just the player.placeatme console command) and create your own plugin with my mod. Show off your clutter creation skills without opening the CK!
- For mod authors only, mod users do not need to download this. Though if you wanted to make your first patch, I'd recommend this as an easy introduction!
- No plugin
- Plug and play - install and remove from your game at any time
- Compatible with AE and SE (your mileage may vary with your choice of positioner, please address all comments on this to the positioner's mod page)
Installation
Download the Platform script with the mod manager of your choice.
Download the XEdit script and place into the Edit Scripts directory of your SSEdit install
Requirements:
- Skyrim Platform
- PapyrusUtils
- (optional) A mod such as Jaxonz Positioner to allow easy movement of objects in game
How to use
- Open the console while in game. Use command 'igpcinit <filename>' where <filename> is the name of the JSON file you want to use. The file will be created if it does not exist. Relative paths are allowed.
- Select an object and use one of the new commands such as 'igpcstore''. A full list of new console commands is available below.
- After finishing making all of your changes exit or close the game. Run SSEdit and make sure the plugins you want to make the masters of your patch are selected. Right click on any plugin in the left panel and select 'Apply Script...'.
- Select 'inGamePatchCreator' from the list of scripts. In the file select window select the JSON file you created in the first step. In the next window select <new file>.esl to create a new plugin or select an existing plugin to update it.
- IGPC will try to add all the relevant masters based on the stored objects but you should check and add any masters that are missing. This can be done by right clicking the plugin in the left panel and selecting 'Add masters...'.
- After reviewing the new plugin close SSEdit and save the file.
- Rename the file from an .esl file to .esp. If you are using MO2 the plugin can be found in the overwrite folder.
Compatibility
- Campfire and any other mod that overwrites PapyrusUtils.dll - Delete the dll file from that mod or ensure that it is overwritten by the true PapyrusUtils file. This will ensure the read/write to file functionality works correctly.
Custom Console Commands
IGPC adds several new console commands to help you.
igpcinit <filename>
E.g. 'igpcinit test-patch' or 'igpcinit ../../../my patch/test-patch.json'
Initial command that must be run first. Set the file that will be updated. The file will be created if it does not already exist. Relative paths are allowed. The default location is <Data directory>\SKSE\Plugins\StorageUtilData. Absolute paths are not currently supported.
igpcstore
Stores the details of the selected object to the file.
igpcdisable
Flags the selected object as initially disabled in the file and disables the object in game.
igpcenable <form ID>
E.g. 'igpcenable 0010E326'
Removes the initially disabled flag from the selected object in the file and re-enables it in game.
igpclist
Lists the form IDs of all the objects currently stored in the file. Use command igpclist disabled to filter just for objects that have been disabled.
igpcfilename
Returns the filename set by igpcinit
Author's notes
I saw that this mod was possible and it was a good opportunity to learn xedit and platform scripting, but I'm not sure if it will actually have any use to anyone! I hope people give it a go and let me know how I can improve it.
Credit
The Skyrim Platform team for continuing to develop and refine Platform
mrowpurr for the inspiration of creating custom console commands
Renngar for the example xedit scripts