From cdbbd891c43e082a36a32e49420bf87b6edd28e0 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Wed, 4 Sep 2019 22:24:39 -0400 Subject: More affix work --- .../darkknight/jewelrycraft/affixes/AffixMods.java | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java (limited to 'src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java') diff --git a/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java b/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java new file mode 100644 index 0000000..d124251 --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java @@ -0,0 +1,64 @@ +package darkknight.jewelrycraft.affixes; + +import java.util.*; + +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import darkknight.jewelrycraft.api.ModifierEffect; +import darkknight.jewelrycraft.random.WeightedRandomAffix; +import net.minecraft.util.WeightedRandom; + +public class AffixMods { + private static Map prefixes; + private static Map suffixes; + + private static List prefixGen; + private static List suffixGen; + + public static void initializeAffixes(FMLPreInitializationEvent fpie) { + prefixes = new HashMap(); + suffixes = new HashMap(); + + prefixGen = new LinkedList(); + suffixGen = new LinkedList(); + + ModifierEffect health1 = new HealthAffix(1); + ModifierEffect health2 = new HealthAffix(2); + ModifierEffect health3 = new HealthAffix(3); + + prefixes.put("health1", health1); + prefixes.put("health2", health2); + prefixes.put("health3", health3); + + prefixGen.add(new WeightedRandomAffix("health1", 10)); + prefixGen.add(new WeightedRandomAffix("health2", 7)); + prefixGen.add(new WeightedRandomAffix("health3", 5)); + + suffixes.put("health1", health1); + suffixes.put("health2", health2); + suffixes.put("health3", health3); + + suffixGen.add(new WeightedRandomAffix("health1", 10)); + suffixGen.add(new WeightedRandomAffix("health2", 7)); + suffixGen.add(new WeightedRandomAffix("health3", 5)); + } + + public static ModifierEffect getPrefix(String prefix) { + return prefixes.get(prefix); + } + + public static ModifierEffect getSuffix(String suffix) { + return suffixes.get(suffix); + } + + public static String pickPrefix(Random random) { + WeightedRandomAffix wra = ((WeightedRandomAffix) WeightedRandom.getRandomItem(random, prefixGen)); + + return wra.getAffix(random); + } + + public static String pickSuffix(Random random) { + WeightedRandomAffix wra = ((WeightedRandomAffix) WeightedRandom.getRandomItem(random, suffixGen)); + + return wra.getAffix(random); + } +} \ No newline at end of file -- cgit v1.2.3