Команда на телепортацию без портала при помощи команды

Версия Minecraft
1.7.10
2,932
44
598
Доброго времени суток Земляне и Чужие!
Сегодня я столкнулся с такой ситуацией: Вот у меня есть код который выполняет очень простой алгоритм (алгоритм понятен по коду) который должен телепортировать игрока в другое измерение. Измерение у меня есть! Команда работает! Но есть одно но: оно вместо того что бы телепортировать меня в моё измерение отправляет меня в Ад :devilish:. И при том это происходит как-то странно, то меня телепортирует в моё измерение. то меня телепортирует в ад.
Вот данный код:
Java:
    @Override
    public void processCommand(ICommandSender cs, String[] args) { //Метод выполняется при вызове команды
        EntityPlayer player = getCommandSenderAsPlayer(cs);//Получение экземпляра игрока, вызвавшего команду.      

            if ((player instanceof EntityPlayerMP)) { //Многопользовательский игрок
                EntityPlayerMP playerMP = (EntityPlayerMP) player; //Переменная
                if (playerMP.dimension != 87) { //Проверка, что игрок уже не в моём измерений (87 - идентификационный номер моего измерения)
                    playerMP.travelToDimension(87); //Телепорт в моё измерение
                } else { //По другому
                    playerMP.travelToDimension(0); //Телепорт в верхний мир
                }
        }
    }

Это может быть как-то связанно с чанк-провайдером? Я просто не знаю уже из за чего такое происходит!
 
2,932
44
598
1,057
50
234
Java:
public class FreeTeleporter extends Teleporter {
WorldServer world;
double x, y, z;
public FreeTeleporter(WorldServer worldIn, double x, double y, double z) {
super(worldIn);
world = worldIn;
this.x = x;
this.y = y;
this.z = z;
}
@Override
public boolean placeInExistingPortal(Entity entity, double x, double y, double z, float rotationYaw) {
entity.posX = this.x;
entity.posY = this.y;
entity.posZ = this.z;
if (entity instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) entity;
if (player.capabilities.allowFlying) player.capabilities.isFlying = true;
}
return true;
}
}

Java:
/**
* Sends entity to dimension without portal frames
* @param entity The entity to send
* @param dimTo ID of the dimension the entity should be sent to
* */
public static void sendToDimensionWithoutPortal(Entity entity, int dimTo, double x, double y, double z) {
if (dimTo == entity.dimension) entity.setPosition(x, y, z);
if (entity instanceof EntityPlayerMP) {
EntityPlayerMP player = (EntityPlayerMP) entity;
        WorldServer worldTo = player.mcServer.worldServerForDimension(dimTo);
        player.mcServer.getConfigurationManager().transferPlayerToDimension(player, dimTo, new FreeTeleporter(worldTo, x, y, z));
}
}
Автор AlexSocol
 
Сверху