Java 类net.minecraft.network.play.client.CPacketSpectate 实例源码

项目:Zombe-Modpack    文件:NetHandlerPlayServer.java   
public void handleSpectate(CPacketSpectate packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.playerEntity.getServerWorld());

    if (this.playerEntity.isSpectator())
    {
        Entity entity = null;

        for (WorldServer worldserver : this.serverController.worldServers)
        {
            if (worldserver != null)
            {
                entity = packetIn.getEntity(worldserver);

                if (entity != null)
                {
                    break;
                }
            }
        }

        if (entity != null)
        {
            this.playerEntity.setSpectatingEntity(this.playerEntity);
            this.playerEntity.dismountRidingEntity();

            if (entity.world == this.playerEntity.world)
            {
                this.playerEntity.setPositionAndUpdate(entity.posX, entity.posY, entity.posZ);
            }
            else
            {
                WorldServer worldserver1 = this.playerEntity.getServerWorld();
                WorldServer worldserver2 = (WorldServer)entity.world;
                this.playerEntity.dimension = entity.dimension;
                this.sendPacket(new SPacketRespawn(this.playerEntity.dimension, worldserver1.getDifficulty(), worldserver1.getWorldInfo().getTerrainType(), this.playerEntity.interactionManager.getGameType()));
                this.serverController.getPlayerList().updatePermissionLevel(this.playerEntity);
                worldserver1.removeEntityDangerously(this.playerEntity);
                this.playerEntity.isDead = false;
                this.playerEntity.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);

                if (this.playerEntity.isEntityAlive())
                {
                    worldserver1.updateEntityWithOptionalForce(this.playerEntity, false);
                    worldserver2.spawnEntityInWorld(this.playerEntity);
                    worldserver2.updateEntityWithOptionalForce(this.playerEntity, false);
                }

                this.playerEntity.setWorld(worldserver2);
                this.serverController.getPlayerList().preparePlayer(this.playerEntity, worldserver1);
                this.playerEntity.setPositionAndUpdate(entity.posX, entity.posY, entity.posZ);
                this.playerEntity.interactionManager.setWorld(worldserver2);
                this.serverController.getPlayerList().updateTimeAndWeatherForPlayer(this.playerEntity, worldserver2);
                this.serverController.getPlayerList().syncPlayerInventory(this.playerEntity);
            }
        }
    }
}
项目:Backmemed    文件:NetHandlerPlayServer.java   
public void handleSpectate(CPacketSpectate packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.playerEntity.getServerWorld());

    if (this.playerEntity.isSpectator())
    {
        Entity entity = null;

        for (WorldServer worldserver : this.serverController.worldServers)
        {
            if (worldserver != null)
            {
                entity = packetIn.getEntity(worldserver);

                if (entity != null)
                {
                    break;
                }
            }
        }

        if (entity != null)
        {
            this.playerEntity.setSpectatingEntity(this.playerEntity);
            this.playerEntity.dismountRidingEntity();

            if (entity.world == this.playerEntity.world)
            {
                this.playerEntity.setPositionAndUpdate(entity.posX, entity.posY, entity.posZ);
            }
            else
            {
                WorldServer worldserver1 = this.playerEntity.getServerWorld();
                WorldServer worldserver2 = (WorldServer)entity.world;
                this.playerEntity.dimension = entity.dimension;
                this.sendPacket(new SPacketRespawn(this.playerEntity.dimension, worldserver1.getDifficulty(), worldserver1.getWorldInfo().getTerrainType(), this.playerEntity.interactionManager.getGameType()));
                this.serverController.getPlayerList().updatePermissionLevel(this.playerEntity);
                worldserver1.removeEntityDangerously(this.playerEntity);
                this.playerEntity.isDead = false;
                this.playerEntity.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);

                if (this.playerEntity.isEntityAlive())
                {
                    worldserver1.updateEntityWithOptionalForce(this.playerEntity, false);
                    worldserver2.spawnEntityInWorld(this.playerEntity);
                    worldserver2.updateEntityWithOptionalForce(this.playerEntity, false);
                }

                this.playerEntity.setWorld(worldserver2);
                this.serverController.getPlayerList().preparePlayer(this.playerEntity, worldserver1);
                this.playerEntity.setPositionAndUpdate(entity.posX, entity.posY, entity.posZ);
                this.playerEntity.interactionManager.setWorld(worldserver2);
                this.serverController.getPlayerList().updateTimeAndWeatherForPlayer(this.playerEntity, worldserver2);
                this.serverController.getPlayerList().syncPlayerInventory(this.playerEntity);
            }
        }
    }
}
项目:Backmemed    文件:PlayerMenuObject.java   
public void selectItem(SpectatorMenu menu)
{
    Minecraft.getMinecraft().getConnection().sendPacket(new CPacketSpectate(this.profile.getId()));
}
项目:CustomWorldGen    文件:NetHandlerPlayServer.java   
public void handleSpectate(CPacketSpectate packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.playerEntity.getServerWorld());

    if (this.playerEntity.isSpectator())
    {
        Entity entity = null;

        for (WorldServer worldserver : this.serverController.worldServers)
        {
            if (worldserver != null)
            {
                entity = packetIn.getEntity(worldserver);

                if (entity != null)
                {
                    break;
                }
            }
        }

        if (entity != null)
        {
            this.playerEntity.setSpectatingEntity(this.playerEntity);
            this.playerEntity.dismountRidingEntity();

            if (entity.worldObj == this.playerEntity.worldObj)
            {
                this.playerEntity.setPositionAndUpdate(entity.posX, entity.posY, entity.posZ);
            }
            else
            {
                WorldServer worldserver1 = this.playerEntity.getServerWorld();
                WorldServer worldserver2 = (WorldServer)entity.worldObj;
                this.playerEntity.dimension = entity.dimension;
                this.sendPacket(new SPacketRespawn(this.playerEntity.dimension, worldserver1.getDifficulty(), worldserver1.getWorldInfo().getTerrainType(), this.playerEntity.interactionManager.getGameType()));
                this.serverController.getPlayerList().updatePermissionLevel(this.playerEntity);
                worldserver1.removeEntityDangerously(this.playerEntity);
                this.playerEntity.isDead = false;
                this.playerEntity.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);

                if (this.playerEntity.isEntityAlive())
                {
                    worldserver1.updateEntityWithOptionalForce(this.playerEntity, false);
                    worldserver2.spawnEntityInWorld(this.playerEntity);
                    worldserver2.updateEntityWithOptionalForce(this.playerEntity, false);
                }

                this.playerEntity.setWorld(worldserver2);
                this.serverController.getPlayerList().preparePlayer(this.playerEntity, worldserver1);
                this.playerEntity.setPositionAndUpdate(entity.posX, entity.posY, entity.posZ);
                this.playerEntity.interactionManager.setWorld(worldserver2);
                this.serverController.getPlayerList().updateTimeAndWeatherForPlayer(this.playerEntity, worldserver2);
                this.serverController.getPlayerList().syncPlayerInventory(this.playerEntity);
            }
        }
    }
}
项目:CustomWorldGen    文件:PlayerMenuObject.java   
public void selectItem(SpectatorMenu menu)
{
    Minecraft.getMinecraft().getConnection().sendPacket(new CPacketSpectate(this.profile.getId()));
}
项目:CrystalMod    文件:FakeNetHandlerPlayServer.java   
@Override
public void handleSpectate(CPacketSpectate packetIn) {
}
项目:ExpandedRailsMod    文件:NetHandlerPlayServer.java   
public void handleSpectate(CPacketSpectate packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.playerEntity.getServerWorld());

    if (this.playerEntity.isSpectator())
    {
        Entity entity = null;

        for (WorldServer worldserver : this.serverController.worldServers)
        {
            if (worldserver != null)
            {
                entity = packetIn.getEntity(worldserver);

                if (entity != null)
                {
                    break;
                }
            }
        }

        if (entity != null)
        {
            this.playerEntity.setSpectatingEntity(this.playerEntity);
            this.playerEntity.dismountRidingEntity();

            if (entity.worldObj == this.playerEntity.worldObj)
            {
                this.playerEntity.setPositionAndUpdate(entity.posX, entity.posY, entity.posZ);
            }
            else
            {
                WorldServer worldserver1 = this.playerEntity.getServerWorld();
                WorldServer worldserver2 = (WorldServer)entity.worldObj;
                this.playerEntity.dimension = entity.dimension;
                this.sendPacket(new SPacketRespawn(this.playerEntity.dimension, worldserver1.getDifficulty(), worldserver1.getWorldInfo().getTerrainType(), this.playerEntity.interactionManager.getGameType()));
                this.serverController.getPlayerList().updatePermissionLevel(this.playerEntity);
                worldserver1.removeEntityDangerously(this.playerEntity);
                this.playerEntity.isDead = false;
                this.playerEntity.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch);

                if (this.playerEntity.isEntityAlive())
                {
                    worldserver1.updateEntityWithOptionalForce(this.playerEntity, false);
                    worldserver2.spawnEntityInWorld(this.playerEntity);
                    worldserver2.updateEntityWithOptionalForce(this.playerEntity, false);
                }

                this.playerEntity.setWorld(worldserver2);
                this.serverController.getPlayerList().preparePlayer(this.playerEntity, worldserver1);
                this.playerEntity.setPositionAndUpdate(entity.posX, entity.posY, entity.posZ);
                this.playerEntity.interactionManager.setWorld(worldserver2);
                this.serverController.getPlayerList().updateTimeAndWeatherForPlayer(this.playerEntity, worldserver2);
                this.serverController.getPlayerList().syncPlayerInventory(this.playerEntity);
            }
        }
    }
}
项目:ExpandedRailsMod    文件:PlayerMenuObject.java   
public void selectItem(SpectatorMenu menu)
{
    Minecraft.getMinecraft().getConnection().sendPacket(new CPacketSpectate(this.profile.getId()));
}
项目:EnderIO    文件:FakeNetHandlerPlayServer.java   
@Override
public void handleSpectate(@Nonnull CPacketSpectate packetIn) {
}
项目:DankNull    文件:NetServerHandlerFake.java   
@Override
public void handleSpectate(CPacketSpectate packetIn) {

}
项目:Backmemed    文件:INetHandlerPlayServer.java   
void handleSpectate(CPacketSpectate packetIn);
项目:CustomWorldGen    文件:INetHandlerPlayServer.java   
void handleSpectate(CPacketSpectate packetIn);