Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

BlockState /

Тема в разделе "Разработка плагинов для новичков", создана пользователем molor, 11 мар 2017.

Статус темы:
Закрыта.
  1. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну все ванильные должны иметь InventoryHolder
     
  2. Хостинг MineCraft
    <
  3. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    https://github.com/kostaskougios/cloning/
    Только не используй метод deepClone - склонируешь весь сервер.[DOUBLEPOST=1489346350,1489346261][/DOUBLEPOST]
    Твой ответ корректен только для уникальных классов. molor же хочет одну реализацию для всего, что реализует BlockState. И хочет он это красиво, а не как обычно.
     
  4. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну и логично, что скажем у таблички нету InventoryHolder.
     
  5. Автор темы
    molor

    molor Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    molore
    Любого блока, не только блока с инвентарём. Те же таблички например, или командные блоки.
     
  6. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну оно актуально для всех InventoryHolder, вторая ифка не в счет.[DOUBLEPOST=1489346495][/DOUBLEPOST]
    [DOUBLEPOST=1489346889][/DOUBLEPOST]Вот тебе для табличек. UP добавил тебе для кб.
    Код:
            Block block =e.getClickedBlock();
            BlockState state = block.getState();
            if(state instanceof InventoryHolder) {
                InventoryHolder chest = (InventoryHolder)state;
                ItemStack[] stacks = chest.getInventory().getContents().clone();
            }
            if(state instanceof Sign){
                Sign signs = (Sign) state;
                String[] lines = signs.getLines().clone();
            }
            if(state instanceof CommandBlock){
                CommandBlock cb = (CommandBlock) state;
                String com = cb.getCommand();
            }
    [DOUBLEPOST=1489347642][/DOUBLEPOST]А вот структурный блок, тут не знаю.
     
    Последнее редактирование: 12 мар 2017
  7. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    Я не знаю как он там называется, но сигнатура та же, что у save (void с параметром NBTTagCompound).
     
  8. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Сохраняется в параметр.
     
Статус темы:
Закрыта.

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