Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов 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. Хостинг MineCraft
    <
  3. Автор темы
    sasha2003

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

    Баллы:
    76
  4. Jonny462

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

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

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

    Баллы:
    76
    Да[DOUBLEPOST=1488015012,1488009669][/DOUBLEPOST]Up
     
  6. VeryNothing

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

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

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

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

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

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

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

    Баллы:
    76
    Скорее всего неправильно написан рандом[DOUBLEPOST=1488025205,1488025170][/DOUBLEPOST]

    Писал на скорую руку[DOUBLEPOST=1488025489][/DOUBLEPOST]А можно через запятую написать несколько чисел, при которых будет выполняться команда?
     
  10. Jonny462

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

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

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

    Баллы:
    88
    Skype:
    mr.dill9
    Ммм, и где это написано?
     
  12. Автор темы
    sasha2003

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

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

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

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

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

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

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

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

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

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

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

    Баллы:
    76
    Ну да, торможу...[DOUBLEPOST=1488034029,1488033874][/DOUBLEPOST]
    Код:
    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));
                        }
                    }
                }


    Так?????
     
  18. Jonny462

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

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

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

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

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

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

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

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

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