Added ore generation
This commit is contained in:
parent
7e06505e84
commit
a819383759
3 changed files with 67 additions and 0 deletions
|
@ -25,6 +25,16 @@ public class Config {
|
||||||
public static int powerOreRenderID;
|
public static int powerOreRenderID;
|
||||||
|
|
||||||
public static File engineFile;
|
public static File engineFile;
|
||||||
|
public static boolean disableRodSpeed;
|
||||||
|
public static boolean disableRodHeal;
|
||||||
|
public static boolean disableRodHeat;
|
||||||
|
public static boolean disableRodEnder;
|
||||||
|
public static boolean generateNetherOre = true;
|
||||||
|
public static boolean generateOre = true;
|
||||||
|
public static int powerOreFreq = 4;
|
||||||
|
public static double netherFreq = 1.5;
|
||||||
|
public static int powerOreRarity = 8;
|
||||||
|
public static int powerOreSpawnHeight = 48;
|
||||||
|
|
||||||
|
|
||||||
private static void generateDefaultEngineFile() {
|
private static void generateDefaultEngineFile() {
|
||||||
|
|
|
@ -8,6 +8,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||||
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
|
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
|
||||||
import cpw.mods.fml.common.registry.EntityRegistry;
|
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||||
|
import cpw.mods.fml.common.registry.GameRegistry;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import ley.modding.dartcraft.block.DartBlocks;
|
import ley.modding.dartcraft.block.DartBlocks;
|
||||||
import ley.modding.dartcraft.entity.*;
|
import ley.modding.dartcraft.entity.*;
|
||||||
|
@ -19,6 +20,7 @@ import ley.modding.dartcraft.proxy.CommonProxy;
|
||||||
import ley.modding.dartcraft.tab.DartcraftTab;
|
import ley.modding.dartcraft.tab.DartcraftTab;
|
||||||
import ley.modding.dartcraft.util.ForceEngineLiquids;
|
import ley.modding.dartcraft.util.ForceEngineLiquids;
|
||||||
import ley.modding.dartcraft.util.FortunesUtil;
|
import ley.modding.dartcraft.util.FortunesUtil;
|
||||||
|
import ley.modding.dartcraft.worldgen.OreGen;
|
||||||
import ley.modding.tileralib.api.IRegistry;
|
import ley.modding.tileralib.api.IRegistry;
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
@ -55,6 +57,8 @@ public class Dartcraft {
|
||||||
|
|
||||||
proxy.init();
|
proxy.init();
|
||||||
|
|
||||||
|
GameRegistry.registerWorldGenerator(new OreGen(), 2);
|
||||||
|
|
||||||
int entityId = 0;
|
int entityId = 0;
|
||||||
EntityRegistry.registerModEntity(EntityColdChicken.class, "coldChicken", entityId++, Dartcraft.instance, 40, 1, true);
|
EntityRegistry.registerModEntity(EntityColdChicken.class, "coldChicken", entityId++, Dartcraft.instance, 40, 1, true);
|
||||||
EntityRegistry.registerModEntity(EntityColdCow.class, "coldCow", entityId++, Dartcraft.instance, 40, 1, true);
|
EntityRegistry.registerModEntity(EntityColdCow.class, "coldCow", entityId++, Dartcraft.instance, 40, 1, true);
|
||||||
|
|
53
src/main/java/ley/modding/dartcraft/worldgen/OreGen.java
Normal file
53
src/main/java/ley/modding/dartcraft/worldgen/OreGen.java
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
package ley.modding.dartcraft.worldgen;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.IWorldGenerator;
|
||||||
|
import ley.modding.dartcraft.Config;
|
||||||
|
import ley.modding.dartcraft.block.DartBlocks;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraft.world.chunk.IChunkProvider;
|
||||||
|
import net.minecraft.world.gen.feature.WorldGenMinable;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class OreGen implements IWorldGenerator {
|
||||||
|
|
||||||
|
WorldGenMinable powerMinable = new WorldGenMinable(DartBlocks.powerore, Config.powerOreFreq);
|
||||||
|
|
||||||
|
WorldGenMinable netherMinable = new WorldGenMinable(DartBlocks.powerore, 1, Config.powerOreFreq, Blocks.netherrack);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {
|
||||||
|
doGeneration(random, chunkX, chunkZ, world);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void doGeneration(Random rand, int chunkX, int chunkZ, World world) {
|
||||||
|
if (world.provider.dimensionId == -1 && Config.generateNetherOre) {
|
||||||
|
generateNether(rand, chunkX, chunkZ, world);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (world.provider.dimensionId == 1)
|
||||||
|
return;
|
||||||
|
if (Config.generateOre)
|
||||||
|
normalGen(rand, chunkX, chunkZ, world);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void generateNether(Random rand, int chunkX, int chunkZ, World world) {
|
||||||
|
for (int i = 0; i < (int)(Config.powerOreRarity * Config.netherFreq); i++) {
|
||||||
|
int posx = chunkX * 16 + rand.nextInt(16);
|
||||||
|
int posy = rand.nextInt(128);
|
||||||
|
int posz = chunkZ * 16 + rand.nextInt(16);
|
||||||
|
this.netherMinable.generate(world, rand, posx, posy, posz);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void normalGen(Random rand, int chunkX, int chunkZ, World world) {
|
||||||
|
for (int i = 0; i < Config.powerOreRarity; i++) {
|
||||||
|
int posx = chunkX * 16 + rand.nextInt(16);
|
||||||
|
int posy = rand.nextInt(Config.powerOreSpawnHeight);
|
||||||
|
int posz = chunkZ * 16 + rand.nextInt(16);
|
||||||
|
this.powerMinable.generate(world, rand, posx, posy, posz);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue