AntiRedstoneClock | WorldGuard + PlotSquard support | [1.8-1.15] 1.1.0

Prevent RedstoneClock to limit lags on your server

  1. Amosar
    Native Minecraft Version:
    1.13
    Tested Minecraft Versions:
    • 1.8
    • 1.12
    • 1.15
    Source Code:
    https://gitlab.com/Trafalcraft/antiRedstoneClock
    Languages Supported:
    Français, and all others with custom config file
    antiredstoneClock.png
    antiRedstoneClock is a plugin to disallow redstoneclock in your minecraft server.
    This is my first public plugin , i need you suggestion to improve it.
    If you need support for an older version please tell me you version of spigot, WorldEdit and WorldGuard

    Feature:
    -Check the redstone to disable redstoneClock
    -You can configurate the texte of the sign
    -allow and disallow the notification to admin
    -Custom Message
    -MultiWorld Support
    -WorldGuard Support
    -Select if clock drop the redstone item or not
    -support redstone, comparator, observer and repeater clock

    Dependency:
    -WorldGuard (optionnal) - per zone support
    -PlotSquared (optionnal) - per plot support

    Command:
    -/arc reload - to reload the config file
    -/arc checkList <page> - display the active redstoneclock
    -/arc setMaxPulses<value> - change the "MaxPulses" setting
    -/arc setDelay <value> - change the "Delay" setting
    -/arc notifyAdmin <boolean> - change the "notifyAdmin" setting

    To disable the plugin in a plot or a WorldGuard region use:
    PlotSquard: /plot flag set anti-redstone-clock false
    WorldGuard: /rg flag <region> anti-redstone-clock deny

    Permission:
    - antiRedstoneClock.Admin -> allow the access of all commands
    - antiRedstoneClock.notifyAdmin -> permission to received the antiRedstoneClock warning

    Clock support in all version:
    PistonClock2.gif PistonClock.gif
    RedstoneDiodeClock.gif redstoneWireClock.gif

    Clock support in 1.13:
    ObserverClock.gif RedstoneComparatorClock.gif

    CheckList legend :
    small clock
    Warn
    Limit clock

    Code (Text):

    #En:Don't touch this value
    #Fr: Ne pas modifier cette valeur
    version: 0.5
    #En:Maximal number Redstone blink authorized during the "Delay" period
    #Fr:Nombre maximal de clignotement de redstone autorise pendant la periode "Delay"
    MaxPulses: 150
    #En: Time (in second) before the reset of the variable "MaxImpulsion"
    #Fr:Temp (en secondes) avant de reset la premiere variable
    Delay: 300
    #En:You need it prevent an admin?
    #Fr:Faut t'il prevenir un admin?
    NotifyAdmins: true
    #En:Is it necessary to dropper items ( Redstone / repeater) when a loop is destroyed?
    #Fr:Faut-il dropper les items (Redstone/repeater) quand une boucle est détruite?
    DropItems: true
    #En:Write the text you want in the sign
    #Fr:Ecrire le texte a mettre sur les panneaux
    Sign:
      Line1: 'The RedstonClock'
      Line2: 'Are'
      Line3: '&4prohibited'
      Line4: ''

    #En:The list of worlds on which the plugin is disabled separate by "/", put a fake name if nothing
    #Fr: La list des mondes sur lequel le plugin est desactive separe par des "/", mettre un faut non si aucun
    IgnoreWorlds: redstoneWorld/survie

    #En:The list of Region on which the plugin is disabled separate by "/", put a fake name if nothing
    #Fr: La list des Regions sur lequel le plugin est desactive separe par des "/", mettre un faut non si aucun
    IgnoreRegion: redstone/admins

    checkedClock:
      comparator: true
      observer: true
      piston: true
      redstoneAndRepeater: true

    Msg:
      default:
        prefix: '&bAntiRedstoneClock &9&l> &r&b '
        error: '&4AntiRedstoneClock &l> &r&c '
        no_permission: '&4ERROR &9&l> &r&bYou don''t have permission to do that!'
        command_use: '&4SnowBallWar &l> &r&cCommand usage: &6/arc $command'
      message:
        MsgToAdmin: 'Redstone clock disable in x:$X y:$Y Z:$Z. In the world $World'
        unknownCmd: 'Unknown command. Type "/help" for help.'
        reloadSuccess: 'Reload Success!'
        newValueInConfig: 'The new value of $setting is $value'
        RedStoneClockListHeader: 'RedstoneClockList: $page'
        RedStoneClockListFooter: ''
      Exception:
        duplicate_object: 'This list already contains this redstone'
     

    Add Observer and Comparator support for spigot 1.12.2
    https://gitlab.com/Trafalcraft/antiRedstoneClock/-/tree/master/MAIN/nms-patches/1.12.2
    Or use the 1.12.2 version of paper available her (build 1593 or newer) : https://papermc.io/downloads#Paper-1.12
    Futur update:
    • I need your suggestion

    Serveur that use this plugin:
    Yours ?


    Source:
    [​IMG]
    Metrics:
    https://bstats.org/plugin/bukkit/antiRedstoneClock/3091

    If you like my plugin :)
    [​IMG]

    Images

    1. antiredstoneClock.png

Recent Reviews

  1. BoolyStudy
    BoolyStudy
    5/5,
    Version: 1.1.0
    great add-on, get a premium version of this add-on but enhanced with more features, to block automatic farms that cause lag on servers, I will be the first to buy
  2. laspi94
    laspi94
    5/5,
    Version: 1.1.0
    Work on 1.16.1 very nice plugins, but the sign put an disapear on brake blocks clock!
  3. Spites44
    Spites44
    1/5,
    Version: 1.1.0
    [18:17:24] [Server thread/ERROR]: Could not pass event BlockRedstoneEvent to antiRedstoneClock v1.1.0
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:309) ~[spigot.jar:git-TacoSpigot-04511af6]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:508) [spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:493) [spigot.jar:git-TacoSpigot-04511af6]
    at me.beerfish.optimization.OptimizeRedstone.calculateCurrentChanges(OptimizeRedstone.java:104) [spigot.jar:git-TacoSpigot-04511af6]
    at me.beerfish.optimization.OptimizeRedstone.e(OptimizeRedstone.java:50) [spigot.jar:git-TacoSpigot-04511af6]
    at me.beerfish.optimization.OptimizeRedstone.doPhysics(OptimizeRedstone.java:285) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.World.d(World.java:810) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.BlockDiodeAbstract.h(BlockDiodeAbstract.java:177) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.BlockRepeater.remove(SourceFile:118) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.Chunk.a(Chunk.java:614) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.World.setTypeAndDataNoLightUpdate(World.java:533) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.BlockDiodeAbstract.b(BlockDiodeAbstract.java:48) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.WorldServer.a(WorldServer.java:697) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.WorldServer.doTick(WorldServer.java:257) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:901) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:888) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:784) [spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:683) [spigot.jar:git-TacoSpigot-04511af6]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
    Caused by: net.minecraft.server.v1_8_R3.ReportedException: Exception while updating neighbours
    at net.minecraft.server.v1_8_R3.World.d(World.java:832) ~[spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.World.applyPhysics(World.java:749) ~[spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.BlockRedstoneWire.remove(BlockRedstoneWire.java:360) ~[spigot.jar:git-TacoSpigot-04511af6]
    at me.beerfish.optimization.OptimizeRedstone.remove(OptimizeRedstone.java:262) ~[spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.Chunk.a(Chunk.java:614) ~[spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.World.setTypeAndData(World.java:452) ~[spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.craftbukkit.v1_8_R3.block.CraftBlock.setTypeIdAndData(CraftBlock.java:137) ~[spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.craftbukkit.v1_8_R3.block.CraftBlock.setTypeId(CraftBlock.java:130) ~[spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.craftbukkit.v1_8_R3.block.CraftBlock.setTypeId(CraftBlock.java:125) ~[spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.craftbukkit.v1_8_R3.block.CraftBlock.breakNaturally(CraftBlock.java:406) ~[spigot.jar:git-TacoSpigot-04511af6]
    at com.trafalcraft.antiRedstoneClock.listener.Util.removeRedstoneBlock(Util.java:78) ~[?:?]
    at com.trafalcraft.antiRedstoneClock.listener.Util.removeRedstoneClock(Util.java:60) ~[?:?]
    at com.trafalcraft.antiRedstoneClock.listener.Util.checkAndUpdateRedstoneClockState(Util.java:34) ~[?:?]
    at com.trafalcraft.antiRedstoneClock.listener.RedstoneListener.onRedstoneClock(RedstoneListener.java:19) ~[?:?]
    at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_252]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_252]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:307) ~[spigot.jar:git-TacoSpigot-04511af6]
    ... 20 more
    Caused by: java.lang.NullPointerException
    at me.beerfish.optimization.OptimizeRedstone.calculateCurrentChanges(OptimizeRedstone.java:75) ~[spigot.jar:git-TacoSpigot-04511af6]
    at me.beerfish.optimization.OptimizeRedstone.e(OptimizeRedstone.java:50) ~[spigot.jar:git-TacoSpigot-04511af6]
    at me.beerfish.optimization.OptimizeRedstone.doPhysics(OptimizeRedstone.java:285) ~[spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.World.d(World.java:810) ~[spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.World.applyPhysics(World.java:749) ~[spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.BlockRedstoneWire.remove(BlockRedstoneWire.java:360) ~[spigot.jar:git-TacoSpigot-04511af6]
    at me.beerfish.optimization.OptimizeRedstone.remove(OptimizeRedstone.java:262) ~[spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.Chunk.a(Chunk.java:614) ~[spigot.jar:git-TacoSpigot-04511af6]
    at net.minecraft.server.v1_8_R3.World.setTypeAndData(World.java:452) ~[spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.craftbukkit.v1_8_R3.block.CraftBlock.setTypeIdAndData(CraftBlock.java:137) ~[spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.craftbukkit.v1_8_R3.block.CraftBlock.setTypeId(CraftBlock.java:130) ~[spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.craftbukkit.v1_8_R3.block.CraftBlock.setTypeId(CraftBlock.java:125) ~[spigot.jar:git-TacoSpigot-04511af6]
    at org.bukkit.craftbukkit.v1_8_R3.block.CraftBlock.breakNaturally(CraftBlock.java:406) ~[spigot.jar:git-TacoSpigot-04511af6]
    at com.trafalcraft.antiRedstoneClock.listener.Util.removeRedstoneBlock(Util.java:78) ~[?:?]
    at com.trafalcraft.antiRedstoneClock.listener.Util.removeRedstoneClock(Util.java:60) ~[?:?]
    at com.trafalcraft.antiRedstoneClock.listener.Util.checkAndUpdateRedstoneClockState(Util.java:34) ~[?:?]
    at com.trafalcraft.antiRedstoneClock.listener.RedstoneListener.onRedstoneClock(RedstoneListener.java:19) ~[?:?]
    at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_252]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_252]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:307) ~[spigot.jar:git-TacoSpigot-04511af6]
    ... 20 more
  4. theblocksnw
    theblocksnw
    3/5,
    Version: 1.1.0
    Help me

    [15:51:00] [Server thread/INFO]: [antiRedstoneClock] Loading antiRedstoneClock v1.1.0
    [15:51:00] [Server thread/ERROR]: com/sk89q/worldguard/protection/flags/registry/FlagConflictException initializing antiRedstoneClock v1.1.0 (Is it up to date?)
    java.lang.NoClassDefFoundError: com/sk89q/worldguard/protection/flags/registry/FlagConflictException
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_252]
    at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_252]
    at com.trafalcraft.antiRedstoneClock.util.worldGuard.VersionWG.init(VersionWG.java:35) ~[?:?]
    at com.trafalcraft.antiRedstoneClock.util.worldGuard.VersionWG.getInstance(VersionWG.java:20) ~[?:?]
    at com.trafalcraft.antiRedstoneClock.Main.onLoad(Main.java:35) ~[?:?]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:298) [patched.jar:git-PaperSpigot-"4c7641d"]
    at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:202) [patched.jar:git-PaperSpigot-"4c7641d"]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:563) [patched.jar:git-PaperSpigot-"4c7641d"]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
    Caused by: java.lang.ClassNotFoundException: com.sk89q.worldguard.protection.flags.registry.FlagConflictException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_252]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:102) ~[patched.jar:git-PaperSpigot-"4c7641d"]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87) ~[patched.jar:git-PaperSpigot-"4c7641d"]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_252]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_252]
    ... 9 more
    1. Amosar
      Author's Response
  5. kacperleague9
    kacperleague9
    3/5,
    Version: 1.1.0
    Players still can lag the server and even crash it
    (Using redstone only).....

    .
    1. Amosar
      Author's Response
      Sorry about this issue , if you can send a timings link I can take a look at what happen and see if I can do anything about it
  6. Draconia-mc
    Draconia-mc
    5/5,
    Version: 1.1.0
    Exactly what I was looking for and the plugin runs very well, does exactly what it should and works well on 1.15.2
    1. Amosar
      Author's Response
      Thanks for your review
  7. steynvaart
    steynvaart
    5/5,
    Version: 1.0.7
    awesome plugin, please keep this updated this is one of the best resources on spigot , and a must for any server.
    1. Amosar
      Author's Response
      Thanks for your review and your donation
  8. Asedi
    Asedi
    5/5,
    Version: 1.0.6
    My favourite anti-redstone-clock plugin. Lightweight and simple :3. Always using it.
  9. Ghost_chu
    Ghost_chu
    5/5,
    Version: 1.0.6
    Glad to see this plugin back to updates, The best redstone limiter! Keep the awesome work!
  10. MrMorganCz
    MrMorganCz
    5/5,
    Version: 1.0.6
    Great plugin, but you could add the possibility of ignoring a certain redstone circuit at the coordinates that it would add to the list and the plugin ignored the circuit ..
    1. Amosar
      Author's Response
      You can do that by creating a WorldGuard region for your redstone circuit and add this redstoneRegion to the plugin setting into "IgnoreRegions" setting