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

Мод [1.6.4] [GUI] [1.6] Изменялка предметов, падающих с мобов или просто DropChanger

Тема в разделе "Модификации клиента", создана пользователем sashabelii, 13 июл 2014.

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

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

    Баллы:
    123
    Имя в Minecraft:
    sashabelii
    Доброго времени суток.

    dropChanger_bigLogo.png
    Мод, позволяющий изменять дроп с мобов.​

    Что оно может:
    • Позволяет максимально детально настроить дроп с существ
    • Работает на лету/без необходимости перезагрузки сервера
    • Работает с модами
    • Изменяет количество опыта, выпадающего с моба
    • Имеет внутриигровой интерфейс
    • Может отправлять кастомные SQL-запросы при смерти моба
    Скриншоты:

    2014-08-11_12.33.34.png
    2014-08-11_12.33.51.png 2014-08-11_12.32.17.png

    2014-07-27_22.21.30.png
    2014-07-27_22.22.38.png

    Скачать:
    Google диск

    Исходный код:
    GitHub

    *По поводу багов пишите ниже.

    1.6: Финальное обновление для Minecraft 1.6.4
    - Исправлен дроп опыта с мобов(в прошлой версии он просчитывался не верно)
    - Исправлены мелкие баги
    - Централизация кода, избавление от лишних методов
    - Теперь сохранение настроек на жесткий диск будет происходить только при сохранении мира(/save all или выключение сервера)
    - Мелкие правки в коде и интерфейсе GUI
    - Работа с SQL-запросами выпилина и перезапилина в отдельный мод
    1.5
    - Много оптимизации
    - Работа с базами данных стала удобнее
    - Фиксы ошибок
    1.4:
    - Переписан внутриигровой интерфейс
    - удобнее
    - быстрее
    - красивее
    - Реализовано изменение опыта
    - Исправлено большинство ошибок
    - Оптимизация/чистка кода
    1.3:
    - Исправлено большинство ошибок
    - Новые ошибки
    - Реализовано GUI с возможность изменения дропа прямо в игре
    - Добавлена автозагрузка необходимой для работы с базами данных библиотеки
    - Более детальная настройка дропа
    Известные баги:
    - Куча мелких и вредных
    - Не работает изменение опыта, падающего с моба

    1.2:
    - Добавлена возможность отсылать произвольные SQL-запросы при убийстве того или иного моба
    - От части оптимизирован код
    - Исправлен информатор
    - Исправлена ошибка при убийстве игрока

    Известные баги:
    - Необходимо в ручную устанавливать библиотеку JDBC


    1.1_fix:
    - Исправлен вылет из-за отсутствия языковых файлов
    Известные баги:
    - Информатор не работает;
    - Не критичная ошибка при выполнении команды /kill;

    1.1:
    - Почищены print'ы
    - Оптимизирован код
    - Конфиг переведен на язык JSON
    - Добавлен выбор языка для консольных сообщений
    - Добавлена локаль en_US.lang
    Известные баги:
    - Информатор не работает;
    - Ошибка при убийстве игрока

    1.0: Первая версия
    Известные баги:
    - Информатор дублирует информацию в чате;
    - Ошибка при убийстве игрока

    1. Оптимизация кода | В процессе
    2. Реализовать GUI с возможностью изменения дропа прямо в игре | Готово
    3. Настраиваемый дроп опыта | В процессе
    4. Работа с БД | сделано
    5. Выпадения предметов относительно промежутка чисел. | Сделано
    6. Портировать на 1.7+
     
    Последнее редактирование: 27 янв 2015
  2. Agravaine

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

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    Полезно.
     
  3. alexandrage

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

    Баллы:
    173
    Главный вопрос? Мобы из mo creatures и подобных модов потдерживает?
    Если нет, то это все баян и реализуется плагинами.
     
  4. Автор темы
    sashabelii

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

    Баллы:
    123
    Имя в Minecraft:
    sashabelii
    Тестрировал с модом Creeper Species, судя по всему - поддерживается :)
     
  5. MrGiffi

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

    Баллы:
    103
    Вау! Это очень крутой мод, сейчас протестировал MoCreatures, отлично работает. :good:
     
  6. alexandrage

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

    Баллы:
    173
    Норм че, осталось еще деньги и exp за килл чтоб настраивалось, и будет то что нужно.
     
  7. Автор темы
    sashabelii

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

    Баллы:
    123
    Имя в Minecraft:
    sashabelii
    Спасибо :)
    Сделаем.
     
  8. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Организовать поддержку любых мобов и из плагина можно. Причём без каких-либо костылей.
     
  9. Автор темы
    sashabelii

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

    Баллы:
    123
    Имя в Minecraft:
    sashabelii
    Конечно, как минимум, в NBT'шках регионов хранятся имена мобов. Мне на кузнице писать удобнее, чем на ведре :)
     
  10. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    MCPC+ инжектит мобов в EntityType, так что достаточно слушать EntityDeathEvent и менять дроп как надо.
    Не люблю кузницу из-за того что надо долго сетапать воркспейс и за то что работа с конфигом абсолютно упорота, хорошо хоть json есть, можно с помощью него мутить.
     
  11. Автор темы
    sashabelii

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

    Баллы:
    123
    Имя в Minecraft:
    sashabelii
    Воркспейс я раз в пол года меняю, вроде устраивает. За json спасибо, гляну. Тот конфиг, что есть сейчас работает через Properties и это не очень удобно, думал глядеть, как там с xml работать, а тут такая штука обьявилась... без закрывающих тегов и подобной ереси.
    Версия 1.1
    - Почищены print'ы
    - Оптимизирован код
    - Конфиг переведен на JSON
    - Добавлен выбор языка для консольных сообщений
    - Добавлена локаль en_US.lang

    *Новая версия на google-диске
     
    Последнее редактирование: 11 авг 2014
  12. Agravaine

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

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    Исходнички приложи, если не жалко)
     
  13. Автор темы
    sashabelii

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

    Баллы:
    123
    Имя в Minecraft:
    sashabelii
    Пока что рано и стыдно их выкладывать, как приведу их в тот вид, который понравился бы мне самому - кину :)
     
    Последнее редактирование: 11 авг 2014
  14. Meowt

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

    Баллы:
    123
    Я просто решил попробовать на MCPC+
    java.util.MissingResourceException: Can't find bundle for base name dropchanger.local.lang, locale en
    at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
    at java.util.ResourceBundle.getBundleImpl(Unknown Source)
    at java.util.ResourceBundle.getBundle(Unknown Source)
    at dropchanger.local.LocalManager.<init>(LocalManager.java:15)
    at dropchanger.DropChanger.preInit(DropChanger.java:34)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:545)
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:201)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:181)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
    at com.google.common.eventbus.EventBus.post(EventBus.java:267)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:112)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:522)
    at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:99)
    at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:350)
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:92)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:630)
    at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
     
  15. Автор темы
    sashabelii

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

    Баллы:
    123
    Имя в Minecraft:
    sashabelii
    Перекачай, исправил.
     
  16. Meowt

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

    Баллы:
    123
    "Проверялка" моба не работает на сервере. Изменение дропа работает отлично.
     
  17. Автор темы
    sashabelii

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

    Баллы:
    123
    Имя в Minecraft:
    sashabelii
    Сяп за репорт, в ближайшие дни исправлю.
     
  18. Meowt

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

    Баллы:
    123
    Будет замечательно если появится возможность изменять все это "на лету", а не через конфиг.

    А также предлагаю добавить шанс выпадения количества вещей, например, от 2 до 4.
    Например:
    При указании
    "count": 1,
    "chance": 50%
    выпадет 1 предмет с вероятностью в 50%
    При указании
    "count": 2-4,
    "chance-per": 30%,
    "chance": ''
    вероятность выпадения двух будет равна 30%, 3 - 30%, 4 - 30%. Таким образом можно сделать выпадение, например, от 2 до 4 предметов с разной вероятностью. Думаю, что Вы меня поняли.

    Еще: что если при генерации конфига добавить текущий дроп по-умолчанию? Если будет и поддержка того, что выпадает из мобов из модов, то будет просто замечтально.

    Решил посмотреть что за вывод в консоль, сменил на ru, получил тонну ошибок.
    В общем, думаю, Вы поняли, что нужно проверять работу с MCPC+.
     
    Последнее редактирование: 15 июл 2014
  19. Автор темы
    sashabelii

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

    Баллы:
    123
    Имя в Minecraft:
    sashabelii
    Она уже есть. Как только починю информатора - можно будет узнать имя любого моба и добавить его в конфиг.

    Уже в планах и в принципе легко реализуемо.

    Я планирую сделать добротный конструктор для изменения дропа, может быть.

    Дополнительные вычесления при каждом убийстве. Логичнее было бы написать мод, аля "GetMobsDrop for DropChanger", но сначала нужно закончить иерархию объектов внутри мода, дабы все работало шустро, а код был читабельным.
     
    Последнее редактирование: 11 авг 2014
  20. Meowt

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

    Баллы:
    123
    Я имел в виду то, чтобы заносился стандартный дроп из ванильных мобов и из модов в конфиг. Дабы не силой очищать тот, что есть и задавать новый, а просто изменить стандартный. Конечно, если это реализуемо.
    Хотя, это не так уж и необходимо.
    И да, в особенности можете написать, что отлично работает с модами.

    P.S. Быть может стоит изменить название темы на "Изменение вещей, падающих с мобов"/"Контроль вещей, падающих с мобов"/"Контроль дропа из мобов [MobDropControl]"?
     

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