Merge branch '1.6.2-code' of github.com:StevenRS11/DimDoors
Conflicts: StevenDimDoors/mod_pocketDim/CraftingManager.java StevenDimDoors/mod_pocketDim/EventHookContainer.java StevenDimDoors/mod_pocketDim/blocks/BaseDimDoor.java StevenDimDoors/mod_pocketDim/blocks/BlockDimWall.java StevenDimDoors/mod_pocketDim/blocks/BlockDimWallPerm.java StevenDimDoors/mod_pocketDim/blocks/BlockDoorGold.java StevenDimDoors/mod_pocketDim/blocks/BlockGoldDimDoor.java StevenDimDoors/mod_pocketDim/blocks/BlockLimbo.java StevenDimDoors/mod_pocketDim/blocks/BlockRift.java StevenDimDoors/mod_pocketDim/blocks/TransTrapdoor.java StevenDimDoors/mod_pocketDim/commands/CommandCreateDungeonRift.java StevenDimDoors/mod_pocketDim/commands/CommandCreatePocket.java StevenDimDoors/mod_pocketDim/commands/CommandDeleteAllLinks.java StevenDimDoors/mod_pocketDim/commands/CommandDeleteRifts.java StevenDimDoors/mod_pocketDim/commands/CommandExportDungeon.java StevenDimDoors/mod_pocketDim/commands/CommandResetDungeons.java StevenDimDoors/mod_pocketDim/commands/CommandTeleportPlayer.java StevenDimDoors/mod_pocketDim/commands/DDCommandBase.java StevenDimDoors/mod_pocketDim/core/DDTeleporter.java StevenDimDoors/mod_pocketDim/core/NewDimData.java StevenDimDoors/mod_pocketDim/core/PocketManager.java StevenDimDoors/mod_pocketDim/helpers/ChunkLoaderHelper.java StevenDimDoors/mod_pocketDim/items/ItemBlockDimWall.java StevenDimDoors/mod_pocketDim/items/ItemRiftBlade.java StevenDimDoors/mod_pocketDim/items/ItemRiftSignature.java StevenDimDoors/mod_pocketDim/items/ItemStabilizedRiftSignature.java StevenDimDoors/mod_pocketDim/mod_pocketDim.java StevenDimDoors/mod_pocketDim/ticking/MobMonolith.java StevenDimDoors/mod_pocketDim/tileentities/TileEntityDimDoorGold.java StevenDimDoors/mod_pocketDim/watcher/ClientLinkData.java StevenDimDoors/mod_pocketDim/world/CustomSkyProvider.java StevenDimDoors/mod_pocketDim/world/PocketBuilder.java StevenDimDoors/mod_pocketDimClient/RenderDimDoor.java StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java StevenDimDoors/mod_pocketDimClient/RenderTransTrapdoor.java build.xml
This commit is contained in:
@@ -9,7 +9,6 @@ import net.minecraft.entity.EntityList;
|
||||
import net.minecraft.entity.item.EntityMinecart;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemDoor;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.network.packet.Packet41EntityEffect;
|
||||
import net.minecraft.network.packet.Packet43Experience;
|
||||
@@ -23,8 +22,6 @@ import net.minecraftforge.common.DimensionManager;
|
||||
import StevenDimDoors.mod_pocketDim.DDProperties;
|
||||
import StevenDimDoors.mod_pocketDim.Point3D;
|
||||
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
|
||||
import StevenDimDoors.mod_pocketDim.blocks.BlockRift;
|
||||
import StevenDimDoors.mod_pocketDim.blocks.IDimDoor;
|
||||
import StevenDimDoors.mod_pocketDim.helpers.yCoordHelper;
|
||||
import StevenDimDoors.mod_pocketDim.items.BaseItemDoor;
|
||||
import StevenDimDoors.mod_pocketDim.items.ItemDimensionalDoor;
|
||||
@@ -34,6 +31,7 @@ import StevenDimDoors.mod_pocketDim.util.Point4D;
|
||||
import StevenDimDoors.mod_pocketDim.world.PocketBuilder;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class DDTeleporter
|
||||
{
|
||||
private static final Random random = new Random();
|
||||
@@ -235,7 +233,7 @@ public class DDTeleporter
|
||||
private static void setEntityPosition(Entity entity, double x, double y, double z)
|
||||
{
|
||||
entity.lastTickPosX = entity.prevPosX = entity.posX = x;
|
||||
entity.lastTickPosY = entity.prevPosY = entity.posY = y + (double)entity.yOffset;
|
||||
entity.lastTickPosY = entity.prevPosY = entity.posY = y + entity.yOffset;
|
||||
entity.lastTickPosZ = entity.prevPosZ = entity.posZ = z;
|
||||
entity.setPosition(x, y, z);
|
||||
}
|
||||
@@ -304,7 +302,7 @@ public class DDTeleporter
|
||||
}
|
||||
else
|
||||
{
|
||||
newWorld = (WorldServer) oldWorld;
|
||||
newWorld = oldWorld;
|
||||
}
|
||||
|
||||
|
||||
@@ -327,6 +325,7 @@ public class DDTeleporter
|
||||
// the last non-sleeping player leaves the Overworld
|
||||
// for a pocket dimension, causing all sleeping players
|
||||
// to remain asleep instead of progressing to day.
|
||||
((WorldServer)entity.worldObj).getPlayerManager().removePlayer(player);
|
||||
oldWorld.removePlayerEntityDangerously(player);
|
||||
player.isDead = false;
|
||||
|
||||
@@ -399,7 +398,6 @@ public class DDTeleporter
|
||||
if (player != null)
|
||||
{
|
||||
newWorld.getChunkProvider().loadChunk(MathHelper.floor_double(entity.posX) >> 4, MathHelper.floor_double(entity.posZ) >> 4);
|
||||
|
||||
// Tell Forge we're moving its players so everyone else knows.
|
||||
// Let's try doing this down here in case this is what's killing NEI.
|
||||
GameRegistry.onPlayerChangedDimension((EntityPlayer)entity);
|
||||
|
||||
@@ -14,6 +14,7 @@ import StevenDimDoors.mod_pocketDim.dungeon.pack.DungeonPack;
|
||||
import StevenDimDoors.mod_pocketDim.util.Point4D;
|
||||
import StevenDimDoors.mod_pocketDim.watcher.IUpdateWatcher;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public abstract class NewDimData
|
||||
{
|
||||
private static class InnerDimLink extends DimLink
|
||||
@@ -244,7 +245,6 @@ public abstract class NewDimData
|
||||
{
|
||||
return Math.abs(i) + Math.abs(j) + Math.abs(k);
|
||||
}
|
||||
|
||||
public DimLink createLink(int x, int y, int z, int linkType,int orientation)
|
||||
{
|
||||
return createLink(new Point4D(x, y, z, id), linkType,orientation);
|
||||
@@ -333,7 +333,11 @@ public abstract class NewDimData
|
||||
{
|
||||
linkList.remove(target);
|
||||
//Raise deletion event
|
||||
linkWatcher.onDeleted(target.source);
|
||||
//TODO why is source null here?
|
||||
if(target.source!=null)
|
||||
{
|
||||
linkWatcher.onDeleted(target.source);
|
||||
}
|
||||
target.clear();
|
||||
}
|
||||
return (target != null);
|
||||
|
||||
@@ -36,6 +36,7 @@ import StevenDimDoors.mod_pocketDim.watcher.UpdateWatcherProxy;
|
||||
* This class regulates all the operations involving the storage and manipulation of dimensions. It handles saving dim data, teleporting the player, and
|
||||
* creating/registering new dimensions as well as loading old dimensions on startup
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public class PocketManager
|
||||
{
|
||||
private static class InnerDimData extends NewDimData implements IPackable<PackedDimData>
|
||||
@@ -154,24 +155,24 @@ public class PocketManager
|
||||
}
|
||||
}
|
||||
|
||||
private static class ClientLinkWatcher implements IUpdateWatcher<ClientLinkData>
|
||||
{
|
||||
@Override
|
||||
public void onCreated(ClientLinkData link)
|
||||
{
|
||||
Point4D source = link.point;
|
||||
NewDimData dimension = getDimensionData(source.getDimension());
|
||||
dimension.createLink(source.getX(), source.getY(), source.getZ(), LinkTypes.CLIENT_SIDE,link.orientation);
|
||||
}
|
||||
private static class ClientLinkWatcher implements IUpdateWatcher<ClientLinkData>
|
||||
{
|
||||
@Override
|
||||
public void onCreated(ClientLinkData link)
|
||||
{
|
||||
Point4D source = link.point;
|
||||
NewDimData dimension = getDimensionData(source.getDimension());
|
||||
dimension.createLink(source.getX(), source.getY(), source.getZ(), LinkTypes.CLIENT_SIDE,link.orientation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDeleted(ClientLinkData link)
|
||||
{
|
||||
Point4D source = link.point;
|
||||
NewDimData dimension = getDimensionData(source.getDimension());
|
||||
dimension.deleteLink(source.getX(), source.getY(), source.getZ());
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onDeleted(ClientLinkData link)
|
||||
{
|
||||
Point4D source = link.point;
|
||||
NewDimData dimension = getDimensionData(source.getDimension());
|
||||
dimension.deleteLink(source.getX(), source.getY(), source.getZ());
|
||||
}
|
||||
}
|
||||
|
||||
private static class ClientDimWatcher implements IUpdateWatcher<ClientDimData>
|
||||
{
|
||||
@@ -276,6 +277,7 @@ public class PocketManager
|
||||
dimData.parent=dimData;
|
||||
dimData.isFilled=packedData.IsFilled;
|
||||
dimData.origin = new Point4D(packedData.Origin.getX(),packedData.Origin.getY(),packedData.Origin.getZ(),packedData.ID);
|
||||
|
||||
PocketManager.rootDimensions.add(dimData);
|
||||
}
|
||||
else
|
||||
@@ -284,6 +286,7 @@ public class PocketManager
|
||||
dimData = new InnerDimData(packedData.ID, test,true, packedData.IsDungeon, linkWatcher);
|
||||
dimData.isFilled=packedData.IsFilled;
|
||||
dimData.origin = new Point4D(packedData.Origin.getX(),packedData.Origin.getY(),packedData.Origin.getZ(),packedData.ID);
|
||||
|
||||
dimData.root=PocketManager.getDimensionData(packedData.RootID);
|
||||
|
||||
if(packedData.DungeonData!=null)
|
||||
@@ -596,8 +599,7 @@ public class PocketManager
|
||||
|
||||
public static void unload()
|
||||
{
|
||||
System.out.println("Dimensional Doors unloading...");
|
||||
|
||||
System.out.println("Unloading Pocket Dimensions...");
|
||||
if (!isLoaded)
|
||||
{
|
||||
throw new IllegalStateException("Pocket dimensions have already been unloaded!");
|
||||
@@ -685,9 +687,10 @@ public class PocketManager
|
||||
}
|
||||
public static void readPacket(DataInputStream input) throws IOException
|
||||
{
|
||||
//TODO- figure out why this is getting called so frequently
|
||||
if (isLoaded)
|
||||
{
|
||||
throw new IllegalStateException("Pocket dimensions have already been loaded!");
|
||||
return;
|
||||
}
|
||||
if (isLoading)
|
||||
{
|
||||
@@ -696,8 +699,12 @@ public class PocketManager
|
||||
// Load compacted client-side dimension data
|
||||
load();
|
||||
Compactor.readDimensions(input, new DimRegistrationCallback());
|
||||
isConnected = true;
|
||||
|
||||
// Register pocket dimensions
|
||||
DDProperties properties = DDProperties.instance();
|
||||
|
||||
isLoaded = true;
|
||||
isLoading = false;
|
||||
isConnected = true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user