This repository has been archived on 2023-11-26. You can view files and clone it, but cannot push or open issues or pull requests.
RelicCraft/src/main/java/com/thebrokenrail/reliccraft/data/RelicData.java

64 lines
1.8 KiB
Java
Raw Normal View History

2020-04-04 02:32:34 +00:00
package com.thebrokenrail.reliccraft.data;
import java.util.Random;
public class RelicData {
public static class NameData {
public static final int VARIANT_MAX = 3;
public int variant = 0;
public static final int MAGIC_WORD_MAX = 7;
public int magicWord = 0;
}
public static final int[] COLORS = new int[]{
65535,
65280,
16776960,
16711935,
255,
16711680
};
public int color = COLORS[0];
public NameData name = new NameData();
public boolean enchantmentGlint = false;
public static final int MIN_DURABILITY = 20;
public static final int MAX_DURABILITY = 40;
public int maxDurability = 0;
public String[] attack = new String[0];
public static class UseData {
public enum Mode {
PROJECTILE,
TARGET,
SELF
}
public String[] actions = new String[0];
public Mode mode = Mode.SELF;
}
public UseData use = new UseData();
public static RelicData generate(Random random) {
RelicData data = new RelicData();
NameData name = new NameData();
name.variant = random.nextInt(NameData.VARIANT_MAX);
name.magicWord = random.nextInt(NameData.MAGIC_WORD_MAX);
data.name = name;
data.enchantmentGlint = random.nextBoolean();
data.maxDurability = random.nextInt(MAX_DURABILITY + 1) + MIN_DURABILITY;
data.attack = Actions.getRandomActions(random);
UseData use = new UseData();
use.mode = UseData.Mode.values()[random.nextInt(UseData.Mode.values().length)];
use.actions = Actions.getRandomActions(random);
data.use = use;
data.color = COLORS[random.nextInt(COLORS.length)];
return data;
}
}