Помогите Не устанавливается свое имя для сундука.

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

Lisenochek

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Lisenochek
Всем привет. Не работает метод setCustomName в классе Chest, когда я пытаюсь установить сундуку-ловушке имя. Помогите.

Почему оно не выставляет имя именно здесь? Причем материал есть на координатах.

Код:
                if (loc.getBlockY() == loc.getWorld().getHighestBlockYAt(loc.getBlockX(), loc.getBlockZ())) {
                    cancel();
                    loc.getBlock().setType(Material.TRAPPED_CHEST);
                    ((Chest) loc.getBlock().getState()).setCustomName("&2&lЯщик с припасами.");
                    setDrop((Chest) loc.getBlock().getState(), isEvent);
                    SQLManager.deleteCrateData(loc);
                    return;
                }
 
Последнее редактирование:
Нет. Он даже с пробелом строку не устанавливает.
 
Он не принимает ни пустые пробелы, ни обычные латинские строки, ни-че-го.
 
Код:
BlockState state = loc.getBlock().getState();
if (state instanceof Chest) {
    Chest chest = (Chest) state;
    chest.setCustomName("§2§lЯщик с припасами");
    chest.update();
}
 
Код:
BlockState state = loc.getBlock().getState();
if (state instanceof Chest) {
    Chest chest = (Chest) state;
    chest.setCustomName("§2§lЯщик с припасами");
    chest.update();
}
Сработало, но этот способ не очень то и хороший (instanceof). В чем вообще проблема моего нерабочего решения?
 
Сработало, но этот способ не очень то и хороший (instanceof). В чем вообще проблема моего нерабочего решения?
Лол, чем тебе не нравится оператор instanceof?? Наоборот он должен тут присутствовать, а твой способ не работает, т.к. ты просто присваиваешь имя сундука не делая update ему
 
Лол, чем тебе не нравится оператор instanceof?? Наоборот он должен тут присутствовать, а твой способ не работает, т.к. ты просто присваиваешь имя сундука не делая update ему
Я юзал метод update после установки имени, но... Хрен.
 
Просто только тут этот метод не работает.
Потому что нельзя сделать так loc.getBlock().getState().update();, нужно для начала определить что это за объект. Юзай мое произведение искусства и все...
 
Потому что нельзя сделать так loc.getBlock().getState().update();, нужно для начала определить что это за объект. Юзай мое произведение искусства и все...
Кастить сундук и обновить..
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх