6 Commits
6.2.2 ... 6.2.4

Author SHA1 Message Date
4b2a150a30 Added translation key speedometer.config.error.missing_cloth.open_config
- Added Swedish and English translations
2025-04-01 02:21:17 +02:00
bd205b5ae6 Updated to 2.6.4
Changed the ClickEvent constructor for the missing cloth error with the new ClickEvent#OpenFile
2025-04-01 02:03:05 +02:00
192735d352 Merge remote-tracking branch 'origin/master' 2025-04-01 01:19:58 +02:00
216a498d72 Updated Gradle version to 8.13
Updated Architectury.loom to 1.10
Added Client#getPosImp to get some pre-processing of the position
\ Planes to replace the Client#getPos method

Updated to 6.2.3
This version is mostly needed for NeoForged due to changes of how the ClientReloadListenerEvent is added see changes in SpeedometerNeoForge.EventHandler#onResourceReload

version 6.2.2 is no longer marked as 1.21.4 compatible
2025-04-01 01:19:15 +02:00
Zacharias
d7dbf65446 Update resourcepack.md
Fixed the spesification of a comented json object from JSON to JSONC
2025-03-26 11:08:20 +01:00
Zacharias
3e282612a3 Update resourcepack.md
Fixed an î to an i
2024-12-20 21:19:55 +01:00
8 changed files with 45 additions and 25 deletions

View File

@@ -1,6 +1,6 @@
plugins { plugins {
id "architectury-plugin" version "3.4-SNAPSHOT" id "architectury-plugin" version "3.4-SNAPSHOT"
id "dev.architectury.loom" version "1.7-SNAPSHOT" apply false id "dev.architectury.loom" version "1.10-SNAPSHOT" apply false
} }
architectury { architectury {

View File

@@ -63,11 +63,10 @@ public class Client {
Component Component
.translatable("speedometer.error.missing_cloth") .translatable("speedometer.error.missing_cloth")
.withColor(new Color(190, 0, 0).getRGB()) .withColor(new Color(190, 0, 0).getRGB())
.append(" ")
.append(Component .append(Component
.literal("Open Config") .translatable("speedometer.error.missing_cloth.open_config")
.withStyle(ChatFormatting.UNDERLINE) .withStyle(ChatFormatting.UNDERLINE)
.withStyle((style) -> style.withClickEvent(new ClickEvent(ClickEvent.Action.OPEN_FILE, Config.getConfigPath()))) .withStyle((style) -> style.withClickEvent(new ClickEvent.OpenFile(Config.getConfigPath())))
), false); ), false);
LOGGER.warn(Component.translatable("speedometer.error.missing_cloth").getString()); LOGGER.warn(Component.translatable("speedometer.error.missing_cloth").getString());
} }
@@ -145,8 +144,8 @@ public class Client {
default -> 0; default -> 0;
}; };
int yPos = getPos(graphics, width, Config.getYPosition(), false); int yPos = getPosImp(graphics, width, Config.getYPosition(), false);
int xPos = getPos(graphics, width, Config.getXPosition(), true); int xPos = getPosImp(graphics, width, Config.getXPosition(), true);
int lineHeight = Minecraft.getInstance().font.lineHeight; int lineHeight = Minecraft.getInstance().font.lineHeight;
@@ -223,6 +222,22 @@ public class Client {
); );
} }
private static int getPosImp(GuiGraphics event, int width, String input, boolean isXPosition){
input = input.trim();
input = input
.replaceAll("(W+)|(H+)", String.valueOf(isXPosition?event.guiWidth():event.guiHeight()))
.replaceAll("(w+)|(h+)", String.valueOf(isXPosition?event.guiWidth()/2:event.guiHeight()/2))
.replaceAll("(S+)|(s+)", String.valueOf(width));
if((Config.isDebug()) && Config.getCounter() < 2) {
//String speedDisplayType = SpeedTypes.getName(Config.getSpeedType()).getString();
//String splitRawSpeedPosition = Arrays.toString(passerPose.toArray());
//String rawSpeedPosition = isXPosition ? Config.getXPosition() : Config.getYPosition();
LOGGER.info("Selected speed type(DEBUG): {}\n{}\n\n\n", isXPosition, input);
Config.addCounter();
}
return getPos(event, width, input, isXPosition);
}
private static int getPos(GuiGraphics event, int width, String input, boolean isXPosition) { private static int getPos(GuiGraphics event, int width, String input, boolean isXPosition) {
ArrayList<String> passerPose = new ArrayList<>(); ArrayList<String> passerPose = new ArrayList<>();
final char[] s = input.toCharArray(); final char[] s = input.toCharArray();

View File

@@ -68,7 +68,8 @@
"speedometer.config.error.size_outofbounds": "The size is out of bounds 10<=size<=300", "speedometer.config.error.size_outofbounds": "The size is out of bounds 10<=size<=300",
"speedometer.error.missing_cloth": "Missing Cloth Config API for Config Screen", "speedometer.error.missing_cloth": "Missing Cloth Config API for Config Screen, ",
"speedometer.error.missing_cloth.open_config": "Open Config",
"resourcepack.speedometer.quarter_circle_speedometer": "Quarter circle Speedometer" "resourcepack.speedometer.quarter_circle_speedometer": "Quarter circle Speedometer"
} }

View File

@@ -68,7 +68,8 @@
"speedometer.config.error.size_outofbounds": "Stolekten är felakting 10<=stolek<=300", "speedometer.config.error.size_outofbounds": "Stolekten är felakting 10<=stolek<=300",
"speedometer.error.missing_cloth": "Saknar Cloth Config API för konfigurationsskärmen", "speedometer.error.missing_cloth": "Saknar Cloth Config API för konfigurationsskärmen, ",
"speedometer.error.missing_cloth.open_config": "Öppna Config",
"resourcepack.speedometer.quarter_circle_speedometer": "Quarter circle Speedometer" "resourcepack.speedometer.quarter_circle_speedometer": "Quarter circle Speedometer"
} }

View File

@@ -1,29 +1,29 @@
org.gradle.jvmargs=-Xmx8G org.gradle.jvmargs=-Xmx8G
minecraft_version=1.21.4 minecraft_version=1.21.5
archives_base_name=speedometer archives_base_name=speedometer
mod_version=6.2.2 mod_version=6.2.4
maven_group=me.zacharias maven_group=me.zacharias
# https://modrinth.com/mod/architectury-api/versions # https://modrinth.com/mod/architectury-api/versions
architectury_version=15.0.1 architectury_version=16.0.3
# https://modrinth.com/mod/cloth-config/versions # https://modrinth.com/mod/cloth-config/versions
cloth_config_version = 17.0.144 cloth_config_version = 18.0.145
# NeoForged Only # NeoForged Only
# https://neoforged.net/ # https://neoforged.net/
neoforge_version = 21.4.30-beta neoforge_version = 21.5.14-beta
# Fabric Only # Fabric Only
# https://fabricmc.net/develop/ # https://fabricmc.net/develop/
fabric_loader_version=0.16.9 fabric_loader_version=0.16.10
fabric_api_version=0.112.1 fabric_api_version=0.119.6
# Fabric Only # Fabric Only
# https://modrinth.com/mod/modmenu/versions # https://modrinth.com/mod/modmenu/versions
modmenu_version = 13.0.0-beta.1 modmenu_version = 14.0.0-rc.2
# Version of the org.json json library # Version of the org.json json library
json_version = 20240303 json_version = 20240303

View File

@@ -1,6 +1,6 @@
#Fri Jun 21 10:45:53 CEST 2024 #Fri Jun 21 10:45:53 CEST 2024
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@@ -2,6 +2,7 @@ package me.zacharias.speedometer.forge;
import com.mojang.datafixers.util.Unit; import com.mojang.datafixers.util.Unit;
import me.zacharias.speedometer.Speedometer; import me.zacharias.speedometer.Speedometer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.server.packs.resources.SimplePreparableReloadListener; import net.minecraft.server.packs.resources.SimplePreparableReloadListener;
import net.minecraft.util.profiling.ProfilerFiller; import net.minecraft.util.profiling.ProfilerFiller;
@@ -11,10 +12,12 @@ import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.fml.common.Mod; import net.neoforged.fml.common.Mod;
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent; import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
import net.neoforged.neoforge.client.event.RegisterClientReloadListenersEvent; import net.neoforged.neoforge.client.event.AddClientReloadListenersEvent;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@Mod(Speedometer.MOD_ID) import static me.zacharias.speedometer.Speedometer.MOD_ID;
@Mod(MOD_ID)
public class SpeedometerNeoForge { public class SpeedometerNeoForge {
public SpeedometerNeoForge(IEventBus eventBus) { public SpeedometerNeoForge(IEventBus eventBus) {
// Submit our event bus to let architectury register our content on the right time // Submit our event bus to let architectury register our content on the right time
@@ -24,7 +27,7 @@ public class SpeedometerNeoForge {
} }
} }
@EventBusSubscriber(modid = Speedometer.MOD_ID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) @EventBusSubscriber(modid = MOD_ID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
class EventHandler class EventHandler
{ {
/** /**
@@ -34,8 +37,8 @@ class EventHandler
* @param event The event that is fired when the client reloads resources * @param event The event that is fired when the client reloads resources
*/ */
@SubscribeEvent @SubscribeEvent
private static void onResourceReload(RegisterClientReloadListenersEvent event) { private static void onResourceReload(AddClientReloadListenersEvent event) {
event.registerReloadListener(new SimplePreparableReloadListener<Unit>() { event.addListener(ResourceLocation.fromNamespaceAndPath(MOD_ID, "reload_listener"), new SimplePreparableReloadListener<Unit>() {
@Override @Override
protected @NotNull Unit prepare(@NotNull ResourceManager arg, @NotNull ProfilerFiller arg2) { protected @NotNull Unit prepare(@NotNull ResourceManager arg, @NotNull ProfilerFiller arg2) {
return Unit.INSTANCE; return Unit.INSTANCE;

View File

@@ -10,7 +10,7 @@ This feature is supported in
The mcmeta file has no differences just make sure it's a valid pack_format for the version The mcmeta file has no differences just make sure it's a valid pack_format for the version
- 1.21.x: `"pack_format": 34` - 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 - 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
```json ```jsonc
"supported_formats": { "supported_formats": {
"min_inclusive": 34, "min_inclusive": 34,
"max_inclusive": 57 // This needs to be the leatest pack_format "max_inclusive": 57 // This needs to be the leatest pack_format
@@ -71,7 +71,7 @@ base
This boolean is false if the pointer locks at the `end` angle when the speed exceeds `maxSpeed`. This boolean is false if the pointer locks at the `end` angle when the speed exceeds `maxSpeed`.
- pointer - pointer
This defines properties of the pointer. This defines properties of the pointer.
- color *not required, but if not present then `ìmage` most be* - color *not required, but if not present then `image` most 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). 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 `image` is not defined* - length *not required if `image` is not defined*
The length in picture based on the original size of the background. The length in picture based on the original size of the background.