From ff516e3febd297edc4a8d5a2e5fd8c105816bd47 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Sat, 21 Mar 2026 10:57:00 +0100 Subject: [PATCH] End materials and cloaks --- .../org/saturnclient/cosmetics/Cloaks.java | 33 +------------------ .../java/org/saturnclient/cosmetics/Hats.java | 2 +- .../models/cosmetic/materials/end.mtl | 13 ++++++++ 3 files changed, 15 insertions(+), 33 deletions(-) create mode 100644 src/main/resources/assets/saturnclient/models/cosmetic/materials/end.mtl diff --git a/src/main/java/org/saturnclient/cosmetics/Cloaks.java b/src/main/java/org/saturnclient/cosmetics/Cloaks.java index 0d2611a..e725c48 100644 --- a/src/main/java/org/saturnclient/cosmetics/Cloaks.java +++ b/src/main/java/org/saturnclient/cosmetics/Cloaks.java @@ -5,7 +5,6 @@ import org.saturnclient.client.player.SaturnPlayer; import org.saturnclient.common.provider.Providers; import org.saturnclient.common.ref.asset.IdentifierRef; -import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.InputStream; @@ -23,7 +22,7 @@ import org.saturnclient.cosmetics.utils.GifDecoder; */ public class Cloaks { public static final String[] ALL_CLOAKS = { "glitch", "mercedes_flow", "crimson_mark", "bmw", "amg", "amg_petronas", - "ferrari", "redbull", "black_hole_amethyst", "black_hole_flame", "black_hole_white", "albania_mark" }; + "ferrari", "redbull", "black_hole_amethyst", "black_hole_flame", "black_hole_white", "albania_mark", "end" }; private static final String[] ANIMATED_CLOAKS = { "glitch", "black_hole_amethyst", "black_hole_flame", "black_hole_white" }; @@ -81,40 +80,10 @@ public class Cloaks { if (cloakName != null && !cloakName.isEmpty()) { if (Arrays.asList(ANIMATED_CLOAKS).contains(cloakName)) { Providers.saturn.getClient().executeOnThread(() -> loadAnimatedCloak(cloakName)); - } else { - Providers.saturn.getClient().executeOnThread(() -> loadStaticCloak(cloakName + ".png")); } } } - /** - * Loads and processes a static cloak from a PNG file in resources. - * - * @param fileName Name of the PNG file to load - */ - private static void loadStaticCloak(String fileName) { - try { - String resourcePath = CLOAKS_RESOURCE_PATH + fileName; - InputStream inputStream = Cloaks.class.getClassLoader().getResourceAsStream(resourcePath); - - if (inputStream != null) { - BufferedImage image = ImageIO.read(inputStream); - - // Add debug logging for static cloak - Providers.saturn.logInfo("Static cloak dimensions: " + image.getWidth() + "x" + image.getHeight()); - - String safeFileName = fileName.toLowerCase(Locale.ROOT) - .replace(' ', '_') - .replaceAll("[^a-z0-9/._-]", ""); - - cloakCacheIdentifier = IdentifierRef.ofSaturn("cloaks_" + safeFileName); - Providers.saturn.registerBufferedImageTexture(cloakCacheIdentifier, image); - } - } catch (IOException e) { - Providers.saturn.logError("Failed to load static cloak from resources: " + fileName, e); - } - } - public static void loadAnimatedCloak(String cloakName) { String fileName = cloakName + ".gif"; diff --git a/src/main/java/org/saturnclient/cosmetics/Hats.java b/src/main/java/org/saturnclient/cosmetics/Hats.java index 37a8f74..9b1372d 100644 --- a/src/main/java/org/saturnclient/cosmetics/Hats.java +++ b/src/main/java/org/saturnclient/cosmetics/Hats.java @@ -8,7 +8,7 @@ import org.saturnclient.client.ServiceClient; import org.saturnclient.client.player.SaturnPlayer; public class Hats { - public static final String[] ALL_HATS = { "horns_black", "horns_white", "halo", "halo_black" }; + public static final String[] ALL_HATS = { "horns_black", "horns_white", "halo", "halo_black", "horns_end", "halo_end" }; public static List availableHats = new ArrayList<>(); public static void initialize() { diff --git a/src/main/resources/assets/saturnclient/models/cosmetic/materials/end.mtl b/src/main/resources/assets/saturnclient/models/cosmetic/materials/end.mtl new file mode 100644 index 0000000..f9f07c9 --- /dev/null +++ b/src/main/resources/assets/saturnclient/models/cosmetic/materials/end.mtl @@ -0,0 +1,13 @@ +# Blender MTL File: 'None' +# Material Count: 1 + +newmtl tex +Ns 250.000000 +Ka 1.000000 1.000000 1.000000 +Kd 0.800000 0.800000 0.800000 +Ks 0.500000 0.500000 0.500000 +Ke 0.000000 0.000000 0.000000 +Ni 1.450000 +d 1.000000 +illum 2 +map_Kd saturnclient:textures/item/end.png