4.4 KiB
4.4 KiB
Speedometer resourcepack setup
This guide explains how to set up a speedometer resource pack for Minecraft, including file structure and configuration options.
Supported versions
This feature is supported in
- Speedometer 6.2 and forwards
- Minecraft 1.21.x and forward
pack.mcmeta
The mcmeta file has no differences just make sure it's a valid pack_format for the version
- 1.21.x:
"pack_format": 34 - I recommend adding this, so that you don't need to update the format since the only real requirement is using version 6.2 or newer of this mod
"supported_formats": {
"min_inclusive": 34,
"max_inclusive": 57 // This needs to be the leatest pack_format
}
File Locations
So the speedometer is built upon 2 main things
- speedometer.json
- speedometer.png this is a placeholder name
There is also the optional of
- pointer.png this is a placeholder name
resource pack tree
base
├── assets
│ └── speedometer # Referred to as a "module" in this documentation
│ ├── models
│ │ └── speedometer.json
│ ├── textures
│ │ ├── speedometer.png
│ │ └── pointer.png
├── pack.mcmeta
└── pack.png
speedometer.json example Standard speedometer.json file
{
"background": "speedometer:meter/speedometer.png",
"start": -45,
"end": 225,
"maxSpeed": 120,
"overflow": true,
"pointer": {
"color": "#b00219",
"length": 50,
"start": "center"
},
"scale": 1,
"name": "Full cycle style"
}
Explanation of values
- background
The file speedometer.png is located in the meter subdirectory of the textures folder, inside the speedometer module of your resource pack.
This can also have the valueminecraft:meter/speedometer.pngand it would instead point to the same location inside theminecraftmodule. - start
The angle in degrees where the pointer is pointing at when the speed is 0. This value has the 0 value of ether the
pointer/imageor to the right ofpointer/start - end
The angle in degrees where the pointer is pointing when
maxSpeedis reached. Same base value asstart - maxSpeed This value defines the maximum speed the speedometer will display. You can interpret this as blocks per second (b/s), kilometers per hour (km/h), or miles per hour (mph), depending on how you're measuring the in-game speed.
- overflow
This boolean is false if the pointer locks at the
endangle when the speed exceedsmaxSpeed. - pointer
This defines properties of the pointer.
- color not required, but if not present then
imagemost be The color value should be a hexadecimal RGB code, e.g., #b00219, where # is followed by six characters representing red, green, and blue values (00-FF for each component). - length not required if
imageis not defined The length in picture based on the original size of the background. - start
The start parameter defines where the pointer begins. You can use predefined strings (center, left, right) or specify a custom position using the format (x, y), where x and y are the coordinates. Alternatively, you can define an object with x and y keys to set exact positions.
If you use this with an image, it's the point of where the pointer image is rotates around - image
This defines the scaling factor for speed. The actual speed is calculated as baseSpeed^scale, where the base speed is raised to the power of the scale.
OPS this picture should be the same size as the background to not cause issues
- color not required, but if not present then
- scale
The scale of how to modify the speed as a power, this is the speed that
maxSpeedis based of. the way the speed passed tomaxSpeedis calculated isbaseSpeed^scale. - name A string that is the name of this speedometer. This is just used to send a log message about the speedometer
JSON formating help
I have created a JSON schema for this that is available at speedometer_config_schema.json, please refer to your Advanced Text Editor on how to add a schema, if your editor supports the $schema feature then add
"$schema": "https://raw.githubusercontent.com/zaze06/Speedometer/refs/heads/master/schemas/speedometer_config_schema.json",
in the root object, and the schema should apply, else if your editor supports it you can add the schema to all speedometer.json files