• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

Mod Help - Vehicle Storage Mod (Like Armor Pocket Mods)

Topher10800

New member
I have started working on a mod with AI help, but it is throwing unknown errors, and I am in over my head.

Instead of scrapping everything again, I'm now asking for help from anyone more skilled in this than me lol! 

Mod Details:

  • I envision an in-game vehicle mod that acts like the armor pocket mods but for vehicle storage instead of player inventory.
  • 4 levels of storage mods.
  • Each level would unlock with individual schematics.
  • For V1 of the mod, they can be installed in any vanilla vehicle (For V2+ it would amazing if it could work with any modded vehicle)
  • Level 1 adds 9 storage slots. Level 2 adds 18. Level 3 adds 27. Level 4 adds 36.  
  • I don't think they should be stackable - If a 4x4 (81 slots) is stacked full with Level 4 mods, that will add (36*5) 180 slots, for a total of 261. I've seen other mods max a 240, so that might be a conflict.



I am including details below from the XML and files I worked on creating with AI: ModInfo.xml, recipes.xml, loot.xml, Localization.txt, items.xml, item_modifiers.xml, and blocks.xml

Crappy place holder images (look how the STORAGE container grows; signifying more storage space...I need help lol): 

View attachment 27592modVehicleStorage1

View attachment 27593modVehicleStorage2

View attachment 27594modVehicleStorage3

View attachment 27595modVehicleStorage4  

I hereby transfer all creative rights for this mod to the first individual who makes it work for me. It would just be cool to have a mention that I originated the idea. 😉

XML DETAILS: 

ModInfo.xml

<xml>
    <Name value="VehicleStorageMod" />
    <DisplayName  value="Vehicle Storage Mod" />
    <Description value="Adds different levels of storage capacity to vehicles. Similar to Pocket Armor Mods, but for vehicles.

modVehicleStorage1: Adds 9 storage slots
modVehicleStorage2: Adds 18 storage slots
modVehicleStorage3: Adds 27 storage slots
modVehicleStorage4: Adds 36 storage slots

Able to be installed in - Bicycle, Minibike, Motorcycle, 4x4Truck, & Gyrocopter

Unlocks with a different schematic for each level." />
    <Author value="Topher10800" />
    <Version value="1.0" />
</xml>
 

recipes.xml

<?xml version="1.0" encoding="UTF-8"?>
<configs>
    <append xpath="/recipes">
        <recipe name="modVehicleStorage1" count="1" craft_area="workbench" tags="learnable,workbenchCrafting">
            <ingredient name="resourceForgedSteel" count="5"/>
            <ingredient name="resourceScrapPolymers" count="10"/>
            <ingredient name="resourceElectricParts" count="4"/>
            <ingredient name="resourceMechanicalParts" count="4"/>
        </recipe>

        <recipe name="modVehicleStorage2" count="1" craft_area="workbench" tags="learnable,workbenchCrafting">
            <ingredient name="resourceForgedSteel" count="10"/>
            <ingredient name="resourceScrapPolymers" count="20"/>
            <ingredient name="resourceElectricParts" count="8"/>
            <ingredient name="resourceMechanicalParts" count="8"/>
        </recipe>

        <recipe name="modVehicleStorage3" count="1" craft_area="workbench" tags="learnable,workbenchCrafting">
            <ingredient name="resourceForgedSteel" count="15"/>
            <ingredient name="resourceScrapPolymers" count="30"/>
            <ingredient name="resourceElectricParts" count="12"/>
            <ingredient name="resourceMechanicalParts" count="12"/>
        </recipe>

        <recipe name="modVehicleStorage4" count="1" craft_area="workbench" tags="learnable,workbenchCrafting">
            <ingredient name="resourceForgedSteel" count="20"/>
            <ingredient name="resourceScrapPolymers" count="40"/>
            <ingredient name="resourceElectricParts" count="16"/>
            <ingredient name="resourceMechanicalParts" count="16"/>
        </recipe>
    </append>
</configs>
 

loot.xml

<?xml version="1.0" encoding="UTF-8"?>
<configs>
    <append xpath="/lootcontainers">
        <!-- Level 1: Single Storage - Adds 9 slots -->
        <lootcontainer name="vehicleBicycle" count="0" size="9,2" sound_open="UseActions/open_shopping_basket" open_time="0" sound_close="UseActions/close_shopping_basket" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleMinibike" count="0" size="9,4" sound_open="UseActions/open_shopping_basket" open_time="0" sound_close="UseActions/close_shopping_basket" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleMotorcycle" count="0" size="9,5" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicle4x4Truck" count="0" size="9,10" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleGyrocopter" count="0" size="9,6" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>

        <!-- Level 2: Double Storage - Adds 18 slots -->
        <lootcontainer name="vehicleBicycle" count="0" size="9,3" sound_open="UseActions/open_shopping_basket" open_time="0" sound_close="UseActions/close_shopping_basket" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleMinibike" count="0" size="9,5" sound_open="UseActions/open_shopping_basket" open_time="0" sound_close="UseActions/close_shopping_basket" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleMotorcycle" count="0" size="9,6" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicle4x4Truck" count="0" size="9,11" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleGyrocopter" count="0" size="9,7" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>

        <!-- Level 3: Triple Storage - Adds 27 slots -->
        <lootcontainer name="vehicleBicycle" count="0" size="9,4" sound_open="UseActions/open_shopping_basket" open_time="0" sound_close="UseActions/close_shopping_basket" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleMinibike" count="0" size="9,6" sound_open="UseActions/open_shopping_basket" open_time="0" sound_close="UseActions/close_shopping_basket" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleMotorcycle" count="0" size="9,7" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicle4x4Truck" count="0" size="9,12" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleGyrocopter" count="0" size="9,8" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>

        <!-- Level 4: Quad Storage - Adds 36 slots -->
        <lootcontainer name="vehicleBicycle" count="0" size="9,5" sound_open="UseActions/open_shopping_basket" open_time="0" sound_close="UseActions/close_shopping_basket" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleMinibike" count="0" size="9,7" sound_open="UseActions/open_shopping_basket" open_time="0" sound_close="UseActions/close_shopping_basket" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleMotorcycle" count="0" size="9,8" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicle4x4Truck" count="0" size="9,13" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>
        <lootcontainer name="vehicleGyrocopter" count="0" size="9,9" sound_open="UseActions/vehicle_storage_open" open_time="0" sound_close="UseActions/vehicle_storage_close" loot_quality_template="qualBaseTemplate"/>
    </append>
</configs>
 

Localization.txt

items.xml

<?xml version="1.0" encoding="UTF-8"?>
<configs>
    <append xpath="/items">
        <item name="modVehicleStorage1Schematic">
            <property name="Extends" value="schematicNoQualityMaster"/>
            <property name="CreativeMode" value="Player"/>
            <property name="CustomIcon" value="modVehicleStorage1"/>
            <property name="Unlocks" value="modVehicleStorage1"/>
            <effect_group tiered="false">
                <triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="modVehicleStorage1" operation="set" value="1"/>
                <triggered_effect trigger="onSelfPrimaryActionEnd" action="GiveExp" exp="50"/>
            </effect_group>
        </item>

        <item name="modVehicleStorage2Schematic">
            <property name="Extends" value="schematicNoQualityMaster"/>
            <property name="CreativeMode" value="Player"/>
            <property name="CustomIcon" value="modVehicleStorage2"/>
            <property name="Unlocks" value="modVehicleStorage2"/>
            <effect_group tiered="false">
                <triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="modVehicleStorage2" operation="set" value="1"/>
                <triggered_effect trigger="onSelfPrimaryActionEnd" action="GiveExp" exp="50"/>
            </effect_group>
        </item>

        <item name="modVehicleStorage3Schematic">
            <property name="Extends" value="schematicNoQualityMaster"/>
            <property name="CreativeMode" value="Player"/>
            <property name="CustomIcon" value="modVehicleStorage3"/>
            <property name="Unlocks" value="modVehicleStorage3"/>
            <effect_group tiered="false">
                <triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="modVehicleStorage3" operation="set" value="1"/>
                <triggered_effect trigger="onSelfPrimaryActionEnd" action="GiveExp" exp="50"/>
            </effect_group>
        </item>

        <item name="modVehicleStorage4Schematic">
            <property name="Extends" value="schematicNoQualityMaster"/>
            <property name="CreativeMode" value="Player"/>
            <property name="CustomIcon" value="modVehicleStorage4"/>
            <property name="Unlocks" value="modVehicleStorage4"/>
            <effect_group tiered="false">
                <triggered_effect trigger="onSelfPrimaryActionEnd" action="ModifyCVar" cvar="modVehicleStorage4" operation="set" value="1"/>
                <triggered_effect trigger="onSelfPrimaryActionEnd" action="GiveExp" exp="50"/>
            </effect_group>
        </item>

        <!-- Add entries for each vehicle storage mod -->
        <item name="modVehicleStorage1">
            <property name="Extends" value="modGeneralMaster"/>
            <property name="CustomIcon" value="modVehicleStorage1"/>
            <property name="CreativeMode" value="Player"/>
        </item>

        <item name="modVehicleStorage2">
            <property name="Extends" value="modGeneralMaster"/>
            <property name="CustomIcon" value="modVehicleStorage2"/>
            <property name="CreativeMode" value="Player"/>
        </item>

        <item name="modVehicleStorage3">
            <property name="Extends" value="modGeneralMaster"/>
            <property name="CustomIcon" value="modVehicleStorage3"/>
            <property name="CreativeMode" value="Player"/>
        </item>

        <item name="modVehicleStorage4">
            <property name="Extends" value="modGeneralMaster"/>
            <property name="CustomIcon" value="modVehicleStorage4"/>
            <property name="CreativeMode" value="Player"/>
        </item>
    </append>
</configs>
 

item_modifiers.xml

<?xml version="1.0" encoding="UTF-8"?>
<configs>
    <append xpath="/item_modifiers">
        <item_modifier name="modVehicleStorage1" installable_tags="vehicle" modifier_tags="storagemod" blocked_tags="noMods" type="attachment">
            <property name="Extends" value="modGeneralMaster" param1="CustomIcon"/>
            <property name="CustomIcon" value="modVehicleStorage1"/>
            <property name="UnlockedBy" value="modVehicleStorage1Schematic"/>
            <property name="TraderStageTemplate" value="modsTier1"/>
        </item_modifier>

        <item_modifier name="modVehicleStorage2" installable_tags="vehicle" modifier_tags="storagemod" blocked_tags="noMods" type="attachment">
            <property name="Extends" value="modGeneralMaster" param1="CustomIcon"/>
            <property name="CustomIcon" value="modVehicleStorage2"/>
            <property name="UnlockedBy" value="modVehicleStorage2Schematic"/>
            <property name="TraderStageTemplate" value="modsTier2"/>
        </item_modifier>

        <item_modifier name="modVehicleStorage3" installable_tags="vehicle" modifier_tags="storagemod" blocked_tags="noMods" type="attachment">
            <property name="Extends" value="modGeneralMaster" param1="CustomIcon"/>
            <property name="CustomIcon" value="modVehicleStorage3"/>
            <property name="UnlockedBy" value="modVehicleStorage3Schematic"/>
            <property name="TraderStageTemplate" value="modsTier3"/>
        </item_modifier>

        <item_modifier name="modVehicleStorage4" installable_tags="vehicle" modifier_tags="storagemod" blocked_tags="noMods" type="attachment">
            <property name="Extends" value="modGeneralMaster" param1="CustomIcon"/>
            <property name="CustomIcon" value="modVehicleStorage4"/>
            <property name="UnlockedBy" value="modVehicleStorage4Schematic"/>
            <property name="TraderStageTemplate" value="modsTier4"/>
        </item_modifier>
    </append>
</configs>
 

blocks.xml

<?xml version="1.0" encoding="UTF-8"?>
<configs>
    <append xpath="/blocks">
        <block name="modVehicleStorage1">
            <property name="VehicleStorageCapacity" value="9"/>
            <property name="CustomIcon" value="modVehicleStorage1"/>
            <property name="HeldIcon" value="pocketModHeldIcon"/>
        </block>

        <block name="modVehicleStorage2">
            <property name="VehicleStorageCapacity" value="18"/>
            <property name="CustomIcon" value="modVehicleStorage2"/>
            <property name="HeldIcon" value="pocketModHeldIcon"/>
        </block>

        <block name="modVehicleStorage3">
            <property name="VehicleStorageCapacity" value="27"/>
            <property name="CustomIcon" value="modVehicleStorage3"/>
            <property name="HeldIcon" value="pocketModHeldIcon"/>
        </block>

        <block name="modVehicleStorage4">
            <property name="VehicleStorageCapacity" value="36"/>
            <property name="CustomIcon" value="modVehicleStorage4"/>
            <property name="HeldIcon" value="pocketModHeldIcon"/>
        </block>
    </append>
</configs>
 

 
Last edited by a moderator:
While you are waiting for someone who knows the answer, take a look at the drone cargo mod.  That works basically how you want.  Basing it on pocket mods would be more challenging because those don't add extra inventory, which is what you want to do. 

Side note: Vanilla will supposedly include storage mods for vehicles in a future update.

 
Thank you for your comment, Riamus! I appreciate it! And I did consider it before choosing the pocket mod route. However, while I use the drone storage mods, I feel in a game play stand point they are too OP and make everything else pointless (but that's in my opinion lol). I'll switch to the drone mod for stam regen if I go mining, and I'm not the biggest fan of how frequently bandages are used with the med mod. With that said, I only put storage mods in my drone.

With regards to vehicle mods, I think the current ones are useful enough to be used over multiple storage mods, but I would hate for this mod to mirror the OP-ness of the drone's storage mod. 

From a XML standpoint, I did try to feed the AI the existing XML details for the drone storage mod to see if that would help it, but *shrug* idk...I guess it didn't...

To your point about getting storage in a coming update, that would be amazing and I look forward to starting a new world with that update, but considering I'm still playing this world in 1.0, I don't think I'll be updating it anytime soon lol. This mod would be specifically for that world (unless the mastermind that figures it out future-proofs it for more updates! 😛 )

 
Yeah, I wasn't meaning to use the drone storage instead of the vehicle storage idea.  I was just meaning that the drone cargo mod is a good base to use for making a vehicle storage mod because you want a similar function (adding more space), whereas the pocket mods just reduce encumbrance.

As far as being OP, I'm not sure exactly what you mean.  Maybe that they are better than basically all other drone mods?  That is definitely true.  Or that you get so much storage if you use only those mods?  That is true, but by the time you have a Q6 drone filled with mods, you are far enough into the game that it really doesn't matter.  You can adjust the details of any vehicle storage mod you make to not be OP in whatever way you feel the drone cargo mods are.

 
Back
Top