Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Плагин [DEV] MathPluginsLib v1.0 Математика для плагинов [1.0-*]

Тема в разделе "Неподтвержденные плагины", создана пользователем kirill2011s, 15 ноя 2014.

?

Полезно-ли?

  1. Да, стоит развивать

  2. Нет

  3. Идея хороша, но алгоритмов очень мало.

Результаты будут видны только после голосования.
  1. Автор темы
    kirill2011s

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

    Баллы:
    103
    MathPluginsLib - Математика для плагинов
    Версия: 1.0

    Библиотека для других плагинов предоставляющая реализацию разнообразных математических(в основном геометрических) вычислений. Предназначен(в основном) для уменьшения кол-ва кода в ваших плагинах, но может использоваться, если вам нужен какой-то алгоритм, но вы не знаете как его реализовать. Если у вас есть такой алгоритм, который вы считаете нужным добавить сюда, для всеобщего использования, напишите мне. Skype слева, под аватаркой.

    Для администраторов серверов(как установить):

    1. Скачиваете внизу страницы .jar файл.
    2. Кладете его в папку plugins вашего сервера.
    3. Перезапускаете сервер.

    Для разработчиков(как использовать):
    1. Скачиваете внизу страницы .jar файл.
    2. Подключаете его в вашу любимую среду разработки так же, как подключаете библиотеку bukkit API.
    3. Читаете подробное описание ниже и заменяете большую часть кода на уже реализованные мною функции.
    4. При распространении своего плагина, не забываете напомнить тем, кому распространяете, установить эту библиотеку.
    Как начать использовать методы плагина:

    1. Вам нужно получить объект MathOperations, делается это так:
    Код:
    MathOperations operations = MathOperations.getMathOperations(Plugin plugin, boolean showDebugTracking)
    //Где plugin это экземпляр вашего плагина, а showDebugTracking позволяет разрешить или запретить вывод в консоль ошибок для их отладки.
    2. И дальше использовать эти методы:
    Код:
    boolean isPosInArea(Location pos1, Location pos2, Location checkPos)[/COLOR]
    - Выдает true если checkPos находится между точек pos1 и pos2 и true, если нет. При исключении, а так же если позиции находятся в разных мирах, выдает false.
    Код:
    List<Block> getListOfBlockInArea(Location pos1, Location pos2)
    - Выдает список блоков между позициями pos1 и pos2. При исключении, а так же если позиции находятся в разных мирах, выдает null.
    Код:
    List<Location> getListOfLocationInArea(Location pos1, Location pos2)
    - Выдает список Location находящихся между pos1 и pos2. При исключении, а так же если позиции находятся в разных мирах, выдает null.
    Код:
    int getAreaSizeInBlocks(Location pos1, Location pos2)
    - Выдает кол-во блоков находящихся между pos1 и pos2. При исключении, а так же если позиции находятся в разных мирах, выдает -1.
    Код:
    int getDistanse(Location loc1, Location loc2)
    - Выдает расстояние между loc1 и loc2. При исключении, а так же если позиции находятся в разных мирах, выдает -1.


    //TODO:
    • Добавить больше мат. методов(жду ваших пожеланий).
    • Создать некий JavaDoc для всего этого
    • Выложить исходный код
    Скачать:

    Dropbox:
    https://www.dropbox.com/s/fdqdcq2ol4naa4c/MathPluginsLib.jar?dl=0

    ЯндексДиск:
    https://yadi.sk/d/gWOerQjCcj8Nz
     
  2. Хостинг MineCraft
    <
  3. Shockwave

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

    Баллы:
    103
    То есть это что то на подобие WG/WE? Eсли pos1 и pos2 находятся не на одной прямой и не на одной высоте то он ищет location и выдает кол-во блоков в кубоиде?
     
    Последнее редактирование: 16 ноя 2014
  4. ptnk

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

    Баллы:
    173
    Ничего бесполезнее я не видел.
     
  5. Автор темы
    kirill2011s

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

    Баллы:
    103
    Нет, это сборник алгоритмов для плагинов. Для примера в первом релизе я ввел только для территорий.

    По моему, достаточно полезно. Как минимум тем, что вы можете не копировать постоянно некоторые разработанные вами алгоритмы, тем самым уменьшая кол-во вашего кода. Так же, позже появятся довольно сложные алгоритмы, которые новичкам еще не по силам придумать самим, а эта библиотека может помочь им.
     
  6. ptnk

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

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

    Такие вещи не делаются отдельным плагином, ну может быть просто отдельной подключаемой библиотекой, либо при сборке вспомогательные классы добавляются плагины, но никак не отдельный плагин.

    location.distance(otherLocation) - расстояние между двумя локациями, не нужно долго думать и мудрить, не нужно показывать школьный курс математики за 7класс.

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

    getListOfBlockInArea - список блокоа Кубической зоны или прямоугольника? В коде я не вижу, чтобы все блоки там добавлялимсь в список, так же и location. Я вижу, что в этих твоих "чудо алгоритмах" добавляется нижняя грань прямоугольного параллелипипеда.


    Не позорься, это не алгоритмы, это простые вещи, которые любой человек должен щёлкать за минуту.
     
  7. Shockwave

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

    Баллы:
    103
    Вы читать умеете? Я спросил аналогичны ли функции вашей либы с фукнциями WG/WE
     

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