Skip to content

Commit edb31fe

Browse files
committed
Add misc.json
1 parent 60c5aed commit edb31fe

File tree

4 files changed

+86
-1
lines changed

4 files changed

+86
-1
lines changed

src/main/java/io/github/moulberry/repo/NEUConstants.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ public class NEUConstants implements IReloadable {
2020
EssenceCosts essenceCost;
2121
@Getter
2222
FairySouls fairySouls;
23-
23+
@Getter
24+
Misc misc;
2425
@Getter
2526
Leveling leveling;
2627

@@ -33,6 +34,7 @@ public void reload(NEURepository repository) throws NEURepositoryException {
3334
essenceCost = new EssenceCosts(repository.requireFile("constants/essencecosts.json").json(JsonObject.class));
3435
fairySouls = new FairySouls(repository.gson, repository.requireFile("constants/fairy_souls.json").json(new TypeToken<Map<String, JsonElement>>() {
3536
}));
37+
misc = repository.requireFile("constants/misc.json").json(Misc.class);
3638
leveling = repository.requireFile("constants/leveling.json").json(Leveling.class);
3739
}
3840

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package io.github.moulberry.repo.constants;
2+
3+
import com.google.gson.annotations.SerializedName;
4+
import io.github.moulberry.repo.data.NEUItem;
5+
import lombok.Getter;
6+
7+
import java.util.List;
8+
import java.util.Map;
9+
10+
@Getter
11+
public class Misc {
12+
// TODO: (necessary?)
13+
// - item types
14+
// - tier colors
15+
// - base stats
16+
// - cosmetics info
17+
// - features list
18+
// - minion cost
19+
/**
20+
* A list of the cost to start a slayer of that tier.
21+
*/
22+
@SerializedName("slayer_cost")
23+
List<String> slayerCost;
24+
/**
25+
* A map from {@code /locraw} mode name to a display name for that zone.
26+
*/
27+
@SerializedName("area_names")
28+
Map<String, String> areaNames;
29+
30+
/**
31+
* A map from API rank names to their respective renderers.
32+
*/
33+
Map<String, RankData> ranks;
34+
/**
35+
* A list of dash-less UUIDs of users with rainbow names in the profile viewer.
36+
*/
37+
@SerializedName("special_bois")
38+
List<String> rainbowNames;
39+
/**
40+
* A map from minion name without the {@code _TIER} postfix (e.g. {@code ACACIA_GENERATOR}) to the maximum level
41+
* for that minion.
42+
*/
43+
@SerializedName("minions")
44+
Map<String, Integer> maxMinionLevel;
45+
/**
46+
* The credit item for the NEU mod.
47+
*/
48+
NEUItem credits;
49+
/**
50+
* A list of talismans along with their upgrades. This list is not transitive (or rather talisman upgrades are
51+
* transitive, but this list has already resolved these transitive upgrades).
52+
*/
53+
@SerializedName("talisman_upgrades")
54+
Map<String, List<String>> talismanUpgrades;
55+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package io.github.moulberry.repo.constants;
2+
3+
import lombok.Value;
4+
import org.jetbrains.annotations.Nullable;
5+
6+
@Value
7+
public class RankData {
8+
/**
9+
* A one character color code, as used by minecraft's {@code §}.
10+
*/
11+
String color;
12+
/**
13+
* The prefix tag, typically enclosed in brackets.
14+
*/
15+
String tag;
16+
/**
17+
* Extra pluses for the prefix tag, in a user speified color.
18+
*/
19+
@Nullable
20+
String plus;
21+
}

src/test/java/TestMain.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@ public static void main(String[] args) throws NEURepositoryException {
2323
.filter(it -> it instanceof NEUUnknownRecipe).map(it -> (NEUUnknownRecipe) it)
2424
.map(NEUUnknownRecipe::getType)
2525
.collect(Collectors.toSet()));
26+
System.out.println("amount of people with rainbow names: " + repository.getConstants().getMisc().getRainbowNames().size());
27+
System.out.println("display name for dynamic zone: " + repository.getConstants().getMisc().getAreaNames().get("dynamic"));
28+
System.out.println("max blaze minion level: " + repository.getConstants().getMisc().getMaxMinionLevel().get("BLAZE_GENERATOR"));
29+
System.out.println("cost to start a T5 slayer quest: " + repository.getConstants().getMisc().getSlayerCost().get(4));
30+
System.out.println("tag for SUPERSTAR: " + repository.getConstants().getMisc().getRanks().get("SUPERSTAR").getTag());
31+
System.out.println("upgrades for CANDY_TALISMAN: " + repository.getConstants().getMisc().getTalismanUpgrades().get("CANDY_TALISMAN"));
32+
System.out.println("lore size of credits book (approximate number of contributors): " + repository.getConstants().getMisc().getCredits().getLore().size());
2633
System.out.println("pet mf (115): " + repository.getConstants().getBonuses().getPetRewards(115));
2734
System.out.println("skill reward (combat 60): " + repository.getConstants().getBonuses().getAccumulativeLevelingRewards("skill_combat", 60));
2835
System.out.println("parent of FLAWED_AMETHYST_GEM: " + repository.getConstants().getParents().getParent("FLAWED_AMETHYST_GEM"));

0 commit comments

Comments
 (0)