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

Помогите Опять прошу...

Discussion in 'Разработка плагинов для новичков' started by ShaGTF, Feb 13, 2014.

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

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

    Trophy Points:
    68
    Имя в Minecraft:
    CoolShaGGy
    Привет! Не буду тянуть, вообщем вот код:
    Code:
    package TheWar;
    
    import org.bukkit.entity.Fireball;
    import org.bukkit.event.EventHandler;
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    
    public class mainClass extends JavaPlugin implements Listener {
           
    
        public void onEnable(){
            Bukkit.getPluginManager().registerEvents(this, this);
            getLogger().info("TheWar plugin enabling");
        }
        public void onDisable(){
            getLogger().info("TheWar plugin disabling");
        }
    
        @EventHandler
        public void getAction(PlayerInteractEvent e) {
            if(e.getAction().equals(Action.RIGHT_CLICK_AIR)) {
                if(e.getPlayer().getItemInHand().getType().equals(Material.BLAZE_ROD)); {
                    e.getPlayer().launchProjectile(Fireball.class);
                       
                    }
                }
    
                       
                    }
                   
           
                }
       
       
    
    Вопрос: Если я нажимаю ПКМ с ЛЮБЫМ блоком, выстреливается FireBall. А мне нужно с палочкой блейза... Помогите, пожалуйста. Я надоел, знаю.
     
  2. Хостинг MineCraft
    <
  3. JustBlender

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

    Trophy Points:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    ПОТОМУ ЧТО НАДО ПОБОЛЬШЕ ЧИТАТЬ ДОКУМЕНТАЦИИ. И нахера тут equals? Используй его если тебе надо например уже сделать проверку на имя предмета. Просто: уриури.getType() == Material.BLAZE_ROD
     
    ShaGTF likes this.
  4. Автор темы
    ShaGTF

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

    Trophy Points:
    68
    Имя в Minecraft:
    CoolShaGGy
    Спасибо :D Буду читать документацию (*゚▽゚)ノ
     
  5. JustBlender

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

    Trophy Points:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Еще есть вопросы? А то делать нечего :)[DOUBLEPOST=1392306057,1392305933][/DOUBLEPOST]
    И еще, рекомендую все таки использовать "пакет" вот так: не просто TheWar, а например, ru.shagtf.thewar. Незнаю, но мне это больше нравится :D
     
  6. Автор темы
    ShaGTF

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

    Trophy Points:
    68
    Имя в Minecraft:
    CoolShaGGy
    Угу, спасибо за совет. Как же ты мне помогаешь :3
     
  7. StealerSlain

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

    Trophy Points:
    88
    Имя в Minecraft:
    StealerSlain
    Вот на всякий случай.

    Вопрос

    Что такое метод equals() ?
    Чем он отличается от операции == ?

    Ответ

    Метод equals() обозначает отношение эквивалентности объектов. Эквивалентным называется отношение, которое является симметричным, транзитивным и рефлексивным. Рефлексивность: для любого ненулевого x, x.equals(x) вернет true;
    Транзитивность: для любого ненулевого x, y и z, если x.equals(y) и y.equals(z) вернет true, тогда и x.equals(z) вернет true;
    Симметричность: для любого ненулевого x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) вернет true.
    Также для любого ненулевого x, x.equals(null) должно вернуть false.
    Отличия equals() от операции == в классе Object нет. Это видно, если взглянуть исходный код метода equals класса Object:
     
    musel70 and JustBlender like this.
  8. _Danger_

    _Danger_ Новичок

    Trophy Points:
    23
    Skype:
    heyqweel
    Имя в Minecraft:
    _Danger_
    Вот весь плагин за тебя ЖДУ ЛАЙКА.)))

    Code:
    package TheWar;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Fireball;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.block.Action;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class mainClass extends JavaPlugin implements Listener
    {
    
        public void onEnable()
        {
            Bukkit.getPluginManager().registerEvents(this, this);
            getLogger().info("TheWar plugin enabling");
        }
    
        @EventHandler
        public void onClick(PlayerInteractEvent e)
        {
            Player player = e.getPlayer();
            if(e.getAction() == Action.RIGHT_CLICK_AIR)
            {
                if(player.getItemInHand().getType() == Material.BLAZE_ROD)
                {
                      e.getPlayer().launchProjectile(Fireball.class);
                }
            }
        }
    
        public void onDisable()
        {
            getLogger().info("TheWar plugin disabling");
        }
    
      //The War Plugin Bukkit
    
    }
     
    Last edited: Feb 14, 2014
  9. JustBlender

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

    Trophy Points:
    123
    Skype:
    justblender
    Имя в Minecraft:
    JustBlender
    Не жди. Что тут такого нового? И еще херею от такого:
    Code:
                if(player.getItemInHand().getType() == Material.BLAZE_ROD)
                {
    
                    if(e.getPlayer().getItemInHand().getType().equals(Material.BLAZE_ROD));
                    {
    Зачем писать equals? x2. Если проверку на айтем уже сделали?
     
  10. kris13

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

    Trophy Points:
    78
    Автору на заметку. В коде используется проверка предмета через материал, так же возможны варианты сравнения самого предмета(в бакките есть класс Item в котором ванильные предметы, так же есть класс Block) и еще можно брать от предмета getTypeId() и сравнивать по ID предмета, последний вариант удобен при работе с модами.
     
  11. _Danger_

    _Danger_ Новичок

    Trophy Points:
    23
    Skype:
    heyqweel
    Имя в Minecraft:
    _Danger_
    ахахахха я прсото спешил и забыл удалить когда вставлял !
     

Share This Page