aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/bartcrops/LoaderOfTheCrops.java
blob: 48813310d210d1c50cea31082957be170eadeb86 (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
package gtPlusPlus.xmod.bartcrops;

import java.util.ArrayList;
import java.util.List;

import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.xmod.bartcrops.crops.Crop_Hemp;
import ic2.api.crops.CropCard;
import ic2.api.crops.Crops;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

/**
 * Mostly borrowed from the Crops++ Crop Loader.
 * @author Alkalus
 */

public class LoaderOfTheCrops {
	
	private static List<Boolean> mHasCropObj = new ArrayList<Boolean>();
	private CropCard mCropObj;
	private ItemStack mBaseSeed;
	private static List<LoaderOfTheCrops> mCropList = cropLoader();

	public LoaderOfTheCrops(CropCard cropObj) {
		this.mCropObj = cropObj;
	}

	public LoaderOfTheCrops(CropCard cropObj, ItemStack baseseed) {
		this.mCropObj = cropObj;
		this.mBaseSeed = baseseed;
	}

	public static CropCard cropUnpackerCC(LoaderOfTheCrops inp) {
		return inp.mCropObj;
	}

	private static ItemStack cropUnpackerCG(LoaderOfTheCrops inp) {
		return inp.mBaseSeed;
	}

	private static LoaderOfTheCrops cropHelper(CropCard cropObj) {
		return new LoaderOfTheCrops(cropObj, ItemUtils.getItemStackOfAmountFromOreDict("crop" + cropObj.name(), 0));
	}

	public static final List<LoaderOfTheCrops> cropLoader() {
		List<LoaderOfTheCrops> p = new ArrayList<LoaderOfTheCrops>();		

		p.add(new LoaderOfTheCrops(new Crop_Hemp(), new ItemStack(Item.getItemById(111), 3)));
		
		return p;
	}

	private static final List<CropCard> cropObjs() {
		List<CropCard> p = new ArrayList<CropCard>();

		for (int i = 0; i < mCropList.size(); ++i) {
			p.add(cropUnpackerCC((LoaderOfTheCrops) mCropList.get(i)));
		}

		return p;
	}

	private static final List<ItemStack> setBaseSeed() {
		List<ItemStack> p = new ArrayList<ItemStack>();

		for (int i = 0; i < mCropList.size(); ++i) {
			p.add(cropUnpackerCG((LoaderOfTheCrops) mCropList.get(i)));
		}

		return p;
	}

	private static final List<String> setnames() {
		List<String> s = new ArrayList<String>();

		for (int i = 0; i < mCropList.size(); ++i) {
			s.add(((CropCard) cropObjs().get(i)).name());
		}

		return s;
	}

	public static void load(FMLPreInitializationEvent preinit) {		
		for (int i = 0; i < mCropList.size(); ++i) {
			mHasCropObj.add(true);
		}
	}

	public static void register() {
		for (int i = 0; i < mCropList.size(); ++i) {
			if ((Boolean) mHasCropObj.get(i) && cropObjs().get(i) != null) {
				Crops.instance.registerCrop((CropCard) cropObjs().get(i));
			}
		}
	}

	public static void registerBaseSeed() {
		List<ItemStack> baseseed = new ArrayList<ItemStack>(setBaseSeed());

		for (int i = 0; i < mCropList.size(); ++i) {
			if (baseseed.get(i) != null && cropObjs().get(i) != null) {
				Crops.instance.registerBaseSeed((ItemStack) baseseed.get(i), (CropCard) cropObjs().get(i), 1, 1, 1, 1);
			}
		}

	}
}