diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_AtomicCrafter.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_AtomicCrafter.json index 3623131..d7a9a6b 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_AtomicCrafter.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_AtomicCrafter.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/AtomicCrafter/Recipe_DS_AtomicCrafter.Recipe_DS_AtomicCrafter_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Atomic Crafter", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_CentralStorageAdapter.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_CentralStorageAdapter.json index 6b678c5..56efdcc 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_CentralStorageAdapter.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_CentralStorageAdapter.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/CentralStorageAdapter/Recipe_DS_CentralStorageAdapter.Recipe_DS_CentralStorageAdapter_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Depot Uploader Adapter", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingAdapter.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingAdapter.json index 6f980c4..01bddd7 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingAdapter.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingAdapter.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/CraftingAdapter/Recipe_DS_CraftingAdapter.Recipe_DS_CraftingAdapter_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Crafting Connection Adapter", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingServer.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingServer.json index f4ea898..4c4fb7f 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingServer.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingServer.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/CraftingServer/Recipe_DS_CraftingServer.Recipe_DS_CraftingServer_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Crafting Server", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingTerminal.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingTerminal.json index 83da95c..c4b952a 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingTerminal.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_CraftingTerminal.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/Terminals/Crafting/Recipe_DS_CraftingTerminal.Recipe_DS_CraftingTerminal_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Crafting Terminal", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_DoubleNetworkPlug.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_DoubleNetworkPlug.json index 5712dc3..4c3db94 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_DoubleNetworkPlug.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_DoubleNetworkPlug.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/NetworkPlug/Recipe_DS_DoubleNetworkPlug.Recipe_DS_DoubleNetworkPlug_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Double Network Wall Outlet", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_DriveTerminal.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_DriveTerminal.json index fca31a5..f4b9f4b 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_DriveTerminal.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_DriveTerminal.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/Terminals/Drive/Recipe_DS_DriveTerminal.Recipe_DS_DriveTerminal_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Drive Terminal", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_FactoryConnectionAdapter.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_FactoryConnectionAdapter.json index 9d767ed..53379cf 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_FactoryConnectionAdapter.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_FactoryConnectionAdapter.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/FactoryModule/Recipe_DS_FactoryConnectionAdapter.Recipe_DS_FactoryConnectionAdapter_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Factory Connection Adapter", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_FluidConnectionAdapter.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_FluidConnectionAdapter.json index fc448df..9851111 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_FluidConnectionAdapter.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_FluidConnectionAdapter.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/ContainerModules/Normal/Recipe_DS_FluidConnectionAdapter.Recipe_DS_FluidConnectionAdapter_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Pipe Connection Adapter", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkCable.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkCable.json index d790edd..abb1734 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkCable.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkCable.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/NetworkCable/Recipe_DS_NetworkCable.Recipe_DS_NetworkCable_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Network Cable", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkDistributor.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkDistributor.json index 5ae9c53..e786d09 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkDistributor.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkDistributor.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/NetworkDistributor/Recipe_DS_NetworkDistributor.Recipe_DS_NetworkDistributor_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Network Distributor", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPlug.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPlug.json index 3898934..0d52adf 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPlug.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPlug.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/NetworkPlug/Recipe_DS_NetworkPlug.Recipe_DS_NetworkPlug_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Network Wall Outlet", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPole.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPole.json index 2db330b..8571870 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPole.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPole.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/NetworkPole/Recipe_DS_NetworkPole.Recipe_DS_NetworkPole_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Network Pole", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPowerAdapater.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPowerAdapater.json index a5bd514..999e0bc 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPowerAdapater.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_NetworkPowerAdapater.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/NetworkPowerAdapter/Recipe_DS_NetworkPowerAdapater.Recipe_DS_NetworkPowerAdapater_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Network Power Adapter", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_ResourceAdapter.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_ResourceAdapter.json index a3b610b..a0fbcf0 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_ResourceAdapter.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_ResourceAdapter.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/ResourceAdapter/Recipe_DS_ResourceAdapter.Recipe_DS_ResourceAdapter_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Resource Adapter", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_ServerRack.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_ServerRack.json index de4a475..08e51bb 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_ServerRack.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_ServerRack.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/ServerRack/Recipe_DS_ServerRack.Recipe_DS_ServerRack_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Server Rack", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_1U.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_1U.json index 1b1e7ac..73963a0 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_1U.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_1U.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/Server/1U/Recipe_DS_Server_1U.Recipe_DS_Server_1U_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Server 1U (Item)", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_1UF.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_1UF.json index 916cd40..4b195c9 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_1UF.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_1UF.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/Server/1UF/Recipe_DS_Server_1UF.Recipe_DS_Server_1UF_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Server 1U (Fluid)", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2U.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2U.json index 5d27490..250dff0 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2U.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2U.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/Server/2U/Recipe_DS_Server_2U.Recipe_DS_Server_2U_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Server 2U (Item)", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2UF.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2UF.json index d6e07c4..3c5bd69 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2UF.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2UF.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/Server/2UF/Recipe_DS_Server_2UF.Recipe_DS_Server_2UF_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Server 2U (Fluid)", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2UG.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2UG.json index c89630c..4faf894 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2UG.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_Server_2UG.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/Server/2UG/Recipe_DS_Server_2UG.Recipe_DS_Server_2UG_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Server 2U (Gas)", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_StorageConnectionAdapter.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_StorageConnectionAdapter.json index f4c993a..c16da9e 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_StorageConnectionAdapter.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_StorageConnectionAdapter.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/ContainerModules/Normal/Recipe_DS_StorageConnectionAdapter.Recipe_DS_StorageConnectionAdapter_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Storage Connection Adapter", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_StorageTerminal.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_StorageTerminal.json index 083ec81..3ac70c4 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_StorageTerminal.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_StorageTerminal.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/Terminals/Storage/Recipe_DS_StorageTerminal.Recipe_DS_StorageTerminal_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Storage Terminal", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_TrainCargoAdapter.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_TrainCargoAdapter.json index 59e9331..e17e86e 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_TrainCargoAdapter.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_TrainCargoAdapter.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/TrainCargoAdapter/Recipe_DS_TrainCargoAdapter.Recipe_DS_TrainCargoAdapter_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Train Cargo Adapter", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_UniversalAdapter.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_UniversalAdapter.json index 40d7fb5..311d1f9 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_UniversalAdapter.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_UniversalAdapter.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/Adapters/UniversalAdapter/Recipe_DS_UniversalAdapter.Recipe_DS_UniversalAdapter_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Universal Adapter", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_UplinkSatellite.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_UplinkSatellite.json index 36d834d..bdef7e4 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_UplinkSatellite.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_UplinkSatellite.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/UplinkSatellite/Recipe_DS_UplinkSatellite.Recipe_DS_UplinkSatellite_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Wireless Ground Antenna", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_WirelessAccessPoint.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_WirelessAccessPoint.json index 047eac7..45ee68e 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_WirelessAccessPoint.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_WirelessAccessPoint.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/WirelessAccessPoint/Recipe_DS_WirelessAccessPoint.Recipe_DS_WirelessAccessPoint_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Wireless Access Point", diff --git a/ContentLib/RecipePatches/Buildables/Recipe_DS_WirelessTower.json b/ContentLib/RecipePatches/Buildables/Recipe_DS_WirelessTower.json index 0e9146a..0b2a014 100644 --- a/ContentLib/RecipePatches/Buildables/Recipe_DS_WirelessTower.json +++ b/ContentLib/RecipePatches/Buildables/Recipe_DS_WirelessTower.json @@ -1,3 +1,4 @@ +//DigitalStorage/Buildables/WirelessTower/Recipe_DS_WirelessTower.Recipe_DS_WirelessTower_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Wireless Tower", diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_10K_Fluid.json b/ContentLib/RecipePatches/Recipe_DS_Drive_10K_Fluid.json index db884da..68f1b68 100644 Binary files a/ContentLib/RecipePatches/Recipe_DS_Drive_10K_Fluid.json and b/ContentLib/RecipePatches/Recipe_DS_Drive_10K_Fluid.json differ diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_120K_Fluid.json b/ContentLib/RecipePatches/Recipe_DS_Drive_120K_Fluid.json index fe467e9..d522b76 100644 Binary files a/ContentLib/RecipePatches/Recipe_DS_Drive_120K_Fluid.json and b/ContentLib/RecipePatches/Recipe_DS_Drive_120K_Fluid.json differ diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_120K_Gas.json b/ContentLib/RecipePatches/Recipe_DS_Drive_120K_Gas.json index edeb317..482a8d8 100644 Binary files a/ContentLib/RecipePatches/Recipe_DS_Drive_120K_Gas.json and b/ContentLib/RecipePatches/Recipe_DS_Drive_120K_Gas.json differ diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_16K.json b/ContentLib/RecipePatches/Recipe_DS_Drive_16K.json index 6898af7..1847539 100644 --- a/ContentLib/RecipePatches/Recipe_DS_Drive_16K.json +++ b/ContentLib/RecipePatches/Recipe_DS_Drive_16K.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/Drives/16K/Recipe_DS_Drive_16K.Recipe_DS_Drive_16K_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "DS Drive (16K)", diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_1K.json b/ContentLib/RecipePatches/Recipe_DS_Drive_1K.json index 9df10ae..6e0bfd3 100644 --- a/ContentLib/RecipePatches/Recipe_DS_Drive_1K.json +++ b/ContentLib/RecipePatches/Recipe_DS_Drive_1K.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/Drives/1K/Recipe_DS_Drive_1K.Recipe_DS_Drive_1K_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "DS Drive (1K)", diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_20K_Fluid.json b/ContentLib/RecipePatches/Recipe_DS_Drive_20K_Fluid.json index 5788b03..921aa72 100644 Binary files a/ContentLib/RecipePatches/Recipe_DS_Drive_20K_Fluid.json and b/ContentLib/RecipePatches/Recipe_DS_Drive_20K_Fluid.json differ diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_240K_Fluid.json b/ContentLib/RecipePatches/Recipe_DS_Drive_240K_Fluid.json index e370610..d71fac9 100644 Binary files a/ContentLib/RecipePatches/Recipe_DS_Drive_240K_Fluid.json and b/ContentLib/RecipePatches/Recipe_DS_Drive_240K_Fluid.json differ diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_240K_Gas.json b/ContentLib/RecipePatches/Recipe_DS_Drive_240K_Gas.json index 0a61a9f..ea92491 100644 Binary files a/ContentLib/RecipePatches/Recipe_DS_Drive_240K_Gas.json and b/ContentLib/RecipePatches/Recipe_DS_Drive_240K_Gas.json differ diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_256.json b/ContentLib/RecipePatches/Recipe_DS_Drive_256.json index 5dfa428..43f40e9 100644 --- a/ContentLib/RecipePatches/Recipe_DS_Drive_256.json +++ b/ContentLib/RecipePatches/Recipe_DS_Drive_256.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/Drives/256/Recipe_DS_Drive_256.Recipe_DS_Drive_256_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "DS Drive (256)", diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_2K.json b/ContentLib/RecipePatches/Recipe_DS_Drive_2K.json index b7c7166..a12cd4d 100644 --- a/ContentLib/RecipePatches/Recipe_DS_Drive_2K.json +++ b/ContentLib/RecipePatches/Recipe_DS_Drive_2K.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/Drives/2K/Recipe_DS_Drive_2K.Recipe_DS_Drive_2K_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "DS Drive (2K)", diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_32K.json b/ContentLib/RecipePatches/Recipe_DS_Drive_32K.json index d7a235b..68d56f6 100644 --- a/ContentLib/RecipePatches/Recipe_DS_Drive_32K.json +++ b/ContentLib/RecipePatches/Recipe_DS_Drive_32K.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/Drives/32K/Recipe_DS_Drive_32K.Recipe_DS_Drive_32K_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "DS Drive (32K)", diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_40K_Fluid.json b/ContentLib/RecipePatches/Recipe_DS_Drive_40K_Fluid.json index c3ade70..bbd3834 100644 Binary files a/ContentLib/RecipePatches/Recipe_DS_Drive_40K_Fluid.json and b/ContentLib/RecipePatches/Recipe_DS_Drive_40K_Fluid.json differ diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_40K_Gas.json b/ContentLib/RecipePatches/Recipe_DS_Drive_40K_Gas.json index 62b4fba..2b6cd3d 100644 Binary files a/ContentLib/RecipePatches/Recipe_DS_Drive_40K_Gas.json and b/ContentLib/RecipePatches/Recipe_DS_Drive_40K_Gas.json differ diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_4K.json b/ContentLib/RecipePatches/Recipe_DS_Drive_4K.json index 677d031..102f6ca 100644 --- a/ContentLib/RecipePatches/Recipe_DS_Drive_4K.json +++ b/ContentLib/RecipePatches/Recipe_DS_Drive_4K.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/Drives/4K/Recipe_DS_Drive_4K.Recipe_DS_Drive_4K_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "DS Drive (4K)", diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_512.json b/ContentLib/RecipePatches/Recipe_DS_Drive_512.json index 43476d5..9781709 100644 --- a/ContentLib/RecipePatches/Recipe_DS_Drive_512.json +++ b/ContentLib/RecipePatches/Recipe_DS_Drive_512.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/Drives/512/Recipe_DS_Drive_512.Recipe_DS_Drive_512_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "DS Drive (512)", diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_60K_Fluid.json b/ContentLib/RecipePatches/Recipe_DS_Drive_60K_Fluid.json index 689e0bd..8507a92 100644 Binary files a/ContentLib/RecipePatches/Recipe_DS_Drive_60K_Fluid.json and b/ContentLib/RecipePatches/Recipe_DS_Drive_60K_Fluid.json differ diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_60K_Gas.json b/ContentLib/RecipePatches/Recipe_DS_Drive_60K_Gas.json index fd3f616..a5c8560 100644 Binary files a/ContentLib/RecipePatches/Recipe_DS_Drive_60K_Gas.json and b/ContentLib/RecipePatches/Recipe_DS_Drive_60K_Gas.json differ diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_64K.json b/ContentLib/RecipePatches/Recipe_DS_Drive_64K.json index 54b8521..fa2af03 100644 --- a/ContentLib/RecipePatches/Recipe_DS_Drive_64K.json +++ b/ContentLib/RecipePatches/Recipe_DS_Drive_64K.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/Drives/64K/Recipe_DS_Drive_64K.Recipe_DS_Drive_64K_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "DS Drive (64K)", diff --git a/ContentLib/RecipePatches/Recipe_DS_Drive_8K.json b/ContentLib/RecipePatches/Recipe_DS_Drive_8K.json index ce324d8..1f675ba 100644 --- a/ContentLib/RecipePatches/Recipe_DS_Drive_8K.json +++ b/ContentLib/RecipePatches/Recipe_DS_Drive_8K.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/Drives/8K/Recipe_DS_Drive_8K.Recipe_DS_Drive_8K_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "DS Drive (8K)", diff --git a/ContentLib/RecipePatches/Recipe_DS_Multitool.json b/ContentLib/RecipePatches/Recipe_DS_Multitool.json index 4ebb4bf..f51a020 100644 --- a/ContentLib/RecipePatches/Recipe_DS_Multitool.json +++ b/ContentLib/RecipePatches/Recipe_DS_Multitool.json @@ -1,3 +1,4 @@ +//DigitalStorage/Equipment/Multitool/Recipe_DS_Multitool.Recipe_DS_Multitool_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Multitool", diff --git a/ContentLib/RecipePatches/Recipe_DS_NetworkCable_Item.json b/ContentLib/RecipePatches/Recipe_DS_NetworkCable_Item.json index d61f1aa..0480686 100644 --- a/ContentLib/RecipePatches/Recipe_DS_NetworkCable_Item.json +++ b/ContentLib/RecipePatches/Recipe_DS_NetworkCable_Item.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/NetworkCable/Recipe_DS_NetworkCable_Item.Recipe_DS_NetworkCable_Item_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Network Cable", diff --git a/ContentLib/RecipePatches/Recipe_DS_WirelessExtender.json b/ContentLib/RecipePatches/Recipe_DS_WirelessExtender.json index bf4e896..f030a65 100644 --- a/ContentLib/RecipePatches/Recipe_DS_WirelessExtender.json +++ b/ContentLib/RecipePatches/Recipe_DS_WirelessExtender.json @@ -1,3 +1,4 @@ +//DigitalStorage/Resources/WifiExtender/Recipe_DS_WirelessExtender.Recipe_DS_WirelessExtender_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Wireless Range Extender", diff --git a/ContentLib/RecipePatches/Recipe_DS_WirelessTablet.json b/ContentLib/RecipePatches/Recipe_DS_WirelessTablet.json index 694f4c3..0a64030 100644 --- a/ContentLib/RecipePatches/Recipe_DS_WirelessTablet.json +++ b/ContentLib/RecipePatches/Recipe_DS_WirelessTablet.json @@ -1,3 +1,4 @@ +//DigitalStorage/Equipment/WirelessTablet/Recipe_DS_WirelessTablet.Recipe_DS_WirelessTablet_C { "$schema": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/refs/heads/main/JsonSchemas/CL_Recipe.json", "Name": "Wireless Tablet", diff --git a/go.mod b/go.mod deleted file mode 100644 index e771035..0000000 --- a/go.mod +++ /dev/null @@ -1,14 +0,0 @@ -module local - -go 1.24.3 - -require ( - github.com/magefile/mage v1.15.0 - github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 - github.com/xeipuuv/gojsonschema v1.2.0 -) - -require ( - github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect - github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect -) diff --git a/go.sum b/go.sum deleted file mode 100644 index 6fc5d5e..0000000 --- a/go.sum +++ /dev/null @@ -1,17 +0,0 @@ -github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= -github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4= -github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= diff --git a/magefile.go b/magefile.go deleted file mode 100644 index 888981c..0000000 --- a/magefile.go +++ /dev/null @@ -1,311 +0,0 @@ -//go:build mage -// +build mage - -package main - -import ( - "archive/zip" - "bytes" - "encoding/json" - "fmt" - "io" - "io/ioutil" - "os" - "path/filepath" - "strings" - "unicode/utf8" - - "github.com/magefile/mage/mg" - "github.com/magefile/mage/sh" - "github.com/santhosh-tekuri/jsonschema/v5" -) - -const ( - zipName = "DigitalStorageTweaks.zip" - contentDir = "./ContentLib" - pluginFile = "./DigitalStorageTweaks.uplugin" - schemaPath = "./schema/CL_Recipe.json" // Local schema path -) - -var ( - // Binary file extensions to skip line ending conversion - binaryExtensions = map[string]bool{ - ".png": true, ".jpg": true, ".jpeg": true, ".bmp": true, ".gif": true, - ".dds": true, ".tga": true, ".psd": true, ".fbx": true, ".uasset": true, - ".umap": true, - } -) - -// Default target -var Default = Build - -// Build runs the full pipeline -func Build() { - mg.SerialDeps(Validate, Package) -} - -// Package creates the distribution zip -func Package() error { - fmt.Println("Packaging files...") - - // Create target directories - for _, dir := range []string{"Windows", "WindowsServer", "LinuxServer"} { - if err := os.MkdirAll(dir, 0755); err != nil { - return fmt.Errorf("creating %s: %w", dir, err) - } - if err := sh.Run("cp", "-r", contentDir, pluginFile, dir+"/"); err != nil { - return fmt.Errorf("copying to %s: %w", dir, err) - } - } - - // Create zip file - if err := createZip(zipName, "Windows", "WindowsServer", "LinuxServer"); err != nil { - return fmt.Errorf("creating zip: %w", err) - } - - // Clean temp dirs - return Clean("Windows", "WindowsServer", "LinuxServer") -} -func Validate() error { - fmt.Println("Validating files...") - - const ( - baseSchemaURL = "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/" - localSchemaDir = "./schema" - ) - - compiler := jsonschema.NewCompiler() - - // Disable remote fetching - compiler.LoadURL = func(url string) (io.ReadCloser, error) { - return nil, fmt.Errorf("remote schema loading disabled: %s", url) - } - - // Walk through the schema directory and add all .json files - err := filepath.Walk(localSchemaDir, func(path string, info os.FileInfo, err error) error { - if err != nil || info.IsDir() { - return err - } - - if filepath.Ext(path) != ".json" { - return nil - } - - relPath, err := filepath.Rel(localSchemaDir, path) - if err != nil { - return fmt.Errorf("resolving relative path: %w", err) - } - - // Build the full schema ID - schemaID := baseSchemaURL + filepath.ToSlash(relPath) - - data, err := ioutil.ReadFile(path) - if err != nil { - return fmt.Errorf("reading %s: %w", path, err) - } - - err = compiler.AddResource(schemaID, bytes.NewReader(data)) - if err != nil { - return fmt.Errorf("adding schema %s: %w", schemaID, err) - } - - return nil - }) - if err != nil { - return fmt.Errorf("failed to load schemas: %w", err) - } - - // Main schema (must match its $id) - mainSchemaID := baseSchemaURL + "CL_Recipe.json" - - // Compile the main schema - schema, err := compiler.Compile(mainSchemaID) - if err != nil { - return fmt.Errorf("invalid main schema: %w", err) - } - - // Validate plugin file - if err := validateFile(pluginFile, schema); err != nil { - return fmt.Errorf("plugin file: %w", err) - } - - // Validate all JSON files in the content directory - return filepath.Walk(contentDir, func(path string, info os.FileInfo, err error) error { - if err != nil || info.IsDir() { - return err - } - return validateFile(path, schema) - }) -} - -func validateFile(path string, schema *jsonschema.Schema) error { - // Skip binary files - ext := filepath.Ext(path) - if binaryExtensions[ext] { - return nil - } - - if ext == ".json" { - return validateJSON(path, schema) - } - return validateEncoding(path) -} - -func validateJSON(path string, schema *jsonschema.Schema) error { - content, err := ioutil.ReadFile(path) - if err != nil { - return fmt.Errorf("failed to read JSON file: %w", err) - } - - // Remove comment lines (starting with //) - var filteredContent []byte - for _, line := range bytes.Split(content, []byte("\n")) { - trimmed := bytes.TrimSpace(line) - if !bytes.HasPrefix(trimmed, []byte("//")) && len(trimmed) > 0 { - filteredContent = append(filteredContent, line...) - filteredContent = append(filteredContent, '\n') - } - } - - // Validate JSON - var v interface{} - if err := json.Unmarshal(filteredContent, &v); err != nil { - return fmt.Errorf("invalid JSON in %s: %w", path, err) - } - - if err := schema.Validate(v); err != nil { - return fmt.Errorf("schema validation failed for %s: %w", path, err) - } - - return nil -} - -func validateEncoding(path string) error { - content, err := ioutil.ReadFile(path) - if err != nil { - return err - } - - // Check for non-ASCII - for i := 0; i < len(content); { - b := content[i] - if b > 127 { // Non-ASCII - r, _ := utf8.DecodeRune(content[i:]) - if r == utf8.RuneError { - return fmt.Errorf("invalid UTF-8 sequence at position %d", i) - } - return fmt.Errorf("non-ASCII character %U at position %d", r, i) - } - i++ - } - return nil -} - -// Clean removes all build artifacts -func Clean(list ...string) error { - fmt.Println("Cleaning up...") - for _, f := range list { - if err := os.RemoveAll(f); err != nil { - return fmt.Errorf("failed to remove %s: %w", f, err) - } - } - return nil -} - -// createZip creates a zip file from the specified directories -func createZip(zipPath string, dirs ...string) error { - // Create zip file - zipFile, err := os.Create(zipPath) - if err != nil { - return fmt.Errorf("creating zip file: %w", err) - } - defer zipFile.Close() - - // Create zip writer - zipWriter := zip.NewWriter(zipFile) - defer zipWriter.Close() - - // Add each directory to the zip - for _, dir := range dirs { - if err := addDirToZip(zipWriter, dir); err != nil { - return fmt.Errorf("adding %s to zip: %w", dir, err) - } - } - - return nil -} - -// addDirToZip adds a directory to the zip, converting text files to DOS line endings -func addDirToZip(zipWriter *zip.Writer, dirPath string) error { - return filepath.Walk(dirPath, func(filePath string, info os.FileInfo, err error) error { - if err != nil { - return err - } - - // Create relative path for the zip file - relPath, err := filepath.Rel(dirPath, filePath) - if err != nil { - return err - } - zipPath := filepath.Join(filepath.Base(dirPath), relPath) - - // Create zip file header - header, err := zip.FileInfoHeader(info) - if err != nil { - return err - } - header.Name = filepath.ToSlash(zipPath) // Use forward slashes for zip compatibility - - // Use compression for all files - header.Method = zip.Deflate - - // Handle directories - if info.IsDir() { - header.Name += "/" - _, err := zipWriter.CreateHeader(header) - return err - } - - // Open source file - file, err := os.Open(filePath) - if err != nil { - return err - } - defer file.Close() - - // Create writer in zip - writer, err := zipWriter.CreateHeader(header) - if err != nil { - return err - } - - // Process based on file type - ext := strings.ToLower(filepath.Ext(filePath)) - if binaryExtensions[ext] { - // Binary file - copy directly - _, err = io.Copy(writer, file) - return err - } else { - // Text file - read content and convert line endings - content, err := ioutil.ReadAll(file) - if err != nil { - return err - } - - // Convert LF to CRLF - content = convertToDOSLineEndings(content) - - // Write to zip - _, err = writer.Write(content) - return err - } - }) -} - -// convertToDOSLineEndings converts LF to CRLF while preserving existing CRLF -func convertToDOSLineEndings(content []byte) []byte { - // First normalize to LF - normalized := bytes.ReplaceAll(content, []byte("\r\n"), []byte("\n")) - // Then convert to CRLF - return bytes.ReplaceAll(normalized, []byte("\n"), []byte("\r\n")) -} diff --git a/schema/CL_NameResolvedAsset.json b/schema/CL_NameResolvedAsset.json deleted file mode 100644 index 06fbe42..0000000 --- a/schema/CL_NameResolvedAsset.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/CL_NameResolvedAsset.json", - "title": "ContentLib Name Resolved Asset", - "description": "An asset that can be specified either with a full path, or a shortened name for ContentLib to resolve. See more info here: https://docs-dev.ficsit.app/contentlib/latest/BackgroundInfo/AutomaticNameResolving.html", - "$comment": "This file does not represent ContentLib asset type! It's a resource used by other JSON Schemas. Please read https://docs-dev.ficsit.app/contentlib/latest/BackgroundInfo/AutomaticNameResolving.html", - "type": "string", - "minLength": 1 -} diff --git a/schema/CL_Recipe.json b/schema/CL_Recipe.json deleted file mode 100644 index 2c9656d..0000000 --- a/schema/CL_Recipe.json +++ /dev/null @@ -1,189 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/CL_Recipe.json", - "title": "ContentLib Recipe", - "description": "ContentLib Recipe struct definitions can be made from this JSON, and when converted to JSON, will follow this form.", - "$comment": "This is NOT a copy-paste template! Check the docs to see how to use this! https://docs.ficsit.app/contentlib/latest/index.html", - "type": "object", - "additionalProperties": false, - "properties": { - "Name": { - "type": "string", - "description": "Override for the recipe's name, which is displayed inside the manual crafting bench, build gun, or any machines you set it to be used in. By default, recipes take the name of their first product item." - }, - "Ingredients": { - "type": "array", - "description": "ItemAmounts which form the ingredients. Be sure to not exceed an item's stack size, and remember that 1000 fluid units displays as 1 Liter ingame. See 'ClearIngredients' to append instead of replace.", - "items": { - "$ref": "./Components/CL_ItemAmount.json" - }, - "examples": [ - [ - { - "Item": "Desc_CopperIngot", - "Amount": 1 - }, - { - "Item": "Desc_IronIngot", - "Amount": 1 - } - ] - ] - }, - "Products": { - "type": "array", - "description": "ItemAmounts which form the recipe outputs. Be sure to not exceed an item's stack size, and remember that 1000 fluid units displays as 1 Liter ingame. Manual recipes should only have 1 product. See 'ClearProducts' to append instead of replace.", - "items": { - "$ref": "./Components/CL_ItemAmount.json" - }, - "examples": [ - [ - { - "Item": "Desc_Biofuel", - "Amount": 10 - } - ] - ] - }, - "ProducedIn": { - "type": "array", - "description": "Automatic name resolved asset. Machines/builders which this recipe can be used in. The examples are not an exhaustive list. Use 'manual' for all manual workbenches; this is a workaround and will be fixed in the future. See 'ClearBuilders' to append instead of replace.", - "uniqueItems": true, - "items": { - "$ref": "./Components/CL_NameResolvedAsset.json", - "examples": [ - "manual", - "Build_SmelterMk1", - "Build_ConstructorMk1", - "Build_AssemblerMk1", - "Build_FoundryMk1", - "Build_ManufacturerMk1", - "Build_OilRefinery", - "Build_Packager", - "Build_Blender", - "Build_HadronCollider", - "Build_Converter", - "Build_QuantumEncoder", - "BP_BuildGun" - ], - "allOf": [ - { - "$comment": "The `manual` workaround should be used instead of these (see the docs https://docs.ficsit.app/contentlib/latest/Tutorials/CreateRecipe.html).", - "if": { - "anyOf": [ - { - "const": "FGWorkBench" - }, - { - "const": "Build_Workshop" - }, - { - "const": "Build_WorkBench" - }, - { - "const": "Build_WorkBenchIntegrated" - } - ] - }, - "then": { - "const": "manual" - } - } - ] - } - }, - "OverrideCategory": { - "type": "string", - "description": "By default, recipes take on the category of their first product item. Specifying something here causes it to be used as the category instead. Either a base-game category, or a string which ContentLib will automatically turn into a category for you.", - "examples": [ - "Cat_Other", - "MyCustomAutoCreatedCategory" - ] - }, - "ManufacturingDuration": { - "type": "number", - "description": "The time it takes for a machine to process this recipe in seconds. Recipe energy consumption is usually this times the machine's power usage." - }, - "ManualManufacturingMultiplier": { - "type": "number", - "description": "If you want to use the same recipe for machines and the craft bench, this defines how much longer the crafting of this recipe should take in the craft bench. With the multiplier set to the default of 0, the number of clicks to craft is the number of seconds it takes to craft divided by two.", - "examples": [ - 0.0 - ] - }, - "UnlockedBy": { - "type": "array", - "description": "Automatic name resolved asset. Schematics to add this recipe to. Alternative way of tying recipes to schematics; the standard way is to use the schematic's 'Recipes' field. This is useful if you don't want to also make a patch to add your recipe to a base-game schematic. Something must unlock the recipe, else it will never be accessible in-game. If you want it to be unlocked by default, use Schematic_StartingRecipes.", - "items": { - "$ref": "./Components/CL_NameResolvedAsset.json" - }, - "examples": [ - [ - "Schematic_StartingRecipes" - ], - [ - "Schematic_1-1" - ] - ] - }, - "VariablePowerConsumptionFactor": { - "type": "number", - "description": "Only works in variable consumption machines (the Particle Accelerator in base game). Added to the VariablePowerConsumptionFactor to get the 'maximum' power consumption the recipe can scale up to over its cycle." - }, - "VariablePowerConsumptionConstant": { - "type": "number", - "description": "Only works in variable consumption machines (the Particle Accelerator in base game). The 'minimum' power consumption the recipe can scale down to over its cycle." - }, - "ManufacturingMenuPriority": { - "type": "number", - "description": "Controls the order that recipes appear within their category. Lower values means earlier in the menu. Negatives and decimals allowed." - }, - "OverrideName": { - "type": "boolean", - "description": "For patches, should the Recipe this is used on have its 'use override name' flag enabled? Default is true when 'Name' exists, false when not. This can be used to ex. revert a recipe's displayed name to that of its first product, instead of the custom name that was specified for it." - }, - "ClearIngredients": { - "type": "boolean", - "description": "For patches, should the Recipe this is used on have its existing Ingredients array cleared before adding to it? Default is true when 'Ingredients' exists, false when not." - }, - "ClearProducts": { - "type": "boolean", - "description": "For patches, should the Recipe this is used on have its existing Products array cleared before adding to it? Default is true when 'Products' exists, false when not." - }, - "ClearBuilders": { - "type": "boolean", - "description": "For patches, should the Recipe this is used on have its existing ProducedIn array cleared before adding to it? Default is true when 'ProducedIn' exists, false when not." - } - }, - "allOf": [ - { - "$comment": "Manual recipes should only have one product", - "if": { - "properties": { - "ProducedIn": { - "contains": { - "const": "manual" - } - } - } - }, - "then": { - "properties": { - "Products": { - "maxItems": 1 - } - } - } - } - ], - "patternProperties": { - "schema": { - "$comment": "Allow the $schema line in files", - "type": "string" - }, - "comment": { - "$comment": "Allow the $comment line in files", - "type": "string" - } - } -} \ No newline at end of file diff --git a/schema/Components/CL_ItemAmount.json b/schema/Components/CL_ItemAmount.json deleted file mode 100644 index ab69cb5..0000000 --- a/schema/Components/CL_ItemAmount.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/CL_ItemAmount.json", - "title": "Item Amount Structure", - "description": "Respresents a quantity of an item", - "$comment": "This file does not represent ContentLib asset type! It's a resource used by other JSON Schemas.", - "type": "object", - "additionalProperties": false, - "required": [ - "Item", - "Amount" - ], - "properties": { - "Item": { - "$ref": "./CL_NameResolvedAsset.json" - }, - "Amount": { - "type": "integer", - "minimum": 0, - "description": "Integer specifying the quantity of item(s). Remember that remember that 1000 fluid units displays as 1 Liter ingame." - } - } -} \ No newline at end of file diff --git a/schema/Components/CL_NameResolvedAsset.json b/schema/Components/CL_NameResolvedAsset.json deleted file mode 100644 index 06fbe42..0000000 --- a/schema/Components/CL_NameResolvedAsset.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://raw.githubusercontent.com/budak7273/ContentLib_Documentation/main/JsonSchemas/CL_NameResolvedAsset.json", - "title": "ContentLib Name Resolved Asset", - "description": "An asset that can be specified either with a full path, or a shortened name for ContentLib to resolve. See more info here: https://docs-dev.ficsit.app/contentlib/latest/BackgroundInfo/AutomaticNameResolving.html", - "$comment": "This file does not represent ContentLib asset type! It's a resource used by other JSON Schemas. Please read https://docs-dev.ficsit.app/contentlib/latest/BackgroundInfo/AutomaticNameResolving.html", - "type": "string", - "minLength": 1 -}