Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

ThirdEyeSqueegee

Uploaded by

ThirdEye3301

Virus scan

Safe to use

About this mod

SKSE plugin that allows adding, removing, and replacing items and leveled lists to containers at runtime à la SPID

Requirements
Permissions and credits
Changelogs
Container Item Distributor

SKSE plugin that allows adding, removing, and replacing items and leveled lists to containers at runtime à la SPID. Uses distributions defined in _CID.ini files found in the root folders of mods, similar to other distributors.

NOTE: A container is any object whose inventory can be accessed by the player--this includes chests, end tables, NPCs, etc.

Usage
_CID.ini files consist of key-value pairs where the key is the FormID and Plugin Name OR EditorID of the container to distribute to and the value is a Distribution String.

Distribution String:
  • <DISTR> := <identifier>|<count>
  • <identifier> := FormID~PluginName OR EditorID
    • FormID~PluginName example: 0x3301~Skyrim.esm
  • <count> := a natural number

Distribution strings can be used to define ADD, REMOVE, REMOVE ALL, REPLACE, and REPLACE ALL statements:

ADD syntax:
  • <ADD> := <DISTR>
    • Example: 0x9e2af~Skyrim.esm|50

REMOVE syntax:
  • <REMOVE> := -<DISTR>
    • A leading - identifies a REMOVE statement
    • Example: -BearCavePelt|50

REMOVE ALL syntax:
  • <REMOVE ALL> := -<identifier>
    • Excluding a count will cause CID to remove all of the given item from the given container
    • Example: -BearCavePelt

REPLACE syntax:
  • <REPLACE> := <DISTR>^<DISTR>
    • The left hand side of the ^ symbol is replaced with the right hand side
    • Example: 0xa2711~Skyrim.esm|50^0x9e2af~Skyrim.esm|50

REPLACE ALL syntax:
  • <REPLACE ALL> := <identifer>^<DISTR>
    • Excluding a count from the left hand side will cause CID to replace all of the given item with the item and count from the right hand side
    • Example: BearCavePelt^0xa2711~Skyrim.esm|50
  • <REPLACE ALL> := <identifer>^<identifer>
    • Excluding a count from the both sides will cause CID to replace all of the given item with the same number of the item from the right hand side
    • Example: BearCavePelt^0xa2711~Skyrim.esm

INI Syntax:
  • <identifier> = <ADD>
  • <identifier> = <REMOVE>
  • <identifier> = <REMOVE ALL>
  • <identifier> = <REPLACE>
  • <identifier> = <REPLACE ALL>

Where <identifier> to the left of the equals sign is the FormID and Plugin Name or EditorID of the container to distribute to.

A conflict is when two or more _CID.ini files attempt to distribute the same item to the same container (possibly with different counts). In these cases, the _CID.ini file with the largest name (by lexicographic order) is selected and its changes are applied, ignoring the conflicting changes from other _CID.ini files.

To-Do List:
  • Allow removing all or swapping all of a given item (currently, a count has to be specified)

Source code: GitHub

Built with CommonLibSSE NG. Should work for all versions of Skyrim (SE, AE, and VR).

Compatibility
  • Compatible with everything
  • Always safe to install/update/uninstall

Check out my other mods

Credits
  • powerofthree for powerofthree
  • CharmedBaryon, fudgyduff, and everyone involved in Skyrim reverse engineering
  • colinswrath for fielding my dumbass questions about SKSE development
  • Skyrim RE Discord server for helping with all sorts of stuff