Regions

Regions 0.0.4

No permission to download

fromgate

Administrator
Пользователь fromgate разместил новый ресурс:

Regions - Regions, regions, regions!

Regions

Regions is a plugin that provides region-based private system to your server.
You can define regions to prevent players to break or build inside, use chest, levers or doors.

Features
  • Allows to define regions by server admin
  • Allows to claim regions by users
  • Flags to configure regions
  • Limit users by amount of region they could own or amount of blocks per regions
  • API for plugin developers (including events!)
  • Fantastic! Totally new feauture:...
Узнать больше об этом ресурсе...
 

fromgate

Administrator
@SVIDA
Не успел ответить на рецензию. Можешь рассказать когда появляется ошибка?
 

fromgate

Administrator
@SVIDA
Отличный плагин, но не понимает нестандартных названий миров (level-name) помимо world
Во-первых, не работает команда claim, a define приватит "{level:world"
Во-вторых, дико флудит в консоле ошибками связанными с /sel show
Это не так чтобы критично, но я не сразу понял в чем проблема. Да и на перспективу стоило поправить. Тем более, в regions.yml пишет название мира...
Спасибо за отклик. Будем исправлять ;)

Версия сервера последняя?

По пунктам:
1. Как создавались другие миры? Слово "world" нигде жёстко не прописано - это исключительно результат того, что возвращает выделенная локация. Путаницам может быть если была выделена локация, а игрок телепортровался в другой мир выделил там вторую точку и попылся создать регион - этого я ещё не проверял, честно говоря ;). Неужели в самом накките такая забавная ошибка ;)

2. Команда /claim - как использовали? Какие настройки в конфиге при этом? Что пишет?

3. /sel show - лог с ошибкой приведите пожалуйста. Надо ловить. И в какой ситуации проявляется. Вообще если есть путаница с мирами - то ноги могут расти оттуда.
 

SVIDA

Пользователь
Nukkit 1.0dev「 蘋果(Apple)派(Pie)」 , версия API 1.0.0 для Minecraft: PE v0.13.2 alpha (версия протокола 39) с дженкинса. 125 сборка, вроде - за 17.02.16.


1. хм, как-то не подумал о предыдущем названии. На PocketMine использовал переименование папки - проблем не возникало... Глянул данные в level.dat и оказалось название таки "world"...Папка мира имела название "3", "level:world=3" и сервер подгружал нужную карту.

2. Попытался воспроизвести - не получилось.
Вероятно, вбивал по привычке команды из ведра "/rg claim ..." - "/rg define ..." то работает...Было б здорово, если и эту команду добавили.
В целом, схожесть команд с WorldGuard очень желательна, как по мне. Многие за годы игры в старшую версию вводят эти команды их даже не отдавая отчет происходящему - подсознательные рефлексы, так сказать =)


3.
19:09:44 [CRITICAL] Could not execute taskHandler Unknown: null
19:09:44 [ALERT] java.lang.NullPointerException
at ru.nukkit.regions.selector.ShowParticle.getCubePoints(ShowParticle.java:81)
at ru.nukkit.regions.selector.ShowParticle.showSelection(ShowParticle.java:67)
at ru.nukkit.regions.selector.ShowParticle.access$100(ShowParticle.java:23)
at ru.nukkit.regions.selector.ShowParticle$1.run(ShowParticle.java:45)
at cn.nukkit.scheduler.TaskHandler.run(TaskHandler.java:96)
at cn.nukkit.scheduler.ServerScheduler.mainThreadHeartbeat(ServerScheduler.java:185)
at cn.nukkit.Server.tick(Server.java:951)
at cn.nukkit.Server.tickProcessor(Server.java:756)
at cn.nukkit.Server.start(Server.java:736)
at cn.nukkit.Server.<init>(Server.java:440)
at cn.nukkit.Nukkit.main(Nukkit.java:65)

P.S. Это из-за изменений в api такие архиважные плагины, как WorldEdit \ Borders перестали работать ругаясь на

18:35:00 [INFO] Включение Borders v0.0.2
> Exception in thread "main" java.lang.NoSuchMethodError: cn.nukkit.utils.Config.setNested(Ljava/lang/String;Ljava/lang/Object;)V
at ru.nukkit.borders.util.Message.init(Message.java:292)
at ru.nukkit.borders.BordersPlugin.onEnable(BordersPlugin.java:16)
at cn.nukkit.plugin.PluginBase.setEnabled(PluginBase.java:89)
at cn.nukkit.plugin.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:117)
at cn.nukkit.plugin.PluginManager.enablePlugin(PluginManager.java:452)
at cn.nukkit.Server.enablePlugin(Server.java:596)
at cn.nukkit.Server.enablePlugins(Server.java:585)
at cn.nukkit.Server.<init>(Server.java:436)
at cn.nukkit.Nukkit.main(Nukkit.java:65)
? :(
 

fromgate

Administrator
Nukkit 1.0dev「 蘋果(Apple)派(Pie)」 , версия API 1.0.0 для Minecraft: PE v0.13.2 alpha (версия протокола 39) с дженкинса. 125 сборка, вроде - за 17.02.16.


1. хм, как-то не подумал о предыдущем названии. На PocketMine использовал переименование папки - проблем не возникало... Глянул данные в level.dat и оказалось название таки "world"...Папка мира имела название "3", "level:world=3" и сервер подгружал нужную карту.
Прикольно. Я тоже не знал, про это. Вообще было бы логично, если бы название в level.dat перезаписывалось.


2. Попытался воспроизвести - не получилось.
Вероятно, вбивал по привычке команды из ведра "/rg claim ..." - "/rg define ..." то работает...Было б здорово, если и эту команду добавили.
В целом, схожесть команд с WorldGuard очень желательна, как по мне. Многие за годы игры в старшую версию вводят эти команды их даже не отдавая отчет происходящему - подсознательные рефлексы, так сказать =)
Согласен, собственно всё кроме /rg claim - почти полная калька с WG. Я потом для оставшихся команд сделаю алиасы.


3. 19:09:44 [CRITICAL] Could not execute taskHandler Unknown: null
19:09:44 [ALERT] java.lang.NullPointerException
at ru.nukkit.regions.selector.ShowParticle.getCubePoints(ShowParticle.java:81)
at ru.nukkit.regions.selector.ShowParticle.showSelection(ShowParticle.java:67)
at ru.nukkit.regions.selector.ShowParticle.access$100(ShowParticle.java:23)
at ru.nukkit.regions.selector.ShowParticle$1.run(ShowParticle.java:45)
at cn.nukkit.scheduler.TaskHandler.run(TaskHandler.java:96)
at cn.nukkit.scheduler.ServerScheduler.mainThreadHeartbeat(ServerScheduler.java:185)
at cn.nukkit.Server.tick(Server.java:951)
at cn.nukkit.Server.tickProcessor(Server.java:756)
at cn.nukkit.Server.start(Server.java:736)
at cn.nukkit.Server.<init>(Server.java:440)
at cn.nukkit.Nukkit.main(Nukkit.java:65)
Ок. разберёмся!

P.S. Это из-за изменений в api такие архиважные плагины, как WorldEdit \ Borders перестали работать ругаясь на

18:35:00 [INFO] Включение Borders v0.0.2
> Exception in thread "main" java.lang.NoSuchMethodError: cn.nukkit.utils.Config.setNested(Ljava/lang/String;Ljava/lang/Object;)V
at ru.nukkit.borders.util.Message.init(Message.java:292)
at ru.nukkit.borders.BordersPlugin.onEnable(BordersPlugin.java:16)
at cn.nukkit.plugin.PluginBase.setEnabled(PluginBase.java:89)
at cn.nukkit.plugin.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:117)
at cn.nukkit.plugin.PluginManager.enablePlugin(PluginManager.java:452)
at cn.nukkit.Server.enablePlugin(Server.java:596)
at cn.nukkit.Server.enablePlugins(Server.java:585)
at cn.nukkit.Server.<init>(Server.java:436)
at cn.nukkit.Nukkit.main(Nukkit.java:65)
? :(

Да, что-то про Borders я забыл. Это быстро. Исправлю завтра.
 
Last edited:

SVIDA

Пользователь
Прости, что сразу не написал...nukkit пока что для меня абсолютно новая платформа и я ковыряю все подряд, а времени толком нету...так по 10/15 минут вникаю...

Вопрос касается локализации

config.yml
general:
language: default

создаает файл rus.lng, который имеет англ пояснения...как-то не логично...
В настройках сервера выбран русский язык...В конфиге плагина вбивал language: rus
и для перестраховки переименовывал старый rus.lng - та же история...
 

fromgate

Administrator
Это пока нормально. Я просто всё никак не сделаю русский язык.
Если вбивать любой "незнакомый" язык - будет получаться английский.
Я когда загружу версию с русским языком - напишу отдельно.
 

SVIDA

Пользователь
Опять я...


У простых игроков нету доступа к /sel pos1 /sel pos2? на моей практике, в креативе не всегда срабатывает один из кликов

Пробовал методом тыка вбивать пермы - не помогло
- regions.select.pos
- regions.select.pos1
- regions.pos
- regions.pos1

Так же, если написать rg info, а приват с флагами: то после ALL и value не был бы лишним пробел.
Да и дать значени переводить эти значения тоже...
Правка flag.class_a немного прихорошила. х-для уменьшения тшрифта


Уведомления о запрете PvP тоже: но это самое меньшее из бед
 
Last edited:

fromgate

Administrator
@SVIDA

В /sel pos у меня опечатка в пермишенах - region.select. Задумывалось - regions.select - так же как у обычной команды /sel
Как считаешь? Есть смысл в отдельном пермишене?

Пробел добавлю, я почему-то не обратил внимание.

А что правилось в классе чтобы шрифт был меньше?
 

asyven

Developer
@SVIDA

В /sel pos у меня опечатка в пермишенах - region.select. Задумывалось - regions.select - так же как у обычной команды /sel
Как считаешь? Есть смысл в отдельном пермишене?

Пробел добавлю, я почему-то не обратил внимание.

А что правилось в классе чтобы шрифт был меньше?
при использовании кириллицы, шрифт становится маленьким
 

SVIDA

Пользователь
@SVIDA

В /sel pos у меня опечатка в пермишенах - region.select. Задумывалось - regions.select - так же как у обычной команды /sel
Как считаешь? Есть смысл в отдельном пермишене?

Пробел добавлю, я почему-то не обратил внимание.

А что правилось в классе чтобы шрифт был меньше?
нет, никакого смысла...

добавил русскую "х" - тк вырвиглаз было, когда часть флагов из-за кириллицы становись меньше, а остальное было большим...Примечательно, что есть спецсимволы, которые размер не меняют. Например, ➤

Что стоило бы добавить
1. в rg_claim_area_volume_reached вывод теперешнего количества блоков, в sel_ok тоже...
2. /rg sel - как минимум, чтоб посмотреть границы привата.
3. /expand
P.S. визуальный режим сильно кушает ресурсы, для всех включать нежелательно?
 

fromgate

Administrator
1. Это точно будет, я сам планировал - так что будет.
2. Не совсем понял, что имеешь в виду?
3. /expand тоже в планах с самого начала.

Вообще из опыта на bukkit, у частиц есть следующие причина лагов:
1. Нагрузка на сеть. Я как-то столкнулся с тем, что при ТПС 20 начинались лаги из-за того, задержки и т.п. Т.е. сервер обрабатывал всё нормально, но вот сеть была перегружена сообщениями с пакетами.
2. Нагрузка на клиента - когда рядом с игроком рисуется огромное число частиц. Клиент может лагать, зависать и вылетать. В десктопном майне, это вроде бы исправили в 1.9. А вот как ведёт себя MCPE - я не знаю.

Чтобы не было проблем из-за сети я всегда применяю отправку только при наличии игрока рядом с частицами на определенном расстоянии. Т.е. если игрок находится далеко - от отправка пакета с частицами не происходит. Т.е. если игрок выделил где-то территорию, а сам ушёл куда-то далеко - то она не будет отрисовываться и пакеты отправляться не будут.
Из-за количества частиц в одной точке лагать не должно - тут критического количества в одной точке формироваться не должно.

Кроме того, в конфиг я добавил несколько настроек - чтобы избежать теоретических причин лагов:
Code:
	limit-amount: 100
	limit-distance: 64
limit-amount - максимальное количство частиц, которое будет отрисовываться. Если частиц больше - то ничего рисоваться не будет (потом возможно сделаю фильтр - на ближайшие частицы).
limit-distance - расстояние от игрока до частицы, чтобы она рисовалалась. Если уйдёт дальше - то она не будет отрисовываться. В приципе это значение можно снизить, допустим до 32-х. Вообще в ПК-Майнкрафте (до 1.9) большинство частицы было видно только на расстоянии... 16 блоков. Это мало, но в большинстве случаев достаточно.


Сейчас я вожусь со строительной частью (я не вижу смысла делить функционал WorldEdit и WorldGuard на два разных плагина - всё равно один требует другого). Уже реализованы команды /set, /replace и моя любимая команда /up. Сделана поддержка /undo.

Сегодня планирую добавить /copy и /paste. И буду думать насчет /regen - чанк регенерировать по идее, не проблема. Но важно сделать именно регенерацию выделенной территории.
 

SVIDA

Пользователь
/rg sel чтоб можно было выбрать ранее заприваченный регион. Если в перспективе будет expand, то в мгновение расширить свои имения...

на лимиты внимание обратил при первой конфигурации
Еще заметил(вчера увидев ваши скриншоты впервые скачал mcw10e), что на моем mba связка bluestack+android apk работают нормально и особо не грузят систему, а MCW10E превращает бук в печку(даже выйдя с самого сервера, находясь в перечне серверов. ох уж эти мелкомягкие :confused:)...впрочем, работает пробел/присесть, вставка текста и обе кнопки мышки - это однозначно плюс, который заставляет терпеть гул :)

со связкой "wg+we" полностью согласен!

Не хотите поделиться билдами поделок симбиоза? я бы на досуге потестировал-все же проще, когда несколько человек смотрит...
тем более, вы рассуждаете больше со стороны логики как это должно работать, а я со стороны обывателя "как хотелось бы"
Да и везение у меня такое, что часто на косяки попадаю...
 

SVIDA

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

регион абсолютно непримечательный (логи приведены с прошлой попытки привата-координаты немного другие)

'2281337':
area: cuboid:{level:world x1:185 y1:67 z1:-119 x2:200 y2:88 z2:-97}
owners: vitalvech
members: ''
flags:
PVP:
relate: ALL
value: deny

До рестарта/релода все работает, а после плагин не стартует
Опытным путем выявлено, что проблема в отрицательных значениях z координат
"2016-2-21 18:14:12 [ALERT] java.lang.IllegalArgumentException: Wrong area definition format: cuboid:{level:world x1:177 y1:67 z1:-126 x2:204 y2:94 z2:-99} at ru.nukkit.regions.areas.Area.<init>(Area.java:42) at ru.nukkit.regions.saver.YamlSaver.load(YamlSaver.java:43) at ru.nukkit.regions.manager.RegionManager.load(RegionManager.java:36) at ru.nukkit.regions.manager.RegionManager.<init>(RegionManager.java:32) at ru.nukkit.regions.Regions.init(Regions.java:9) at ru.nukkit.regions.RegionsPlugin.onEnable(RegionsPlugin.java:26) at cn.nukkit.plugin.PluginBase.setEnabled(PluginBase.java:89) at cn.nukkit.plugin.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:117) at cn.nukkit.plugin.PluginManager.enablePlugin(PluginManager.java:452) at cn.nukkit.Server.enablePlugin(Server.java:596) at cn.nukkit.Server.enablePlugins(Server.java:585) at cn.nukkit.Server.reload(Server.java:655) at cn.nukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27) at cn.nukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:151) at cn.nukkit.Server.dispatchCommand(Server.java:608) at cn.nukkit.command.CommandReader.run(CommandReader.java:66)"]
 

fromgate

Administrator
@SVIDA
Ааааа! Позор мне! Это я в регулярном выражении, которое проверяет формат записи забыл учесть, что коориданты бывают отрицателные.
Или сегодня или завтра с утра залью обновленную версию.
 
Last edited:

fromgate

Administrator
Пользователь fromgate обновил ресурс Regions новой записью:

Builder commands added :)

v0.0.2
  • Added commands:
    • /up <blocks> - create block of glass above the player (in defined distance) and teleport player on this block
    • /set <block>[:<data>] - fill selected area with provided blocks
    • /replace <block1>[:<data>] <block2>[:<data>] - replace all blocks <block1> to <block2> in selected area
    • /undo - undo last edits (of command /set and /replace)
    • /copy - copy selection into clipboard
    • /paste - paste clipboard into player position
    • /region...
Узнать больше об этом обновлении...
 

SVIDA

Пользователь
версию забыл поправить...
13:08:09 [INFO] Загрузка Regions v0.0.1 :D
 

fromgate

Administrator
Версия - не главное ;) В следующей будет сразу 0.0.3 ;)
 

Vlad

Пользователь
Спасибо большое за качественный приват! Пожелания: добавьте пожалуйста команды /rg claim (/rg create), /rg pos1 (/rg pos2), флаг USE, и права на неограниченное кол-во приватов и неограниченное кол-во блоков на привате.
 

fromgate

Administrator
Спасибо большое за качественный приват! Пожелания: добавьте пожалуйста команды /rg claim (/rg create), /rg pos1 (/rg pos2), флаг USE, и права на неограниченное кол-во приватов и неограниченное кол-во блоков на привате.
Команды /rg pos1|2 = /sel pos1 /sel pos2

/rg claim = /claim

/rg create = /rg define и хочу заметить, что она отличается от /claim назначением. claim - для обычных игроков, а define для администраторов

Флаг USE обязательно добавлю И скорее всего будут флаги отдельно на кнопки, рычаги и т.п.
 
Top