summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java')
-rw-r--r--src/main/java/darkknight/jewelrycraft/affixes/AffixMods.java64
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