forked from NightKosh/Gravestone-mod-Graves
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModGraveStone.java
More file actions
111 lines (94 loc) · 3.82 KB
/
ModGraveStone.java
File metadata and controls
111 lines (94 loc) · 3.82 KB
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
package gravestone;
import gravestone.core.GSEntity;
import gravestone.core.event.GSEventsHook;
import gravestone.core.ModInfo;
import gravestone.core.GSPacketHandler;
import gravestone.core.GSStructures;
import gravestone.config.GraveStoneConfig;
import gravestone.core.GSItem;
import gravestone.core.proxy.CommonProxy;
import gravestone.core.localization.GraveStoneLocalizationHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.network.NetworkMod;
import gravestone.core.GSBlock;
import gravestone.core.GSGui;
import gravestone.core.GSReciepes;
import gravestone.core.GSTileEntity;
import gravestone.core.commands.GSCommands;
import gravestone.core.compatibility.GSCompatibility;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.MinecraftForge;
/**
* GraveStone mod
*
* @author NightKosh
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
*/
@Mod(modid = ModInfo.ID, name = ModInfo.NAME, version = ModInfo.VERSION)
@NetworkMod(clientSideRequired = true, serverSideRequired = false, packetHandler = GSPacketHandler.class, channels = {"GSDeathText", "GSResurrection"})
public class ModGraveStone {
@Instance("GraveStone")
public static ModGraveStone instance;
@SidedProxy(clientSide = "gravestone.core.proxy.ClientProxy", serverSide = "gravestone.core.proxy.CommonProxy")
public static CommonProxy proxy;
// creative tab
public static CreativeTabs creativeTab;
public ModGraveStone() {
instance = this;
}
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
GraveStoneLogger.preinit();
GraveStoneConfig.getInstance(event.getModConfigurationDirectory().getAbsolutePath() + "/GraveStoneMod/", "GraveStone.cfg");
GraveStoneLocalizationHandler.init();
GSStructures.preInit();
}
@Mod.EventHandler
public void load(FMLInitializationEvent event) {
// register death event
MinecraftForge.EVENT_BUS.register(new GSEventsHook());
// creative tab
creativeTab = new CreativeTabs("tabGraveStone") {
@Override
public ItemStack getIconItemStack() {
ItemStack stack = new ItemStack(GSBlock.graveStone, 1, 0);
NBTTagCompound nbt = new NBTTagCompound();
nbt.setByte("GraveType", (byte) 0);
stack.setTagCompound(nbt);
return stack;
}
};
// blocks registration
GSBlock.registration();
// items registration
GSItem.registration();
// reciepes registration
GSReciepes.registration();
// tileEntities registration
GSTileEntity.registration();
// Gui registration
GSGui.registration();
// register structures
GSStructures.getInstance();
// register entitys
GSEntity.getInstance();
proxy.registerRenderers();
}
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent event) {
GSCompatibility.getInstance().checkMods();
//GraveStoneLogger.logInfo(ModInfo.NAME + " has loaded successfully.");
}
@Mod.EventHandler
public void serverStarting(FMLServerStartingEvent event) {
GSCommands.getInstance(event);
}
}