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

Идея Поднимаем блоки в воздух

Тема в разделе "Запросы на разработку плагинов", создана пользователем Jack11398, 19 авг 2012.

?

Оригинальная идея?

  1. Да,вполне интересно

    55,3%
  2. Нет

    21,1%
  3. Я тот мудак который всегда выбирает последнее

    23,7%
  1. Автор темы
    Jack11398

    Jack11398 Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    CrashedYou
    Мод,а мне нужен плагин. Я не знаю такой мод
     
  2. Хостинг MineCraft
    <
  3. asdeeeasd

    asdeeeasd Активный участник

    Баллы:
    63
    Имя в Minecraft:
    XYN
    Значит так. Именно плагином можно сделать так, чтобы блок перемещался за один шаг на целый блок, а не медленно взмывал ввысь. Не думаю, что можно сделать что-то вроде дрэг-н-дроп и управлять придется щелчками. Скажем, щелчок по блоку и он взлетает на три вверх. Или щелчок по блоку и по его новому положению. Ну и не обязательно делать именно удар, первый блок "на пути прицела" засечь по-моему можно. Это по поводу технических ограничений. Надо точно продумать, как оно должно работать до мелочей, прежде чем браться за разработку.
     
    Jack11398 нравится это.
  4. Автор темы
    Jack11398

    Jack11398 Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    CrashedYou
    Вот,человек меня понял
     
  5. DNAlchemist

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

    Баллы:
    88
    Неужели у плагинов настолько жестко ограниченный функционал?
     
    DavidShabaev нравится это.
  6. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    На самом деле вот как просто:
    создаем функцию, которая находит блок на расстоянии x по направлению взгляда
    как только игрок щелкнул по блоку/ввел команду, берем блок, запоминаем блокстейт
    далее все в новый поток:
    |при перемещении игрока находим блок-цель(на расстоянии x)
    |если это не наш блок -
    | ставим блоку-цели - тип нашего блок и копируем в него блокстейт
    | ставим нашему AIR
    | наш блок = блок-цель
    |повторяем через 0.1 секунду, и так пока игрок не отменит.

    Я делал нечто похожее на плагине varscript.
    сервер выдерживал смену ~400 блоков по 20 раз в секунду, без лагов для игрока
    смену ~10000 блоков по 20 раз в секунду, начинаются лаги, игрок вылетает, после этого сервер нормально меняет блоки. На самом деле в этом случае игроку достаточно было уйти подальше (на ~10 чанков).

    Так что, судя по моему опыту, все быстродействие опирается в количество сетевого траффика. Если левитация будет всего лишь для одного блока, хоть по 100 гаррипоттеров одновременно будут юзать ее, нагрузка незначительна.

    Насчет реализации: это будет возможно сделать (но через ж**у) в новой версии varscript. Но не ручаюсь когда она будет готова.
    Если кому нужно, делайте для этого отдельный плагин.
     
    ufes нравится это.
  7. DNAlchemist

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

    Баллы:
    88
    В простейшем случае в качестве "летающего предмета" - entityItem (выпавший блок).
    Думаю в bukkit это единственный экономный и единственно расово верный вариант
     
  8. DNAlchemist

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

    Баллы:
    88
    @DPOH-VAR,
    Некрасиво. Читайте мой вариант реализации.
     
  9. Автор темы
    Jack11398

    Jack11398 Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    CrashedYou
    Мне без разницы кто соберёт и как,для начала собирите потом плясать будем
     
  10. Valletta

    Valletta Активный участник

    Баллы:
    93
    Skype:
    kontakt-best
    Имя в Minecraft:
    Valletta
    Ну так в чем проблемы-то? Можно реализовать что-то такое: /setblock - выбрать блок для его перемещения. Потом: /up [1], где 1 - расстояние перемещения. И так же /down, /right, /left. Так точно сделать можно. Только вот насчет какой-либо анимации передвижения блоков вряд ли что-то будет. Скорее всего невозможно реализовать плавное передвижение, увы.
     
  11. Автор темы
    Jack11398

    Jack11398 Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    CrashedYou
    Вот,по теме.Спасибо
     
  12. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Действительно, заметил недавно, что в bukkit API появился класс FallingBlock, а старый класс FallingSand стал @Deprecated
    Значит теперь, плавно перемещающийся блок - вовсе не проблема.
    Я сделаю. но не в виде отдельного плагина (писал выше)
    UPD:
    проверил. поднял вверх желтую шерсть. Физика точно как у песка.
     
    Сникерсни, Dragoy и DNAlchemist нравится это.
  13. Valletta

    Valletta Активный участник

    Баллы:
    93
    Skype:
    kontakt-best
    Имя в Minecraft:
    Valletta
    Отлично! Продолжай. Скоро можно будет Portal-сервер сделать, что-то типа:)
     
    Оригинало_о нравится это.
  14. Автор темы
    Jack11398

    Jack11398 Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    CrashedYou
    СПАСИБО.ЖДУ ССЫЛКУ
     
  15. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Ну вот превью: (Это не мод!)

    когда будет полностью готово - не могу сказать.
    В книге написана программа, выполняющая все функции.
    програмка запускается при нажатии ЛКМ, записана в книге в бинарном виде.
    И еще для справки:
    В книге на одну страницу программно можно уместить текст почти любой длины, и он прекрасно сохраняется после перезапуска сервера.
    Можно сделать магическую книгу, швыряющую фаерболы, воду, молнии, книгу полета, и тд. Можно установить количество зарядов книги, пермиты на использование каждой книги.
     
    DnsR, DmitriyMX, Jack11398 и 2 другим нравится это.
  16. ufes

    ufes Старожил Девелопер Пользователь

    Баллы:
    173
    я вообще не ожидал, что такое возможно без модификации клиента. Уже есть несколько идей ;)
     
    DmitriyMX нравится это.
  17. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Возможно только с версии mc 1.3, я уже писал это выше.
    Суть: удалить блок, создать новый FallingBlock и постоянно делать setVelocity по направлению к "руке" игрока (я взял уровень глаз+(вектор направления)*2) тут сложнее высчитать силу толчка. Блок можно поставить на землю, сильно прислонив его. но периодичность не должна быть высокой, иначе блок долго будет висеть на руке, а при соприкосновении со стенами - разбиваться.
     
  18. DmitriyMX

    DmitriyMX Старожил Пользователь

    Баллы:
    153
    Skype:
    dmn550
    :eek: паразительно...
     
  19. Dj_Arseniy

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

    Баллы:
    88
    Skype:
    arsars79
    Имя в Minecraft:
    Dj_Arseniy
    Прелесть.
    ДРОН, попробуй сделать подобие Zeppelin мода. Я не уверен, что это возможно без модификаций клиента и не вызовет ли это лаги и падения сервера от слишком большого энтити, но ты разработчик - тебе знать лучше.
     
  20. Автор темы
    Jack11398

    Jack11398 Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    CrashedYou
    Круто
     
  21. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Без мода это не возможно:
    1) FallingBlock не твердый, игрок не может на нем стоять
    2) синхронизация позиции FallingBlock между сервером и клиентом происходит странным методом: несколько раз в секунду сервер отправляет клиенту новую позицию и вектор, даже если через Bukkit API очень часто обновлять позицию. И еще сервер подгоняет вектор, чтобы FallingBlock упал ровно на то место, где должен находиться сам блок. На клиентской стороне будут рывки и неточности.
     
    ufes нравится это.

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