aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/sol/HANDLER_SpiceOfLife.java
blob: 11cc5da89c25f62261e4842ed452db5c897403c5 (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
package gtPlusPlus.xmod.sol;

import java.lang.reflect.Constructor;

import cpw.mods.fml.common.registry.GameRegistry;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import net.minecraft.item.Item;

public class HANDLER_SpiceOfLife {

	public static final void preInit() {
		if (LoadedMods.SpiceOfLife) {
			//Add a new Lunch Box with a reasonable amount of slots
			tryRegisterNewLunchBox("foodcrate", 12);
		}
	}

	public static final void init() {
		if (LoadedMods.SpiceOfLife) {

		}
	}

	public static final void postInit() {		
		if (LoadedMods.SpiceOfLife) {
			
		}
	}
	
	private static boolean tryRegisterNewLunchBox(String aItemName, int aSlots) {
		Item aNewBox = getNewLunchBox(aItemName, aSlots);
		if (aNewBox != null) {
			GameRegistry.registerItem(aNewBox, aItemName);
			Logger.INFO("[Spice of Life] Registered "+aItemName+" as a new food container.");
			return true;
		}		
		return false;
	}
	
	private static Item getNewLunchBox(String aItemName, int aSlots) {
		Class aItemFoodContainer = ReflectionUtils.getClass("squeek.spiceoflife.items.ItemFoodContainer");
		if (aItemFoodContainer != null) {
			Constructor aItemFoodContainerConstructor = ReflectionUtils.getConstructor(aItemFoodContainer, new Class[] {String.class, int.class});
			if (aItemFoodContainerConstructor != null) {
				Object aNewObject = ReflectionUtils.createNewInstanceFromConstructor(aItemFoodContainerConstructor, new Object[] {aItemName, aSlots});
				if (aNewObject instanceof Item) {
					Item aNewInstance = (Item) aNewObject;
					return aNewInstance;
				}
			}
		}
		return null;
	}
	
	
	
	

}