About this mod
A mod that lets you make custom items ranging from
Custombuildables
Custombuildables with storage
Customfoods
CustomPoster
CustomFramePhoto
CustomMedkit
CustomOxygenTank
CustomHealItem
CustomHullplates
CustomBatteries and PowerCells
Custom Ingredients
- Requirements
- Permissions and credits
MoreDeco and MoreLockers Is Included in CustomItems As Samples
Also you should delete MoreDecoJson before loading Customitems because its the same mod on its own page.
.CustomItems : Includes Moredeco as a base is set by a Json file so don't use both.
CustomItems(AKA MoreDecojson) update adds new features
New Easier Sharing Update all items have their own Json file with the information in them that goes into the Items Folder.
Custombuildables
Custombuildables with storage
Customfoods
CustomPoster
CustomFramePhoto
CustomMedkit
CustomOxygenTank
CustomHealItem
CustomBatteries and PowerCells
Custom Ingredients
Json recipes for all the items so you can set the recipes.
[code]CustomBuildables: how to make custom buildable item from assets already in the game.
LabCart.json
{
"Tooltip": "A LabCart.", <--- this is your tooltip
"FriendlyName": " LabCart",<-- your items name
"InternalName": "Lcart",<-- your Techtype and name for the json file that has to be made in recipes
"Spritename": "Lcart", <-- your name of your sprite thats within the assets folder
"ResourceId": "af165b07-a2a3-4d85-8ad7-0c801334c115", <--- the ResourceId for the items your cloning.
"ObjectName":"discovery_lab_cart_01", <--- the objects model name this is used to get the item
"NothingNeeded": true <-- if nothing needs to be modified you use this
"buildable": true <---- has to be set to make a buildable item as well
}
CustomBuildables with storage: how to make a custom buildable item with storage from assets already in the game
Forklift.json
{
"Tooltip": "A ForkLift.",
"FriendlyName": " ForkLift",
"InternalName": "ForkLift",
"Spritename": "ForkLift",
"ResourceId": "13d0fb01-2957-49e0-b153-6dc88332694c",
"ObjectName":"generic_forklift",
"AddStorage": true, <--- If your using Buildables bool and want to add the storage
"Height": 3, <--- set this for the Height of the storage
"Width": 3 <--- set this for the Width of the storage
"buildable": true <---- has to be set to make a buildable item as well
}
CustomBuildable Artifact: these are the alien artifacts that need different things setting to make work
"IsAnArtifact": true, <--- depending on what the item needed you have different options to set it.
"IsGunArtifact": true , <--- this one is used for the Alienrifle
"IsBasicArtifact": true, <--- an artifact that doesn't need much settings
"IsArtifact": true, <-- removes some of the collision and adds lighting
"IsTable": true, <-- mostly for the precursertable resizes it and the collision
Customping this lets you make a poster that's also a ping with set photo or custom.
Testping.json
{
"Tooltip": "Test base Ping." "FriendlyName": "Base ping",
"InternalName": "Tping",<--- this is the full image that is shown on
the poster"Spritename":"TVPing", <--- this is the icon for the
quickbar and the inventory
"ResourceId": "876cbea4-b4bf-4311-8264-5118bfef291c", "ObjectName":"model",
"ping": true, <--- set this to make a vertical Poster
"buildable": true <---- has to be set to make a poster as well"Base": true,
"Base": true, <-- makes the ping look like a multipurpose room .
"Flag 1-7": true, <--- make the ping look like different flags.
"Alien 1-6": true, <--- makes the ping look like different alien artifact icons.
"Egg": true, <--- makes it look like an Egg .
"Creature": true, makes it look like a triangle with a creature face in it.
"Drill": true, <-- makes the ping look like a drill.
"BaseL": true, <-- makes the ping looks like a large base.
"Beacon": true <-- makes the ping look like a beacon.
"Ping": true, <--- adds the ping component to the item Important.
"Signel": true, <-- makes the ping looks like a signel.
"Fire": true, <-- makes the ping looks like a triangle with fire in it.
"Triangle": true, <--- makes the ping a triangle.
"Cross": true, <-- makes the ping a Plus sign.
"Check": true, <-- makes the ping a checkmark.
"Check2": true,<-- makes the ping a checkmark.
"Chest": true,<-- makes the ping a chest.
"Acube": true,<-- makes the ping an icon cube.
"Ship": true,<-- makes the ping a Ship.
"LifeSupport": true,<-- makes the ping a heart with a heart beat in it.
"Arrow": true,<-- makes the ping an arrow.
"Power": true,<-- makes the ping a power icon
"Important": true,<-- makes the ping a triangle with a ! in the middle.
"CreepVine": true,<-- makes the ping a Creepvine.
"Custom": true,<-- makes the ping an point.
"Epoint": true,
}
CustomFoods: use assets in the game to make CustomFoods.
Food.json
{
"Tooltip": "Test Food Tray.",
"FriendlyName": "Food Tray",
"InternalName": "WFood",
"Spritename": "FoodTray",
"ResourceId": "9aec63ec-4966-45ea-8ec0-3f311505c016",
"ObjectName":"docking_food_01_tray7",
"Isfood": true, <--- set this if your customfood is to be eaten
"Food": 19, <--- this is the number that is given when eating it
"Drink": 5 <---- this is the number that is given when eating it
}
Drink.json
{
"Tooltip": "A Bottle of drink.",
"FriendlyName": "RootBeer",
"InternalName": "RBeer",
"Spritename": "Bottlezz",
"ResourceId": "41399588-124d-4e01-92b7-f5b10c882ac8",
"ObjectName":"docking_bar_bottle_05",
"Isdrink": true,<--- set this to make it a drink
"Food": 2,
"Drink": 29
}
CustomPosters: make a customposter from cloning already in the game Posters and replacing the pictures with your own.
Hposter.json
{
"Tooltip": "Test Horizontal Poster.",
"FriendlyName": "Horizontal poster",
"InternalName": "TPoster",
"Spritename": "HSPoster",
"ResourceId": "d809cb15-6784-4f7c-bf5d-f7d0c5bf8546",
"ObjectName":"model",
"IsPosterH": true, <---- set this to make a Horizontal poster.
"Placeable": true <---- has to be set to make a poster as well
}
Vposter.json
{
"Tooltip": "Test Vertical Poster.",
"FriendlyName": "Vertical poster",
"InternalName": "VPoster",<--- this is the full image that is shown on the poster
"Spritename": "VSPoster", <--- this is the icon for the quickbar and the inventory
"ResourceId": "876cbea4-b4bf-4311-8264-5118bfef291c",
"ObjectName":"model",
"IsPosterV": true, <--- set this to make a vertical Poster
"Placeable": true <---- has to be set to make a poster as well
}
BelowZero had a new item that was a picture in a frame this is how you make them
FramePhoto.json
{
"Tooltip": "Test Framed Photo of Anime Girl.",
"FriendlyName": "Anime Photo",
"InternalName": "FMphoto", <--- name of your maintex framedphoto
"Spritename": "FQphoto", <--- name of your QuickSlot Image for the item
"ResourceId": "894cccda-2203-4b2f-9437-1aa4ca26dfaf", <--- resource id for the Framed photo
"ObjectName":"posterframe_01_b_LOD0", <--- model of the framed photo
"FramedPhoto": true <-- makes it process it as FramedPhoto.
}
CustomMedkit: make a custommedkit from cloning already in the game medkit model and setting the amount of health given when eaten.
medkit.json
{
"Tooltip": "HEALTH:+30 sample medkit.",
"FriendlyName": "Medkit Sample",
"InternalName": "Medkits",
"Spritename": "Medkit",
"ResourceId": "4021307d-b4d1-4a7d-bf3a-078ff2202aee",
"ObjectName":"model",
"MedKititem": true,
"Heal": true,
"Food": 1,
"Drink": 1,
"Health": 30
}
o2tank.json
{
"Tooltip": "Oxygen:+30 Tank full of oxygen.",
"FriendlyName": "Oxygen Tank",
"InternalName": "OxygenTank",
"Spritename": "Tanks",
"ResourceId": "4021307d-b4d1-4a7d-bf3a-078ff2202aee",
"ObjectName":"model",
"Tankitem": true,
"Oxygenitem":true,
"Food": 1,
"Drink": 1,
"Oxygen": 30
}
CustomOxygenTank: by setting the "ResourceId" and the "ObjectName" anything can become an oxygen tank that give you oxygen when eaten.
CustomTank.json
{
"Tooltip": "this is a sample of a custom Oxygen Tank.",
"FriendlyName": "Simple Oxygen Tank", <-- name of your item
"InternalName": "SmallTank", <-- techtype of your items also used for the InternalName.json
"Spritename": "Tank", <--- used for your sprite name
"ResourceId": "25522394-6c49-470d-8f48-62f09478aa82", <-- the resourceid number for the item
"ObjectName":"model", <--- the model of the object
"OyxgenTankitem": true, <--- make this json load as an OxygenTankitem
"TankOxygen": 100 <--- amount of oxygen the tank has
}
CustomHealitem: by setting the "ResourceId" and the "ObjectName" anything can become an item that you can eat and heal yourself that give you health and food plus water when eaten.
TowelPaper.json
{
"Tooltip": "HEALTH:+15 a roll of wet toilet paper.",
"FriendlyName": "Toilet paper",
"InternalName": "ToiletPaper",
"Spritename": "ToiletPaper",
"ResourceId": "4021307d-b4d1-4a7d-bf3a-078ff2202aee",
"ObjectName":"model",
"HealItem": true,
"Food": 30,
"Drink": 30,
"Health": 15
}
CustomHullplates using the "InternalName" as the main image for the hullplate and the "Spritename" as the main image for the build menu.
RayHullPlate.json
{
"Tooltip": "Many years of Service to Subnautica Modding Ray .",
"FriendlyName": "Ray HullPlate",
"InternalName": "RayPlate", <--- name of the Sprite for the image in the hullplate
"Spritename": "RayIcon", <--- Image for the build menu
"ResourceId": "03a0d4b1-2447-44fd-918b-f97354e8d574", <--- not really used but you can just set anything
"ObjectName":"model_offset", <--- not really used but keep it set.
"CustomHullPlates": true <--- set this to make the customitem a customhullplate
}
CustomStorage: to make an object have storage any item.
GirlLocker.json
{
"Tooltip": "A Locker with a photo of a Girl.",
"FriendlyName": " Girl Locker",
"InternalName": "GirlLocker",
"Spritename": "GirlLocker",
"ResourceId": "078b41f8-968e-4ca3-8a7e-4e3d7d98422c",
"ObjectName":"submarine_locker_05",
"HasStorage": true, <--- makes it process Throught HasStorage
"Height": 8,
"Width": 6
}
LongLocker.Json
{
"Tooltip": "A long locker.",
"FriendlyName": " Long Locker",
"InternalName": "LongLocker",
"Spritename": "LongLocker",
"ResourceId": "367656d6-87d9-42a1-926c-3cf959ea1c85",
"ObjectName":"submarine_locker_03",
"ExtraObjectName": "submarine_locker_03_door_01",<--- if you use TwoExtra this is the First Object Name
"ExtraObjectName2": "submarine_locker_03_door_02",<-- if you use TwoExtra this is the Second objects Name
"HasStorage": true,
"IsmultObject":true, <--- if your item Has Extra Object or Objects attached to it
"TwoExtra" : true, <--- if your object has Two items like Doors or other Ojects
"Height": 8,
"Width": 8
}
LeeLocker.json
{
"Tooltip": "A Tall locker.",
"FriendlyName": " Tall Locker",
"InternalName": "LeeLocker",
"Spritename": "TallLocker",
"ResourceId": "cd34fecd-794c-4a0c-8012-dd81b77f2840",
"ObjectName":"submarine_locker_04",
"ExtraObjectName": "submarine_locker_03_door_01", <--- much like TwoExtra OneExtra uses the same But Just one Object Name
"HasStorage": true,
"IsmultObject":true,
"OneExtra" : true, <--- much like TwoExtra but this is if your object only has one extra object attached to it.
"Height": 8,
"Width": 8
}
TestBattery.json{
"Tooltip": "with mix of rare resources to give energy.",
"FriendlyName": "Rare", <-- Battery , Powercell are added automatically
"InternalName": "Rare", <-- Battery , Powercell are added automaticlly
"EggTechtype": " Titanium", < -------- Are the TechTypes used In The Battery Recipe
"EggTechtype2": " Diamond",
"EggTechtype3": " Gold",
"EggTechtype4": " Glass",
"EggTechtype5": " Lubricant",
"EggTechtype6": " Silver", <--------- Are the TechTypes used In The Battery Recipe
"unlockTechtype": " Silver",<--- is the unlock for the custombatteries and CustomPowercell
"PowerCellTechtype":"Silicone", <--- the TechType for the Powercell recipe
"EnergyAmountPC":5000, <--- Powercell Energy Amount
"EnergyAmountB": 2000, <--- Battery Energy Amount
"BatterySkin":"NuclearBattery", <---- Name of the Battery Sprite used in Customitems Asset folder
"BatteryTexture":"NuclearBatteryskin",<---- Name of the Battery Sprite used in Customitems Asset folder
"BatterySpec":"NuclearBatteryspec", <---- Name of the Battery Sprite used in Customitems Asset folder
"BatteryIllum":"NuclearBatteryillum",<---- Name of the Battery Sprite used in Customitems Asset folder
"PCSkin":"NuclearCell", <--Name of the Powercell craft image used in Customitems Asset folder
"PCTexture":"NuclearCellskin", <--Name of the Powercell Texture image used in Customitems Asset folder
"PCSpec":"NuclearCellspec", <--Name of the Powercell Spec image used in Customitems Asset folder
"PCIllum":"NuclearCellillum", <--Name of the Powercell Illum image used in Customitems Asset folder
"IsCBP": true <-- set this to make it process this as a custombattery
}
Ingredients : these custom ingredients can be food or drink items or non food or drink items to be used to only for customitems items not the custombatteries.
Tofu.json
{
"Tooltip": "A Tofu bar.", <-- tooltip for your ingredient
"FriendlyName": "Bar of Tofu",<-- name of your ingredient
"InternalName": "Itofu", <---- the techtype for your Ingredient
"Spritename": "Tofu", <-- image asset you put in your Asset folder .png only
"ResourceId": "9aec63ec-4966-45ea-8ec0-3f311505c016", <--- resourceid for your assetbundle for your item.
"ObjectName":"docking_food_01_tray7", <---- the Objects name to load the correct Gameobject.
"Ifood": true, <---- if the ingredient is a food item
"Idrink": true, <-- if the ingredient is a drink item
"IItem": true, <-- if the ingredient is a non food item
"Food": 10, <--- how much food it gives you when you eat it.
"Drink": 5, <--- how much water it gives you whe you drink it
"Ingredients": true <-- make its process this item as an ingredient.
}
Vinegar.Json
{
"Tooltip": "a combination of acetic acid and water made by a two-step fermentation process.",
"FriendlyName": "Vinegar",
"InternalName": "Vinegar",
"Spritename": "Vinegar",
"ResourceId": "9aec63ec-4966-45ea-8ec0-3f311505c016",
"ObjectName":"docking_food_01_tray7",
"PPPIfood": true,
"Food": 2,
"Drink": 1,
"PPPIngredients": true,
"TabName":"MIDT"
}
Ingredients Guide
Ingredients Go in the Ingredients folder
Ingredients Loads Before LoadRequirements
Ifood used to make Food Ingredients
Idrink used to make Drink Ingredients
IItem used to make non Food Ingredients
AdvIngredients go into the AdvIngredients folder
PreIngredients Loads before LoadIngredientRequirements
PIfood used to make Food Pre Ingredients
PIdrink used to make Drink Pre Ingredients
PIItem used to make non Food Pre Ingredients
CombinedIngredients go in the CombinedIngredients folder
PPIngredients Loads before LoadPreIngredientRequirements
PPIfood used to make Food Pre Pre Ingredients
PPIdrink used to make Drink Pre Pre Ingredients
PPIItem used to make non Food Pre Pre Ingredients
BasicIngredents go into the BasicIngredents folder
PPPIngredients Loads before LoadPrePreIngredientRequirements
PPPIfood used to make Food Pre Pre Pre Ingredients
PPPIdrink used to make Drink Pre Pre Pre Ingredients
PPPIIte used to make non Food Pre Pre Pre Ingredients
CustomItems Tabs List
TabCode Tabs
Beka Japanese
Rollerd American
ETACO Mexican
MIDT More Ingredients
FIDT Food Ingredients
IDT Ingredients
Drinks Drinks
ELJuice Juice
Yum Sweets
EQP Equipment
FA FirstAid
OX Oxygen Tanks
Noodle1 Food
Noodle2 Drinks
PoolNoodle2 Poster
PoolNoodle Poster
How do i get the ResourceId? Bz-PrefabPaths.json. will upload it soon
How do i get the objectname : AssetStudio or UnityExplorer or SubnauticaRuntimeEditor
whichever you want to use.
How can i get the sprite for it ?
One its buildable you can just build it and get the screenshot from with in game and edit it down make sure the name matches.
This mod Adds More items you can build to make your base look more lived in.