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

Плагин [ADMN/SEC/MECH] ShareControl v2.6.4 - контроль творческого режима [1.7 - 1.11]

Делать 2 версии плагина
Не плагина!
Поддержка переводов. В папке плагина создаёшь папку lang, копируешь туда переводы плагина на разных языках, в главном конфиге плагина указываешь, какой использовать
 
Cтавишь блок в креативе, сдвигаешь его поршнем и в выживание ломаешь - PROFIT
 
spigot 1.8

Код:
[19:38:06] [Server thread/ERROR]: Could not pass event BlockPistonRetractEvent to ShareControl v2.0
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot.jar:git-Spigot-081dfa5-7658819]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-081dfa5-7658819]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-081dfa5-7658819]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.BlockPiston.e(BlockPiston.java:72) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.BlockPiston.doPhysics(BlockPiston.java:44) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.World.d(World.java:583) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.World.applyPhysics(World.java:536) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.World.update(World.java:496) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.World.notifyAndUpdatePhysics(World.java:450) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.World.setTypeAndData(World.java:426) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.BlockLever.interact(BlockLever.java:164) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.PlayerInteractManager.interact(PlayerInteractManager.java:496) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:724) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:50) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:80) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot.jar:git-Spigot-081dfa5-7658819]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_45]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_45]
    at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:683) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [spigot.jar:git-Spigot-081dfa5-7658819]
    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [spigot.jar:git-Spigot-081dfa5-7658819]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.NoSuchMethodError: org.bukkit.event.block.BlockPistonRetractEvent.getBlocks()Ljava/util/List;
    at com.net.h1karo.sharecontrol.listeners.blocks.BlockPistonRetractListener.onPistonRetract(BlockPistonRetractListener.java:29) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot.jar:git-Spigot-081dfa5-7658819]
    ... 23 more
 
Spig 1.8.7 - ShareControl v2.0

GamemodesControl:
Enabled: true
Full: true

Если игроку удаленно попытаться сменить режим на которые у него нету прав, то у него обнулится инвентарь,
Если поставить Full: false, то игрок может ставить любой режим, минуя пермишенсы
sharecontrol.gamemodescontrol.survival
sharecontrol.gamemodescontrol.creative

тогда не понятно, что именно включает Enabled: true ?
 
Spig 1.8.7 - ShareControl v2.0

GamemodesControl:
Enabled: true
Full: true

Если игроку удаленно попытаться сменить режим на которые у него нету прав, то у него обнулится инвентарь,
Если поставить Full: false, то игрок может ставить любой режим, минуя пермишенсы
sharecontrol.gamemodescontrol.survival
sharecontrol.gamemodescontrol.creative

тогда не понятно, что именно включает Enabled: true ?
Да, не много странно работает. Планировалось, что Enabled - активация\деактивация всего режима. При активном режиме и Full: true игрок никогда не попадет в режимы, к которым у него нет прав, даже если админы\модеры дадут ему этот режим. При неактивном Full блокируются только команды, то есть игрок не может себе изменить гейммод на тот, к которому у него нет соответствующего права.
Сейчас Full работает вне зависимости от Enabled, то есть если Full: true, то полный запрет, не смотря на Enabled, а если Full: false, то тут уже надо смотреть на Enabled, если он true, то только командный запрет.
В следующей версии исправлю :)
Ставте этот плагин. В нём нету багов. Ну точнее я не обнаружил.
https://github.com/Shevchik/CreativeLimiter
---
Вот скомпилированный плагин:
https://yadi.sk/d/7uUpLmG6hxiow
Я порылся в исходниках, не вижу ничего, чтобы сохраняло куда-то информацию о блоках, поставленные креативом. Нет багов, возможно, но там не большой код. Проверил на сервере: если игрок в креативе поставит блок, а потом перейдет в выживание и сломает этот блок, то он выпадет. Это называется нет багов? Смысл делать все остальное, если можно просто сломать блок алмазов, к примеру? Не понимаю такие плагины.
 
Да, не много странно работает. Планировалось, что Enabled - активация\деактивация всего режима. При активном режиме и Full: true игрок никогда не попадет в режимы, к которым у него нет прав, даже если админы\модеры дадут ему этот режим. При неактивном Full блокируются только команды, то есть игрок не может себе изменить гейммод на тот, к которому у него нет соответствующего права.
Сейчас Full работает вне зависимости от Enabled, то есть если Full: true, то полный запрет, не смотря на Enabled, а если Full: false, то тут уже надо смотреть на Enabled, если он true, то только командный запрет.
В следующей версии исправлю :)

Я порылся в исходниках, не вижу ничего, чтобы сохраняло куда-то информацию о блоках, поставленные креативом. Нет багов, возможно, но там не большой код. Проверил на сервере: если игрок в креативе поставит блок, а потом перейдет в выживание и сломает этот блок, то он выпадет. Это называется нет багов? Смысл делать все остальное, если можно просто сломать блок алмазов, к примеру? Не понимаю такие плагины.
Cтавишь блок в креативе, сдвигаешь его поршнем и в выживание ломаешь - PROFIT
 
Cтавишь блок в креативе, сдвигаешь его поршнем и в выживание ломаешь - PROFIT
В моем плагине на версиях Spigot, Bukkit и CraftBukkit 1.8 - 1.8.7 это не работает. Если, конечно, все правильно работает. Я имею в виду, что если другие плагины не перекрывают действия ShareControl.
 
В моем плагине на версиях Spigot, Bukkit и CraftBukkit 1.8 - 1.8.7 это не работает. Если, конечно, все правильно работает. Я имею в виду, что если другие плагины не перекрывают действия ShareControl.
Это на всех работает, CC CL и т.д.
 
Я порылся в исходниках, не вижу ничего, чтобы сохраняло куда-то информацию о блоках, поставленные креативом. Нет багов, возможно, но там не большой код. Проверил на сервере: если игрок в креативе поставит блок, а потом перейдет в выживание и сломает этот блок, то он выпадет. Это называется нет багов? Смысл делать все остальное, если можно просто сломать блок алмазов, к примеру? Не понимаю такие плагины.
Я дурак получается?
Почему у меня на сервере нельзя двигать поршнем блоки, поставленные креативом и там как бы есть файл куда все сохраняется. Для каждого мира свой.
Просто у меня нету того что ты написал.
 
Последнее редактирование:
Я дурак получается?
Почему у меня на сервере нельзя двигать поршнем блоки, поставленные креативом и там как бы есть файл куда все сохраняется. Для каждого мира свой.
Просто у меня нету того что ты написал.
А у меня можно двигать блоки из креатива поршнем и они не выпадают. + функционала в моём плагине больше
Здравствуй, разработчик! У тебя замечательный плагин, всё работает как надо.
Но я бы хотел попросить кое-что. У тебя в плагине есть функция BlockedCmds.
Она работает в принципе нормально, но запрещает только точно совпадающие строки.
Я бы хотел запретить игрокам в креативе комманду /trade <ник>, но, написав в BlockedCmds: - trade, я заметил, что писать /trade <ник> до сих пор можно.
Так что прошу сделать так, чтобы BlockedCmds проверял только начало комманды по совпадению.
То есть, запретив /trade, в итоге бы запретилось /trade accept, /trade decline, /trade <ник>.

Спасибо!
Я не думал об этом... Хорошо, добавлю, но в плагине Trade обмен между разными гейммодами запрещён. Это я так, на всякий случай.
 
А у меня можно двигать блоки из креатива поршнем и они не выпадают. + функционала в моём плагине больше
В том плагине тоже не выпадают. Просто мне тот плагин больше нравиться.
 
В добавок к исчезающиму инвентарю, нашел еще маленький баг с "Изменяющий предмет" - креативит вещи по ЛКМ а а разкреативка не работает.

p.s. интересно, как будет работать "SC" в креатив регионах с игроками у которых нету прав - просто есть островок с регионами на продажу где стоит флаг креатив (game-mode: Creative), и там народ с дефаулт пермами покупал регион и креативил....
 
В моем плагине на версиях Spigot, Bukkit и CraftBukkit 1.8 - 1.8.7 это не работает. Если, конечно, все правильно работает. Я имею в виду, что если другие плагины не перекрывают действия ShareControl.
Работает. На сервере был только твой плагин, ядро спигот 1.8.7.
 
Работает. На сервере был только твой плагин, ядро спигот 1.8.7.
Проверял на 1.8 - 1.8.7 спигота - все работает как надо. Что-то у вас с версией. Я не могу исправить того, что у меня работает с теми же ядрами и плагинами работает.
 

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

Назад
Верх