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

Плагин [DEV] LightAPI v1.4.2 - Создаём невидимый свет! [1.7.5 - 1.8.8]

BeYkeR

Старожил
Девелопер
Пользователь
Баллы
173
LightAPI - Создаём невидимый свет!
Версия: 1.4.2

Описание:

Маленькая библиотека для разработчиков. В основном создает невидимые источники света.

Особенности:
- Создаёт/Удаляет невидимых источников света по координатам.

Поддерживает следующие "Bukkit-платформы":
- CraftBukkit/Spigot (от 1.7.5 до 1.8.6)
- PaperSpigot (Только с 1.8.8)
- Cauldron (Только 1.7.10) BETA!

Для начала создайте класс LightRegistry. Все манипуляции идут через этот класс. Его можно получить отсюда:
Код:
LightRegistry registry = LightAPI.getRegistry(Plugin plugin);

Methods:
  • createLight(Location , light level); - Создает невидимый источник света в заданной локацией и уровнем света.
Код:
registry.createLight(player.getLocation(), 15);
  • deleteLight(Location); - Удаляет невидимый источник света в заданной локации (Иногда может не работать).
Код:
registry.deleteLight(player.getLocation());
  • sendChunks(List<ChunkInfo> list); - Отправляет чанки игрокам из списка измененных чанков.
Код:
registry.sendChunks(changesChunks);
  • collectChunks(Location loc); - Собирает и возвращает список измененных чанков.
Код:
registry.collectChunks(player.getLocation());
  • sendChunk(ChunkInfo cCoord); - Отправляет измененный чанк игрокам.
Код:
registry.sendChunk(cCoord);
  • sendChunkChanges(); - Отправляет ВСЕ не отправленные чанки игрокам.
Код:
registry.sendChunkChanges();
  • isAutoSend(); - Проверка автопосылки чанков.
Код:
registry.isAutoSend();
  • startAutoSend(int delay); - Запускает Runnable для автопосылки чанков. delay - задержка в тиках.
Код:
registry.startAutoSend(delay);
  • stopAutoSend(); - Остановка автопосылки.
Код:
registry.stopAutoSend();
  • getPlugin(); - Возвращает плагин, который использует данный LightRegistry.
Код:
registry.getPlugin();
  • getChunkCoordsList(); - Возвращает список не отправленных и измененных чанков от getPlugin().
Код:
registry.getChunkCoordsList();

События:
Известные проблемы:
- Cauldron: В широких местностях (Типо лес или огромный спавн) свет иногда не работает.
- All: При частом обновлении чанков сервер может зависнуть.

Скачать: Spigot
Исходный код: GitHub / GitLab (???)

Лог Изменений:
1.0
- Релиз
1.1
- Добавлена поддержка 1.8.3
1.2
- Добавлена новая система обновления чанков. Теперь количество пакетов с чанками зависит от уровня света. Например, уровень света 5 - количество пакетов ~1-4, а уровень света 15 - пакетов ~8-9. На ванильной версии независимо от уровня света отправляет 9 пакетов.
- Добавлен апдейтер от albionco.
- Добавлены новые методы.
1.2.1
- Изменен доступ к API части. Плагины которые используют данную библиотеку нуждаются перекодировании.
- Добавлена поддержка CraftBukkit 1.8.4
- Маленькие багфиксы
1.3.1
- Изменен доступ к API части. Плагины которые используют данную библиотеку нуждаются перекодировании.
- Теперь плагин сам обновляет чанки после установки света.
- В методах убраны аргументы needUpdate.
- Добавлен Metrics.
- Немного оптимизированы ILightRegistry's.
- Маленькие баг фиксы.
1.4.1
- Изменен доступ к API части. Плагины которые используют данную библиотеку нуждаются перекодировании.
- Теперь автообновление чанков можно отключать/включать/обновлять самим.
1.4.2
- Переименованы некоторые методы на более подходящие по смыслу.
- ChunkCoord переименован в ChunkInfo.
- Загрузка хандлера теперь зависит от строки getVersion()
- Добавлена поддержка PaperSpigot 1.8.8 (Код базирован на версии @Den_Abr).
 
Последнее редактирование:
[17.05.15]
- Добавлена новая система обновления чанков. Теперь количество пакетов с чанками зависит от уровня света. Например, уровень света 5 - количество пакетов ~1-4, а уровень света 15 - пакетов ~8-9. На ванильной версии независимо от уровня света отправляет 9 пакетов.
- Добавлен апдейтер от albionco.
- Добавлены новые методы.
[18.05.15]
- Изменен доступ к API части. Плагины которые используют данную библиотеку нуждаются перекодировании.
- Добавлена поддержка CraftBukkit 1.8.4
- Маленькие багфиксы
[03.06.15]
- Изменен доступ к API части. Плагины которые используют данную библиотеку нуждаются перекодировании.
- Теперь плагин сам обновляет чанки после установки света.
- В методах убраны аргументы needUpdate.
- Добавлен Metrics.
- Немного оптимизированы ILightRegistry's.
- Маленькие баг фиксы.
 
[21.08.15]
- Изменен доступ к API части. Плагины которые используют данную библиотеку нуждаются перекодировании.
- Теперь автообновление чанков можно отключать/включать/обновлять самим.
 
Если кликнуть по источнику света, он гаснет.

Не работает на PaperSpigot
Caused by: java.lang.NoSuchMethodError: net.minecraft.server.v1_8_R3.WorldServer
.c(Lnet/minecraft/server/v1_8_R3/EnumSkyBlock;Lnet/minecraft/server/v1_8_R3/Bloc
kPosition; )Z
at ru.BeYkeRYkt.LightAPI.nms.CraftBukkit.v1_8_R3.NMSHandler.recalculateB
lockLighting(NMSHandler.java:71) ~[?:?]
at ru.BeYkeRYkt.LightAPI.nms.CraftBukkit.v1_8_R3.NMSHandler.createLight(
NMSHandler.java:36) ~[?:?]
at ru.BeYkeRYkt.LightAPI.LightRegistry.createLight(LightRegistry.java:35
) ~[?:?]
 
[26.08.15]
- Переименованы некоторые методы на более подходящие по смыслу.
- ChunkCoord переименован в ChunkInfo.
- Загрузка хандлера теперь зависит от строки getVersion()
- Добавлена поддержка PaperSpigot 1.8.8 (Код базирован на версии @Den_Abr).
 
- Переименованы некоторые методы на более подходящие по смыслу.
- ChunkCoord переименован в ChunkInfo.
Вот ты вроде бы API делаешь, а с каждой версией переименовываешь методы и классы. Не надо так:)
 
А можно сделать что бы освещение привязывалось к предмету в руке (с уникальными индификатором или *)?
Допустим у предмета название Алмазный Меч - LVL 10003 и описание Самый крутой мечик обычный алмазный меч не издает свет, а меч с название и описание выше будет светится... Такое есть или будет?
 
А можно сделать что бы освещение привязывалось к предмету в руке (с уникальными индификатором или *)?
Допустим у предмета название Алмазный Меч - LVL 10003 и описание Самый крутой мечик обычный алмазный меч не издает свет, а меч с название и описание выше будет светится... Такое есть или будет?
Пусть этой фичей займется другой плагин. Этот все-лишь "инструмент" для разработчиков, чтобы они могли создавать невидимые источники света.
 
Hi!
I'm looking for.. тьфу...

Привет!
Кто нибудь знает автора на spigot EvilSpawn?
https://www.spigotmc.org/members/evilspawn.281/
Там лежит LightAPI
https://www.spigotmc.org/resources/lightapi.4510/

EvilSpawn от туда и BeYkeR от сюда (он же BeYkeRYkt с гитхаба) - один и тот же человек?

На spigot что то перестали обновлять плагин :(
Это можно как то реанимировать?
Или поддержка на spigot закончена?
 
Hi!
I'm looking for.. тьфу...

Привет!
Кто нибудь знает автора на spigot EvilSpawn?
https://www.spigotmc.org/members/evilspawn.281/
Там лежит LightAPI
https://www.spigotmc.org/resources/lightapi.4510/

EvilSpawn от туда и BeYkeR от сюда (он же BeYkeRYkt с гитхаба) - один и тот же человек?

На spigot что то перестали обновлять плагин :(
Это можно как то реанимировать?
Или поддержка на spigot закончена?
LightAPI собирай с гитхаба.
 

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

Назад
Верх