Working with biomes and such, trying to prevent crazy mob spawns

Signed-off-by: StevenRS11 <stevenrs11@aol.com>
This commit is contained in:
StevenRS11
2013-05-10 16:05:11 -04:00
parent e2a486d931
commit 5682e3fc30
7 changed files with 120 additions and 1 deletions

View File

@@ -0,0 +1,22 @@
package StevenDimDoors.mod_pocketDim;
import net.minecraft.world.biome.BiomeGenBase;
public class BiomeGenLimbo extends BiomeGenBase
{
protected BiomeGenLimbo(int par1)
{
super(par1);
this.theBiomeDecorator.treesPerChunk = 0;
this.theBiomeDecorator.flowersPerChunk = 0;
this.theBiomeDecorator.grassPerChunk = 0;
this.setBiomeName("Limbo");
this.setDisableRain();
this.spawnableMonsterList.clear();
this.spawnableCreatureList.clear();
this.spawnableWaterCreatureList.clear();
this.spawnableCaveCreatureList.clear();
}
}

View File

@@ -0,0 +1,21 @@
package StevenDimDoors.mod_pocketDim;
import net.minecraft.world.biome.BiomeGenBase;
public class BiomeGenPocket extends BiomeGenBase
{
protected BiomeGenPocket(int par1)
{
super(par1);
this.theBiomeDecorator.treesPerChunk = 0;
this.theBiomeDecorator.flowersPerChunk = 0;
this.theBiomeDecorator.grassPerChunk = 0;
this.setBiomeName("Pocket Dimension");
this.setDisableRain();
this.spawnableMonsterList.clear();
this.spawnableCreatureList.clear();
this.spawnableWaterCreatureList.clear();
this.spawnableCaveCreatureList.clear();
}
}

View File

@@ -4,9 +4,9 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.ChunkCoordinates; import net.minecraft.util.ChunkCoordinates;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.EnumGameType;
import net.minecraft.world.WorldProvider; import net.minecraft.world.WorldProvider;
import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.biome.WorldChunkManagerHell;
import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.chunk.IChunkProvider;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@@ -28,9 +28,20 @@ public class LimboProvider extends WorldProvider
public LimboProvider() public LimboProvider()
{ {
this.hasNoSky=true; this.hasNoSky=true;
super.worldChunkMgr = new WorldChunkManagerHell(mod_pocketDim.limboBiome, 0.0F, 0.0F);
// super.setAllowedSpawnTypes(false, false); // super.setAllowedSpawnTypes(false, false);
} }
@Override
public BiomeGenBase getBiomeGenForCoords(int x, int z)
{
return mod_pocketDim.limboBiome;
}
public boolean canRespawnHere() public boolean canRespawnHere()
{ {

View File

@@ -0,0 +1,25 @@
package StevenDimDoors.mod_pocketDim;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
import net.minecraft.world.ChunkPosition;
import net.minecraft.world.World;
import net.minecraft.world.WorldType;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.biome.WorldChunkManager;
import net.minecraft.world.gen.layer.GenLayer;
import net.minecraft.world.gen.layer.IntCache;
import net.minecraftforge.common.*;
import net.minecraftforge.event.terraingen.*;
import static net.minecraft.world.biome.BiomeGenBase.*;
public class WorldChunkManagerLimbo extends WorldChunkManager
{
public static ArrayList<BiomeGenBase> allowedBiomes = new ArrayList<BiomeGenBase>(Arrays.asList(forest, plains, taiga, taigaHills, forestHills, jungle. jungleHills));
}

View File

@@ -0,0 +1,23 @@
package StevenDimDoors.mod_pocketDim;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
import net.minecraft.world.ChunkPosition;
import net.minecraft.world.World;
import net.minecraft.world.WorldType;
import net.minecraft.world.biome.WorldChunkManager;
import net.minecraft.world.gen.layer.GenLayer;
import net.minecraft.world.gen.layer.IntCache;
import net.minecraftforge.common.*;
import net.minecraftforge.event.terraingen.*;
import static net.minecraft.world.biome.BiomeGenBase.*;
public class WorldChunkManagerPocket extends WorldChunkManager
{
}

View File

@@ -11,6 +11,7 @@ import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.Configuration; import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.DimensionManager; import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
@@ -150,6 +151,11 @@ public class mod_pocketDim
public static Item itemStabilizedLinkSignature; public static Item itemStabilizedLinkSignature;
public static BiomeGenBase limboBiome;
public static BiomeGenBase pocketBiome;
public static int limboBiomeID;
public static int pocketBiomeID;
public static PlayerRespawnTracker tracker= new PlayerRespawnTracker(); public static PlayerRespawnTracker tracker= new PlayerRespawnTracker();
@@ -311,6 +317,8 @@ public class mod_pocketDim
this.riftSpreadFactor = config.get("Int", "How many times a rift can spread- 0 prevents rifts from spreading at all. I dont recommend putting it highter than 5, because its rather exponential. ", 3).getInt(); this.riftSpreadFactor = config.get("Int", "How many times a rift can spread- 0 prevents rifts from spreading at all. I dont recommend putting it highter than 5, because its rather exponential. ", 3).getInt();
this.limboBiomeID=config.get("Int", "Biome ID for Limbo-", 217).getInt();
this.pocketBiomeID=config.get("Int", "Biome ID for Pockets-", 218).getInt();
config.save(); config.save();
@@ -346,6 +354,8 @@ public class mod_pocketDim
itemRiftBlade = (new ItemRiftBlade(itemRiftBladeID, Material.iron)).setUnlocalizedName("ItemRiftBlade"); itemRiftBlade = (new ItemRiftBlade(itemRiftBladeID, Material.iron)).setUnlocalizedName("ItemRiftBlade");
itemStabilizedLinkSignature = (new ItemStabilizedRiftSignature(itemStabilizedLinkSignatureID)).setUnlocalizedName("itemStabilizedRiftSig"); itemStabilizedLinkSignature = (new ItemStabilizedRiftSignature(itemStabilizedLinkSignatureID)).setUnlocalizedName("itemStabilizedRiftSig");
this.limboBiome= (new BiomeGenLimbo(this.limboBiomeID) );
this.pocketBiome= (new BiomeGenPocket(this.pocketBiomeID));
proxy.loadTextures(); proxy.loadTextures();
proxy.registerRenderers(); proxy.registerRenderers();
@@ -405,6 +415,10 @@ public class mod_pocketDim
GameRegistry.registerTileEntity(TileEntityDimDoor.class, "TileEntityDimDoor"); GameRegistry.registerTileEntity(TileEntityDimDoor.class, "TileEntityDimDoor");
GameRegistry.registerTileEntity(TileEntityRift.class, "TileEntityRift"); GameRegistry.registerTileEntity(TileEntityRift.class, "TileEntityRift");
//GameRegistry.addBiome(this.limboBiome);
//GameRegistry.addBiome(this.pocketBiome);
if(this.enableIronDimDoor) if(this.enableIronDimDoor)
{ {
GameRegistry.addRecipe(new ItemStack(itemDimDoor, 1), new Object[] GameRegistry.addRecipe(new ItemStack(itemDimDoor, 1), new Object[]

View File

@@ -4,6 +4,7 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.WorldProvider; import net.minecraft.world.WorldProvider;
import net.minecraft.world.biome.WorldChunkManagerHell;
import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.chunk.IChunkProvider;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
@@ -19,6 +20,8 @@ public class pocketProvider extends WorldProvider
public pocketProvider() public pocketProvider()
{ {
this.hasNoSky=true; this.hasNoSky=true;
super.worldChunkMgr = new WorldChunkManagerHell(mod_pocketDim.pocketBiome, 0.0F, 0.0F);
} }
// @SideOnly(Side.CLIENT) // @SideOnly(Side.CLIENT)