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

Удаление вещей персонажа

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

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

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

    Баллы:
    63
    Имя в Minecraft:
    Kurnel_Djenkins
    Сейчас разрабатываю плагин,который будет замещать Глаз Эндера в Жемчуг и наоборот.
    Но,к сожалению, Глаз Эндера превращается в Жемчуг,но обратно нет.Надеюсь,что вы поможете мне.
     
  2. Хостинг MineCraft
    <
  3. dirt34

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

    Баллы:
    143
    Skype:
    alucid2
    Имя в Minecraft:
    dirt34
    зачем это вообще?
     
  4. aceJKE

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

    Баллы:
    123
    Думаю он делает "исчезатор" как на Mineplex. Или еще что-то по прнципу toggle...
    Если я правильно понял....
     
  5. Автор темы
    BogdanSH

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

    Баллы:
    63
    Имя в Minecraft:
    Kurnel_Djenkins
    Именно так[DOUBLEPOST=1398273537,1398273481][/DOUBLEPOST]Могу кинуть код
     
  6. aceJKE

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

    Баллы:
    123
    Ну если есть код, то в чем проблема? Просто проверь условие)
     
  7. Автор темы
    BogdanSH

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

    Баллы:
    63
    Имя в Minecraft:
    Kurnel_Djenkins
    Да вот проблему не могу найти.
    @SuppressWarnings("deprecation")
    @EventHandler
    public void onPlayerInteract(PlayerInteractEvent event) {
    Player p = event.getPlayer();
    if(p.getItemInHand().equals(new ItemStack(Material.EYE_OF_ENDER))) {
    if(event.getAction().equals(Action.RIGHT_CLICK_AIR)) {
    p.getItemInHand().setType(Material.ENDER_PEARL);
    event.setCancelled(true);}
    if(!event.isCancelled()) {
    p.setItemInHand(new ItemStack(Material.EYE_OF_ENDER));
    p.updateInventory();
    }
    }
    }
    }[DOUBLEPOST=1398273956,1398273872][/DOUBLEPOST]
    Ивенты зарегистрированы,а вот обратно никак не получается :/[DOUBLEPOST=1398273998][/DOUBLEPOST]Только получается из Ока в Жемчуг превратить,а обратно нет(
     
  8. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Где форматирование кода?
     
  9. Автор темы
    BogdanSH

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

    Баллы:
    63
    Имя в Minecraft:
    Kurnel_Djenkins
    package ChaneItems;

    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    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.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;

    public class Main extends JavaPlugin implements Listener {
    public void onEnable() {
    Bukkit.getServer().getPluginManager().registerEvents(this, this);
    Bukkit.getServer().getLogger().info("&4Plugin was enabled!");
    this.getServer().getPluginManager().registerEvents(this, this);
    }
    public void onDisable() {
    Bukkit.getServer().getLogger().info("&4Plugin was disabled");
    }
    @SuppressWarnings("deprecation")
    @EventHandler
    public void onPlayerInteract(PlayerInteractEvent event) {
    Player p = event.getPlayer();
    if(p.getItemInHand().equals(new ItemStack(Material.EYE_OF_ENDER))) {
    if(event.getAction().equals(Action.RIGHT_CLICK_AIR)) {
    p.getItemInHand().setType(Material.ENDER_PEARL);
    event.setCancelled(true);}
    if(!event.isCancelled()) {
    p.setItemInHand(new ItemStack(Material.EYE_OF_ENDER));
    p.updateInventory();
    }
    }
    }
    }
     
  10. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Форматирование кода где? 90% проблем из-за него.
    Код:
    package ChaneItems;
    
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    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.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Main extends JavaPlugin implements Listener {
        public void onEnable() {
            Bukkit.getServer().getPluginManager().registerEvents(this, this);
            Bukkit.getServer().getLogger().info("&4Plugin was enabled!");
            this.getServer().getPluginManager().registerEvents(this, this);
        }
        public void onDisable() {
            Bukkit.getServer().getLogger().info("&4Plugin was disabled");
        }
        @SuppressWarnings("deprecation")
        @EventHandler
        public void onPlayerInteract(PlayerInteractEvent event) {
            Player p = event.getPlayer();
            if (p.getItemInHand().equals(new ItemStack(Material.EYE_OF_ENDER))) {
                if (event.getAction().equals(Action.RIGHT_CLICK_AIR)) {
                    p.getItemInHand().setType(Material.ENDER_PEARL);
                    event.setCancelled(true);
                }
                if (!event.isCancelled()) {
                    p.setItemInHand(new ItemStack(Material.EYE_OF_ENDER));
                    p.updateInventory();
                }
            }
        }
    }
    [DOUBLEPOST=1398274773,1398274719][/DOUBLEPOST]
    Код:
    if (p.getItemInHand().equals(new ItemStack(Material.EYE_OF_ENDER))) {
                if (event.getAction().equals(Action.RIGHT_CLICK_AIR)) {
                    p.getItemInHand().setType(Material.ENDER_PEARL);
                    event.setCancelled(true);
                }
                if (!event.isCancelled()) {
                    p.setItemInHand(new ItemStack(Material.EYE_OF_ENDER));
                    p.updateInventory();
                }
     }
    Вот что это такое?
     
  11. Автор темы
    BogdanSH

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

    Баллы:
    63
    Имя в Minecraft:
    Kurnel_Djenkins
    Ты имеешь ввиду удаление кода или что?[DOUBLEPOST=1398274993,1398274911][/DOUBLEPOST]Оператор If с ивентами
     
  12. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Я имел в виду "Что это за говнокод?".
     
  13. Автор темы
    BogdanSH

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

    Баллы:
    63
    Имя в Minecraft:
    Kurnel_Djenkins
    Слушай,я новичек в этом деле,по этому и спрашиваю дабы мне помогли с этим
     
    Help нравится это.
  14. Автор темы
    BogdanSH

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

    Баллы:
    63
    Имя в Minecraft:
    Kurnel_Djenkins
    Сколько раз повторять,я новичек!Я создал тему,чтобы мне помогли а не говорили говно код,говно код.
     
  15. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Код:
    if(p.getItemInHand().getType().equals(Material.EYE_OF_ENDER)) {
        p.setItemInHand(new ItemStack(Material.ENDER_PEARL));
    } else if(p.getItemInHand().getType().equals(Material.ENDER_PEARL)){
        p.setItemInHand(new ItemStack(Material.EYE_OF_ENDER));
    }
    Вот так надо.
     
  16. Автор темы
    BogdanSH

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

    Баллы:
    63
    Имя в Minecraft:
    Kurnel_Djenkins
    Так else используется,если оператор If не срабатывает?
     
  17. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Я даже не знаю, что и ответить.
     
    Hilgert нравится это.
  18. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    PHP:
    package ChaneItems;

    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    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.inventory.ItemStack;
    import org.bukkit.plugin.java.JavaPlugin;

    public class 
    Main extends JavaPlugin implements Listener {

        public 
    void onEnable() {
            
    Bukkit.getServer().getPluginManager().registerEvents(thisthis);
            
    Bukkit.getServer().getLogger().info("&4Plugin was enabled!"); // Ненужное сообщение. Сервер сам напишет, когда плагин будет активирован.
            
    this.getServer().getPluginManager().registerEvents(thisthis); // зачем регисрировать события ещё раз???
        
    }
        public 
    void onDisable() {
            
    // метод используется не по назначению (здесь по-хорошему должна быть очистка переменных плагина). Вывод бессмысленного сообщения, которое напишет сервер.
            
    Bukkit.getServer().getLogger().info("&4Plugin was disabled");
        }
       
        @
    SuppressWarnings("deprecation"// ошибки нужно исправлять, а не прятать
        
    @EventHandler // приоритет кто будет выставлять?
        
    public void onPlayerInteract(PlayerInteractEvent event) {
            
    Player p event.getPlayer();
            
    // equals используется в основном при сравнении строк. Здесь лучше использовать "=="
            
    if(p.getItemInHand().equals(new ItemStack(Material.EYE_OF_ENDER))) { // незачем создавать новый ItemStack для сравнения. Получи type предмета и сравнивай с Material.EYE_OF_ENDER
            
    if(event.getAction().equals(Action.RIGHT_CLICK_AIR)) { // та же беда
            
    p.getItemInHand().setType(Material.ENDER_PEARL);
            
    event.setCancelled(true);
            
    // здесь добавь return, чтобы код, сдедующий ниже не выполнялся.
            
    }
            if(!
    event.isCancelled()) { // ненужный if (причина в пред. комменте)
            
    p.setItemInHand(new ItemStack(Material.EYE_OF_ENDER));
            
    p.updateInventory();
            }
            }
        }
     
  19. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Не нужно всё делать за него.
     
  20. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Если этого не делать, тогда и дальше будет писать говнокод.
     
  21. serega6531

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

    Баллы:
    173
    Skype:
    shkurovs
    Но надо, чтобы он учился.
     
Статус темы:
Закрыта.

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