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

Плагин [FUN/MECH] PotionBlock - Эффекты зелий выпадают из блока! [1.8.x]

BoosterYT

Активный участник
Пользователь
Баллы
66
PotionBlock - этот плагин будет давать Вам случайный эффект при ломании губки.

9AAM2Yw049.jpg


Особенности:
- Эффекты зелий: от регенерации до усталости(все эффекты зелий).
- Измененный Русурс-Пак(faithful x32) под этот плагин.
- Отлично подойдет на мини-режим SkyWars.






Вопросы:
-
Где можно узнать как добавить config.yml?

ToDo:
-
Добавить config.

Конец:
Пишите свое мнение и предложения...

И да, я знаю что плагин изи-пизи, но это саморазвитие :nerd:
 
Похожа функция на Lucky Block, сделай какой нибудь ещё рандомный предмет
Ну т.к. Тут связано с зельями, поэтому можно сделать всякие итамы для изготовление зелий. Ну например сверкающий арбуз и т.д.
 
Похожа функция на Lucky Block, сделай какой нибудь ещё рандомный предмет
Ну т.к. Тут связано с зельями, поэтому можно сделать всякие итамы для изготовление зелий. Ну например сверкающий арбуз и т.д.
Да, плагин похож на лаки блоки. А все началось с того, что я узнал как генерировать рандомное число XD
 
- Где можно узнать как добавить config.yml?
Создать в папке ресурсов config.yml, добавить в него нужные настройки.
Подгружать конфиг можно, примерно так:
Java:
public class Config {
    private static FileConfiguration config;

   public static void loadConfig(Plugin plugin) {
      File configFile = new File(plugin.getDataFolder(), "config.yml");
      if (!configFile.exists()) {
         plugin.saveDefaultConfig();}

      Config.config = plugin.getConfig();
   }

   public static FileConfiguration getConfig() {
      return Config.config;
   }
}

Потом в метод onEnable() добавить
Java:
Config.loadConfig(this);

После чего пользоваться конфигом так:
Java:
Config.getConfig().getBoolean("enabled"); // Получаем флаг enabled
Config.getConfig().setBoolean("enabled", true); // Устанавливаем флаг enabled
 
Последнее редактирование:
Ужас. Быдлокод.

Java:
if (random == 0)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.ABSORPTION, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Поглощение");
    }
    if (random == 1)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Слепота");
    }
    if (random == 2)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Тошнота");
    }
    if (random == 3)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Сопротивление");
    }
    if (random == 4)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.FAST_DIGGING, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Спешка");
    }
    if (random == 5)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Огнестойкость");
    }
    if (random == 6)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.HARM, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Мгновенный урон");
    }
    if (random == 7)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.HEAL, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Мгновенное лечение");
    }
    if (random == 8)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Повышение здоровья");
    }
    if (random == 9)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.HUNGER, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Голод");
    }
    if (random == 10)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Сила");
    }
    if (random == 11)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Невидимость");
    }
    if (random == 12)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Мощный прыжок");
    }
    if (random == 13)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Ночное зрение");
    }
    if (random == 14)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.POISON, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Отравление");
    }
    if (random == 15)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Регенерация");
    }
    if (random == 16)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SATURATION, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Насыщение");
    }
    if (random == 17)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Замедление");
    }
    if (random == 18)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SLOW_DIGGING, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Усталость");
    }
    if (random == 19)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Скорость");
    }
    if (random == 20)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.WATER_BREATHING, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Подводное дыхание");
    }
    if (random == 21)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.WEAKNESS, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Слабость");
    }
    if (random == 22)
    {
      e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.WITHER, 1200, 1));
      e.getPlayer().sendMessage(ChatColor.RED + "Ты получил эффект: Иссушение");
    }

Не лучше ли сделать всё это switch'ем или использовать конструкцию if-else if (лучше первый вариант)?
 
Не лучше ли сделать всё это switch'ем или использовать конструкцию if-else if (лучше первый вариант)?
Можно сделать еще проще через enum. Совсем без if'ов.
Или просто через массив

Что-то я туплю. Можно же:
Java:
e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.values()[random], 1200, 1));
 
Последнее редактирование:
Можно сделать еще проще через enum. Совсем без if'ов.
Или просто через массив

Что-то я туплю. Можно же:
Java:
e.getPlayer().addPotionEffect(new PotionEffect(PotionEffectType.values()[random], 1200, 1));
Удобный код, только без сообщений. Может поэтому автор плагина и сделал такой длинный код
 
Удобный код, только без сообщений. Может поэтому автор плагина и сделал такой длинный код
А для сообщений можно завести файл локализации и получать их оттуда или, если лень, то просто массив сообщений:
Java:
private static final String[] EFFECT_NAMES = {
    "Поглощение",
    "Слепота",
    "Тошнота"
    "И так далее"
};

// .....
e.getPlayer().sendMessage(ChatColor.RED+"Ты получил эффект: " + EFFECT_NAMES[random]);
// .....
 
А для сообщений можно завести файл локализации и получать их оттуда или, если лень, то просто массив сообщений:
Java:
private static final String[] EFFECT_NAMES = {
    "Поглощение",
    "Слепота",
    "Тошнота"
    "И так далее"
};

// .....
e.getPlayer().sendMessage(ChatColor.RED+"Ты получил эффект: " + EFFECT_NAMES[random]);
// .....
Я бы поставил лойс :good:
 
А для сообщений можно завести файл локализации и получать их оттуда или, если лень, то просто массив сообщений:
Java:
private static final String[] EFFECT_NAMES = {
    "Поглощение",
    "Слепота",
    "Тошнота"
    "И так далее"
};

// .....
e.getPlayer().sendMessage(ChatColor.RED+"Ты получил эффект: " + EFFECT_NAMES[random]);
// .....
Спасибо!
Удобный код, только без сообщений. Может поэтому автор плагина и сделал такой длинный код
Это мой первый плагин, и его нельзя назвать плагином...
Это тупое саморазвитие.
 
Спасибо!

Это мой первый плагин, и его нельзя назвать плагином...
Это тупое саморазвитие.
Конфиг для "этого" можешь взять там же, где взял идею и большую часть этого "кода", а именно у школьников на ютубе.
 

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

Назад
Верх