*Hopefully* added support for respawning with Natura installed

This commit is contained in:
Adubbz 2013-12-23 09:10:49 +11:00
parent efcac6e089
commit 340cfe631f
1 changed files with 37 additions and 17 deletions

View File

@ -1,18 +1,12 @@
package biomesoplenty.world;
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SHROOM;
import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.NETHER_BRIDGE;
import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.NETHER_CAVE;
import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.FIRE;
import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.GLOWSTONE;
import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.NETHER_LAVA;
import java.util.List;
import java.util.Random;
import biomesoplenty.worldgen.WorldGenFlowersMeta;
import cpw.mods.fml.relauncher.ReflectionHelper;
import net.minecraft.block.Block;
import net.minecraft.block.BlockSand;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.util.IProgressUpdate;
import net.minecraft.world.ChunkPosition;
import net.minecraft.world.World;
@ -22,12 +16,7 @@ import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.MapGenBase;
import net.minecraft.world.gen.MapGenCavesHell;
import net.minecraft.world.gen.NoiseGeneratorOctaves;
import net.minecraft.world.gen.feature.WorldGenFire;
import net.minecraft.world.gen.feature.WorldGenFlowers;
import net.minecraft.world.gen.feature.WorldGenGlowStone1;
import net.minecraft.world.gen.feature.WorldGenGlowStone2;
import net.minecraft.world.gen.feature.WorldGenHellLava;
import net.minecraft.world.gen.feature.WorldGenMinable;
import net.minecraft.world.gen.feature.*;
import net.minecraft.world.gen.structure.MapGenNetherBridge;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.Event.Result;
@ -35,7 +24,15 @@ import net.minecraftforge.event.terraingen.ChunkProviderEvent;
import net.minecraftforge.event.terraingen.DecorateBiomeEvent;
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
import net.minecraftforge.event.terraingen.TerrainGen;
import biomesoplenty.worldgen.WorldGenFlowersMeta;
import java.lang.reflect.Field;
import java.util.List;
import java.util.Random;
import static net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SHROOM;
import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.NETHER_BRIDGE;
import static net.minecraftforge.event.terraingen.InitMapGenEvent.EventType.NETHER_CAVE;
import static net.minecraftforge.event.terraingen.PopulateChunkEvent.Populate.EventType.*;
public class ChunkProviderBOPNaturaHell implements IChunkProvider
{
@ -686,6 +683,29 @@ public class ChunkProviderBOPNaturaHell implements IChunkProvider
return 0;
}
@Override
public int getRespawnDimension (EntityPlayerMP player)
{
try
{
Field canRespawnInNether = ReflectionHelper.findField(Class.forName("mods.natura.common.PHNatura"), new String[] { "canRespawnInNether" });
if (canRespawnInNether.getBoolean(canRespawnInNether))
{
ChunkCoordinates coords = player.getBedLocation(-1);
if (coords != null)
return -1;
}
}
catch (Exception e)
{
}
return 0;
}
@Override
public void recreateStructures(int par1, int par2)
{