Телепортирование игрока 1.6

Доброго времени суток, подскажите пожалуйста о телепортирование игрока, например есть прозрачный проходимый блок, когда игрок становится в него, то его тп на другие координаты (заданные координаты) x, y, z. Можно ли это сделать?
 
Код из ЕнтитиЕндерПерла. Может, тебе что-то об этом скажет.

Код:
/**
     * Called when this EntityThrowable hits a block or entity.
     */
    protected void onImpact(MovingObjectPosition p_70184_1_)
    {
        if (p_70184_1_.entityHit != null)
        {
            p_70184_1_.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), 0.0F);
        }

        for (int i = 0; i < 32; ++i)
        {
            this.worldObj.spawnParticle("portal", this.posX, this.posY + this.rand.nextDouble() * 2.0D, this.posZ, this.rand.nextGaussian(), 0.0D, this.rand.nextGaussian());
        }

        if (!this.worldObj.isRemote)
        {
            if (this.getThrower() != null && this.getThrower() instanceof EntityPlayerMP)
            {
                EntityPlayerMP entityplayermp = (EntityPlayerMP)this.getThrower();

                if (entityplayermp.playerNetServerHandler.func_147362_b().isChannelOpen() && entityplayermp.worldObj == this.worldObj)
                {
                    EnderTeleportEvent event = new EnderTeleportEvent(entityplayermp, this.posX, this.posY, this.posZ, 5.0F);
                    if (!MinecraftForge.EVENT_BUS.post(event))
                    { // Don't indent to lower patch size
                    if (this.getThrower().isRiding())
                    {
                        this.getThrower().mountEntity((Entity)null);
                    }

                    this.getThrower().setPositionAndUpdate(event.targetX, event.targetY, event.targetZ);
                    this.getThrower().fallDistance = 0.0F;
                    this.getThrower().attackEntityFrom(DamageSource.fall, event.attackDamage);
                    }
                }
            }

            this.setDead();
        }
    }
 
Тут пусто,разве что евент.
[merge_posts_bbcode]Добавлено: 30.12.2014 23:25:39[/merge_posts_bbcode]

player.setPostion(x,y,z);
 
Пусть юзает,я уверен он ещё трисотни вопрос задаст как запускать евент
 
Довакин, спасибо большое, а как сказать серверу, что с игроком всё нормально и делать ему это можно? 
Консоль сервера:
Код:
Player822 moved too quickly! ...
 
Я написал SetPosition в onEntityCollidedWithBlock
Код:
 public void onEntityCollidedWithBlock(World world, Entity entity) {
        entity.setPosition(42.5, 120.8, 5.7);
    }

Но вот нужно сказать серверу об телепортации, а как это сделать не имею понятия
 
каждый тик вызывается,слишком быстро.Попробуй таймер сделать.Типа if(i++=>60){setPosition(x,y,z);}
 
Что вы творите? Какие тики? Что вам нужно? Игрок встал на блок и его ТПхнуло фиг знает куда? Вот:

Код:
        Block block = new Block(Material.grass)
        {
            public void onEntityWalking(World world, int x, int y, int z, Entity ent) 
            {
                if(ent instanceof EntityPlayer)
                {
                    EntityPlayer player = (EntityPlayer)ent;
                    player.setPositionAndUpdate(0D, 60D, 0D);
                    player.fallDistance = 0.0F;
                }
            }
        }.setCreativeTab(CreativeTabs.tabBlock).setBlockName("loltest");
        
        GameRegistry.registerBlock(block, block.getUnlocalizedName());

Vova_master написал(а):
Dovakin написал(а):
Типа if(i++=>60){setPosition(x,y,z);}
Это примерно как мое
Vova_master написал(а):
Ну, мне так кажется

Сравнил блин... Умник...
 
Nichie написал(а):
Vova_master написал(а):
Dovakin написал(а):
Типа if(i++=>60){setPosition(x,y,z);}
Это примерно как мое
Vova_master написал(а):
Ну, мне так кажется

Сравнил блин... Умник...

Что тебе не нравится? Было ведь, олдфаги подтвердят
 
Ничьё, слушай, твой код конечно работает по адекватнее чем мой, но всё равно, на сервере пишет  
Код:
Player663 moved too quickly! ....цыфры...

И не телепортирует...
 
HanteR12372 написал(а):
Ничьё, слушай, твой код конечно работает по адекватнее чем мой, но всё равно, на сервере пишет  
Код:
Player663 moved too quickly! ....цыфры...

И не телепортирует...

Во первых, ни Ничьё, а Ничи.
Во вторых, фиг знает. На 1.7.10 все прекрасно работает. Как на клиенте, так и на сервере. Глянь что у тебя в ЕнтитиПерле на версии 1.6.4.

А там, собсна, то же самое. :/
 
Прошу прощение Ничи за мой английский, прочитал не верно, спасибо всем большое, как-нибудь решу это проблему с сервером, как раз посмотрю ЕнтитиПёрле и может я найду там ответ. Тему можно закрыть
 
Назад
Сверху