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

Помогите детект блока

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

  1. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Мда... Если ты знаешь джаву, то переписать можно практически все, и да, @alexandrage предложил отличный вариант.
     
  2. Хостинг MineCraft
    <
  3. Fenix78563

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    запихнем ее в код, че тупим то?
     
  4. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Не все так просто, в клиенте устроено по другому, если не тупить и иметь руки не из одного места, то можно разобраться и всё сделать
     
  5. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Не путай клиент с бакитом, изменить клиент могут моды.
    Не уверен, что получив команду мы сможем так сломать блок
     
  6. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Тупишь
     
  7. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Неа, плагином ты не изменишь настройки клиента игрока, размер его инвентаря и тд.[DOUBLEPOST=1483731759,1483731641][/DOUBLEPOST]
    Ну или я не понимаю, как ты это сделаешь
     
  8. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Код:
    /**
         * Sets a block to air, but also plays the sound and particles and can spawn drops
         */
        public boolean destroyBlock(BlockPos pos, boolean dropBlock)
        {
            IBlockState iblockstate = this.getBlockState(pos);
            Block block = iblockstate.getBlock();
    
            if (block.getMaterial() == Material.air)
            {
                return false;
            }
            else
            {
                this.playAuxSFX(2001, pos, Block.getStateId(iblockstate));
    
                if (dropBlock)
                {
                    block.dropBlockAsItem(this, pos, iblockstate, 0);
                }
    
                return this.setBlockState(pos, Blocks.air.getDefaultState(), 3);
            }
        }
    2. Найти playAuxSFX, т.к. мне лень искать, и посмотреть как он устроен, или использовать вариант проще, который уже сказал @alexandrage
     
  9. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    spawnParticle()
    playSound()
    Вроде...
     
  10. Fenix78563

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    да, да, @alexandrage уже предложил это.
     
  11. Dymeth

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

    Баллы:
    76
    Все команды отылаются на сервер, и сервер их выполняет. В чём проблема-то?
    Если учесть, что локальный мир - это тот же самый клиент-сервер, то можно сделать вывод, что такое вполне реализуемо. Да и баккит не настолько туп, чтобы не поддерживать таких вещей.
    В данной ситуации - при команде setblock - скорее всего выполняется несколько микрозадач. Как уже было сказано выше, - это отдельно удаление блока, отдельно отображение частиц и отдельно звук. Возможно что-то из этого отправляется на клиент одной задачей (пакетом), точно сказать не могу.
    Если интересно, тут есть список всех возможных клиент-серверных команд (пакетов): http://wiki.vg/Protocol
    Будешь знать это - будешь понимать, что в теории можно сделать без модов...
     
  12. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    А я разве писал, что это можно сделать только с модом?
     
  13. Dymeth

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

    Баллы:
    76
     
  14. TheZefirrkka

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

    Баллы:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Ниже я уточнил, про что я говорю
     

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