1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Не работает код

Тема в разделе "Разработка плагинов для новичков", создана пользователем sasha2003, 25 фев 2017.

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

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

    Баллы:
    76
    Помогите! Написал код, который при наличии права выдаёт больший шанс получения предмета при ломании блока, чем без права. Но возникла проблема... Предмет выдаётся при ломании каждого блока.


    Нужно чтобы рандомилось...

    Гляньте:


    Код:
        @EventHandler
        public void on(BlockBreakEvent e)
        {
            Player p = e.getPlayer();
            if (p.hasPermission("boostkey.1.0")) {
                {
                    int percent = rnd.nextInt(210);
                   
                    if(percent == 73);
                    {
                        ItemStack book = new ItemStack(Material.GHAST_TEAR);
                        ItemMeta meta = book.getItemMeta();
                        meta.setDisplayName(ChatColor.GREEN + "Ключ");
                        @SuppressWarnings("rawtypes")
                        List<String> lore = new ArrayList();
                        lore.add(ChatColor.BLACK + "key");
                        meta.setLore(lore);
                        book.setItemMeta(meta);
                       
                        p.getInventory().addItem(new ItemStack(book));
                        p.sendMessage(ChatColor.GOLD + "Вы нашли ключ");
                    }
                }
            }
            if (p.hasPermission("boostkey.1.5")) {
                {
                    int percent = rnd.nextInt(160);
                   
                    if(percent == 21);
                    {
                        ItemStack book = new ItemStack(Material.GHAST_TEAR);
                        ItemMeta meta = book.getItemMeta();
                        meta.setDisplayName(ChatColor.GREEN + "Ключ");
                        @SuppressWarnings("rawtypes")
                        List<String> lore = new ArrayList();
                        lore.add(ChatColor.BLACK + "key");
                        meta.setLore(lore);
                        book.setItemMeta(meta);
                       
                        p.getInventory().addItem(new ItemStack(book));
                        p.sendMessage(ChatColor.GOLD + "Вы нашли ключ. Шанс: " + ChatColor.RED + "1.5%");
                    }
                }
            }
           
        }
    }
            
     
  2. Автор темы
    sasha2003

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

    Баллы:
    76
  3. Jonny462

    Jonny462 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Jonny462
    Если тебе повезло и выпал предмет, то должен выпадать сам блок?
     
  4. Автор темы
    sasha2003

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

    Баллы:
    76
  5. VeryNothing

    VeryNothing Участник Пользователь Заблокирован

    Баллы:
    36
    Имя в Minecraft:
    null
    Кому-то варн дадут, апать тему можно только одн раз в 7 дней
     
  6. Автор темы
    sasha2003

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

    Баллы:
    76
    Помогите!!!
     
  7. Jonny462

    Jonny462 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Jonny462
    Странно, как то, что у тебя выдаётся предмет каждый раз, т.к не может быть что Random регенерирует одно и тоже число всегда.
     
  8. Автор темы
    sasha2003

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

    Баллы:
    76
    Скорее всего неправильно написан рандом

    Писал на скорую руку
    А можно через запятую написать несколько чисел, при которых будет выполняться команда?
     
  9. Jonny462

    Jonny462 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Jonny462
    Вы спрашиваете про IF?
     
  10. KobaltMr

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

    Баллы:
    88
    Имя в Minecraft:
    KobaltMR_
    Ммм, и где это написано?
     
  11. Автор темы
    sasha2003

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

    Баллы:
    76
    уже не важно. мне только нужно знать где в коде я ошибься!
     
  12. Автор темы
    sasha2003

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

    Баллы:
    76
    Это работает.
    Мне нужно понять где я совершил ошибку в РАНДОМЕ!!!
     
  13. Автор темы
    sasha2003

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

    Баллы:
    76
    Мне при ломании каждого блока даётся предмет
     
  14. Автор темы
    sasha2003

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

    Баллы:
    76
    Спасибо! Проблема в синтаксисе! Мне бы сделать так, чтобы этот предмет не выпаал при ломании блока листвы
     
  15. Автор темы
    sasha2003

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

    Баллы:
    76
    Мне бы сделать так, чтобы этот предмет не выпаал при ломании блока листвы
     
  16. Автор темы
    sasha2003

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

    Баллы:
    76
    Ну да, торможу...
    Код:
    public void on(BlockBreakEvent e) {
            Player p = e.getPlayer();
            if (p.hasPermission("boostkey.1.0")) {
                    int percent = rnd.nextInt(210);
                    if(percent == 73) {
                        if(!(e.getBlock().getType() == Material.LEAVES)) {
                            ItemStack book = new ItemStack(Material.GHAST_TEAR);
                            ItemMeta meta = book.getItemMeta();
                            meta.setDisplayName(ChatColor.GREEN + "Ключ");
                            @SuppressWarnings("rawtypes")
                            List<String> lore = new ArrayList();
                            lore.add(ChatColor.BLACK + "key");
                            meta.setLore(lore);
                            book.setItemMeta(meta);
                       
                            p.sendMessage(ChatColor.GOLD + "Вы нашли ключ");
                            p.getInventory().addItem(new ItemStack(book));
                        }
                    }
                }


    Так?????
     
  17. Jonny462

    Jonny462 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Jonny462
    Мне интересно стало, а почему всё таки код не работал?
     
  18. Автор темы
    sasha2003

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

    Баллы:
    76
    Из-за синтаксиса
     
  19. Jonny462

    Jonny462 Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Jonny462
    Строчка?
     
  20. Автор темы
    sasha2003

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

    Баллы:
    76
    Да
    Не подскажешь, как через Vault снимать с игрока деньги?
    В плагине!
     

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