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

Плагин [ADMN/EDIT/FIX] ADamageModifier v1.2 [1.6.1-1.12.1]

Тема в разделе "Неподтвержденные плагины", создана пользователем Azim_D3Tm, 18 авг 2017.

Метки:
  1. Автор темы
    Azim_D3Tm

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

    Баллы:
    76
    ADamageModifier - плагин для редактирования получаемого сущностью урона.
    Версия: 1.3

    Как уже сказано выше, данный плагин предназначен для изменения урона, получаемого сущностью.
    Данный плагин легок в использовании и почти не нагружает сервер.
    Я писал этот плагин, как "фикс" получаемого игроками урона - мод terrafirmacraft не дружит с KCauldron, в следствие чего, урон от "окружения" остался дефолтным, в то время как здоровье игроков подлетело до 1000.
    Но, во время написания кода, понял, что функционал можно расширить.
    На данный момент, плагин позволяет модифицировать получаемый сущностями урон по формуле:
    Урон * коэффициент для текущего типа урона * коэффициент для текущей сущности


    PHP:
    debugfalse #режим отладки
    types:
      
    damage#тут будут перечислены все DamageCause текущего сервера (включая модовые)
        
    FALL#причина урона
          
    enablefalse #включена ли проверка
          
    counter1.0 #на это число будет умножен урон
      
    entity#тут будут перечислены все EntityType текущего сервера (включая модовые)
        
    PLAYER#существо, которому нанесли урон
          
    enabletrue #включена ли проверка
          
    counter1.0 #на это число будет умножен урон

    Поддерживаемые версии:
    Минимальная: Craftbukkit 1.6.1 R0.1 SNAPSHOT
    Последняя: CraftBukkit 1.12.1

    Страница на spigot
    Страница на dev bukkit


    Скачать (v1.3):
    Я. диск , DevBukkit
    md5: 3147D15AB4E00CFE46149E437ABFC9E1

    Скачать (v1.2):
    Я. диск , Второй Я. диск
    md5: 641D32574F23BE8AAE95F4526879628D

    Скачать (v1.1):
    Я. диск , Второй Я. диск
    md5: 1D0B48537305912756CA2F174E7433EC

    Скачать (v1.0):
    Я. диск , Второй Я. диск
    md5: 38C1CD8342F8BB93E65242DFC328EA23

    Сорцы

    TODO:
    • Реализовать годные идеи из комментов, если таковые будут

    Лог изменений:
    Версия 1.3
    • Изменен дебаг
    • Оптимизирован конфиг
    Версия 1.2
    • Более информативное сообщение при загрузке
    • Незначительные багфиксы
    • Рассчитаны поддерживаемые версии
    Версия 1.1
    • Добавлена поддержка всех типов Entity, которые может поддерживать целевой сервер
    • Добавлена поддержка всех типов урона, которые может поддерживать целевой сервер
    • Изменен способ подгрузки конфига
    • Добавлена команда перезагрузки конфигов /admgm reload (admgm.reload)
    Версия 1.0
    • Скомпилил и залил на rubukkit
     
    Последнее редактирование: 28 авг 2017
  2. Автор темы
    Azim_D3Tm

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

    Баллы:
    76
    Данный плагин всё ещё тестируется, буду очень признателен всем отчетам об ошибках:good:
     
  3. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Вот когда сделаешь то что в TODO тогда и поговорим, такое 20 минут пишется
     
  4. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    А ты не мог создать сразу дефолт конфиг а потом его уже подгружать?
    public void loadConfiguration(){

    //getConfig().addDefault("ApplyOnlyToPlayers","true");
    getConfig().addDefault("debug", false);
    getConfig().addDefault("types.FALL.enable", false);
    getConfig().addDefault("types.FALL.counter", 1.0);

    getConfig().addDefault("types.DROWNING.enable", false);
    getConfig().addDefault("types.DROWNING.counter", 1.0);

    getConfig().addDefault("types.SUFFOCATION.enable", false);
    getConfig().addDefault("types.SUFFOCATION.counter", 1.0);

    getConfig().addDefault("types.CONTACT.enable", false);
    getConfig().addDefault("types.CONTACT.counter", 1.0);

    getConfig().addDefault("types.ENTITY_ATTACK.enable", false);
    getConfig().addDefault("types.ENTITY_ATTACK.counter", 1.0);

    getConfig().addDefault("types.FALLING_BLOCK.enable", false);
    getConfig().addDefault("types.FALLING_BLOCK.counter", 1.0);

    getConfig().addDefault("types.EXPLOSION.enable", false);
    getConfig().addDefault("types.EXPLOSION.counter", 1.0);

    getConfig().addDefault("types.FIRE.enable", false);
    getConfig().addDefault("types.FIRE.counter", 1.0);

    getConfig().addDefault("types.FIRE_TICK.enable", false);
    getConfig().addDefault("types.FIRE_TICK.counter", 1.0);

    getConfig().addDefault("types.LAVA.enable", false);
    getConfig().addDefault("types.LAVA.counter", 1.0);

    getConfig().addDefault("types.LIGHTNING.enable", false);
    getConfig().addDefault("types.LIGHTNING.counter", 1.0);

    getConfig().addDefault("types.PROJECTILE.enable", false);
    getConfig().addDefault("types.PROJECTILE.counter", 1.0);

    getConfig().options().copyDefaults(true);
    saveConfig();


    }

    if(getConfig().getBoolean("types.FALL.enable")){
    list.put(DamageCause.FALL, getConfig().getDouble("types.FALL.counter"));

    }

    if(getConfig().getBoolean("types.DROWNING.enable")){
    list.put(DamageCause.DROWNING, getConfig().getDouble("types.DROWNING.counter"));
    }

    if(getConfig().getBoolean("types.SUFFOCATION.enable")){
    list.put(DamageCause.SUFFOCATION, getConfig().getDouble("types.SUFFOCATION.counter"));
    }

    if(getConfig().getBoolean("types.CONTACT.enable")){
    list.put(DamageCause.CONTACT, getConfig().getDouble("types.CONTACT.counter"));
    }

    if(getConfig().getBoolean("types.ENTITY_ATTACK.enable")){
    list.put(DamageCause.ENTITY_ATTACK, getConfig().getDouble("types.ENTITY_ATTACK.counter"));
    }

    if(getConfig().getBoolean("types.FALLING_BLOCK.enable")){
    list.put(DamageCause.FALLING_BLOCK, getConfig().getDouble("types.FALLING_BLOCK.counter"));
    }

    if(getConfig().getBoolean("types.EXPLOSION.enable")){
    list.put(DamageCause.BLOCK_EXPLOSION, getConfig().getDouble("types.EXPLOSION.counter"));
    list.put(DamageCause.ENTITY_EXPLOSION, getConfig().getDouble("types.EXPLOSION.counter"));
    }

    if(getConfig().getBoolean("types.FIRE.enable")){
    list.put(DamageCause.FIRE, getConfig().getDouble("types.FIRE.counter"));
    }

    if(getConfig().getBoolean("types.FIRE_TICK.enable")){
    list.put(DamageCause.FIRE_TICK, getConfig().getDouble("types.FIRE_TICK.counter"));
    }

    if(getConfig().getBoolean("types.LAVA.enable")){
    list.put(DamageCause.LAVA, getConfig().getDouble("types.LAVA.counter"));
    }

    if(getConfig().getBoolean("types.LIGHTNING.enable")){
    list.put(DamageCause.LIGHTNING, getConfig().getDouble("types.LIGHTNING.counter"));
    }

    if(getConfig().getBoolean("types.PROJECTILE.enable")){
    list.put(DamageCause.PROJECTILE, getConfig().getDouble("types.PROJECTILE.counter"));
    }
     
  5. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    А в чем смысл мапы, простите та что в майн классе
     
  6. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Что за привычка экономить строки? Они что, платные?? ЗАЧЕМ вы пишите IFы в одну строчку, трудно нажать Enter? Код станет понятнее

    Ну и все, а там больше ничего и нету, но тему оформил лучше чес написал плагин
     
  7. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Ты мне плагин напишешь или что?)
     
  8. Автор темы
    Azim_D3Tm

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

    Баллы:
    76
    Я оформляю код так, что бы он был понятен в первую очередь мне.
     
  9. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Твойкодгавно - тебе будет понятно так?
    Или так
    Твой код хороший
     
  10. Автор темы
    Azim_D3Tm

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

    Баллы:
    76
    Действительно. Давайте засрем тему спорами про оформление, боже мой. Вместо кучи спама, твои придирки можно было бы оформить в одно-два сообщения.
     
  11. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Придирки? Где я придрался? По моему я все говорил конструктивно и по делу

    Это не придирки а побуждения к твоему совершенству ,помогаю так сказать
     
  12. _MineDest_

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

    Баллы:
    76
    Имя в Minecraft:
    MineDest
    Что, баллы зарабатываем? Вы вдвоем в каждой теме.
     
  13. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Ага xD
     
  14. AtomicInteger

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

    Баллы:
    76
    Не обращай внимания, обычные придурки, которые только и могут к if-кам в одну строку придираться, словно ты им что-то должен.Видишь ли, это рубакит, тут каждое школоло самоутверждается как может.
     
  15. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    А что вы тут делаете?)
     
  16. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    А метод создания дефолтного конфига тебя не испугал, или у тебя также?)
     
  17. xDark

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

    Баллы:
    96
    Вообще, ТС прав, отчасти. Форматирование кода никак не влияет. Компилятору вообще по****ь на это. А вот саму реализацию хотелось бы получше.
     
  18. xDark

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

    Баллы:
    96
    Смотря че ты переписываешь. Если тебе такой код нравится, то, твои проблемы, т.к. данный плагин надо переписать с 0.
     
  19. xDark

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

    Баллы:
    96
     
  20. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Причем тут весь плагин? Чисто эстетический вопрос, это так же как пернуть за столом, от части народу по***, но ... Думаю дальше сам догадаешься
     

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