summaryrefslogtreecommitdiff
path: root/src/main/java/jp/plusplus/fbs/AchievementRegistry.java
blob: 2f18e6c877df7c3d4a5319c7fefa806431eb03de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package jp.plusplus.fbs;

import jp.plusplus.fbs.api.IPottery;
import jp.plusplus.fbs.block.BlockCore;
import jp.plusplus.fbs.item.ItemCore;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.Achievement;
import net.minecraftforge.common.AchievementPage;
import net.minecraftforge.event.entity.player.AchievementEvent;

/**
 * Created by plusplus_F on 2015/11/30.
 */
public class AchievementRegistry {
    private static AchievementRegistry instance;

    public static Achievement insanity;
    public static Achievement madness;
    public static Achievement death;

    public static Achievement bonfire;
    public static Achievement extract;
    public static Achievement enchant;

    public static Achievement monocle;
    public static Achievement book;
    public static Achievement workbench;
    public static Achievement circle;
    public static Achievement witch;
    public static Achievement resonance;
    public static Achievement harvest;

    public static Achievement autumn;
    public static Achievement butterfly;
    public static Achievement sublimation;
    public static Achievement eternalAutumn;

    public static Achievement warp;
    public static Achievement crack;
    public static Achievement contract;
    public static Achievement tear;
    public static Achievement evil;
    public static Achievement best;
    public static Achievement infinity;

    public static Achievement beginner;
    public static Achievement appraisal;
    public static Achievement atelier;
    public static Achievement alchemy;
    public static Achievement herbGold;

    public static Achievement potter;
    public static Achievement grade;
    public static Achievement soulful;

    public static Achievement lucky;
    public static Achievement ga;

    private AchievementRegistry(){
    }
    private static AchievementRegistry instance(){
        return instance;
    }

    public static void register(){
        insanity=new AchievementInsanity("san", 7, -1, new ItemStack(ItemCore.lavender), null);
        madness=new AchievementInsanity("madness", 9, -2, new ItemStack(ItemCore.redLily), insanity);
        death=new AchievementInsanity("death", 9, -4, new ItemStack(ItemCore.redLilyDirty), madness);

        bonfire=new AchievementInsanity("bonfire", 7, 1, new ItemStack(BlockCore.bonfire), null);
        extract=new AchievementInsanity("extract", 9, 2, new ItemStack(ItemCore.alchemyMaterial, 1, 20), bonfire);
        enchant=new AchievementInsanity("enchant", 10, 4, new ItemStack(ItemCore.enchantScroll), extract);

        monocle=new AchievementInsanity("monocle", 0, 0, new ItemStack(ItemCore.monocle), null);
        book=new AchievementInsanity("book", 3, 0, new ItemStack(ItemCore.bookOld, 1, 555), monocle);
        workbench=new AchievementInsanity("workbench", 3, -2, new ItemStack(BlockCore.workbench), book);
        circle=new AchievementInsanity("circle", 4, -4, new ItemStack(BlockCore.magicCore), workbench);
        witch=new AchievementInsanity("witch", 5, -2, new ItemStack(ItemCore.membership), workbench);
        resonance=new AchievementInsanity("resonance", 3, 2, new ItemStack(ItemCore.staff2_1), book);
        harvest=new AchievementInsanity("harvest", 5, 1, new ItemStack(ItemCore.mpCoin), book).setSpecial();

        autumn=new AchievementInsanity("autumn", -1, -3, new ItemStack(BlockCore.fallenLeaves), null);
        butterfly=new AchievementInsanity("butterfly", -1, -5, new ItemStack(ItemCore.butterfly), autumn);
        sublimation=new AchievementInsanity("sublimation", 1, -5, new ItemStack(ItemCore.butterfly), butterfly).setSpecial();
        eternalAutumn=new AchievementInsanity("eternalAutumn", -2, -7, new ItemStack(BlockCore.portal2), butterfly);

        warp=new AchievementInsanity("warp", 4, -6, new ItemStack(ItemCore.cloak), circle);
        crack=new AchievementInsanity("crack", 5, -8, new ItemStack(ItemCore.stoneInactive), warp);
        contract=new AchievementInsanity("contract", 7, -8, new ItemStack(ItemCore.spiritSword), crack);
        tear=new AchievementInsanity("tear", 9, -7, new ItemStack(ItemCore.alchemyMaterial, 1, 40), contract);
        evil=new AchievementInsanity("evil", 7, -6, new ItemStack(ItemCore.alchemyPotion, 1, 2), contract);
        best=new AchievementInsanity("best", 8, -10, new ItemStack(ItemCore.spiritSword), contract).setSpecial();
        infinity=new AchievementInsanity("infinity", 11, -7, new ItemStack(ItemCore.infinityArmor), tear).setSpecial();

        beginner=new AchievementInsanity("beginner", -2, 2, new ItemStack(BlockCore.tableAlchemist), null);
        appraisal=new AchievementInsanity("appraisal", -4, 1, new ItemStack(ItemCore.herbUnknown), beginner);
        atelier=new AchievementInsanity("atelier", -4, -1, new ItemStack(BlockCore.alchemyCauldron), appraisal);
        alchemy=new AchievementInsanity("alchemy", -5, -3, new ItemStack(ItemCore.alchemyRecipe), atelier);
        herbGold=new AchievementInsanity("herbGold", -2, -1, new ItemStack(ItemCore.alchemyMaterial, 36), atelier);

        potter=new AchievementInsanity("potter", 1, 2, new ItemStack(BlockCore.pottersWheel), null);
        grade=new AchievementInsanity("grade", 0, 4, BlockCore.pot.getItemStack(IPottery.PotteryState.BAKED, IPottery.PotteryGrade.NORMAL, IPottery.PotterySize.MEDIUM, (byte)0, false), potter);
        soulful=new AchievementInsanity("soulful", -2, 4, BlockCore.pot.getItemStack(IPottery.PotteryState.BAKED, IPottery.PotteryGrade.NORMAL, IPottery.PotterySize.LARGE, (byte)0, false), grade).setSpecial();

        lucky=new AchievementInsanity("lucky", 1, -2, new ItemStack(ItemCore.mpCoin, 1, 5000), null).setSpecial();
        ga=new AchievementInsanity("ga", 6, -4, new ItemStack(BlockCore.schoolTable), null);

        Achievement[] page={
                insanity,madness, death,
                bonfire, extract, enchant,
                monocle, book, workbench, circle, witch, resonance, harvest,
                autumn, butterfly, sublimation, eternalAutumn,
                warp, crack, contract, tear, evil, best, infinity,
                beginner, appraisal, atelier, alchemy, herbGold,
                potter, grade, soulful,
                lucky, ga
        };
        AchievementPage.registerAchievementPage(new AchievementPage("Insanity", page));
    }
}