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