aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/vswe/stevescarts/ModuleData/GppModuleData.java
blob: cd073dc376df42720385222c7747175fd44b105e (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
package vswe.stevescarts.ModuleData;

import java.util.ArrayList;
import java.util.HashMap;

import net.minecraft.init.Items;

import vswe.stevescarts.Helpers.ComponentTypes;
import vswe.stevescarts.Items.ModItems;
import vswe.stevescarts.Modules.ModuleBase;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.xmod.sc2.modules.ModuleExoticSeeds;

public class GppModuleData extends ModuleData {

    static byte ID_ExoticSeedAddon = 105;
    public static ArrayList<ModuleData> moduleListCustom = new ArrayList<>();

    public GppModuleData(int id, String name, Class<? extends ModuleBase> moduleClass, int modularCost) {
        super(id, name, moduleClass, modularCost);
    }

    @SuppressWarnings("unchecked")
    public static void loadGpp() {
        try {
            HashMap<Byte, ModuleData> moduleList = (HashMap<Byte, ModuleData>) (ReflectionUtils
                    .getField(ModuleData.class, "moduleList").get(ModuleData.class));
            ModuleData netherWartModule = moduleList.get((byte) 58);

            ModuleDataGroup farmerGroup = netherWartModule.getRequirement().get(0);

            ModuleData exoticSeedModule = new ModuleData(
                    ID_ExoticSeedAddon,
                    "Crop: Exotic Seeds",
                    ModuleExoticSeeds.class,
                    20).addRequirement(farmerGroup).addRecipe(
                            new Object[][] { { Items.wheat_seeds }, { ComponentTypes.EMPTY_DISK.getItemStack() } });

            moduleListCustom.add(exoticSeedModule);

            HashMap<Byte, Boolean> validModules = (HashMap<Byte, Boolean>) (ReflectionUtils
                    .getField(ModItems.class, "validModules").get(ModItems.class));

            validModules.put(ID_ExoticSeedAddon, true);

        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}