/
MainZombies.java
139 lines (109 loc) · 4.48 KB
/
MainZombies.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
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package fr.exodeus.zombies.Core;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import fr.exodeus.zombies.Objects.Capabilities.Capabilities;
import fr.exodeus.zombies.Objects.Capabilities.Capabilities.IPlayerExtendedProperties;
import fr.exodeus.zombies.Objects.Capabilities.PacketSyncPlayerData;
import fr.exodeus.zombies.Objects.Entity.EntityCreator;
import fr.exodeus.zombies.Objects.Game.Thirst.ThirstLogic;
import fr.exodeus.zombies.Objects.Items.CleanChain;
import fr.exodeus.zombies.Objects.Items.IronNugget;
import fr.exodeus.zombies.Objects.Items.RustyChain;
import fr.exodeus.zombies.Objects.Items.SandDust;
import fr.exodeus.zombies.Objects.Items.Drinks.PureWater;
import fr.exodeus.zombies.Objects.Items.Food.CookedFlesh;
import fr.exodeus.zombies.Objects.Items.Food.Donut;
import fr.exodeus.zombies.Objects.Items.Food.PurifiedFlesh;
import fr.exodeus.zombies.Objects.Items.Usable.Antibiotic;
import fr.exodeus.zombies.Objects.Items.Usable.Bandage;
import fr.exodeus.zombies.Objects.Potion.Bonebreak;
import fr.exodeus.zombies.Objects.Potion.Infection;
import fr.exodeus.zombies.Objects.Recipe.Recipes;
import fr.exodeus.zombies.Objects.Tab.ZombiesTab;
import fr.exodeus.zombies.Proxy.CommonProxy;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.CapabilityInject;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.relauncher.Side;
@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION)
public class MainZombies {
@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
public static CommonProxy proxy;
public SimpleNetworkWrapper network;
@CapabilityInject(IPlayerExtendedProperties.class)
public static final Capability<IPlayerExtendedProperties> CAPABILITY_THIRST = null;
@Instance
public static MainZombies instance;
public static final Logger logger = LogManager.getLogger(Reference.MOD_NAME);
public static void logString(String msg) {
logger.log(Level.INFO, msg);
}
// ===============================================================================================================
public static final ZombiesTab tabZombies = new ZombiesTab();
// ===============================================================================================================
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
// Simple Items
CleanChain.init();
CleanChain.register();
IronNugget.init();
IronNugget.register();
RustyChain.init();
RustyChain.register();
SandDust.init();
SandDust.register();
// Food Items
CookedFlesh.init();
CookedFlesh.register();
Donut.init();
Donut.register();
PurifiedFlesh.init();
PurifiedFlesh.register();
// Usable Items
Antibiotic.init();
Antibiotic.register();
Bandage.init();
Bandage.register();
// Drinks
PureWater.init();
PureWater.register();
// Starting Network
network = NetworkRegistry.INSTANCE.newSimpleChannel(Reference.MOD_ID);
// Capabilities
network.registerMessage(PacketSyncPlayerData.class, PacketSyncPlayerData.class, PacketSyncPlayerData.ID,
Side.CLIENT);
Capabilities.register();
}
@EventHandler
public void init(FMLInitializationEvent event) {
Recipes.loadRecipes();
EntityCreator.registerEntities();
Infection.init();
Bonebreak.init();
proxy.registerRenders();
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
Reference.registerAllPotionEffects();
// Register Events
proxy.registerEvents();
ThirstLogic.initThirstDamager();
}
public static void sendPlayerMessage(EntityPlayer player, String message, TextFormatting color) {
TextComponentString component = new TextComponentString(message);
component.getStyle().setColor(color);
player.sendMessage(component);
}
}