Помогите Установка блоков в мире

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

DestKoder

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
DestKoder
Здравствуйте форумчане. Столкнулся с не большой проблемкой. Есть метод:


Код:
public static void spawn(int x, int z, World world, Main plugin) {
        Location loc;
        Block b = world.getHighestBlockAt(x, z);

        if(b.getType().isTransparent()) {
            loc = b.getLocation();
        }else loc = b.getLocation().clone().add(0,1,0);

        loc.getBlock().setType(Material.ENDER_CHEST);
    }

Вопрос следующий: Почему блок спавнится не на координатах X, Z? Он спавнится левее по X (x-1) и я не совсем понимаю, почему так?

Координаты я передаю в метод через команду.

Код:
@Override
public void execute(CommandData data, String[] args) {
    if(!CheckUtils.isInteger(args[1])) {
        plugin.getLang().getMessage("error.argMustBeInt").format(Collections.singletonList(new Pair<>("number", 2 + "")));
        return;
    }

    if(!CheckUtils.isInteger(args[0])) {
        plugin.getLang().getMessage("error.argMustBeInt").format(Collections.singletonList(new Pair<>("number", 1 + "")));
        return;
    }

    int x = Integer.parseInt(args[0]), z = Integer.parseInt(args[1]);
    MyEnderChest.spawn(x, z, Bukkit.getWorld("world"), plugin)
}
 
С чего ты взял, что он спавнится левее? Наведись на блок и в F3 проверь координаты блока, на который направлен взгляд.

Скорее всего, всё нормально, просто ставишь на отрицательной координате. Для наглядного понимания можешь телепортироваться в точку 0 0 и начать возле неё ставить блоки, чтобы затронуть все 4 секции координат. Увидишь, что есть по две нулевые координаты на каждую ось (с центрами в -0.5, 0.5)
 
С чего ты взял, что он спавнится левее? Наведись на блок и в F3 проверь координаты блока, на который направлен взгляд.

Скорее всего, всё нормально, просто ставишь на отрицательной координате. Для наглядного понимания можешь телепортироваться в точку 0 0 и начать возле неё ставить блоки, чтобы затронуть все 4 секции координат. Увидишь, что есть по две нулевые координаты на каждую ось (с центрами в -0.5, 0.5)

Он спавниться либо правее, но не на том x и z который я передал. С чего взял? Со скрина после выполнения команды:
upload_2022-12-10_10-10-52.png

Это можно как-то исправить? Почему он не спавниться ровно x -81 z 180 я же четко передал и получил локацию, разве нет?
 
Он спавниться либо правее, но не на том x и z который я передал. С чего взял? Со скрина после выполнения команды:
Посмотреть вложение 63945

Это можно как-то исправить? Почему он не спавниться ровно x -81 z 180 я же четко передал и получил локацию, разве нет?
Ты стоишь ровно над блоком -81, 180. Всё работает нормально. Я выше объяснил, почему так происходит
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх