diff --git a/config/checkstyle/import-control.xml b/config/checkstyle/import-control.xml index 7da27610..a5053d0b 100644 --- a/config/checkstyle/import-control.xml +++ b/config/checkstyle/import-control.xml @@ -30,6 +30,7 @@ + diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldGuardPlatform.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldGuardPlatform.java index 69ef8656..0da78f7d 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldGuardPlatform.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldGuardPlatform.java @@ -34,6 +34,7 @@ import com.sk89q.worldguard.protection.regions.ProtectedRegion; import com.sk89q.worldguard.util.profile.resolver.PaperPlayerService; import com.sk89q.worldguard.bukkit.protection.events.flags.FlagContextCreateEvent; import com.sk89q.worldguard.bukkit.session.BukkitSessionManager; +import com.sk89q.worldguard.bukkit.util.report.DatapackReport; import com.sk89q.worldguard.bukkit.util.report.PerformanceReport; import com.sk89q.worldguard.bukkit.util.report.PluginReport; import com.sk89q.worldguard.bukkit.util.report.SchedulerReport; @@ -239,6 +240,7 @@ public class BukkitWorldGuardPlatform implements WorldGuardPlatform { report.add(new ServicesReport()); report.add(new WorldReport()); report.add(new PerformanceReport()); + if (PaperLib.isPaper()) report.add(new DatapackReport()); } @Override diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/report/DatapackReport.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/report/DatapackReport.java new file mode 100644 index 00000000..56fc3b45 --- /dev/null +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/util/report/DatapackReport.java @@ -0,0 +1,48 @@ +/* + * WorldGuard, a suite of tools for Minecraft + * Copyright (C) sk89q + * Copyright (C) WorldGuard team and contributors + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +package com.sk89q.worldguard.bukkit.util.report; + +import com.sk89q.worldedit.util.report.DataReport; +import io.papermc.paper.datapack.Datapack; +import org.bukkit.Bukkit; + +import java.util.Collection; + +/** + * A report for current datapacks with some information. Only available on Paper + */ +public class DatapackReport extends DataReport { + public DatapackReport() { + super("DataPacks"); + + Collection packs = Bukkit.getDatapackManager().getPacks(); + + append("Datapack Count", packs.size()); + append("Datapack Enabled Count", Bukkit.getDatapackManager().getEnabledPacks().size()); + + for (Datapack pack : packs) { + DataReport report = new DataReport("DataPack: " + pack.getName()); + report.append("Enabled?", pack.isEnabled()); + report.append("Name", pack.getName()); + report.append("Compatibility", pack.getCompatibility().name()); + append(report.getTitle(), report); + } + } +}