Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

popugau

Активный участник
Пользователь
Баллы
61
Объясните зачем так пишут CraftPlayer player = (CraftPlayer) player. Что это дает и откуда берут этого Craftplayer'a
 
Для начала вам нужно понять разницу между Bukkit и Craftbukkit.
 
Приведу пример как понимаю я, например отловили событие,

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

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

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

//в коде не нужно будет прописывать e.getPlayer(); , достаточно будет поставить один символ p.
Речь идёт о кастовании, а не объявлении переменных.
 
Объясните зачем так пишут CraftPlayer player = (CraftPlayer) player. Что это дает и откуда берут этого Craftplayer'a
Есть такая вещь, как Bukkit API, она реализуется разными серверами и даёт нам более или менее уникальные интерфесы. Как реализовывать это API решают разработчики сами. В конкретном случае это ядро CraftBukkit, и реализует класс Player класс CraftPlayer, но это отход от API и уход вглубь конкретной реализации сервера. То есть если весьма грубо сказать, то Player -- это яблоко, а CraftPlayer -- это антоновка, и то и другое можно съесть. Яблоко нам не скажет о вкусе конкретнее, чем антоновка. Если мы возьмём какую-то другую реализацию, то там может и не быть(да и не должно быть) CraftPlayer'а, если вернуться к яблокам, то это будет например ранет. CraftPlayer нам даёт доступ к более глубинным функциям, которые не вынесены в API, но в то же время разработчики ядра вовсе не обязаны использовать в двух релизах с разницей в минуту одни и те же методы в CraftPlayer, в то время как для Player, они это делать обязаны.
 

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

Назад
Верх