diff options
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java')
| -rw-r--r-- | src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java | 64 |
1 files changed, 64 insertions, 0 deletions
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<String, ModifierEffect> prefixes; + private static Map<String, ModifierEffect> suffixes; + + private static List<WeightedRandomAffix> prefixGen; + private static List<WeightedRandomAffix> suffixGen; + + public static void initializeAffixes(FMLPreInitializationEvent fpie) { + prefixes = new HashMap<String, ModifierEffect>(); + suffixes = new HashMap<String, ModifierEffect>(); + + prefixGen = new LinkedList<WeightedRandomAffix>(); + suffixGen = new LinkedList<WeightedRandomAffix>(); + + 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 |
