AntiRedstoneClock | WorldGuard + PlotSquard support | [1.8-1.17] icon

AntiRedstoneClock | WorldGuard + PlotSquard support | [1.8-1.17] -----

Prevent RedstoneClock to limit lags on your server



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 customise 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 and newer:
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

AutomaticallyBreakDetectedClock: true
SummonLigthningAtRedstoneLocation: true

#En: Customize the teleport command (variable : $x, $y, $z, $world, $player)
#Fr: Customise la commande de teleportation (variable : $x, $y, $z, $world, $player)
teleportCMD: 'tp $x $y $z $world'

#En: Put the plugin in "standby" if the TPS of the server are between min and max TPS value.
#Fr: "Désactive" le plugin si les tps du serveurs sont entre les TPS du serveur sont entre la valeur min et max.
checkTPS:
  minimumTPS: -1
  maximumTPS: -1
  intervalInSecond: 15


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/legacy

How checkTPS work
It will check 3 things
  • If minimumTPS is below 0 then it will check if the server TPS is below maximumTPS value
  • If maximumTPS is below 0 then it will check if the server TPS is greater above minimumTPS value
  • Or it will check if the server TPS is between minimumTPS and maximumTPS value.
the interval is how often the plugin will check the server TPS to enable or disable himself.
more informations :

https://gitlab.com/Trafalcraft/anti...t/antiRedstoneClock/util/CheckTPS.java#L22-43

Futur update:
As I no longer play minecraft and dont own money from this plugin I will only fix bug or add paying feature. Contact me in DM if you want new feature on this plugin.

Serveur that use this plugin:
Yours ?


Source:
[​IMG]

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

If you like my plugin :)
[​IMG]
Resource Information
Author:
----------
Total Downloads: 46,298
First Release: Feb 16, 2016
Last Update: Oct 15, 2021
Category: ---------------
All-Time Rating:
79 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings