-
Notifications
You must be signed in to change notification settings - Fork 92
JSON Templates
SnailPerson edited this page Oct 21, 2025
·
8 revisions
test n stuff
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 🚧
Bullet Template 🚧
Bomb Template 🚧
Rocket Template 🚧
Missile Template 🚧
- The Absolute Basics
- Pack Making General Introduction
- Pack Making General Master File
- Pack Making General File Structure
- Pack Making General Item Textures and JSONs
- Pack Making General Languages
- Pack Making General Conventions
- Pack Making JSON Colors
- Pack Compiling for 1.16.5
- JSON Templates
- Hitbox Tool