Skip to content
SnailPerson edited this page Oct 21, 2025 · 8 revisions

test n stuff

General Parts

Wheel Template
{
"generic": {
  "type": "ground_wheel",
  "forwardsDamageMultiplier": 1.0,
  "movementAnimations": [
    {
      "animationType": "rotation",
      "variable": "ground_rotation",
      "centerPoint": [0.0,0.0,0.0],
      "axis": [1.0,0.0,0.0]
    }
  ]
},
//We now should tell the mod we're describing a ground entity: something that guides vehicles on ground
"ground": { 
  "isWheel": true,
  "width": 0.5,
  "height": 1.0,
  "flatHeight": 0.4375,
  "climbHeight": 1.5,
  "motiveFriction": 0.75,
  "lateralFriction": 0.9,
  "wetFrictionPenalty": -0.05,
  "frictionModifiers": {
    "ice": -0.13,
    "snow": -0.2,
    "sand": -0.17,
    "gravel": -0.07,
    "clay": -0.1,
    "grass": -0.07,
    "dirt": -0.15,
    "metal": 0.1,
    "stone": 0.1,
    "glass": -0.1,
    "wood": -0.05
  }
},
"variableModifiers":[],
// Tells the game there is only 1 coloring of this item and it has no postfixes
"definitions": [ 
  {
    "subName": "",
    "name": "Sample Wheel",
    "extraMaterialLists": [
      []
    ]
  }
],
"rendering": {
  "animatedObjects": [
    //makes "tire" object of the wheels model dissapear when its popped
    {
      "objectName": "tire",
      "animations": [
        {
          "animationType": "visibility",
          "variable": "ground_isflat"
        }
      ]
    }
  ],
  "lightObjects": [],
  "sounds": [
  //wheel impact 
  	{
      "name": "mtsofficialpack:wheelimpact_low0",
      "soundVariations": [
      "mtsofficialpack:wheelimpact_low6",
      "mtsofficialpack:wheelimpact_low5",
      "mtsofficialpack:wheelimpact_low4",
      "mtsofficialpack:wheelimpact_low3",
      "mtsofficialpack:wheelimpact_low2",
      "mtsofficialpack:wheelimpact_low1",
      "mtsofficialpack:wheelimpact_low0"
      ],
      //activates once the wheel has a minimum of -0.2 m/s vertical speed AND touches the ground
      "activeAnimations": [
        {
          "animationType": "visibility",
          "variable": "vertical_speed",
          "clampMin": -100.0,
          //-0.1
          "clampMax": -0.2
        },
        {
          "animationType": "visibility",
          "variable": "ground_onground",
          "clampMin": 1.0,
          "clampMax": 1.0
        }
      ],
      //random pitch
      "pitchAnimations": [
        {
          "animationType": "translation",
          "variable": "random",
          "axis": [0.0,0.5,0.0],
          "offset": 0.75
        }
      ],
      //sound gets louder the faster the vehicle falls faster
      "volumeAnimations": [
        {
          "animationType": "translation",
          "variable": "vertical_speed",
          "axis": [0.0,-0.8,0.0],
          "offset": -0.15
        }
      ],
      "minDistance": 0.0,
      "minDistanceVolume": 1.0,
      "middleDistance": 8.0,
      "middleDistanceVolume": 1.00,
      "maxDistance": 15.0,
      "maxDistanceVolume": 0.0
      
    },
  
    //whelpop
    {
      "name": "mts:wheel_blowout",
      "activeAnimations": [
        {
          "animationType": "visibility",
          "variable": "ground_isflat",
          "clampMin": 1,
          "clampMax": 1
        }
      ],
      "minDistance": 0.0,
      "minDistanceVolume": 1.0,
      "maxDistance": 64.0,
      "maxDistanceVolume": 0.0
    },
    
  	//SKID
    {
      "name": "mts:wheel_skidding",
      "activeAnimations": [
      {
          "animationType": "visibility",
          "variable": "ground_onground",
          "clampMin": 1,
          "clampMax": 1
        },
        {
          "animationType": "visibility",
          "variable": "slip",
  		"absolute": true,
          "clampMin": 2,
          "clampMax": 1000
        }
      ],
      "volumeAnimations": [
        {
          "animationType": "translation",
          "variable": "slip",
  		"absolute": true,
          "axis": [0,0.03,0],
  		"clampMax": 0.9
        }
      ],
  	"pitchAnimations": [
  	  {
          "animationType": "translation",
          "variable": "slip",
  		"absolute": true,
          "axis": [0,0.002,0],
  		"offset": 0.8,
  		"clampMin": 0.8,
          "clampMax": 1001.0
        },
  	  {
          "animationType": "translation",
          "variable": "slip",
  		"absolute": true,
          "axis": [0,0.003,0],
  		"offset": -0.05,
  		"clampMin": 0.01,
  		"clampMax": 1001.0
        }
      ],
      "looping": true,
      "isExterior": true
    }
  ],
  "particles": [
    //driftsmoke
    {
      "type": "generic",
      "spawnEveryTick": true,
      "spawningOrientation": "entity",
      "renderingOrientation": "player",
      "quantity": 1,
      "duration": 120,
      "movementDuration": 55,
      "transparency": 0.15,
      "toTransparency": -0.001,
      "scale": 2.0,
      "toScale": 10.0,
      "hitboxSize": 0.2,
      "textureList": [
        "mts:textures/particles/big_smoke_0.png",
        "mts:textures/particles/big_smoke_1.png",
        "mts:textures/particles/big_smoke_2.png",
        "mts:textures/particles/big_smoke_3.png",
        "mts:textures/particles/big_smoke_4.png",
        "mts:textures/particles/big_smoke_5.png",
        "mts:textures/particles/big_smoke_6.png",
        "mts:textures/particles/big_smoke_7.png",
        "mts:textures/particles/big_smoke_8.png",
        "mts:textures/particles/big_smoke_9.png",
        "mts:textures/particles/big_smoke_10.png",
        "mts:textures/particles/big_smoke_11.png"
      ],
      "textureDelays": [10,10,10,10,10,10,10,10,10,10,10,10],
      "color": "FFFFFF",
      "toColor": "FFFFFF",
      "pos": [0.0,0.1,0.0],
      "spreadRandomness": [1.0E-4,1.0E-5,0.7],
      "initialVelocity": [1.0E-4,1.0E-4,-0.8],
      "activeAnimations": [
      {
          "animationType": "visibility",
          "variable": "ground_isflat",
          "clampMin": 0.0,
          "clampMax": 0.0
        },
        {
          "animationType": "visibility",
          "variable": "ground_onground",
          "clampMin": 1.0,
          "clampMax": 1.0
        },
        {
          "animationType": "visibility",
          "variable": "speed",
          "clampMin": 2.5,
          "clampMax": 999
        },
        {
          "animationType": "visibility",
          "variable": "slip",
          "clampMin": 6.0,
          "clampMax": 999,
          "absolute": true
        },
        {
          "animationType": "visibility",
          "variable": "0_4_2_cycle",
          "clampMin": 1,
          "clampMax": 1
        }
      ]
    },
    //driftmark
    {
      "type": "generic",
      "spawningOrientation": "world",
      "renderingOrientation": "fixed",
      "quantity": 1,
      "distance": 0.5,
      "duration": 260,
      "transparency": 0.5,
      "fadeTransparencyTime": 60,
      "scale": 0.666,
      "ignoreCollision": true,
      "hitboxSize": 0.1,
      "texture": "mtsofficialpack:textures/bullets/skid3_translucent.png",
      "pos": [0.0,-0.46,0.0],
      "rot": [-90.0,0.0,0.0],
      "initialVelocity": [0.0,0.0,0.0],
      "movementVelocity": [0.0,0.0,0.0],
      "terminalVelocity": [0.0,0.0,0.0],
      "activeAnimations": [
        {
          "animationType": "visibility",
          "variable": "ground_onground",
          "clampMin": 1.0,
          "clampMax": 1.0
        },
        {
          "animationType": "visibility",
          "variable": "speed",
          "clampMin": 0.5,
          "clampMax": 999
        },
        {
          "animationType": "visibility",
          "variable": "slip",
          "clampMin": 6.0,
          "clampMax": 999,
          "absolute": true
        }
      ]
    }
  ],
  "modelType": "obj"
},
"general": {
  "name": "Sample Wheel",
  "materialLists": [
    [
      "mts:mtsofficialpack.plating:1",
  	"mts:mtsofficialpack.metaltube:1",
  	"mts:mtsofficialpack.plastic:3"
    ]
  ],
  "radarWidth": 0.0,
  "radarRange": 0.0
}
}
Seat Template
{
"generic": {
  "type": "seat",
  "forwardsDamageMultiplier": 1.0,
  "mass": 10,
  "movementAnimations": []
},
"seat": {},
"definitions": [
  {
    "subName": "",
    "name": "Sample Seat",
    "extraMaterialLists": [
      [
      ]
    ]
  }
],
"rendering": {
  "lightObjects": [],
  "animatedObjects": [],
  "sounds": [
    //Plays a Place sound when placing the seat / part
    {
      "name": "mtsofficialpack:placesound/seat_place0",
      "soundVariations": [
      	"mtsofficialpack:placesound/seat_place0",
      	"mtsofficialpack:placesound/seat_place1",
      	"mtsofficialpack:placesound/seat_place2"
      ],
      "activeAnimations": [
      {
          "animationType": "visibility",
          "variable": "part_added_vehicle",
          "clampMin": 1.0,
          "clampMax": 1.0
        }
      ],
      "minDistance": 0.0,
      "minDistanceVolume": 1.0,
      "maxDistance": 24.0,
      "maxDistanceVolume": 0.0
    },
    //Plays a Remove sound when removing the seat / part
    {
      "name": "mtsofficialpack:placesound/engine_remove0",
      "soundVariations": [
      	"mtsofficialpack:placesound/engine_remove0",
      	"mtsofficialpack:placesound/engine_remove1",
      	"mtsofficialpack:placesound/engine_remove2"
      ],
      "activeAnimations": [
      {
          "animationType": "visibility",
          "variable": "part_removed_vehicle",
          "clampMin": 1.0,
          "clampMax": 1.0
        }
      ],
      "minDistance": 0.0,
      "minDistanceVolume": 1.0,
      "maxDistance": 16.0,
      "maxDistanceVolume": 0.0
    },
    // Sitting down plays a seatbelt sound
    {
      "name": "mtsofficialpack:bucklein",
      "activeAnimations": [
        {
          "animationType": "visibility",
          "variable": "seat_occupied",
          "clampMin": 1.0,
          "clampMax": 1.0
        }
      ],
      "minDistance": 0.0,
      "minDistanceVolume": 0.0,
      "middleDistance": 0.0,
      "middleDistanceVolume": 0.0,
      "maxDistance": 10.0,
      "maxDistanceVolume": 0.0
    },
    // Getting up plays a seatbelt opening sound
    {
      "name": "mtsofficialpack:buckleout",
      "activeAnimations": [
        {
          "animationType": "visibility",
          "variable": "seat_occupied"
        }
      ],
      "minDistance": 0.0,
      "minDistanceVolume": 0.0,
      "middleDistance": 0.0,
      "middleDistanceVolume": 0.0,
      "maxDistance": 10.0,
      "maxDistanceVolume": 0.0
    }
  ],
  "particles": [],
  "modelType": "obj"
},
"general": {
  "name": "Sample Seat",
  "description": "Lorem ipsum dollar seat amethyst",
  "materialLists": [
    [
      "mts:mtsofficialpack.plating:2",
  "mts:mtsofficialpack.metaltube:2"
    ]
  ],
  "radarWidth": 0.0,
  "radarRange": 0.0
}
}
Gun Template 🚧

Missile Rack Template 🚧

Crate Template
{
"generic": {
  "type": "interactable_crate",
  "forwardsDamageMultiplier": 1.0,
  "destroyable": true,
  "mass": 10,
  "width": 0.8,
  "height": 0.8
},
"interactable": {
  "interactionType": "crate",
  "feedsVehicles": true, //this means that things like tank turrets can pull ammunition from this crate
  "inventoryUnits": 2.0 //one unit corresponds to 9 slots. This value can be decimal, so 0.11 would be one slot only.
},
"definitions": [ // Tells the game there are 2 color variants of this item
  {
    "subName": "",
    "name": "Blank Crate",
    "inventoryTexture": "mtsofficialpack:textures/guis/inventory_crateblank.png",
    "extraMaterialLists": [
      []
    ]
  },
  {
    "subName": "_white",
    "name": "White Crate",
    "inventoryTexture": "mtsofficialpack:textures/guis/inventory_cratewhite.png",
    "extraMaterialLists": [
      [
        "tags:dyes/white:1"
      ]
    ]
  }
],
"rendering": {
"animatedObjects": [],
  "lightObjects": [],
  "particles": [],
  "sounds": [
      //this sound plays when closing the crate (plays once variable player_interacting is false again)
  	{
      "name": "mtsofficialpack:crateclose",
      "activeAnimations": [
        {
          "animationType": "visibility",
          "variable": "player_interacting",
          "clampMin": 0.0,
          "clampMax": 0.0
        }
      ],
      "minDistance": 0.0,
      "minDistanceVolume": 1.0,
      "maxDistance": 15.0,
      "maxDistanceVolume": 0.0
    },
      //this sound plays when opening the crate (plays once player_interacting tunes true)
    	{
      "name": "mtsofficialpack:crateopen",
      "activeAnimations": [
        {
          "animationType": "visibility",
          "variable": "player_interacting",
          "clampMin": 1.0,
          "clampMax": 1.0
        }
      ],
      "minDistance": 0.0,
      "minDistanceVolume": 1.0,
      "maxDistance": 15.0,
      "maxDistanceVolume": 0.0
    }
  ],
  "modelType": "obj"
},
"general": {
  "name": "Sample Crate",
  "description": "A boring ass sample crate.",
  "health": 50,
  "materialLists": [
    [
      "minecraft:chest:1"
    ]
  ],
  "radarWidth": 0.0,
  "radarRange": 0.0
}
}
Barrel Template
{
"generic": {
  "type": "interactable_barrel",
  "forwardsDamageMultiplier": 1.0,
  "destroyable": true,
  "mass": 20,
  "width": 0.8,
  "height": 1.0
},
"interactable": {
  "interactionType": "barrel",
  "inventoryUnits": 1.0 //1 inventory unit means 10 buckets of fuel. 2.0 would be 20 buckets of fuel, and so on
},
"definitions": [ // Tells the game there are 2 color variants of this item
  {
    "subName": "", //The texture for the red barrel would be simply called by the barrel-jsons name, barrel.png in this case
    "name": "Barrel",
    "extraMaterialLists": [
      [
        "tags:dyes/red:1"
      ]
    ]
  },
  {
    "subName": "_yellow", //for the yellow variant, the suffix _yellow is added to barrel.png, making it barrel_yellow.png
    "name": "Yellow Barrel",
    "description": "Its warm to the touch.", //This bit adds a description to this specific color variation
    "extraMaterialLists": [
      [
        "tags:dyes/yellow:1"
      ]
    ]
  }
],
 "collisionGroups": [
  {
    "isInterior": true,
    "collisions": [
      {
        "pos": [0.0,0.65,0.0],
        "width": 0.8,
        "height": 1.2
      }
    ]
  }
],
"rendering": {
  "sounds": [
      //Plays a Place sound when placing the part
    	{
      "name": "mtsofficialpack:placesound/barrel_place0",
      "soundVariations": [
      	"mtsofficialpack:placesound/barrel_place0",
      	"mtsofficialpack:placesound/barrel_place1"
      ],
      "activeAnimations": [
      {
          "animationType": "visibility",
          "variable": "part_added_vehicle",
          "clampMin": 1.0,
          "clampMax": 1.0
        }
      ],
      "minDistance": 0.0,
      "minDistanceVolume": 1.0,
      "maxDistance": 24.0,
      "maxDistanceVolume": 0.0
    },
    //Plays a remove sound when removing the part
    	{
      "name": "mtsofficialpack:placesound/barrel_remove0",
      "soundVariations": [
      	"mtsofficialpack:placesound/barrel_remove0",
      	"mtsofficialpack:placesound/barrel_remove1"
      ],
      "activeAnimations": [
      {
          "animationType": "visibility",
          "variable": "part_removed_vehicle",
          "clampMin": 1.0,
          "clampMax": 1.0
        }
      ],
      "minDistance": 0.0,
      "minDistanceVolume": 1.0,
      "maxDistance": 16.0,
      "maxDistanceVolume": 0.0
    }
  ],
  "particles": [],
  "modelType": "obj"
},
"general": {
  "name": "Barrel",
  "description": "A simple sample barrel part. Filled with tears of aspiring PAs.",
  "health": 50,
  "materialLists": [
    [
      "mts:mtsofficialpack.plating:6",
      "minecraft:cauldron:1"
    ]
  ],
  "radarWidth": 0.0,
  "radarRange": 0.0
}
}
Big fuggin Template 🚧

Bullets

Bullet Template 🚧
Bomb Template 🚧
Rocket Template 🚧
Missile Template 🚧
ඞඞඞඞඞඞඞ

Clone this wiki locally