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

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

Полезно-ли?

  • Да, стоит развивать

  • Нет

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


Результаты видны после голосования.

kirill2011s

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

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

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

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

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

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

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

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

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

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

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

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


Не позорься, это не алгоритмы, это простые вещи, которые любой человек должен щёлкать за минуту.
 
Нет, это сборник алгоритмов для плагинов. Для примера в первом релизе я ввел только для территорий.
Вы читать умеете? Я спросил аналогичны ли функции вашей либы с фукнциями WG/WE
То есть это что то на подобие WG/WE? Eсли pos1 и pos2 находятся не на одной прямой и не на одной высоте то он ищет location и выдает кол-во блоков в кубоиде?
 

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

Назад
Верх