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

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

Discussion in 'Неподтвержденные плагины' started by kirill2011s, Nov 15, 2014.

?

Полезно-ли?

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

  2. Нет

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

Results are only viewable after voting.
  1. Автор темы
    kirill2011s

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Share This Page