Removed door re-write for now
This commit is contained in:
@@ -1,12 +1,25 @@
|
|||||||
package StevenDimDoors.mod_pocketDim;
|
package StevenDimDoors.mod_pocketDim;
|
||||||
|
|
||||||
|
import net.minecraft.entity.Entity;
|
||||||
|
import net.minecraft.entity.EntityLiving;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.util.ChunkCoordinates;
|
||||||
|
import net.minecraft.util.DamageSource;
|
||||||
import net.minecraftforge.client.event.sound.SoundLoadEvent;
|
import net.minecraftforge.client.event.sound.SoundLoadEvent;
|
||||||
|
import net.minecraftforge.common.DimensionManager;
|
||||||
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
import net.minecraftforge.event.EventPriority;
|
||||||
import net.minecraftforge.event.ForgeSubscribe;
|
import net.minecraftforge.event.ForgeSubscribe;
|
||||||
|
import net.minecraftforge.event.entity.living.LivingDeathEvent;
|
||||||
import net.minecraftforge.event.entity.living.LivingFallEvent;
|
import net.minecraftforge.event.entity.living.LivingFallEvent;
|
||||||
import net.minecraftforge.event.entity.player.PlayerDropsEvent;
|
import net.minecraftforge.event.entity.player.PlayerDropsEvent;
|
||||||
import net.minecraftforge.event.world.WorldEvent;
|
import net.minecraftforge.event.world.WorldEvent;
|
||||||
|
import StevenDimDoors.mod_pocketDim.core.DDTeleporter;
|
||||||
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
import StevenDimDoors.mod_pocketDim.core.PocketManager;
|
||||||
import StevenDimDoors.mod_pocketDim.ticking.RiftRegenerator;
|
import StevenDimDoors.mod_pocketDim.ticking.RiftRegenerator;
|
||||||
|
import StevenDimDoors.mod_pocketDim.util.Point4D;
|
||||||
|
import StevenDimDoors.mod_pocketDim.world.LimboProvider;
|
||||||
|
import StevenDimDoors.mod_pocketDim.world.PocketProvider;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
@@ -56,11 +69,24 @@ public class EventHookContainer
|
|||||||
event.setCanceled(event.entity.worldObj.provider.dimensionId == properties.LimboDimensionID);
|
event.setCanceled(event.entity.worldObj.provider.dimensionId == properties.LimboDimensionID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ForgeSubscribe
|
|
||||||
public void onPlayerDrops(PlayerDropsEvent event)
|
@ForgeSubscribe(priority=EventPriority.HIGHEST)
|
||||||
|
public boolean LivingDeathEvent(LivingDeathEvent event)
|
||||||
{
|
{
|
||||||
//TODO: I have some doubts. Is this triggered even if you die outside Limbo? And do you still drop items that others could pick up? We don't cancel the event. ~SenseiKiwi
|
Entity entity = event.entity;
|
||||||
mod_pocketDim.limboSpawnInventory.put(event.entityPlayer.username, event.drops);
|
if(entity instanceof EntityPlayer&&entity.worldObj.provider instanceof PocketProvider && this.properties.LimboEnabled)
|
||||||
|
{
|
||||||
|
if(!this.properties.LimboReturnsInventoryEnabled)
|
||||||
|
{
|
||||||
|
((EntityPlayer)entity).inventory.clearInventory(-1, -1);
|
||||||
|
}
|
||||||
|
ChunkCoordinates coords = LimboProvider.getLimboSkySpawn(entity.worldObj.rand);
|
||||||
|
DDTeleporter.teleportEntity(entity, new Point4D(coords.posX,coords.posY,coords.posZ,mod_pocketDim.properties.LimboDimensionID));
|
||||||
|
((EntityLiving) entity).setEntityHealth(20);
|
||||||
|
event.setCanceled(true);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ForgeSubscribe
|
@ForgeSubscribe
|
||||||
|
|||||||
@@ -38,42 +38,10 @@ public class PlayerRespawnTracker implements IPlayerTracker
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlayerRespawn(EntityPlayer player)
|
public void onPlayerRespawn(EntityPlayer player) {
|
||||||
{
|
// TODO Auto-generated method stub
|
||||||
if(player.worldObj.provider.dimensionId==properties.LimboDimensionID)
|
|
||||||
{
|
|
||||||
|
|
||||||
if(!player.worldObj.isRemote && properties.LimboReturnsInventoryEnabled)
|
|
||||||
{
|
|
||||||
|
|
||||||
if(player.username!=null)
|
|
||||||
{
|
|
||||||
|
|
||||||
if(!mod_pocketDim.limboSpawnInventory.isEmpty()&&mod_pocketDim.limboSpawnInventory.containsKey(player.username))
|
|
||||||
{
|
|
||||||
for(EntityItem drop : mod_pocketDim.limboSpawnInventory.get(player.username))
|
|
||||||
{
|
|
||||||
if(drop.getEntityItem().getItem() instanceof ItemArmor)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
player.inventory.addItemStackToInventory(drop.getEntityItem());
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -115,8 +115,6 @@ public class mod_pocketDim
|
|||||||
public static BiomeGenBase pocketBiome;
|
public static BiomeGenBase pocketBiome;
|
||||||
|
|
||||||
public static PlayerRespawnTracker tracker;
|
public static PlayerRespawnTracker tracker;
|
||||||
|
|
||||||
public static HashMap<String,ArrayList<EntityItem>> limboSpawnInventory = new HashMap<String,ArrayList<EntityItem>>();
|
|
||||||
|
|
||||||
public static boolean isPlayerWearingGoogles = false;
|
public static boolean isPlayerWearingGoogles = false;
|
||||||
|
|
||||||
|
|||||||
@@ -213,6 +213,12 @@ public class TileEntityRift extends TileEntity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.xOffset=0;
|
||||||
|
this.yOffset=0;
|
||||||
|
this.xOffset=0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void grow(int distance)
|
public void grow(int distance)
|
||||||
|
|||||||
@@ -12,6 +12,13 @@ public final class Point4D implements Comparable<Point4D>
|
|||||||
private final int z;
|
private final int z;
|
||||||
private final int dimension;
|
private final int dimension;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param x
|
||||||
|
* @param y
|
||||||
|
* @param z
|
||||||
|
* @param dimension
|
||||||
|
*/
|
||||||
public Point4D(int x, int y, int z, int dimension)
|
public Point4D(int x, int y, int z, int dimension)
|
||||||
{
|
{
|
||||||
this.x = x;
|
this.x = x;
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package StevenDimDoors.mod_pocketDim.world;
|
package StevenDimDoors.mod_pocketDim.world;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
import net.minecraft.entity.Entity;
|
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;
|
||||||
@@ -163,8 +165,7 @@ public class LimboProvider extends WorldProvider
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public static ChunkCoordinates getLimboSkySpawn(Random rand)
|
||||||
public ChunkCoordinates getRandomizedSpawnPoint()
|
|
||||||
{
|
{
|
||||||
ChunkCoordinates var5 = new ChunkCoordinates(0,0,0);
|
ChunkCoordinates var5 = new ChunkCoordinates(0,0,0);
|
||||||
|
|
||||||
@@ -173,11 +174,16 @@ public class LimboProvider extends WorldProvider
|
|||||||
int spawnFuzzHalf = spawnFuzz / 2;
|
int spawnFuzzHalf = spawnFuzz / 2;
|
||||||
|
|
||||||
{
|
{
|
||||||
var5.posX += this.worldObj.rand.nextInt(spawnFuzz) - spawnFuzzHalf;
|
var5.posX += rand.nextInt(spawnFuzz) - spawnFuzzHalf;
|
||||||
var5.posZ += this.worldObj.rand.nextInt(spawnFuzz) - spawnFuzzHalf;
|
var5.posZ += rand.nextInt(spawnFuzz) - spawnFuzzHalf;
|
||||||
var5.posY = 700;
|
var5.posY = 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
return var5;
|
return var5;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public ChunkCoordinates getRandomizedSpawnPoint()
|
||||||
|
{
|
||||||
|
return getLimboSkySpawn(this.worldObj.rand);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user