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

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

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

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();
		}
	}

}