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

Объясните зачем так пишут

Discussion in 'Разработка плагинов для новичков' started by popugau, Jan 9, 2015.

  1. Автор темы
    popugau

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

    Trophy Points:
    61
    Объясните зачем так пишут CraftPlayer player = (CraftPlayer) player. Что это дает и откуда берут этого Craftplayer'a
     
  2. Хостинг MineCraft
    <
  3. serega6531

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

    Trophy Points:
    173
    Skype:
    shkurovs
    Для начала вам нужно понять разницу между Bukkit и Craftbukkit.
     
  4. Автор темы
    popugau

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

    Trophy Points:
    61
    Вроде никакой. Одно и тоже
     
  5. Flumaster

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

    Trophy Points:
    153
    Skype:
    alexey_aristov
    Если это обработчик команды - то для того чтобы писать из-под консоли.
     
  6. Den_Abr

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

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Одно и то же, как руль и велосипед. Для ответа на ваш вопрос вам надо изучить Java, чтобы понять, для чего делают кастование.
     
  7. UniWest

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

    Trophy Points:
    66
    Skype:
    CrazyLee1337
    Имя в Minecraft:
    Reflect1on
    Приведу пример как понимаю я, например отловили событие,

    public void onDrop(PlayerDropItemEvent e)
    {
    Player p = e.getPlayer();
    Bla bla bla
    }

    //в коде не нужно будет прописывать e.getPlayer(); , достаточно будет поставить один символ p.
     
  8. Den_Abr

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

    Trophy Points:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Речь идёт о кастовании, а не объявлении переменных.
     
  9. Ission

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

    Trophy Points:
    173
    Skype:
    lokivava
    Есть такая вещь, как Bukkit API, она реализуется разными серверами и даёт нам более или менее уникальные интерфесы. Как реализовывать это API решают разработчики сами. В конкретном случае это ядро CraftBukkit, и реализует класс Player класс CraftPlayer, но это отход от API и уход вглубь конкретной реализации сервера. То есть если весьма грубо сказать, то Player -- это яблоко, а CraftPlayer -- это антоновка, и то и другое можно съесть. Яблоко нам не скажет о вкусе конкретнее, чем антоновка. Если мы возьмём какую-то другую реализацию, то там может и не быть(да и не должно быть) CraftPlayer'а, если вернуться к яблокам, то это будет например ранет. CraftPlayer нам даёт доступ к более глубинным функциям, которые не вынесены в API, но в то же время разработчики ядра вовсе не обязаны использовать в двух релизах с разницей в минуту одни и те же методы в CraftPlayer, в то время как для Player, они это делать обязаны.
     

Share This Page