-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathConductsServerTicker.java
78 lines (51 loc) · 2.18 KB
/
ConductsServerTicker.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package conducts;
import java.util.EnumSet;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.ITickHandler;
import cpw.mods.fml.common.TickType;
public class ConductsServerTicker implements ITickHandler {
/**
* Here we check if the player is about to finish a Hi
*/
@Override
public void tickStart(EnumSet<TickType> type, Object... tickData) {
EntityPlayerMP player = (EntityPlayerMP)tickData[0];
//System.out.println("PLAYER TICK! " + player.getItemInUse());
if (player.getItemInUse() != null && player.getItemInUse() == player.inventory.getCurrentItem() && player.getItemInUseCount() == 1)
{
// the player is about to finish using an item
//System.out.println("The player is about to finish an item." + player.getItemInUse() + " count = " + player.getItemInUseCount());
if (player.getCurrentEquippedItem() != null && player.getCurrentEquippedItem().getItemUseAction() == EnumAction.eat) {
player.triggerAchievement(ConductsPage.breatharian);
ItemFood currentFood = player.getCurrentEquippedItem().getItem() instanceof ItemFood ? (ItemFood)(player.getCurrentEquippedItem().getItem()) : null;
if (currentFood != null) {
if (currentFood.isWolfsFavoriteMeat() || currentFood.getUnlocalizedName().contains("fish")) {
player.triggerAchievement(ConductsPage.vegan);
player.triggerAchievement(ConductsPage.vegetarian);
} else {
player.triggerAchievement(ConductsPage.carnivore);
}
}
if (ConductEventListener.isItemUsedInRecipeFor(new ItemStack(Item.egg), new ItemStack(currentFood))
|| ConductEventListener.isItemUsedInRecipeFor(new ItemStack(Item.bucketMilk), new ItemStack(currentFood))) {
player.triggerAchievement(ConductsPage.vegan);
}
}
}
}
@Override
public void tickEnd(EnumSet<TickType> type, Object... tickData) {
}
@Override
public EnumSet<TickType> ticks() {
return EnumSet.of(TickType.PLAYER);
}
@Override
public String getLabel() {
return "Conducts Mod server-side";
}
}