From 911352f2eb3c81216182304cfb7112527466fd8d Mon Sep 17 00:00:00 2001 From: Timo Ley Date: Fri, 6 Jan 2023 17:48:28 +0100 Subject: [PATCH] feat: improve aspects --- .../java/dev/tilera/auracore/AuraCore.java | 2 +- src/main/java/dev/tilera/auracore/Config.java | 4 +++ .../java/dev/tilera/auracore/api/Aspects.java | 30 ++++++++++++++++--- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/main/java/dev/tilera/auracore/AuraCore.java b/src/main/java/dev/tilera/auracore/AuraCore.java index cfaae70..b3ea04f 100644 --- a/src/main/java/dev/tilera/auracore/AuraCore.java +++ b/src/main/java/dev/tilera/auracore/AuraCore.java @@ -29,7 +29,7 @@ import thaumcraft.api.aspects.AspectList; import thaumcraft.common.config.ConfigBlocks; import thaumcraft.common.config.ConfigItems; -@Mod(modid = "auracore", name = "AuraCore", version = "{VERSION}", dependencies = "required-after:Thaumcraft") +@Mod(modid = "auracore", name = "AuraCore", version = "{VERSION}", dependencies = "required-after:Thaumcraft;after:MagicBees") public class AuraCore { public static SimpleNetworkWrapper CHANNEL; diff --git a/src/main/java/dev/tilera/auracore/Config.java b/src/main/java/dev/tilera/auracore/Config.java index fab2dbb..5d9e935 100644 --- a/src/main/java/dev/tilera/auracore/Config.java +++ b/src/main/java/dev/tilera/auracore/Config.java @@ -12,6 +12,8 @@ public class Config { public static int specialNodeRarity = 75; public static boolean replaceSilverwood = true; public static boolean knowAllAspects = true; + public static boolean replaceAspects = true; + public static boolean legacyAspects = false; public static boolean noScanning() { return knowAllAspects; @@ -23,6 +25,8 @@ public class Config { specialNodeRarity = config.get("worldgen", "specialNodeRarity", specialNodeRarity).getInt(specialNodeRarity); replaceSilverwood = config.getBoolean("replaceSilverwood", "worldgen", replaceSilverwood, "Replace Silverwood trees with TC3 Silverwood"); knowAllAspects = config.getBoolean("knowAllAspects", "research", knowAllAspects, "Know all Aspects from beginning"); + replaceAspects = config.getBoolean("replaceAspects", "client", replaceAspects, "Replace some aspect textures"); + legacyAspects = config.getBoolean("legacyAspects", "aspects", legacyAspects, "Use TC3 item aspects"); config.save(); } diff --git a/src/main/java/dev/tilera/auracore/api/Aspects.java b/src/main/java/dev/tilera/auracore/api/Aspects.java index 60d96f0..7b4f48b 100644 --- a/src/main/java/dev/tilera/auracore/api/Aspects.java +++ b/src/main/java/dev/tilera/auracore/api/Aspects.java @@ -1,5 +1,8 @@ package dev.tilera.auracore.api; +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.relauncher.ReflectionHelper; +import dev.tilera.auracore.Config; import net.minecraft.util.ResourceLocation; import thaumcraft.api.aspects.Aspect; @@ -10,18 +13,37 @@ public class Aspects { public static final Aspect FLUX = new Aspect("mutatio", 12061625, new Aspect[] {Aspect.MAGIC, Aspects.EVIL}, new ResourceLocation("auracore", "textures/aspects/mutatio.png"), 1); public static final Aspect SOUND = new Aspect("sonus", 1100224, new Aspect[] {Aspect.SENSES, Aspect.AIR}, new ResourceLocation("auracore", "textures/aspects/sonus.png"), 1); public static final Aspect VISION = new Aspect("visum", 14013676, new Aspect[] {Aspect.SENSES, Aspect.LIGHT}, new ResourceLocation("auracore", "textures/aspects/visum.png"), 1); - public static final Aspect TIME = new Aspect("tempus", 9466080, new Aspect[] {Aspect.VOID, Aspect.ORDER}, new ResourceLocation("auracore", "textures/aspects/tempus.png"), 1); + public static Aspect TIME; public static final Aspect ROCK = new Aspect("saxum", 6047810, new Aspect[] {Aspect.EARTH, Aspect.EARTH}, new ResourceLocation("auracore", "textures/aspects/saxum.png"), 1); public static final Aspect DESTRUCTION = new Aspect("fractus", 0x506050, new Aspect[] {Aspect.ENTROPY, Aspect.ENTROPY}, new ResourceLocation("auracore", "textures/aspects/fractus.png"), 1); public static final Aspect PURE = new Aspect("purus", 10878973, new Aspect[] {Aspect.CRYSTAL, Aspect.ORDER}, new ResourceLocation("auracore", "textures/aspects/purus.png"), 1); public static final Aspect VALUABLE = new Aspect("carus", 15121988, new Aspect[] {Aspect.GREED, Aspects.PURE}, new ResourceLocation("auracore", "textures/aspects/carus.png"), 1); public static final Aspect CONTROL = new Aspect("imperito", 10000715, new Aspect[] {Aspect.MIND, Aspect.ORDER}, new ResourceLocation("auracore", "textures/aspects/imperito.png"), 1); - public static final Aspect SOIL = new Aspect("solum", 7421741, new Aspect[] {Aspect.EARTH, Aspects.ROCK}, new ResourceLocation("auracore", "textures/aspects/solum.png"), 1); - public static final Aspect FLOWER = new Aspect("flos", 0xFFFF40, new Aspect[] {Aspect.PLANT, Aspects.SOIL}, new ResourceLocation("auracore", "textures/aspects/flos.png"), 1); + public static final Aspect FLOWER = new Aspect("flos", 0xFFFF40, new Aspect[] {Aspect.PLANT, Aspect.EARTH}, new ResourceLocation("auracore", "textures/aspects/flos.png"), 1); public static final Aspect FUNGUS = new Aspect("fungus", 16246215, new Aspect[] {Aspect.PLANT, Aspect.TREE}, new ResourceLocation("auracore", "textures/aspects/fungus.png"), 1); public static final Aspect VIS = new VirtualAspect("vis", 9896128, new ResourceLocation("thaumcraft", "textures/aspects/praecantatio.png"), 1); - public static void load() {} + public static void load() { + if (Config.replaceAspects) { + ReflectionHelper.setPrivateValue(Aspect.class, Aspect.EARTH, 7421741, "color"); + ReflectionHelper.setPrivateValue(Aspect.class, Aspect.EARTH, new ResourceLocation("auracore", "textures/aspects/solum.png"), "image"); + ReflectionHelper.setPrivateValue(Aspect.class, Aspect.MIND, 0x8080EE, "color"); + ReflectionHelper.setPrivateValue(Aspect.class, Aspect.MIND, new ResourceLocation("auracore", "textures/aspects/cognitio.png"), "image"); + ReflectionHelper.setPrivateValue(Aspect.class, Aspect.AIR, 12632279, "color"); + ReflectionHelper.setPrivateValue(Aspect.class, Aspect.AIR, new ResourceLocation("auracore", "textures/aspects/aura.png"), "image"); + ReflectionHelper.setPrivateValue(Aspect.class, Aspect.TREE, 360709, "color"); + ReflectionHelper.setPrivateValue(Aspect.class, Aspect.TREE, new ResourceLocation("auracore", "textures/aspects/lignum.png"), "image"); + ReflectionHelper.setPrivateValue(Aspect.class, Aspect.FIRE, new ResourceLocation("auracore", "textures/aspects/ignis.png"), "image"); + } + if (Loader.isModLoaded("MagicBees")) { + TIME = Aspect.getAspect("tempus"); + ReflectionHelper.setPrivateValue(Aspect.class, TIME, 9466080, "color"); + ReflectionHelper.setPrivateValue(Aspect.class, TIME, new ResourceLocation("auracore", "textures/aspects/tempus.png"), "image"); + + } else { + TIME = new Aspect("tempus", 9466080, new Aspect[] {Aspect.VOID, Aspect.ORDER}, new ResourceLocation("auracore", "textures/aspects/tempus.png"), 1); + } + } }