diff --git a/LifeSourcesLight/LifeSourcesLight.cs b/LifeSourcesLight/LifeSourcesLight.cs index 5f7bd47..531d3eb 100644 --- a/LifeSourcesLight/LifeSourcesLight.cs +++ b/LifeSourcesLight/LifeSourcesLight.cs @@ -1,16 +1,23 @@ using Terraria.ModLoader; -using Terraria; -using Terraria.ID; namespace LifeSourcesLight { - public class LifeSourcesLight : Mod - { + public class LifeSourcesLight : Mod + { + internal static bool _enableHeartCrystalLight; + public static bool EnableHeartCrystalLight + { + get { return _enableHeartCrystalLight; } + } + + internal static bool _enableLifeFruitLight; + public static bool EnableLifeFruitLight + { + get { return _enableLifeFruitLight; } + } + public override void Load() { - Main.tileLighted[TileID.Heart] = true; - Main.tileLighted[TileID.LifeFruit] = true; - base.Load(); } } diff --git a/LifeSourcesLight/LifeSourcesLightConfig.cs b/LifeSourcesLight/LifeSourcesLightConfig.cs new file mode 100644 index 0000000..0363ce3 --- /dev/null +++ b/LifeSourcesLight/LifeSourcesLightConfig.cs @@ -0,0 +1,27 @@ +using System.ComponentModel; +using Terraria.ModLoader; +using Terraria.ModLoader.Config; + +namespace LifeSourcesLight +{ + [Label("Config")] + public class LifeSourcesLightConfig : ModConfig + { + public override ConfigScope Mode => ConfigScope.ClientSide; + + [DefaultValue(true)] + [Label("Enable Lighting for Heart Crystal")] + [Tooltip("Whether or not to enable lighting for the Heart Crystal.")] + public bool EnableHeartCrystalLight { get; set; } + + [DefaultValue(true)] + [Label("Enable Lighting for Life Fruit")] + [Tooltip("Whether or not to enable lighting for the Life Fruit.")] + public bool EnableLifeFruitLight { get; set; } + + public override void OnChanged() + { + ModContent.GetInstance()?.ApplySettings(); + } + } +} diff --git a/LifeSourcesLight/LifeSourcesLightModSystem.cs b/LifeSourcesLight/LifeSourcesLightModSystem.cs new file mode 100644 index 0000000..44bd29f --- /dev/null +++ b/LifeSourcesLight/LifeSourcesLightModSystem.cs @@ -0,0 +1,25 @@ +using Terraria; +using Terraria.ID; +using Terraria.ModLoader; + +namespace LifeSourcesLight +{ + public class LifeSourcesLightModSystem : ModSystem + { + private LifeSourcesLightConfig _configInstance; + + public LifeSourcesLightModSystem() : base() + { + _configInstance = ModContent.GetInstance(); + } + + public void ApplySettings() + { + LifeSourcesLight._enableHeartCrystalLight = _configInstance.EnableHeartCrystalLight; + LifeSourcesLight._enableLifeFruitLight = _configInstance.EnableLifeFruitLight; + + Main.tileLighted[TileID.Heart] = LifeSourcesLight._enableHeartCrystalLight; + Main.tileLighted[TileID.LifeFruit] = LifeSourcesLight._enableLifeFruitLight; + } + } +} diff --git a/LifeSourcesLight/LightOverrideHeartCrystal.cs b/LifeSourcesLight/LightOverrideHeartCrystal.cs index cd8c442..3a420c7 100644 --- a/LifeSourcesLight/LightOverrideHeartCrystal.cs +++ b/LifeSourcesLight/LightOverrideHeartCrystal.cs @@ -1,5 +1,4 @@ -using Terraria; -using Terraria.ID; +using Terraria.ID; using Terraria.ModLoader; namespace LifeSourcesLight @@ -11,10 +10,10 @@ namespace LifeSourcesLight public override void ModifyLight(int i, int j, int type, ref float r, ref float g, ref float b) { - if (type == TileID.Heart) + if (type == TileID.Heart && LifeSourcesLight.EnableHeartCrystalLight) { r = (255f / 255f) * LifeCrystalBrightCoefficient; - g = (38f / 255f) * LifeCrystalBrightCoefficient; + g = (38f / 255f) * LifeCrystalBrightCoefficient; b = (106f / 255f) * LifeCrystalBrightCoefficient; } } diff --git a/LifeSourcesLight/LightOverrideLifeFruit.cs b/LifeSourcesLight/LightOverrideLifeFruit.cs index 4a76e4d..7947e7d 100644 --- a/LifeSourcesLight/LightOverrideLifeFruit.cs +++ b/LifeSourcesLight/LightOverrideLifeFruit.cs @@ -1,5 +1,4 @@ -using Terraria; -using Terraria.ID; +using Terraria.ID; using Terraria.ModLoader; namespace LifeSourcesLight @@ -11,11 +10,11 @@ namespace LifeSourcesLight public override void ModifyLight(int i, int j, int type, ref float r, ref float g, ref float b) { - if (type == TileID.LifeFruit) + if (type == TileID.LifeFruit && LifeSourcesLight.EnableLifeFruitLight) { r = (170f / 255f) * LifeFruitBrightCoefficient; g = (221f / 255f) * LifeFruitBrightCoefficient; - b = (43f / 255f) * LifeFruitBrightCoefficient; + b = (43f / 255f) * LifeFruitBrightCoefficient; } } } diff --git a/LifeSourcesLight/build.txt b/LifeSourcesLight/build.txt index e7267d3..ef878d5 100644 --- a/LifeSourcesLight/build.txt +++ b/LifeSourcesLight/build.txt @@ -1,5 +1,5 @@ displayName = Heart Crystal & Life Fruit Glow author = Chev -version = 1.0.0 +version = 1.1.0 homepage = https://github.com/chev2/terraria-mods side = Client diff --git a/LifeSourcesLight/description.txt b/LifeSourcesLight/description.txt index 93bd3ca..bcfcf0e 100644 --- a/LifeSourcesLight/description.txt +++ b/LifeSourcesLight/description.txt @@ -1 +1,10 @@ Makes heart crystals & life fruits emit light. + +[c/00FFFF:Changelog] +[v1.1.0] 2022-08-26 +- Added: + - A basic config to enable/disable the Heart Crystal and Life Fruit glows individually. + - A changelog to the mod description. + +[v1.0.0] 2022-08-24 +- Initial release