{
"oldsfullsize_oilpan": {
    "information":{
	"authors":"BeamNG (Moonhawk)",
	"name":"Stock Oil Pan",
    }
    "slotType" : "oldsfullsize_oilpan",
    "mainEngine": {
        //cooling and oil system
        "oilVolume":8,

        //engine durability
        "oilpanMaximumSafeG": 1.2

        //node beam interface
        "oilpanNodes:":["oilpan","oilref"],

        //engine deform groups
        "deformGroups_oilPan":["oilpan_damage"]
    },
    "nodes": [
         ["id", "posX", "posY", "posZ"],
         {"selfCollision":false},
         {"collision":true},
         {"frictionCoef":0.5},
         {"nodeMaterial":"|NM_METAL"},

         //oil pan node
         {"group":""},
         {"nodeWeight":2},
         ["oilpan", 0.0, -1.25, 0.25],
         ["oilref", 0.0, -1.25, 0.75, {"nodeWeight":1, "collision":false}],
    ],
    "beams": [
          ["id1:", "id2:"],
          {"beamPrecompression":1, "beamType":"|NORMAL", "beamLongBound":1.0, "beamShortBound":1.0},

          //oilpan node
          {"beamSpring":1501000,"beamDamp":250},
          {"beamDeform":8000,"beamStrength":"FLT_MAX"},
          {"deformGroup":"oilpan_damage","deformationTriggerRatio":0.005},
          ["oilpan", "e1r"],
          ["oilpan", "e1l"],
          ["oilpan", "e2r"],
          ["oilpan", "e2l"],
          ["oilpan", "e3r"],
          ["oilpan", "e3l"],
          ["oilpan", "e4r"],
          ["oilpan", "e4l"],
          {"deformGroup":""},

          //oil ref
          {"beamSpring":1001000,"beamDamp":150},
          {"beamDeform":25000,"beamStrength":"FLT_MAX"},
          ["oilref", "e1r"],
          ["oilref", "e1l"],
          ["oilref", "e2r"],
          ["oilref", "e2l"],
          ["oilref", "e3r"],
          ["oilref", "e3l"],
          ["oilref", "e4r"],
          ["oilref", "e4l"],
          {"beamPrecompression":1, "beamType":"|NORMAL", "beamLongBound":1.0, "beamShortBound":1.0},
    ],
},
"oldsfullsize_oilpan_race": {
    "information":{
	"authors":"BeamNG (Moonhawk)",
	"name":"Race Oil Pan",
    }
    "slotType" : "oldsfullsize_oilpan",
    "mainEngine": {
        //cooling and oil system
        "oilVolume":8.5,

        //engine durability
        "oilpanMaximumSafeG": 1.5

        //node beam interface
        "oilpanNodes:":["oilpan","oilref"],

        //engine deform groups
        "deformGroups_oilPan":["oilpan_damage"]
    },
    "nodes": [
         ["id", "posX", "posY", "posZ"],
         {"selfCollision":false},
         {"collision":true},
         {"frictionCoef":0.5},
         {"nodeMaterial":"|NM_METAL"},

         //oil pan node
         {"group":""},
         {"nodeWeight":2},
         ["oilpan", 0.0, -1.25, 0.25],
         ["oilref", 0.0, -1.25, 0.75, {"nodeWeight":1, "collision":false}],
    ],
    "beams": [
          ["id1:", "id2:"],
          {"beamPrecompression":1, "beamType":"|NORMAL", "beamLongBound":1.0, "beamShortBound":1.0},

          //oilpan node
          {"beamSpring":1501000,"beamDamp":250},
          {"beamDeform":8000,"beamStrength":"FLT_MAX"},
          {"deformGroup":"oilpan_damage","deformationTriggerRatio":0.005},
          ["oilpan", "e1r"],
          ["oilpan", "e1l"],
          ["oilpan", "e2r"],
          ["oilpan", "e2l"],
          ["oilpan", "e3r"],
          ["oilpan", "e3l"],
          ["oilpan", "e4r"],
          ["oilpan", "e4l"],
          {"deformGroup":""},

          //oil ref
          {"beamSpring":1001000,"beamDamp":150},
          {"beamDeform":25000,"beamStrength":"FLT_MAX"},
          ["oilref", "e1r"],
          ["oilref", "e1l"],
          ["oilref", "e2r"],
          ["oilref", "e2l"],
          ["oilref", "e3r"],
          ["oilref", "e3l"],
          ["oilref", "e4r"],
          ["oilref", "e4l"],
          {"beamPrecompression":1, "beamType":"|NORMAL", "beamLongBound":1.0, "beamShortBound":1.0},
    ],
},

"oldsfullsize_engine_internals": {
    "information":{
        "authors":"AgentY",
        "name":" Stock Gasoline Long Block (LV-Series)",
    },
    "slotType" : "oldsfullsize_engine_internals",
    "slots": [
        ["type", "default", "description"],
        ["oldsfullsize_aircon","oldsfullsize_aircon", "Aircon Pulley"],
    ],
    "flexbodies": [
        ["mesh", "[group]:", "nonFlexMaterials"],
	["oldsfullsize_engine_heads_gas", ["oldsfullsize_engine"]],
    ],
    "mainEngine":{},
},
"oldsfullsize_engine_internals_diesel": {
    "information":{
        "authors":"AgentY",
        "name":" Stock Diesel Long Block (LF9)",
    },
    "slotType" : "oldsfullsize_engine_internals",
    "slots": [
        ["type", "default", "description"],
        ["oldsfullsize_aircon","oldsfullsize_aircon", "Aircon Pulley"],
    ],
    "flexbodies": [
        ["mesh", "[group]:", "nonFlexMaterials"],
	["oldsfullsize_engine_heads_diesel", ["oldsfullsize_engine"]],
    ],
    "mainEngine":{
	//engine durability
        "cylinderWallTemperatureDamageThreshold":170,
        "headGasketDamageThreshold":1250000,
        "pistonRingDamageThreshold":1350000,
        "connectingRodDamageThreshold":2000000,
        "$*maxTorqueRating": 1.225,
        "$*maxOverTorqueDamage": 2.85,
    },
},
"oldsfullsize_engine_internals_heavy": {
    "information":{
        "authors":"BeamNG (Bluebuck)",
        "name":"Heavy Duty Long Block",
    },
    "slotType" : "oldsfullsize_engine_internals",
    "slots": [
        ["type", "default", "description"],
        ["oldsfullsize_aircon","oldsfullsize_aircon", "Aircon Pulley"],
    ],
    "flexbodies": [
        ["mesh", "[group]:", "nonFlexMaterials"],
	["oldsfullsize_engine_heads_diesel", ["oldsfullsize_engine"]],
    ],
    "mainEngine":{
        //max rpm physically capable of
        "$+maxRPM":500,
        "$*friction":1.15,
        "$*dynamicFriction":1.12,
        "$*inertia":1.24,
        "$*engineBrakeTorque":1.2,
        //engine durability
        "cylinderWallTemperatureDamageThreshold":165,
        "headGasketDamageThreshold":1700000,
        "pistonRingDamageThreshold":1700000,
        "connectingRodDamageThreshold":2200000,
        "$*maxTorqueRating": 1.8,
        "$*maxOverTorqueDamage": 2.0,
    },
},
"oldsfullsize_engine_internals_ultra": {
    "information":{
        "authors":"BeamNG (Bluebuck)",
        "name":"Ultra Heavy Duty Long Block",
    },
    "slotType" : "oldsfullsize_engine_internals",
    "slots": [
        ["type", "default", "description"],
        ["oldsfullsize_aircon","oldsfullsize_aircon", "Aircon Pulley"],
    ],
    "flexbodies": [
        ["mesh", "[group]:", "nonFlexMaterials"],
	["oldsfullsize_engine_heads_diesel", ["oldsfullsize_engine"]],
    ],
    "mainEngine":{
        //max rpm physically capable of
        "$+maxRPM":700,
        "$*friction":1.35,
        "$*dynamicFriction":1.2,
        "$*inertia":1.33,
        "$*engineBrakeTorque":1.25,
        //engine durability
        "cylinderWallTemperatureDamageThreshold":185,
        "headGasketDamageThreshold":1700000,
        "pistonRingDamageThreshold":1700000,
        "connectingRodDamageThreshold":2200000,
        //"maxTorqueRating": 2720,
        //"maxOverTorqueDamage": 600,
        "$*maxTorqueRating": 3.8,
        "$*maxOverTorqueDamage": 2.0,
    },
},
"oldsfullsize_engine_internals_stage1": {
    "information":{
        "authors":"BeamNG (Bluebuck)",
        "name":"Stage 1 Performance Long Block",
    },
    "slotType" : "oldsfullsize_engine_internals",
    "flexbodies": [
        ["mesh", "[group]:", "nonFlexMaterials"],
	["oldsfullsize_engine_heads_gas", ["oldsfullsize_engine"]],
    ],
    "mainEngine":{
        "torqueModMult":[
            ["rpm", "torque"],
            [0,       1],
            [2500, 0.95],
            [4000, 1.17],
            [6000, 1.70],
            [8000, 1.00],
        ],
        //max rpm physically capable of
        "$+maxRPM":800,
        "$*friction":0.9,
        "$*dynamicFriction":0.95,
        "$*inertia":0.87,
        "$*engineBrakeTorque":1.32,
        //engine durability
        "cylinderWallTemperatureDamageThreshold":160,
        //"maxTorqueRating": 930,
        //"maxOverTorqueDamage": 500,
        "$*maxTorqueRating": 1.35,
        "$*maxOverTorqueDamage": 1.5,
    },
},
"oldsfullsize_engine_internals_stage2": {
    "information":{
        "authors":"BeamNG (Bluebuck)",
        "name":"Stage 2 Performance Long Block",
    },
    "slotType" : "oldsfullsize_engine_internals",
    "flexbodies": [
        ["mesh", "[group]:", "nonFlexMaterials"],
	["oldsfullsize_engine_heads_gas", ["oldsfullsize_engine"]],
    ],
    "mainEngine":{
        "torqueModMult":[
            ["rpm", "torque"],
            [0,       1],
            [2000, 0.88],
            [4000, 1.18],
            [6000, 2.30],
            [8000, 1.60],
        ],
        //max rpm physically capable of
        "$+maxRPM":1200,
        "$*friction":0.90,
        "$*dynamicFriction":0.9,
        "$*inertia":0.92,
        "$*engineBrakeTorque":1.46,
        //engine durability
        "cylinderWallTemperatureDamageThreshold":170,
        //"maxTorqueRating": 1150,
        //"maxOverTorqueDamage": 400,
        "$*maxTorqueRating": 1.6,
        "$*maxOverTorqueDamage": 1.25,
    },
},
"oldsfullsize_engine_internals_stage3": {
    "information":{
        "authors":"BeamNG (Bluebuck)",
        "name":"Stage 3 Performance Long Block",
    },
    "slotType" : "oldsfullsize_engine_internals",
    "flexbodies": [
        ["mesh", "[group]:", "nonFlexMaterials"],
	["oldsfullsize_engine_heads_gas", ["oldsfullsize_engine"]],
    ],
    "mainEngine":{
        "torqueModMult":[
            ["rpm", "torque"],
            [0,       1],
            [2500, 0.75],
            [4000, 1.00],
            [5000, 1.72],
            [6300, 3.27],
            [8000, 2.50],
        ],
        //max rpm physically capable of
        "$+maxRPM":1500,
        "$*friction":0.91,
        "$*dynamicFriction":0.92,
        "$*inertia":1.1,
        "$*engineBrakeTorque":1.58,
        //engine durability
        "cylinderWallTemperatureDamageThreshold":180,
        //"maxTorqueRating": 2200,
        //"maxOverTorqueDamage": 300,
        "$*maxTorqueRating": 3.0,
        "$*maxOverTorqueDamage": 0.8,
    },
},
"oldsfullsize_engine_internals_wip": {
    "information":{
        "authors":"SergentFido",
        "name":"WIP Project Engine Long Block",
    },
    "slotType" : "oldsfullsize_engine_internals",
    "slots": [
        ["type", "default", "description"],
        ["oldsfullsize_aircon","", "Aircon Pulley"],
    ],
    "flexbodies": [
        ["mesh", "[group]:", "nonFlexMaterials"],
	["oldsfullsize_engine_heads_gas_wip", ["oldsfullsize_engine"]],
    ],
    "mainEngine":{
	"friction":999999999999999999999999999999999999999999999999999, //effectively kill the engine
    },
},

"oldsfullsize_aircon": {
    "information":{
        "authors":"AgentY",
        "name":"Aircon Pulley",
    },
    "slotType" : "oldsfullsize_aircon",
    "flexbodies": [
        ["mesh", "[group]:", "nonFlexMaterials"],
	["oldsfullsize_aircon", ["oldsfullsize_engine"]],
	{"deformGroup":"oldsfullsize_enginetubes_break", "deformMaterialBase":"oldsfullsize", "deformMaterialDamaged":"glass_invisible"},
	["oldsfullsize_aircotube_v8", ["oldsfullsize_body","oldsfullsize_engine"]],
	{"deformGroup":""},
    ],
    "props": [
	["func"      , "mesh"              , "idRef:", "idX:", "idY:"            , "baseRotation"        , "rotation"                 , "translation"        , "min", "max", "offset", "multiplier"]	
	["rpmspin"  , "oldsfullsize_aircon_pulley", "e2r","e2l","e4r",  {"x":0, "y":0, "z":0}, {"x":0, "y":1, "z":0}    , {"x":0, "y":0, "z":0}, -360, 360, 0, 1 ,{"breakGroup":"oldsfullsize_props"}],		
    ],
    "mainEngine":{
        "torqueModMult":[
            ["rpm", "torque"],
            [0,       1],
            [2500, 0.98],
            [4000, 0.92],
            [6000, 0.85],
            [8000, 0.95],
        ],
    },
},

"oldsfullsize_engine_diesel_ecu": {
    "information":{
        "authors":"SergentFido",
        "name":" Oldsmobile Diesel Stock ECU",
    }
    "slotType" : "oldsfullsize_engine_ecu",
    "mainEngine":{
        "idleRPM":650,
	"hasRevLimiter":true,
        "revLimiterRPM":3500,
        "revLimiterType":"soft",
    },
},
"oldsfullsize_engine_diesel_ecu_swap": {
    "information":{
        "authors":"SergentFido",
        "name":" Detroit Diesel Stock ECU",
    }
    "slotType" : "oldsfullsize_engine_ecu",
    "mainEngine":{
        "idleRPM":650,
	"hasRevLimiter":true,
        "revLimiterRPM":3600,
        "revLimiterType":"soft",
    },
},
"oldsfullsize_engine_ecu_race": {
    "information":{
        "authors":"AgentY",
        "name":"Gasoline Adjustable Race ECU",
    }
    "slotType" : "oldsfullsize_engine_ecu",
    "variables": [
        ["name", "type", "unit", "category", "default", "min", "max", "title", "description"],
        ["$revLimiterRPM", "range", "rpm", "Engine", 5000, 2500, 8000, "RPM Limit", "RPM where the rev limiter prevents further revving"{"stepDis":50}],
        ["$revLimiterCutTime", "range", "s", "Engine", 0.2, 0.01, 0.5, "RPM Limit Cut Time", "How fast the rev limiter cycles"{"stepDis":0.01}],
    ],
    "controller": [
        ["fileName"],
        ["twoStepLaunch", {"rpmLimit":4000}]
    ],
    "mainEngine":{
	"hasRevLimiter":true,
        "revLimiterRPM":"$revLimiterRPM",
        "revLimiterType":"timeBased",
        "revLimiterCutTime":"$revLimiterCutTime",
    },
    "vehicleController": {
        "highShiftUpRPM":"$=$revLimiterRPM - 200"
    },
},
"oldsfullsize_engine_diesel_ecu_race": {
    "information":{
        "authors":"SergentFido",
        "name":"Diesel Adjustable Race ECU",
    }
    "slotType" : "oldsfullsize_engine_ecu",
    "variables": [
        ["name", "type", "unit", "category", "default", "min", "max", "title", "description"],
        ["$revLimiterRPM", "range", "rpm", "Engine", 3500, 2500, 4500, "RPM Limit", "RPM where the rev limiter prevents further revving"{"stepDis":50}],
        ["$revLimiterCutTime", "range", "s", "Engine", 0.2, 0.01, 0.5, "RPM Limit Cut Time", "How fast the rev limiter cycles"{"stepDis":0.01}],
    ],
    "controller": [
        ["fileName"],
        ["twoStepLaunch", {"rpmLimit":3000}]
    ],
    "mainEngine":{
        "idleRPM":750,
	"hasRevLimiter":true,
        "revLimiterRPM":"$revLimiterRPM",
        "revLimiterType":"timeBased",
        "revLimiterCutTime":"$revLimiterCutTime",
    },
    "vehicleController": {
        "highShiftUpRPM":"$=$revLimiterRPM - 200"
    },
},

}
