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

Помогите Поставить вагонетку без рельс

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

Статус темы:
Закрыта.
  1. Автор темы
    robertono

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

    Баллы:
    103
    Как и что нужно написать что бы можно было поставить вагонетку на любой блок?
     
  2. Хостинг MineCraft
    <
  3. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Если не ошибаюсь, Essentials умеет такое. /mob minecart

    UPD: проверил - работает
    2013-08-08_03.44.08.png
     
    robertono нравится это.
  4. Автор темы
    robertono

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

    Баллы:
    103
    @Dereku, ну вот, значит это реально. А где я могу узнать каким кодом это сделать? Зачем? Я хочу сделать для своего Role Play сервера что то типо управления вагонеткой без рельс. Где есть примеры по спавну различных Entity объектов?
     
    Goldenix нравится это.
  5. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    https://github.com/essentials/Essen...ials/src/com/earth2me/essentials/MobData.java
     
    robertono нравится это.
  6. Автор темы
    robertono

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

    Баллы:
    103
    @Dereku, не могли бы вы принять заявку в скайпе?

    Помимо вопроса этой темы у меня ещё один вопрос. Вопрос о Bukkit API documentation.
    http://jd.bukkit.org/rb/apidocs/
    Вот она сама.
    Допустим я нашёл это :
    http://jd.bukkit.org/rb/apidocs/org/bukkit/entity/Vehicle.html#setVelocity(org.bukkit.util.Vector)
    Информация о setVelocity у Minecart.
    И как мне это использовать? В доках ничего не сказано как это использовать. Просто покажите. И мне уже будет намного понятнее как работать дальше. Я знаю vb.net , С# , javascript. Я пойму.
    Заранее благодарю.[DOUBLEPOST=1375946222,1375946152][/DOUBLEPOST]И ещё вопрос о scoreboard : могу ли я выводить разную информацию у разных юзеров? А не одинаковую в scoreboard у всех. Туда бы я мог вывести что то, например скорость машины. Спасибо.[DOUBLEPOST=1375949397][/DOUBLEPOST]@Dereku, с Entity спавном я проблему решил, вот эта маленькая ерунда спавнит вагонетку у игрока:
    player.getWorld().spawnEntity(loc,EntityType.MINECART);
    Но вопросы которые я написал выше всё равно ещё остаются и я буду ждать ответа на них.
     
  7. Автор темы
    robertono

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

    Баллы:
    103
    @fromgate, Тогда как же можно реализовать движение вагонетки вперёд ? Например игрок поставил вагонетку на шерсть, нажал W и setVelocity(new Vector(1,0,0)) ? Именно как я могу узнать что игрок нажал W т.е. просто вперёд ? Есть евент какой нибудь которым это можно отследить?
    А с сет велосити если с каким нибудь евентом то будет что то типо
    event.getVehicle().setVelocity ?
    если конечно евент связан с Vehicle. Я правильно говорю ?[DOUBLEPOST=1375975590,1375975333][/DOUBLEPOST]
    Это быстро обрабатывается? Если так будет обновлятся раз в секунду у одновременно 80 игроков. Сильно грузить каждую секунду будет? Или scoreboard шустро работает?
     
  8. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    В плагине Carz отлавливается событие движения вагонетки. И это правильно, ведь с недавних пор вагонетки умеют медленно ездить по указанию игрока с помощью божьей помощи.
    А чтобы лишний раз не считать и не хранить на сервере Scoreboard, его можно отправлять пакетами
     
  9. Автор темы
    robertono

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

    Баллы:
    103
    Хорошо спасибо за помощь. Я вот написал код, который спавнит вагонетку когда кликнешь мышкой, спавнит на том блоке куда смотришь.
    Но, она спавнится даже если кликнешь и правой и левой. Мне нужно что бы было только правой. В коде написано что только правой, только всё равно работает и так и так. Как исправить ? Вот код :
    Код:
      @EventHandler
      public void onRightClick(PlayerInteractEvent e)
      {
          Location clickLoc = e.getClickedBlock().getLocation();
          clickLoc.setY(clickLoc.getY() + 2);
          Player player = e.getPlayer();
          if(e.getAction().RIGHT_CLICK_BLOCK != null)
          {
              if(player.getInventory().getItemInHand().getType() == Material.MINECART)
              {
                  player.getWorld().spawnEntity(clickLoc,EntityType.MINECART);
                  ItemStack itemStack = player.getInventory().getItemInHand();
                  player.getInventory().removeItem(itemStack);
              }
          }
      }
    [DOUBLEPOST=1375984918,1375984687][/DOUBLEPOST]
    Я делаю такой плагин. потому что был один плагин для 1.3.2, но потом походу сильно изменили API и больше не один плагин по управлению вагонетками не работал.
    А можно как то обращаться к машинам из мода flan's mod ? Там столько крутых машин! Было бы круто тоже их спавнить, проверять и выполнять что то когда игрок сядит в транспорт. Будет ли такое работать если сделать евент VehicleEnterEvent ? Будет очень круто если да. К сожалению у меня сейчас времени тестить это нету.
     
  10. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    В условии проверки клика написан бред. Клик не может быть нулом. Надо так e.getAction() == Action.RIGHT_CLICK_BLOCK
     
    robertono нравится это.
  11. Автор темы
    robertono

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

    Баллы:
    103
    @Den_Abr, спасибо большое, теперь умею отслеживать клики мышки. А как насчет вопроса с подключением flan's mod ?[DOUBLEPOST=1375986546,1375986315][/DOUBLEPOST]
    Мне кажется это было только в 1.3 - 1.4, а в 1.6 уже такое что то не получается. Убрали мне кажется. Поэтому и плагины отказали старые.
     
  12. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Я не знаю, кем будут машины из фланс мода, сущностью или все таки еще и Vehicle, но в любом случае это возможно
    До 1.3 можно было кататься на лодках, но потом сервер ограничил её нестандартное движение. Теперь на вагонетках только
     
    robertono нравится это.
  13. Автор темы
    robertono

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

    Баллы:
    103
    Странно , у меня вот не движется.
    А насчёт фланс мода : он же основан на паках а не самом моде. Весь контент этого мода создают сторонние люди (если не считать официальные паки). А сам мод - только движок, открывающий и управляющий модельками.
    Поставил я один пак. Sten's пак вроде. Через мой плагин узнал название. Если вагонетка то пишет MINECART. Поставил какую то машину из пака : flan's mod.Vehicle. А вот поставил самолёт : UNKNOWN.
    И flan's mod VEHICLE он пишет с разными машинами. Так что как через код заспавнить конкретную - я не знаю. Есть идеи?
     
  14. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Я с модами не работал да и эклипса рядом нет
     
    robertono нравится это.
  15. Автор темы
    robertono

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

    Баллы:
    103
    @Den_Abr, ну ладно сам буду тестить. А можно средствами буккита над вагонеткой отобразить текст ? Так можно было бы отобразить какой тип машины. Например там чья то или например Полиция.
     
  16. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Текст можно отображать только над LivingEntity. Вагонетка кажется к ним не относится
     
    robertono нравится это.
  17. Автор темы
    robertono

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

    Баллы:
    103
    @Den_Abr, А какими мне другими способами можно это сделать? Допустим едят вагонетки по городу. Мне нужно что бы игрок мог узнать что это полиция, просто игрок или скорая помощь например. В чат писать - не вариант. Но, сервер мой с модами будет, можно будет мод поставить. Но вот покупать или делать сам - не могу.
     
  18. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Можно над водителем подписывать или переписать клиент и сервер
     
    RVXman и robertono нравится это.
  19. Автор темы
    robertono

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

    Баллы:
    103
    @Den_Abr, а кстати, я вот видел на одном сервере (плагиновым, без модов, это shotbow.net ворк), и там короче когда близко подходишь к игроку под ником его пишется цифра 0. Что это ? Можно там отобразить как то?
     
  20. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Это Scoreboard
     
    I-Am-Black-Overlord и robertono нравится это.
  21. Автор темы
    robertono

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

    Баллы:
    103
    @Den_Abr, я могу только туда вывести не создавая справа целый скор борд ? Только под ник.[DOUBLEPOST=1376139507,1376139476][/DOUBLEPOST]И могу ли я настроить расстояние отображения этого текста под ником? Может в клиенте где то?
     
Статус темы:
Закрыта.

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