[1.6.4] Своё измерение

675
2
Доброго времени суток.

Создал измерение, вот только если я пытаюсь попасть в него, попадаю в пустоту, а потом меня выкидывает в ад, рядом с адским порталом.

Телепортирую через блок:
Код:
    @Override
    public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
        if (entity.ridingEntity == null && entity.riddenByEntity == null && !world.isRemote) {
            entity.travelToDimension(11);
        }
    }

Сырцы
 
2,955
12
У меня была такая проблема. Просто когда ты тепехаешься ты появляешься в портале, и оттуда сразу попадаешь в ад.
 
675
2
Dragon2488 написал(а):
У меня была такая проблема. Просто когда ты тепехаешься ты появляешься в портале, и оттуда сразу попадаешь в ад.
Странно, я ведь не создавал в том мире никаких порталов. Попробую сунуть проверку.
 
675
2
Да, так и есть. На месте спавна игрока появляется портал. Как я могу отключить его генерацию?
 
905
5
А EntityPlayerMP считает все перемещения между димами, не идущие в энд или оверлорд, телепортацией в кефир. Такие дела.
 
2,955
12
Кажись я понял. Телепортировать нужно не так. Нужно так:
player.mcServer.getConfigurationManager().transferPlayerToDimension(player, dim, teleporter);
 
675
2
Dragon2488 написал(а):
Кажись я понял. Телепортировать нужно не так. Нужно так:
player.mcServer.getConfigurationManager().transferPlayerToDimension(player, dim, teleporter);
Ага. Вот только осталось понять, что такое teleporter, ибо transferPlayerToDimension(player, dim) все так же строит портал. Пойду понимать :)
 
675
2
Гениально!
Код:
public class CustomTeleporter extends Teleporter {

    public CustomTeleporter(WorldServer par1WorldServer) {
        super(par1WorldServer);
    }
    
    @Override
    public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8)
    {
            par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D;
    }

}

Можно закрывать.
 
675
2
Я почему-то не могу плюсовать сообщения, мне просто вылетает "error!". У всех такое?
 
Сверху