Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

►Помощь с поворотом рамок!◄

Статус
Закрыто для дальнейших ответов.

MrMarvel [S30]

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Serega_3010
У меня такая проблема, я пытаюсь повернуть рамки над магазинами.
Знаю Block где находятся рамки, как мне их получить?
 
PHP:
block.getWorld().getNearbyEntities(block.getLocation(), 7.0d, 5.0d, 7.0d).stream().filter(CraftItemFrame.class::isInstance).map(CraftItemFrame.class::cast).forEach(itemFrame -> itemFrame.setRotation(itemFrame.getRotation().rotateClockwise()));
Если так будет проще, то вот код без стримов
PHP:
for(Entity entity : player.getNearbyEntities(7.0d, 5.0d, 7.0)) {
    if(entity instanceof CraftItemFrame) {
        CraftItemFrame itemFrame = (CraftItemFrame) entity;

        {
            itemFrame.setRotation(itemFrame.getRotation().rotateClockwise());
        }

        break;
    }
}
 
Последнее редактирование:
чёт поздновато уже написали, я уже решил проблему :p. так... перейдём к твоему способу..
PHP:
block.getWorld().getNearbyEntities(block.getLocation(), 7.0d, 5.0d, 7.0d).stream().filter(CraftItemFrame.class::isInstance).map(CraftItemFrame.class::cast).forEach(itemFrame -> itemFrame.setRotation(itemFrame.getRotation().rotateClockwise()));
Если так будет проще, то вот код без стримов
PHP:
for(Entity entity : player.getNearbyEntities(7.0d, 5.0d, 7.0)) {
    if(entity instanceof CraftItemFrame) {
        CraftItemFrame itemFrame = (CraftItemFrame) entity;

        {
            itemFrame.setRotation(itemFrame.getRotation().rotateClockwise());
        }

        break;
    }
}
проблемы твоего кода:
  • он ищет ближайшего entity, независимо есть он там или нет на этом месте
  • он найдёт другие рамки, если нет на этом месте
поэтому я сделал свой код и покажу всем как решить его >>второе сообщение
 
Код:
        Block b = block.getRelative(BlockFace.EAST); //Зависит от стороны где рамка.
        b.getLocation().getWorld().getNearbyEntities(b.getLocation(), 0.2, 0.2, 0.2);
 
Последнее редактирование:
мой способ -
Код:
                        Block block2 = world.getBlockAt(X, Y+1, Z);
                        for (Entity e : block2.getChunk().getEntities()) {
                            if (e.getLocation().getBlock().equals(block2) && e.getType() == EntityType.ITEM_FRAME) {
                         //code there
                            }
                        }
Закрыта тема.
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх