diff --git a/MAIN/dependency-reduced-pom.xml b/MAIN/dependency-reduced-pom.xml
index cc8ed86..64b30ac 100644
--- a/MAIN/dependency-reduced-pom.xml
+++ b/MAIN/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
AntiRedstoneClock-Reborn
com.trafalcraft.antiRedstoneClock
- 2.0
+ 2.1
4.0.0
MAIN
@@ -21,13 +21,21 @@
maven-shade-plugin
- 3.1.0
+ 3.6.0
package
shade
+
+
+
+ org.bstats
+ com.trafalcraft.anti_redstone_clock.libs.bstats
+
+
+
@@ -52,129 +60,35 @@
+
+ com.sk89q.worldguard
+ worldguard-bukkit
+ 7.0.15
+ provided
+
+
+ com.plotsquared
+ plotsquared-bukkit
+ 7.5.12
+ provided
+
org.spigotmc
spigot-api
1.21.4-R0.1-SNAPSHOT
provided
-
-
- guava
- com.google.guava
-
-
- gson
- com.google.code.gson
-
-
- joml
- org.joml
-
-
- bungeecord-chat
- net.md-5
-
-
- snakeyaml
- org.yaml
-
-
-
-
- com.sk89q.worldguard
- worldguard-bukkit
- 7.0.14
- provided
-
-
- worldguard-core
- com.sk89q.worldguard
-
-
- worldedit-bukkit
- com.sk89q.worldedit
-
-
- paperlib
- io.papermc
-
-
com.intellectualsites.plotsquared
plotsquared-bukkit
7.5.6
provided
-
-
- plotsquared-core
- com.intellectualsites.plotsquared
-
-
- squirrelid
- org.enginehub
-
-
- ServerLib
- dev.notmyfault.serverlib
-
-
- Arkitektonika-Client
- com.intellectualsites.arkitektonika
-
-
- Paster
- com.intellectualsites.paster
-
-
- informative-annotations
- com.intellectualsites.informative-annotations
-
-
- paperlib
- io.papermc
-
-
net.kyori
adventure-platform-bukkit
4.4.1
provided
-
-
- adventure-platform-api
- net.kyori
-
-
- adventure-text-serializer-bungeecord
- net.kyori
-
-
- adventure-text-serializer-legacy
- net.kyori
-
-
- adventure-nbt
- net.kyori
-
-
- adventure-text-serializer-gson
- net.kyori
-
-
- adventure-text-serializer-gson-legacy-impl
- net.kyori
-
-
- adventure-platform-facet
- net.kyori
-
-
- adventure-platform-viaversion
- net.kyori
-
-
@@ -184,4 +98,3 @@
UTF-8
-
diff --git a/MAIN/pom.xml b/MAIN/pom.xml
index 785962d..6c77eff 100644
--- a/MAIN/pom.xml
+++ b/MAIN/pom.xml
@@ -1,11 +1,13 @@
-
+
4.0.0
com.trafalcraft.antiRedstoneClock
AntiRedstoneClock-Reborn
- 2.0
+ 2.1
jar
@@ -32,8 +34,8 @@
https://maven.enginehub.org/repo/
- plotsquared
- https://plotsquared.com/mvn/
+ plotsquared
+ https://plotsquared.com/mvn/
@@ -41,36 +43,56 @@
org.bstats
bstats-bukkit
- 2.2.1
+ 3.0.2
compile
-
+
+
+ com.sk89q.worldguard
+ worldguard-bukkit
+ 7.0.15
+ provided
+
+
+ com.plotsquared
+ plotsquared-bukkit
+ 7.5.12
+ provided
+
-
- ${project.basedir}/src/main/java
-
-
- ${project.basedir}/src/main/resources
-
- plugin.yml
- config.yml
-
-
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.1.0
-
-
- package
-
- shade
-
-
-
-
-
-
+
+ ${project.basedir}/src/main/java
+
+
+ ${project.basedir}/src/main/resources
+
+ plugin.yml
+ config.yml
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.6.0
+
+
+ package
+
+ shade
+
+
+
+
+ org.bstats
+ com.trafalcraft.anti_redstone_clock.libs.bstats
+
+
+
+
+
+
+
+
diff --git a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/Main.java b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/Main.java
index b7cd789..562b4ad 100644
--- a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/Main.java
+++ b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/Main.java
@@ -65,6 +65,9 @@ public class Main extends JavaPlugin {
public void onEnable() {
long startTime = System.currentTimeMillis();
+ // Registriere eigenen Teleport-Command
+ this.getCommand("arc_tp").setExecutor(new com.trafalcraft.anti_redstone_clock.commands.ArcTpCommand());
+
if (instance.getConfig().getBoolean("metrics")) {
this.getLogger().info("Enabling Metrics");
try {
diff --git a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/commands/ArcTpCommand.java b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/commands/ArcTpCommand.java
new file mode 100644
index 0000000..40dc9ad
--- /dev/null
+++ b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/commands/ArcTpCommand.java
@@ -0,0 +1,40 @@
+package com.trafalcraft.anti_redstone_clock.commands;
+
+import org.bukkit.Bukkit;
+import org.bukkit.Location;
+import org.bukkit.World;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+public class ArcTpCommand implements CommandExecutor {
+ @Override
+ public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
+ if (!(sender instanceof Player)) {
+ sender.sendMessage("Nur Spieler können diesen Befehl nutzen.");
+ return true;
+ }
+ if (args.length < 4) {
+ sender.sendMessage("Verwendung: /arc_tp ");
+ return true;
+ }
+ Player player = (Player) sender;
+ try {
+ double x = Double.parseDouble(args[0]);
+ double y = Double.parseDouble(args[1]);
+ double z = Double.parseDouble(args[2]);
+ World world = Bukkit.getWorld(args[3]);
+ if (world == null) {
+ player.sendMessage("Welt nicht gefunden: " + args[3]);
+ return true;
+ }
+ Location loc = new Location(world, x, y, z);
+ player.teleport(loc);
+ player.sendMessage("§aTeleportiert zu: " + x + ", " + y + ", " + z + " in Welt " + world.getName());
+ } catch (NumberFormatException e) {
+ player.sendMessage("Ungültige Koordinaten!");
+ }
+ return true;
+ }
+}
diff --git a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/commands/CheckList.java b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/commands/CheckList.java
index 4207b45..377c5f9 100644
--- a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/commands/CheckList.java
+++ b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/commands/CheckList.java
@@ -48,6 +48,7 @@ public class CheckList {
int minElements = 5 * (page - 1);
int maxElements = 5 * page;
String teleportCMD = Main.getInstance().getConfig().getString("teleportCMD", "teleport $x $y $z");
+
int maxPulses = Main.getInstance().getConfig().getInt("MaxPulses");
for (Location loc : allLocation) {
@@ -66,12 +67,11 @@ public class CheckList {
+ ",Y:" + loc.getY()
+ ",Z:" + loc.getZ()
+ " b:" + clock + "/" + maxPulses);
- textComponent.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/" + teleportCMD
- .replace("$x", String.format("%.0f", loc.getX()))
- .replace("$y", String.format("%.0f", loc.getY()))
- .replace("$z", String.format("%.0f", loc.getZ()))
- .replace("$world", loc.getWorld().getName())
- .replace("$player", sender.getName())));
+ textComponent.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/arc_tp "
+ + String.format("%.0f", loc.getX()) + " "
+ + String.format("%.0f", loc.getY()) + " "
+ + String.format("%.0f", loc.getZ()) + " "
+ + loc.getWorld().getName()));
textComponent.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,
new Text("Click to teleport you to the redstoneclock")));
sendFormatedMessageToPlayer(sender, textComponent);
diff --git a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/listener/Util.java b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/listener/Util.java
index 9b55b7d..3570732 100644
--- a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/listener/Util.java
+++ b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/listener/Util.java
@@ -70,12 +70,11 @@ class Util {
for (Player p : Bukkit.getOnlinePlayers()) {
if (p.isOp() || p.hasPermission("antiRedstoneClock.NotifyAdmin")) {
TextComponent textComponent = getFormatedStringForMsgToAdmin(block);
- String teleportCMD = Main.getInstance().getConfig().getString("teleportCMD", "teleport $x $y $z");
- textComponent.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/" + teleportCMD
- .replace("$x", Integer.toString(block.getX()))
- .replace("$y", Integer.toString(block.getY()))
- .replace("$z", Integer.toString(block.getZ()))
- .replace("$world", block.getWorld().getName())));
+ textComponent.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/arc_tp "
+ + block.getX() + " "
+ + block.getY() + " "
+ + block.getZ() + " "
+ + block.getWorld().getName()));
sendFormatedMessageToPlayer(p, textComponent);
}
}
diff --git a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/plotSquared/PlotSquared_7.java b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/plotSquared/PlotSquared_7.java
new file mode 100644
index 0000000..3d335dd
--- /dev/null
+++ b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/plotSquared/PlotSquared_7.java
@@ -0,0 +1,48 @@
+package com.trafalcraft.anti_redstone_clock.util.plotSquared;
+
+
+import org.bukkit.World;
+import org.bukkit.Location;
+import com.plotsquared.core.PlotAPI;
+import com.plotsquared.core.plot.Plot;
+import com.plotsquared.bukkit.util.BukkitUtil;
+
+public class PlotSquared_7 implements IPlotSquared {
+ private PlotAPI api;
+
+ @Override
+ public void init() {
+ api = new PlotAPI();
+ }
+
+ @Override
+ public boolean isAllowedPlot(Location location) {
+ if (api == null) api = new PlotAPI();
+ if (location == null || location.getWorld() == null) return false;
+ com.plotsquared.core.location.Location plotLoc = BukkitUtil.adapt(location);
+ if (plotLoc == null) return false;
+ com.plotsquared.core.plot.PlotArea area = plotLoc.getPlotArea();
+ if (area == null) return false;
+ com.plotsquared.core.plot.Plot plot = area.getPlot(plotLoc);
+ if (plot == null) return false;
+ // Prüfe das redstone-Setting per Reflection
+ try {
+ if (plot.getSettings() != null) {
+ Object settings = plot.getSettings();
+ java.lang.reflect.Method m = settings.getClass().getMethod("isRedstone");
+ Object result = m.invoke(settings);
+ if (result instanceof Boolean && !((Boolean) result)) {
+ return false; // Redstone ist auf diesem Plot verboten
+ }
+ }
+ } catch (Exception e) {
+ // Wenn Setting nicht abfragbar, Redstone erlauben
+ }
+ return true;
+ }
+
+ @Override
+ public String getVersion() {
+ return "7.x";
+ }
+}
diff --git a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/plotSquared/VersionPlotSquared.java b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/plotSquared/VersionPlotSquared.java
index 4a7203d..d4fde2f 100644
--- a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/plotSquared/VersionPlotSquared.java
+++ b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/plotSquared/VersionPlotSquared.java
@@ -31,9 +31,10 @@ public class VersionPlotSquared {
}
String plotSquaredVersion = plugin.getDescription().getVersion().split("\\.")[0];
try {
+ String className = "com.trafalcraft.anti_redstone_clock.util.plotSquared.PlotSquared_" + plotSquaredVersion;
ClassLoader classLoader = Main.class.getClassLoader();
- classLoader.loadClass("com.trafalcraft.antiRedstoneClock.util.plotSquared.PlotSquared_" + plotSquaredVersion);
- Class> aClass = Class.forName("com.trafalcraft.antiRedstoneClock.util.plotSquared.PlotSquared_" + plotSquaredVersion);
+ classLoader.loadClass(className);
+ Class> aClass = Class.forName(className);
plotSquared = (IPlotSquared) aClass.getDeclaredConstructors()[0].newInstance();
} catch (Exception e) {
Main.getInstance().getLogger().warning("PlotSquared " + plotSquaredVersion + " is not supported");
diff --git a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/worldGuard/VersionWG.java b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/worldGuard/VersionWG.java
index 9082e07..d6396ef 100644
--- a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/worldGuard/VersionWG.java
+++ b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/worldGuard/VersionWG.java
@@ -31,9 +31,11 @@ public class VersionWG {
}
String wgVersion = plugin.getDescription().getVersion().split("\\.")[0];
try {
+ String basePackage = this.getClass().getPackage().getName();
+ String className = basePackage + ".WorldGuard_" + wgVersion;
ClassLoader classLoader = Main.class.getClassLoader();
- classLoader.loadClass("com.trafalcraft.antiRedstoneClock.util.worldGuard.WorldGuard_" + wgVersion);
- Class> aClass = Class.forName("com.trafalcraft.antiRedstoneClock.util.worldGuard.WorldGuard_" + wgVersion);
+ classLoader.loadClass(className);
+ Class> aClass = Class.forName(className);
worldGuard = (IWorldGuard) aClass.getDeclaredConstructors()[0].newInstance();
} catch (Exception e) {
Main.getInstance().getLogger().warning("WorldGuard " + wgVersion + " is not supported");
diff --git a/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/worldGuard/WorldGuard_7.java b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/worldGuard/WorldGuard_7.java
new file mode 100644
index 0000000..df6cc5b
--- /dev/null
+++ b/MAIN/src/main/java/com/trafalcraft/anti_redstone_clock/util/worldGuard/WorldGuard_7.java
@@ -0,0 +1,51 @@
+package com.trafalcraft.anti_redstone_clock.util.worldGuard;
+
+
+import com.sk89q.worldedit.bukkit.BukkitAdapter;
+import com.sk89q.worldedit.math.BlockVector3;
+import com.sk89q.worldguard.WorldGuard;
+import com.sk89q.worldguard.protection.ApplicableRegionSet;
+import com.sk89q.worldguard.protection.flags.Flag;
+import com.sk89q.worldguard.protection.flags.StateFlag;
+import com.sk89q.worldguard.protection.flags.registry.FlagRegistry;
+import com.sk89q.worldguard.protection.managers.RegionManager;
+import org.bukkit.Location;
+import org.bukkit.World;
+
+public class WorldGuard_7 implements IWorldGuard {
+ @Override
+ public boolean isAllowedRegion(Location loc) {
+ World world = loc.getWorld();
+ if (world == null) return false;
+ com.sk89q.worldguard.protection.regions.RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer();
+ RegionManager regionManager = container.get(BukkitAdapter.adapt(world));
+ if (regionManager == null) return false;
+ BlockVector3 bv = BukkitAdapter.asBlockVector(loc);
+ ApplicableRegionSet regionSet = regionManager.getApplicableRegions(bv);
+ // Prüfe das antiredstoneclock-Flag in allen Regionen an dieser Location
+ StateFlag flag = (StateFlag) WorldGuard.getInstance().getFlagRegistry().get("antiredstoneclock");
+ if (flag == null) return false;
+ // testState gibt true zurück, wenn das Flag auf ALLOW steht (Schutz aktiv), false bei DENY (Schutz ignorieren)
+ return !regionSet.testState(null, flag);
+ }
+
+ @Override
+ public String getVersion() {
+ return "7.x";
+ }
+
+ @Override
+ public boolean registerFlag() {
+ try {
+ FlagRegistry registry = WorldGuard.getInstance().getFlagRegistry();
+ StateFlag flag = new StateFlag("antiredstoneclock", true);
+ Flag> existing = registry.get("antiredstoneclock");
+ if (existing == null) {
+ registry.register(flag);
+ }
+ return true;
+ } catch (Exception e) {
+ return false;
+ }
+ }
+}
diff --git a/MAIN/src/main/resources/config.yml b/MAIN/src/main/resources/config.yml
index 863674b..5854fe1 100644
--- a/MAIN/src/main/resources/config.yml
+++ b/MAIN/src/main/resources/config.yml
@@ -7,6 +7,12 @@ metrics: true
# Maximale Anzahl der erlaubten Redstone-Impulse während der "Verzögerungs"-Periode (Zahl > 1)
MaxPulses: 150
+# Teleport-Befehl für Klick-Events (tp $player $x $y $z)
+# teleportCMD: "tp $player $x $y $z $world" # Vanilla/EssentialsX
+# teleportCMD: "tppos $player $x $y $z $world" # z.B. EssentialsX
+# teleportCMD: "minecraft:tp $player $x $y $z $world" # Vanilla erzwingen
+teleportCMD: "minecraft:tp $player $x $y $z $world"
+
# Zeit (in Sekunden) bis zum Zurücksetzen der "MaxImpuls"-Variable (Zahl > 1)
Delay: 300
@@ -27,7 +33,7 @@ Sign:
Line4: ''
# Liste der Welten, in denen das Plugin deaktiviert ist, getrennt durch "/", wenn keine, Namen wie "keine" eintragen
-IgnoreWorlds: world_redstone/überleben
+IgnoreWorlds: world_redstone/survival
# Liste der Regionen, in denen das Plugin deaktiviert ist, getrennt durch "/", wenn keine, Namen wie "keine" eintragen
IgnoreRegions: redstone/admins
diff --git a/MAIN/src/main/resources/plugin.yml b/MAIN/src/main/resources/plugin.yml
index 8d5094e..f0a1ba7 100644
--- a/MAIN/src/main/resources/plugin.yml
+++ b/MAIN/src/main/resources/plugin.yml
@@ -1,5 +1,5 @@
name: AntiRedstoneClock-Reborn
-version: 2.0
+version: 2.1
description: Limit the redstoneClock
author: M_Viper
website: https://m-viper.de
@@ -12,3 +12,6 @@ commands:
antiRedstoneClock:
description: Base command for the antiRedstoneClock plugin.
aliases: [arc]
+ arc_tp:
+ description: Interner Teleport-Befehl für AntiRedstoneClock (nicht von anderen Plugins beeinflusst).
+ usage: /arc_tp
diff --git a/MAIN/target/AntiRedstoneClock-Reborn-IGNORE.jar b/MAIN/target/AntiRedstoneClock-Reborn-IGNORE.jar
new file mode 100644
index 0000000..8bea663
Binary files /dev/null and b/MAIN/target/AntiRedstoneClock-Reborn-IGNORE.jar differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/Main$1.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/Main$1.class
new file mode 100644
index 0000000..1874cbf
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/Main$1.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/Main$2.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/Main$2.class
new file mode 100644
index 0000000..3c7e884
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/Main$2.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/Main.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/Main.class
new file mode 100644
index 0000000..39d1c49
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/Main.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/PlayerListener.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/PlayerListener.class
new file mode 100644
index 0000000..d8dd5e6
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/PlayerListener.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/ArcTpCommand.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/ArcTpCommand.class
new file mode 100644
index 0000000..090541e
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/ArcTpCommand.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/AutoRemoveDetectedClock.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/AutoRemoveDetectedClock.class
new file mode 100644
index 0000000..b9a2501
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/AutoRemoveDetectedClock.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/CheckList.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/CheckList.class
new file mode 100644
index 0000000..62aec80
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/CheckList.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/CreateSignWhenClockIsBreak.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/CreateSignWhenClockIsBreak.class
new file mode 100644
index 0000000..0339e88
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/CreateSignWhenClockIsBreak.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/DisableRedstoneClockCheckAbove.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/DisableRedstoneClockCheckAbove.class
new file mode 100644
index 0000000..4f4f79f
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/DisableRedstoneClockCheckAbove.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/NotifyAdmin.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/NotifyAdmin.class
new file mode 100644
index 0000000..e57fef7
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/NotifyAdmin.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/Reload.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/Reload.class
new file mode 100644
index 0000000..218dcda
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/Reload.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/SetDelay.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/SetDelay.class
new file mode 100644
index 0000000..55b717a
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/SetDelay.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/SetMaxPulses.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/SetMaxPulses.class
new file mode 100644
index 0000000..b6cecb1
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/commands/SetMaxPulses.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/exception/DuplicateRedstoneClockObjectException.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/exception/DuplicateRedstoneClockObjectException.class
new file mode 100644
index 0000000..9e7049f
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/exception/DuplicateRedstoneClockObjectException.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/ComparatorListener.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/ComparatorListener.class
new file mode 100644
index 0000000..493b82e
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/ComparatorListener.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/ObserverListener.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/ObserverListener.class
new file mode 100644
index 0000000..8579c69
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/ObserverListener.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/PistonListener.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/PistonListener.class
new file mode 100644
index 0000000..a42b1e3
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/PistonListener.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/RedstoneListener.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/RedstoneListener.class
new file mode 100644
index 0000000..142bd9e
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/RedstoneListener.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/Util.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/Util.class
new file mode 100644
index 0000000..6500084
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/listener/Util.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/object/RedstoneClock.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/object/RedstoneClock.class
new file mode 100644
index 0000000..5603a56
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/object/RedstoneClock.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/object/RedstoneClockController.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/object/RedstoneClockController.class
new file mode 100644
index 0000000..4b886e2
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/object/RedstoneClockController.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/CheckTPS.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/CheckTPS.class
new file mode 100644
index 0000000..d326c77
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/CheckTPS.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/Msg.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/Msg.class
new file mode 100644
index 0000000..465fd33
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/Msg.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/plotSquared/IPlotSquared.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/plotSquared/IPlotSquared.class
new file mode 100644
index 0000000..2c691f0
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/plotSquared/IPlotSquared.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/plotSquared/PlotSquared_7.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/plotSquared/PlotSquared_7.class
new file mode 100644
index 0000000..f8b1a96
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/plotSquared/PlotSquared_7.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/plotSquared/VersionPlotSquared.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/plotSquared/VersionPlotSquared.class
new file mode 100644
index 0000000..94a423f
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/plotSquared/VersionPlotSquared.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/worldGuard/IWorldGuard.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/worldGuard/IWorldGuard.class
new file mode 100644
index 0000000..a3d044e
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/worldGuard/IWorldGuard.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/worldGuard/VersionWG.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/worldGuard/VersionWG.class
new file mode 100644
index 0000000..2798184
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/worldGuard/VersionWG.class differ
diff --git a/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/worldGuard/WorldGuard_7.class b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/worldGuard/WorldGuard_7.class
new file mode 100644
index 0000000..ca1b07c
Binary files /dev/null and b/MAIN/target/classes/com/trafalcraft/anti_redstone_clock/util/worldGuard/WorldGuard_7.class differ
diff --git a/MAIN/target/classes/config.yml b/MAIN/target/classes/config.yml
new file mode 100644
index 0000000..5854fe1
--- /dev/null
+++ b/MAIN/target/classes/config.yml
@@ -0,0 +1,84 @@
+# Version: Nicht an dieser Stelle verändern
+version: 0.9
+
+# Metrics aktivieren (true/false)
+metrics: true
+
+# Maximale Anzahl der erlaubten Redstone-Impulse während der "Verzögerungs"-Periode (Zahl > 1)
+MaxPulses: 150
+
+# Teleport-Befehl für Klick-Events (tp $player $x $y $z)
+# teleportCMD: "tp $player $x $y $z $world" # Vanilla/EssentialsX
+# teleportCMD: "tppos $player $x $y $z $world" # z.B. EssentialsX
+# teleportCMD: "minecraft:tp $player $x $y $z $world" # Vanilla erzwingen
+teleportCMD: "minecraft:tp $player $x $y $z $world"
+
+# Zeit (in Sekunden) bis zum Zurücksetzen der "MaxImpuls"-Variable (Zahl > 1)
+Delay: 300
+
+# Soll ein Admin benachrichtigt werden? (true/false)
+NotifyAdmins: true
+
+# Sollen Items (Redstone / Repeater) gedroppt werden, wenn eine Schleife zerstört wird? (true/false)
+DropItems: true
+
+# Soll beim Zerstören einer Clock ein Schild erstellt werden? (true/false)
+CreateSignWhenClockIsBreak: true
+
+# Text, der auf dem Schild stehen soll
+Sign:
+ Line1: RedstoneClocks
+ Line2: Sind
+ Line3: '&4verboten'
+ Line4: ''
+
+# Liste der Welten, in denen das Plugin deaktiviert ist, getrennt durch "/", wenn keine, Namen wie "keine" eintragen
+IgnoreWorlds: world_redstone/survival
+
+# Liste der Regionen, in denen das Plugin deaktiviert ist, getrennt durch "/", wenn keine, Namen wie "keine" eintragen
+IgnoreRegions: redstone/admins
+
+# PlotSquared-Support aktivieren oder deaktivieren (true/false)
+plotSquaredSupport: true
+
+# WorldGuard-Support aktivieren oder deaktivieren (true/false)
+worldGuardSupport: true
+
+# Clock-Erkennung für verschiedene Redstone-Elemente aktivieren/deaktivieren (true/false)
+checkedClock:
+ comparator: true
+ observer: true
+ piston: true
+ redstoneAndRepeater: true
+
+# Automatisches Zerstören erkannter Redstone-Schleifen (true/false)
+AutomaticallyBreakDetectedClock: true
+
+# Blitz an der Position der Redstone-Schleife beschwören (true/false)
+SummonLigthningAtRedstoneLocation: true
+
+# Plugin in „Standby“ versetzen, wenn die TPS des Servers im Bereich zwischen min und max liegen
+checkTPS:
+ minimumTPS: -1
+ maximumTPS: -1
+ intervalInSecond: 15
+
+# Überprüfung von Redstone-Schleifen oberhalb eines Y-Wertes deaktivieren
+disableRedstoneClockCheckAbove: 255
+
+# Nachrichten
+Msg:
+ default:
+ prefix: '&bAntiRedstoneClock &9&l> &r&b '
+ error: '&4AntiRedstoneClock &l> &r&c '
+ no_permission: '&4Fehler &9&l> &r&bDu hast keine Berechtigung, dies zu tun!'
+ command_use: '&4AntiRedstoneClock &l> &r&cBefehlsnutzung: &6/arc $command'
+ message:
+ MsgToAdmin: Redstone-Schleife deaktiviert bei x:$X y:$Y z:$Z. In der Welt $World
+ unknownCmd: Unbekannter Befehl. Tippe "/help" für Hilfe.
+ reloadSuccess: Neu laden erfolgreich! Redstone Listener und Drittanbieter-Plugins sind nicht betroffen!
+ newValueInConfig: Neuer Wert von $setting ist $value
+ RedStoneClockListHeader: 'RedstoneClockListe: Seite $page'
+ RedStoneClockListFooter: ''
+ Exception:
+ duplicate_object: Diese Liste enthält bereits diesen Redstone-Block
diff --git a/MAIN/target/classes/plugin.yml b/MAIN/target/classes/plugin.yml
new file mode 100644
index 0000000..f0a1ba7
--- /dev/null
+++ b/MAIN/target/classes/plugin.yml
@@ -0,0 +1,17 @@
+name: AntiRedstoneClock-Reborn
+version: 2.1
+description: Limit the redstoneClock
+author: M_Viper
+website: https://m-viper.de
+api-version: 1.13
+softdepend: [WorldGuard, bstats, PlotSquared]
+
+main: com.trafalcraft.anti_redstone_clock.Main
+
+commands:
+ antiRedstoneClock:
+ description: Base command for the antiRedstoneClock plugin.
+ aliases: [arc]
+ arc_tp:
+ description: Interner Teleport-Befehl für AntiRedstoneClock (nicht von anderen Plugins beeinflusst).
+ usage: /arc_tp
diff --git a/MAIN/target/maven-archiver/pom.properties b/MAIN/target/maven-archiver/pom.properties
new file mode 100644
index 0000000..bb90d3b
--- /dev/null
+++ b/MAIN/target/maven-archiver/pom.properties
@@ -0,0 +1,3 @@
+artifactId=MAIN
+groupId=com.trafalcraft.antiRedstoneClock
+version=2.1
diff --git a/MAIN/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/MAIN/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
new file mode 100644
index 0000000..6a2d5d3
--- /dev/null
+++ b/MAIN/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -0,0 +1,29 @@
+com\trafalcraft\anti_redstone_clock\commands\SetMaxPulses.class
+com\trafalcraft\anti_redstone_clock\commands\AutoRemoveDetectedClock.class
+com\trafalcraft\anti_redstone_clock\commands\CreateSignWhenClockIsBreak.class
+com\trafalcraft\anti_redstone_clock\commands\CheckList.class
+com\trafalcraft\anti_redstone_clock\listener\Util.class
+com\trafalcraft\anti_redstone_clock\Main.class
+com\trafalcraft\anti_redstone_clock\Main$1.class
+com\trafalcraft\anti_redstone_clock\util\plotSquared\PlotSquared_7.class
+com\trafalcraft\anti_redstone_clock\Main$2.class
+com\trafalcraft\anti_redstone_clock\PlayerListener.class
+com\trafalcraft\anti_redstone_clock\commands\SetDelay.class
+com\trafalcraft\anti_redstone_clock\commands\NotifyAdmin.class
+com\trafalcraft\anti_redstone_clock\util\CheckTPS.class
+com\trafalcraft\anti_redstone_clock\util\plotSquared\VersionPlotSquared.class
+com\trafalcraft\anti_redstone_clock\util\worldGuard\WorldGuard_7.class
+com\trafalcraft\anti_redstone_clock\object\RedstoneClockController.class
+com\trafalcraft\anti_redstone_clock\util\Msg.class
+com\trafalcraft\anti_redstone_clock\object\RedstoneClock.class
+com\trafalcraft\anti_redstone_clock\listener\PistonListener.class
+com\trafalcraft\anti_redstone_clock\listener\RedstoneListener.class
+com\trafalcraft\anti_redstone_clock\exception\DuplicateRedstoneClockObjectException.class
+com\trafalcraft\anti_redstone_clock\util\plotSquared\IPlotSquared.class
+com\trafalcraft\anti_redstone_clock\util\worldGuard\VersionWG.class
+com\trafalcraft\anti_redstone_clock\commands\Reload.class
+com\trafalcraft\anti_redstone_clock\commands\ArcTpCommand.class
+com\trafalcraft\anti_redstone_clock\util\worldGuard\IWorldGuard.class
+com\trafalcraft\anti_redstone_clock\commands\DisableRedstoneClockCheckAbove.class
+com\trafalcraft\anti_redstone_clock\listener\ComparatorListener.class
+com\trafalcraft\anti_redstone_clock\listener\ObserverListener.class
diff --git a/MAIN/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/MAIN/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
new file mode 100644
index 0000000..2938c15
--- /dev/null
+++ b/MAIN/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,27 @@
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\commands\CheckList.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\listener\RedstoneListener.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\commands\Reload.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\util\worldGuard\IWorldGuard.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\object\RedstoneClockController.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\util\plotSquared\IPlotSquared.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\commands\CreateSignWhenClockIsBreak.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\listener\Util.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\util\worldGuard\WorldGuard_7.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\util\plotSquared\VersionPlotSquared.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\util\worldGuard\VersionWG.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\object\RedstoneClock.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\util\CheckTPS.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\commands\DisableRedstoneClockCheckAbove.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\listener\ComparatorListener.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\commands\NotifyAdmin.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\listener\PistonListener.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\commands\SetMaxPulses.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\commands\AutoRemoveDetectedClock.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\commands\SetDelay.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\listener\ObserverListener.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\util\plotSquared\PlotSquared_7.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\util\Msg.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\commands\ArcTpCommand.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\exception\DuplicateRedstoneClockObjectException.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\PlayerListener.java
+C:\Users\Viper\Desktop\antiRedstoneClock-Reborn\MAIN\src\main\java\com\trafalcraft\anti_redstone_clock\Main.java
diff --git a/MAIN/target/original-AntiRedstoneClock-Reborn-IGNORE.jar b/MAIN/target/original-AntiRedstoneClock-Reborn-IGNORE.jar
new file mode 100644
index 0000000..7ff3cbe
Binary files /dev/null and b/MAIN/target/original-AntiRedstoneClock-Reborn-IGNORE.jar differ