diff --git a/Common/src/main/java/me/hypherionmc/craterlib/platform/Services.java b/Common/src/main/java/me/hypherionmc/craterlib/platform/Services.java index d57cc2d..cbfeafb 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/platform/Services.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/platform/Services.java @@ -1,13 +1,14 @@ package me.hypherionmc.craterlib.platform; import me.hypherionmc.craterlib.CraterConstants; +import me.hypherionmc.craterlib.platform.services.IPlatformHelper; import me.hypherionmc.craterlib.platform.services.LibClientHelper; import java.util.ServiceLoader; public class Services { - //public static final IPlatformHelper PLATFORM = load(IPlatformHelper.class); + public static final IPlatformHelper PLATFORM = load(IPlatformHelper.class); public static final LibClientHelper CLIENT_HELPER = load(LibClientHelper.class); diff --git a/Common/src/main/java/me/hypherionmc/craterlib/util/RenderUtils.java b/Common/src/main/java/me/hypherionmc/craterlib/util/RenderUtils.java index 8339b13..d41048b 100644 --- a/Common/src/main/java/me/hypherionmc/craterlib/util/RenderUtils.java +++ b/Common/src/main/java/me/hypherionmc/craterlib/util/RenderUtils.java @@ -5,6 +5,8 @@ import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.world.item.DyeColor; +import java.awt.*; + public class RenderUtils { public static Vector4f colorIntToRGBA(int color) { @@ -56,4 +58,9 @@ public class RenderUtils { public static int renderColorFromDye(DyeColor color) { return color.getMaterialColor().col | 0xFF000000; } + + public static int alphaColorFromDye(DyeColor color, float alpha) { + float[] colors = color.getTextureDiffuseColors(); + return new Color(colors[0], colors[1], colors[2], alpha).getRGB(); + } } diff --git a/Fabric/src/main/java/me/hypherionmc/craterlib/common/FabricPlatformHelper.java b/Fabric/src/main/java/me/hypherionmc/craterlib/common/FabricPlatformHelper.java new file mode 100644 index 0000000..1f6082a --- /dev/null +++ b/Fabric/src/main/java/me/hypherionmc/craterlib/common/FabricPlatformHelper.java @@ -0,0 +1,26 @@ +package me.hypherionmc.craterlib.common; + +import me.hypherionmc.craterlib.platform.services.IPlatformHelper; +import net.fabricmc.loader.api.FabricLoader; + +/** + * @author HypherionSA + * @date 07/08/2022 + */ +public class FabricPlatformHelper implements IPlatformHelper { + + @Override + public String getPlatformName() { + return "Fabric"; + } + + @Override + public boolean isModLoaded(String modId) { + return FabricLoader.getInstance().isModLoaded(modId); + } + + @Override + public boolean isDevelopmentEnvironment() { + return FabricLoader.getInstance().isDevelopmentEnvironment(); + } +} diff --git a/Fabric/src/main/resources/META-INF/services/me.hypherionmc.craterlib.platform.services.IPlatformHelper b/Fabric/src/main/resources/META-INF/services/me.hypherionmc.craterlib.platform.services.IPlatformHelper new file mode 100644 index 0000000..59c73df --- /dev/null +++ b/Fabric/src/main/resources/META-INF/services/me.hypherionmc.craterlib.platform.services.IPlatformHelper @@ -0,0 +1 @@ +me.hypherionmc.craterlib.common.FabricPlatformHelper diff --git a/Forge/src/main/java/me/hypherionmc/craterlib/common/ForgePlatformHelper.java b/Forge/src/main/java/me/hypherionmc/craterlib/common/ForgePlatformHelper.java new file mode 100644 index 0000000..f8d443c --- /dev/null +++ b/Forge/src/main/java/me/hypherionmc/craterlib/common/ForgePlatformHelper.java @@ -0,0 +1,27 @@ +package me.hypherionmc.craterlib.common; + +import me.hypherionmc.craterlib.platform.services.IPlatformHelper; +import net.minecraftforge.fml.ModList; +import net.minecraftforge.fml.loading.FMLLoader; + +/** + * @author HypherionSA + * @date 07/08/2022 + */ +public class ForgePlatformHelper implements IPlatformHelper { + + @Override + public String getPlatformName() { + return "Forge"; + } + + @Override + public boolean isModLoaded(String modId) { + return ModList.get().isLoaded(modId); + } + + @Override + public boolean isDevelopmentEnvironment() { + return !FMLLoader.isProduction(); + } +} diff --git a/Forge/src/main/resources/META-INF/services/me.hypherionmc.craterlib.platform.services.IPlatformHelper b/Forge/src/main/resources/META-INF/services/me.hypherionmc.craterlib.platform.services.IPlatformHelper new file mode 100644 index 0000000..c1aaf3f --- /dev/null +++ b/Forge/src/main/resources/META-INF/services/me.hypherionmc.craterlib.platform.services.IPlatformHelper @@ -0,0 +1 @@ +me.hypherionmc.craterlib.common.ForgePlatformHelper diff --git a/gradle.properties b/gradle.properties index 774342b..9f578d2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ # Project version_major=1 version_minor=0 -version_patch=10d +version_patch=11d group=me.hypherionmc.craterlib # Common