-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathClientProxy.java
63 lines (51 loc) · 1.96 KB
/
ClientProxy.java
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
package ca.wescook.nutrition.proxy;
import java.util.Stack;
import net.minecraft.client.settings.KeyBinding;
import net.minecraftforge.common.MinecraftForge;
import ca.wescook.nutrition.data.NutrientManager;
import ca.wescook.nutrition.events.EventNutritionButton;
import ca.wescook.nutrition.events.EventNutritionKey;
import ca.wescook.nutrition.events.EventTooltip;
import ca.wescook.nutrition.utility.Config;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
public class ClientProxy extends CommonProxy {
public static NutrientManager localNutrition; // Holds local copy of data/methods for client-side prediction
public static KeyBinding keyNutritionGui;
private static final Stack<Integer> hungerValues = new Stack<>();
@Override
public void init(FMLInitializationEvent event) {
if (Config.enableGui) { // If GUI is enabled
ClientRegistry.registerKeyBinding(keyNutritionGui = new KeyBinding("key.nutrition", 49, "Nutrition"));
FMLCommonHandler.instance()
.bus()
.register(new EventNutritionKey());
if (Config.enableGuiButton) {
MinecraftForge.EVENT_BUS.register(new EventNutritionButton());
}
}
if (Config.enableTooltips) {
MinecraftForge.EVENT_BUS.register(new EventTooltip()); // Register tooltip event
}
}
@Override
public boolean isClient() {
return true;
}
public static void pushHungerChange(int hungerValue) {
hungerValues.push(hungerValue);
}
public static void popHungerChange() {
if (!hungerValues.empty()) {
hungerValues.pop();
}
}
public static int getUnappliedHungerValues() {
int unapplied = 0;
while (!hungerValues.empty()) {
unapplied += hungerValues.pop();
}
return unapplied;
}
}