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
|
package gtPlusPlus;
import java.io.File;
import java.util.Random;
import cofh.mod.ChildMod;
import cpw.mods.fml.common.*;
import cpw.mods.fml.common.Mod.CustomProperty;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
import gtPlusPlus.core.world.darkworld.biome.Biome_DarkWorld;
import gtPlusPlus.core.world.darkworld.block.blockDarkWorldGround;
import gtPlusPlus.core.world.darkworld.block.blockDarkWorldPollutedDirt;
import gtPlusPlus.core.world.darkworld.block.blockDarkWorldPortal;
import gtPlusPlus.core.world.darkworld.block.blockDarkWorldPortalFrame;
import gtPlusPlus.core.world.darkworld.item.itemDarkWorldPortalTrigger;
import gtPlusPlus.xmod.gregtech.HANDLER_GT;
import gtPlusPlus.xmod.gregtech.api.util.GTPP_Config;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.config.Configuration;
@MCVersion(value = "1.7.10")
@ChildMod(parent = CORE.MODID, mod = @Mod(modid = "GT++DarkWorld",
name = "GT++ Dark World",
version = CORE.VERSION,
dependencies = "after:Miscutils;after:Gregtech",
customProperties = @CustomProperty(k = "cofhversion", v = "true")))
public class GTplusplus_Secondary implements IFuelHandler, IWorldGenerator{
public static final String MODID2 = "GT++ Dark World";
public static final String VERSION2 = "0.1";
// Dark World Handler
Biome_DarkWorld DarkWorld_Biome;
Dimension_DarkWorld DarkWorld_Dimension;
public static int globalDarkWorldPortalSpawnTimer = 0;
@EventHandler
public void load(final FMLInitializationEvent e) {
Logger.INFO("Begin resource allocation for " + MODID2 + " V" + VERSION2);
//Load Dark World and Biome
GameRegistry.registerFuelHandler(this);
GameRegistry.registerWorldGenerator(this, 1);
DarkWorld_Biome.load();
DarkWorld_Dimension.load();
}
// Pre-Init
@Mod.EventHandler
public void preInit(final FMLPreInitializationEvent event) {
Logger.INFO("Loading " + MODID2 + " V" + VERSION2);
//Setup
setVars();
DarkWorld_Biome = new Biome_DarkWorld();
DarkWorld_Dimension = new Dimension_DarkWorld();
// Load Dark World
DarkWorld_Biome.instance = GTplusplus.instance;
DarkWorld_Dimension.instance = GTplusplus.instance;
DarkWorld_Biome.preInit(event);
DarkWorld_Dimension.preInit(event);
//Load/Set Custom Ore Gen
HANDLER_GT.sCustomWorldgenFile = new GTPP_Config(new Configuration(new File(new File(event.getModConfigurationDirectory(), "GTplusplus"), "WorldGeneration.cfg")));
}
void setVars(){
Dimension_DarkWorld.DIMID = DimensionManager.getNextFreeDimId();
Dimension_DarkWorld.portalBlock = new blockDarkWorldPortal();
Dimension_DarkWorld.portalItem = (itemDarkWorldPortalTrigger) (new itemDarkWorldPortalTrigger().setUnlocalizedName("dimensionDarkWorld_trigger"));
Item.itemRegistry.addObject(423, "dimensionDarkWorld_trigger", Dimension_DarkWorld.portalItem);
Dimension_DarkWorld.blockTopLayer = new blockDarkWorldGround();
Dimension_DarkWorld.blockSecondLayer = new blockDarkWorldPollutedDirt();
GameRegistry.registerBlock(Dimension_DarkWorld.blockTopLayer, "blockDarkWorldGround");
GameRegistry.registerBlock(Dimension_DarkWorld.blockSecondLayer, "blockDarkWorldGround2");
Blocks.fire.setFireInfo(Dimension_DarkWorld.blockTopLayer, 30, 20);
Dimension_DarkWorld.blockPortalFrame = new blockDarkWorldPortalFrame();
GameRegistry.registerBlock(Dimension_DarkWorld.blockPortalFrame, "blockDarkWorldPortalFrame");
}
@EventHandler
public void serverLoad(FMLServerStartingEvent event) {
DarkWorld_Biome.serverLoad(event);
DarkWorld_Dimension.serverLoad(event);
}
@Override
public int getBurnTime(ItemStack fuel) {
if (DarkWorld_Biome.addFuel(fuel) != 0)
return DarkWorld_Biome.addFuel(fuel);
if (DarkWorld_Dimension.addFuel(fuel) != 0)
return DarkWorld_Dimension.addFuel(fuel);
return 0;
}
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
chunkX = chunkX * 16;
chunkZ = chunkZ * 16;
if (world.provider.dimensionId == -1) {
DarkWorld_Biome.generateNether(world, random, chunkX, chunkZ);
}
if (world.provider.dimensionId == 0) {
DarkWorld_Biome.generateSurface(world, random, chunkX, chunkZ);
}
if (world.provider.dimensionId == -1) {
DarkWorld_Dimension.generateNether(world, random, chunkX, chunkZ);
}
if (world.provider.dimensionId == 0) {
}
}
@EventHandler
public static void postInit(final FMLPostInitializationEvent e) {
Logger.INFO("Finished loading Dark World plugin for GT++.");
}
}
|