mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-10-22 14:13:44 +02:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			fix/missin
			...
			chore/v6/u
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 3a0c18323d | 
| @@ -50,7 +50,6 @@ dependencies { | |||||||
|     implementation(libs.arkitektonika) |     implementation(libs.arkitektonika) | ||||||
|     implementation(libs.http4j) |     implementation(libs.http4j) | ||||||
|     implementation("com.intellectualsites.paster:Paster") |     implementation("com.intellectualsites.paster:Paster") | ||||||
|     implementation("com.intellectualsites.informative-annotations:informative-annotations") |  | ||||||
|  |  | ||||||
|     // Adventure |     // Adventure | ||||||
|     implementation("net.kyori:adventure-platform-bukkit") |     implementation("net.kyori:adventure-platform-bukkit") | ||||||
| @@ -88,7 +87,6 @@ tasks.named<ShadowJar>("shadowJar") { | |||||||
|     relocate("javax.inject", "com.plotsquared.core.annotation.inject") |     relocate("javax.inject", "com.plotsquared.core.annotation.inject") | ||||||
|     relocate("net.jcip", "com.plotsquared.core.annotations.jcip") |     relocate("net.jcip", "com.plotsquared.core.annotations.jcip") | ||||||
|     relocate("edu.umd.cs.findbugs", "com.plotsquared.core.annotations.findbugs") |     relocate("edu.umd.cs.findbugs", "com.plotsquared.core.annotations.findbugs") | ||||||
|     relocate("com.intellectualsites.informative-annotations", "com.plotsquared.core.annotation.informative") |  | ||||||
|  |  | ||||||
|     // Get rid of all the libs which are 100% unused. |     // Get rid of all the libs which are 100% unused. | ||||||
|     minimize() |     minimize() | ||||||
| @@ -105,6 +103,5 @@ tasks { | |||||||
|         opt.links("https://jd.adventure.kyori.net/api/4.9.3/") |         opt.links("https://jd.adventure.kyori.net/api/4.9.3/") | ||||||
|         opt.links("https://google.github.io/guice/api-docs/" + libs.guice.get().versionConstraint.toString() + "/javadoc/") |         opt.links("https://google.github.io/guice/api-docs/" + libs.guice.get().versionConstraint.toString() + "/javadoc/") | ||||||
|         opt.links("https://checkerframework.org/api/") |         opt.links("https://checkerframework.org/api/") | ||||||
|         opt.encoding("UTF-8") |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -109,11 +109,11 @@ import com.plotsquared.core.uuid.CacheUUIDService; | |||||||
| import com.plotsquared.core.uuid.UUIDPipeline; | import com.plotsquared.core.uuid.UUIDPipeline; | ||||||
| import com.plotsquared.core.uuid.offline.OfflineModeUUIDService; | import com.plotsquared.core.uuid.offline.OfflineModeUUIDService; | ||||||
| import com.sk89q.worldedit.WorldEdit; | import com.sk89q.worldedit.WorldEdit; | ||||||
|  | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import io.papermc.lib.PaperLib; | import io.papermc.lib.PaperLib; | ||||||
| import net.kyori.adventure.audience.Audience; | import net.kyori.adventure.audience.Audience; | ||||||
| import net.kyori.adventure.text.Component; | import net.kyori.adventure.text.Component; | ||||||
| import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; | import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; | ||||||
| import org.apache.logging.log4j.LogManager; |  | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.bstats.bukkit.Metrics; | import org.bstats.bukkit.Metrics; | ||||||
| import org.bstats.charts.DrilldownPie; | import org.bstats.charts.DrilldownPie; | ||||||
| @@ -165,7 +165,7 @@ import static com.plotsquared.core.util.ReflectionUtils.getRefClass; | |||||||
| @Singleton | @Singleton | ||||||
| public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPlatform<Player> { | public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPlatform<Player> { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + BukkitPlatform.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static final int BSTATS_ID = 1404; |     private static final int BSTATS_ID = 1404; | ||||||
|  |  | ||||||
|     static { |     static { | ||||||
| @@ -732,11 +732,6 @@ public final class BukkitPlatform extends JavaPlugin implements Listener, PlotPl | |||||||
|         this.getServer().getPluginManager().disablePlugin(this); |         this.getServer().getPluginManager().disablePlugin(this); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |  | ||||||
|     public void shutdownServer() { |  | ||||||
|         getServer().shutdown(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     private void registerCommands() { |     private void registerCommands() { | ||||||
|         final BukkitCommand bukkitCommand = new BukkitCommand(); |         final BukkitCommand bukkitCommand = new BukkitCommand(); | ||||||
|         final PluginCommand plotCommand = getCommand("plots"); |         final PluginCommand plotCommand = getCommand("plots"); | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ | |||||||
| package com.plotsquared.bukkit.entity; | package com.plotsquared.bukkit.entity; | ||||||
|  |  | ||||||
| import com.plotsquared.core.configuration.Settings; | import com.plotsquared.core.configuration.Settings; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.bukkit.Art; | import org.bukkit.Art; | ||||||
| import org.bukkit.DyeColor; | import org.bukkit.DyeColor; | ||||||
| @@ -55,7 +55,7 @@ import java.util.List; | |||||||
|  |  | ||||||
| public final class ReplicatingEntityWrapper extends EntityWrapper { | public final class ReplicatingEntityWrapper extends EntityWrapper { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + ReplicatingEntityWrapper.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final short depth; |     private final short depth; | ||||||
|     private final int hash; |     private final int hash; | ||||||
|   | |||||||
| @@ -26,12 +26,12 @@ import com.plotsquared.core.backup.NullBackupManager; | |||||||
| import com.plotsquared.core.backup.PlayerBackupProfile; | import com.plotsquared.core.backup.PlayerBackupProfile; | ||||||
| import com.plotsquared.core.backup.SimpleBackupManager; | import com.plotsquared.core.backup.SimpleBackupManager; | ||||||
| import com.plotsquared.core.inject.factory.PlayerBackupProfileFactory; | import com.plotsquared.core.inject.factory.PlayerBackupProfileFactory; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
|  |  | ||||||
| public class BackupModule extends AbstractModule { | public class BackupModule extends AbstractModule { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + BackupModule.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     protected void configure() { |     protected void configure() { | ||||||
|   | |||||||
| @@ -65,7 +65,7 @@ import com.plotsquared.core.util.SetupUtils; | |||||||
| import com.plotsquared.core.util.WorldUtil; | import com.plotsquared.core.util.WorldUtil; | ||||||
| import com.sk89q.worldedit.bukkit.WorldEditPlugin; | import com.sk89q.worldedit.bukkit.WorldEditPlugin; | ||||||
| import com.sk89q.worldedit.extension.platform.Actor; | import com.sk89q.worldedit.extension.platform.Actor; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.bukkit.Bukkit; | import org.bukkit.Bukkit; | ||||||
| import org.bukkit.command.ConsoleCommandSender; | import org.bukkit.command.ConsoleCommandSender; | ||||||
| @@ -74,7 +74,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; | |||||||
|  |  | ||||||
| public class BukkitModule extends AbstractModule { | public class BukkitModule extends AbstractModule { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + BukkitModule.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final BukkitPlatform bukkitPlatform; |     private final BukkitPlatform bukkitPlatform; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -265,9 +265,15 @@ public class BlockEventListener implements Listener { | |||||||
|         BukkitPlayer pp = BukkitUtil.adapt(player); |         BukkitPlayer pp = BukkitUtil.adapt(player); | ||||||
|         Plot plot = area.getPlot(location); |         Plot plot = area.getPlot(location); | ||||||
|         if (plot != null) { |         if (plot != null) { | ||||||
|             if (area.notifyIfOutsideBuildArea(pp, location.getY())) { |             if ((location.getY() >= area.getMaxBuildHeight() || location.getY() < area | ||||||
|  |                     .getMinBuildHeight()) && !Permissions | ||||||
|  |                     .hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT)) { | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
|                 return; |                 pp.sendMessage( | ||||||
|  |                         TranslatableCaption.of("height.height_limit"), | ||||||
|  |                         Template.of("minHeight", String.valueOf(area.getMinBuildHeight())), | ||||||
|  |                         Template.of("maxHeight", String.valueOf(area.getMaxBuildHeight())) | ||||||
|  |                 ); | ||||||
|             } |             } | ||||||
|             if (!plot.hasOwner()) { |             if (!plot.hasOwner()) { | ||||||
|                 if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) { |                 if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_UNOWNED)) { | ||||||
| @@ -345,9 +351,15 @@ public class BlockEventListener implements Listener { | |||||||
|                     event.setCancelled(true); |                     event.setCancelled(true); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|             } else if (area.notifyIfOutsideBuildArea(plotPlayer, location.getY())) { |             } else if ((location.getY() >= area.getMaxBuildHeight() || location.getY() < area | ||||||
|  |                     .getMinBuildHeight()) && !Permissions | ||||||
|  |                     .hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT)) { | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
|                 return; |                 plotPlayer.sendMessage( | ||||||
|  |                         TranslatableCaption.of("height.height_limit"), | ||||||
|  |                         Template.of("minHeight", String.valueOf(area.getMinBuildHeight())), | ||||||
|  |                         Template.of("maxHeight", String.valueOf(area.getMaxBuildHeight())) | ||||||
|  |                 ); | ||||||
|             } |             } | ||||||
|             if (!plot.hasOwner()) { |             if (!plot.hasOwner()) { | ||||||
|                 if (!Permissions |                 if (!Permissions | ||||||
| @@ -525,7 +537,7 @@ public class BlockEventListener implements Listener { | |||||||
|         if (plot == null) { |         if (plot == null) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         if (!area.buildRangeContainsY(location.getY())) { |         if (location.getY() >= area.getMaxBuildHeight() || location.getY() < area.getMinBuildHeight()) { | ||||||
|             event.setCancelled(true); |             event.setCancelled(true); | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| @@ -727,7 +739,7 @@ public class BlockEventListener implements Listener { | |||||||
|             } |             } | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         if (!toArea.buildRangeContainsY(toLocation.getY())) { |         if (toLocation.getY() >= toArea.getMaxBuildHeight() || toLocation.getY() < toArea.getMinBuildHeight()) { | ||||||
|             event.setCancelled(true); |             event.setCancelled(true); | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| @@ -801,11 +813,6 @@ public class BlockEventListener implements Listener { | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (!area.buildRangeContainsY(location.getY())) { |  | ||||||
|             event.setCancelled(true); |  | ||||||
|             return; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         Plot plot = location.getOwnedPlot(); |         Plot plot = location.getOwnedPlot(); | ||||||
|         if (plot == null || !plot.getFlag(CropGrowFlag.class)) { |         if (plot == null || !plot.getFlag(CropGrowFlag.class)) { | ||||||
|             if (plot != null) { |             if (plot != null) { | ||||||
| @@ -849,16 +856,15 @@ public class BlockEventListener implements Listener { | |||||||
|         } |         } | ||||||
|         for (Block block1 : event.getBlocks()) { |         for (Block block1 : event.getBlocks()) { | ||||||
|             Location bloc = BukkitUtil.adapt(block1.getLocation()); |             Location bloc = BukkitUtil.adapt(block1.getLocation()); | ||||||
|             Location newLoc = bloc.add(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ()); |             if (!area.contains(bloc.getX(), bloc.getZ()) || !area.contains( | ||||||
|             if (!area.contains(bloc.getX(), bloc.getZ()) || !area.contains(newLoc)) { |                     bloc.getX() + relative.getBlockX(), | ||||||
|  |                     bloc.getZ() + relative.getBlockZ() | ||||||
|  |             )) { | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             if (!plot.equals(area.getOwnedPlot(bloc)) || !plot.equals(area.getOwnedPlot(newLoc))) { |             if (!plot.equals(area.getOwnedPlot(bloc)) || !plot | ||||||
|                 event.setCancelled(true); |                     .equals(area.getOwnedPlot(bloc.add(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ())))) { | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|             if (!area.buildRangeContainsY(bloc.getY()) || !area.buildRangeContainsY(newLoc.getY())) { |  | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| @@ -884,8 +890,9 @@ public class BlockEventListener implements Listener { | |||||||
|             } |             } | ||||||
|             for (Block block1 : event.getBlocks()) { |             for (Block block1 : event.getBlocks()) { | ||||||
|                 Location bloc = BukkitUtil.adapt(block1.getLocation()); |                 Location bloc = BukkitUtil.adapt(block1.getLocation()); | ||||||
|                 Location newLoc = bloc.add(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ()); |                 if (bloc.isPlotArea() || bloc | ||||||
|                 if (bloc.isPlotArea() || newLoc.isPlotArea()) { |                         .add(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ()) | ||||||
|  |                         .isPlotArea()) { | ||||||
|                     event.setCancelled(true); |                     event.setCancelled(true); | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
| @@ -899,16 +906,15 @@ public class BlockEventListener implements Listener { | |||||||
|         } |         } | ||||||
|         for (Block block1 : event.getBlocks()) { |         for (Block block1 : event.getBlocks()) { | ||||||
|             Location bloc = BukkitUtil.adapt(block1.getLocation()); |             Location bloc = BukkitUtil.adapt(block1.getLocation()); | ||||||
|             Location newLoc = bloc.add(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ()); |             if (!area.contains(bloc.getX(), bloc.getZ()) || !area.contains( | ||||||
|             if (!area.contains(bloc.getX(), bloc.getZ()) || !area.contains(newLoc)) { |                     bloc.getX() + relative.getBlockX(), | ||||||
|  |                     bloc.getZ() + relative.getBlockZ() | ||||||
|  |             )) { | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             if (!plot.equals(area.getOwnedPlot(bloc)) || !plot.equals(area.getOwnedPlot(newLoc))) { |             if (!plot.equals(area.getOwnedPlot(bloc)) || !plot | ||||||
|                 event.setCancelled(true); |                     .equals(area.getOwnedPlot(bloc.add(relative.getBlockX(), relative.getBlockY(), relative.getBlockZ())))) { | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|             if (!area.buildRangeContainsY(bloc.getY()) || !area.buildRangeContainsY(newLoc.getY())) { |  | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| @@ -932,11 +938,6 @@ public class BlockEventListener implements Listener { | |||||||
|                 Location location = BukkitUtil.adapt(event.getBlock().getRelative(targetFace).getLocation()); |                 Location location = BukkitUtil.adapt(event.getBlock().getRelative(targetFace).getLocation()); | ||||||
|                 if (location.isPlotRoad()) { |                 if (location.isPlotRoad()) { | ||||||
|                     event.setCancelled(true); |                     event.setCancelled(true); | ||||||
|                     return; |  | ||||||
|                 } |  | ||||||
|                 PlotArea area = location.getPlotArea(); |  | ||||||
|                 if (area != null && !area.buildRangeContainsY(location.getY())) { |  | ||||||
|                     event.setCancelled(true); |  | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| @@ -976,10 +977,6 @@ public class BlockEventListener implements Listener { | |||||||
|                 Plot plot = area.getOwnedPlot(location); |                 Plot plot = area.getOwnedPlot(location); | ||||||
|                 if (!Objects.equals(plot, origin)) { |                 if (!Objects.equals(plot, origin)) { | ||||||
|                     event.getBlocks().remove(i); |                     event.getBlocks().remove(i); | ||||||
|                     continue; |  | ||||||
|                 } |  | ||||||
|                 if (!area.buildRangeContainsY(location.getY())) { |  | ||||||
|                     event.getBlocks().remove(i); |  | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| @@ -1071,10 +1068,6 @@ public class BlockEventListener implements Listener { | |||||||
|         Plot plot = area.getOwnedPlot(location1); |         Plot plot = area.getOwnedPlot(location1); | ||||||
|         if (player != null) { |         if (player != null) { | ||||||
|             BukkitPlayer pp = BukkitUtil.adapt(player); |             BukkitPlayer pp = BukkitUtil.adapt(player); | ||||||
|             if (area.notifyIfOutsideBuildArea(pp, location1.getY())) { |  | ||||||
|                 event.setCancelled(true); |  | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|             if (plot == null) { |             if (plot == null) { | ||||||
|                 if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_ROAD)) { |                 if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_ROAD)) { | ||||||
|                     pp.sendMessage( |                     pp.sendMessage( | ||||||
| @@ -1182,10 +1175,7 @@ public class BlockEventListener implements Listener { | |||||||
|                     return true; |                     return true; | ||||||
|                 } |                 } | ||||||
|                 Plot plot = area.getOwnedPlot(blockLocation); |                 Plot plot = area.getOwnedPlot(blockLocation); | ||||||
|                 if (!Objects.equals(plot, origin)) { |                 return !Objects.equals(plot, origin); | ||||||
|                     return true; |  | ||||||
|                 } |  | ||||||
|                 return !area.buildRangeContainsY(location.getY()); |  | ||||||
|             }); |             }); | ||||||
|         } |         } | ||||||
|         if (blocks.isEmpty()) { |         if (blocks.isEmpty()) { | ||||||
| @@ -1227,7 +1217,15 @@ public class BlockEventListener implements Listener { | |||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
|                 break; |                 break; | ||||||
|             } |             } | ||||||
|             if (area.notifyIfOutsideBuildArea(pp, currentLocation.getY())) { |             if (Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT)) { | ||||||
|  |                 continue; | ||||||
|  |             } | ||||||
|  |             if (currentLocation.getY() >= area.getMaxBuildHeight() || currentLocation.getY() < area.getMinBuildHeight()) { | ||||||
|  |                 pp.sendMessage( | ||||||
|  |                         TranslatableCaption.of("height.height_limit"), | ||||||
|  |                         Template.of("minHeight", String.valueOf(area.getMinBuildHeight())), | ||||||
|  |                         Template.of("maxHeight", String.valueOf(area.getMaxBuildHeight())) | ||||||
|  |                 ); | ||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
|                 break; |                 break; | ||||||
|             } |             } | ||||||
|   | |||||||
| @@ -80,19 +80,10 @@ public class BlockEventListener117 implements Listener { | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         BukkitPlayer plotPlayer = null; |  | ||||||
|  |  | ||||||
|         if (entity instanceof Player player) { |  | ||||||
|             plotPlayer = BukkitUtil.adapt(player); |  | ||||||
|             if (area.notifyIfOutsideBuildArea(plotPlayer, location.getY())) { |  | ||||||
|                 event.setCancelled(true); |  | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         Plot plot = location.getOwnedPlot(); |         Plot plot = location.getOwnedPlot(); | ||||||
|         if (plot == null || !plot.getFlag(MiscInteractFlag.class)) { |         if (plot == null || !plot.getFlag(MiscInteractFlag.class)) { | ||||||
|             if (plotPlayer != null) { |             if (entity instanceof Player player) { | ||||||
|  |                 BukkitPlayer plotPlayer = BukkitUtil.adapt(player); | ||||||
|                 if (plot != null) { |                 if (plot != null) { | ||||||
|                     if (!plot.isAdded(plotPlayer.getUUID())) { |                     if (!plot.isAdded(plotPlayer.getUUID())) { | ||||||
|                         plot.debug(plotPlayer.getName() + " couldn't trigger sculk sensors because misc-interact = false"); |                         plot.debug(plotPlayer.getName() + " couldn't trigger sculk sensors because misc-interact = false"); | ||||||
| @@ -124,12 +115,12 @@ public class BlockEventListener117 implements Listener { | |||||||
|         PlotArea area = location.getPlotArea(); |         PlotArea area = location.getPlotArea(); | ||||||
|         if (area == null) { |         if (area == null) { | ||||||
|             for (int i = blocks.size() - 1; i >= 0; i--) { |             for (int i = blocks.size() - 1; i >= 0; i--) { | ||||||
|                 Location blockLocation = BukkitUtil.adapt(blocks.get(i).getLocation()); |                 location = BukkitUtil.adapt(blocks.get(i).getLocation()); | ||||||
|                 blockLocation = BukkitUtil.adapt(blocks.get(i).getLocation()); |                 if (location.isPlotArea()) { | ||||||
|                 if (blockLocation.isPlotArea()) { |  | ||||||
|                     blocks.remove(i); |                     blocks.remove(i); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  |             return; | ||||||
|         } else { |         } else { | ||||||
|             Plot origin = area.getOwnedPlot(location); |             Plot origin = area.getOwnedPlot(location); | ||||||
|             if (origin == null) { |             if (origin == null) { | ||||||
| @@ -137,22 +128,30 @@ public class BlockEventListener117 implements Listener { | |||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             for (int i = blocks.size() - 1; i >= 0; i--) { |             for (int i = blocks.size() - 1; i >= 0; i--) { | ||||||
|                 Location blockLocation = BukkitUtil.adapt(blocks.get(i).getLocation()); |                 location = BukkitUtil.adapt(blocks.get(i).getLocation()); | ||||||
|                 if (!area.contains(blockLocation.getX(), blockLocation.getZ())) { |                 if (!area.contains(location.getX(), location.getZ())) { | ||||||
|                     blocks.remove(i); |                     blocks.remove(i); | ||||||
|                     continue; |                     continue; | ||||||
|                 } |                 } | ||||||
|                 Plot plot = area.getOwnedPlot(blockLocation); |                 Plot plot = area.getOwnedPlot(location); | ||||||
|                 if (!Objects.equals(plot, origin)) { |                 if (!Objects.equals(plot, origin)) { | ||||||
|                     event.getBlocks().remove(i); |                     event.getBlocks().remove(i); | ||||||
|                     continue; |  | ||||||
|                 } |                 } | ||||||
|                 if (!area.buildRangeContainsY(location.getY())) { |             } | ||||||
|  |         } | ||||||
|  |         Plot origin = area.getPlot(location); | ||||||
|  |         if (origin == null) { | ||||||
|  |             event.setCancelled(true); | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |         for (int i = blocks.size() - 1; i >= 0; i--) { | ||||||
|  |             location = BukkitUtil.adapt(blocks.get(i).getLocation()); | ||||||
|  |             Plot plot = area.getOwnedPlot(location); | ||||||
|  |             if (!Objects.equals(plot, origin) && (!plot.isMerged() && !origin.isMerged())) { | ||||||
|                 event.getBlocks().remove(i); |                 event.getBlocks().remove(i); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     } |  | ||||||
|  |  | ||||||
|     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) |     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) | ||||||
|     public void onBlockForm(BlockFormEvent event) { |     public void onBlockForm(BlockFormEvent event) { | ||||||
|   | |||||||
| @@ -146,17 +146,19 @@ import org.bukkit.util.Vector; | |||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
|  |  | ||||||
| import java.lang.reflect.Field; | import java.lang.reflect.Field; | ||||||
|  | import java.util.ArrayList; | ||||||
| import java.util.HashSet; | import java.util.HashSet; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Locale; | import java.util.Locale; | ||||||
| import java.util.Set; | import java.util.Set; | ||||||
| import java.util.UUID; | import java.util.UUID; | ||||||
|  | import java.util.regex.Pattern; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Player Events involving plots. |  * Player Events involving plots. | ||||||
|  */ |  */ | ||||||
| @SuppressWarnings("unused") | @SuppressWarnings("unused") | ||||||
| public class PlayerEventListener implements Listener { | public class PlayerEventListener extends PlotListener implements Listener { | ||||||
|  |  | ||||||
|     private static final Set<Material> MINECARTS = Set.of( |     private static final Set<Material> MINECARTS = Set.of( | ||||||
|             Material.MINECART, |             Material.MINECART, | ||||||
| @@ -175,7 +177,6 @@ public class PlayerEventListener implements Listener { | |||||||
|     private final EventDispatcher eventDispatcher; |     private final EventDispatcher eventDispatcher; | ||||||
|     private final WorldEdit worldEdit; |     private final WorldEdit worldEdit; | ||||||
|     private final PlotAreaManager plotAreaManager; |     private final PlotAreaManager plotAreaManager; | ||||||
|     private final PlotListener plotListener; |  | ||||||
|     // To prevent recursion |     // To prevent recursion | ||||||
|     private boolean tmpTeleport = true; |     private boolean tmpTeleport = true; | ||||||
|     private Field fieldPlayer; |     private Field fieldPlayer; | ||||||
| @@ -195,13 +196,12 @@ public class PlayerEventListener implements Listener { | |||||||
|     public PlayerEventListener( |     public PlayerEventListener( | ||||||
|             final @NonNull PlotAreaManager plotAreaManager, |             final @NonNull PlotAreaManager plotAreaManager, | ||||||
|             final @NonNull EventDispatcher eventDispatcher, |             final @NonNull EventDispatcher eventDispatcher, | ||||||
|             final @NonNull WorldEdit worldEdit, |             final @NonNull WorldEdit worldEdit | ||||||
|             final @NonNull PlotListener plotListener |  | ||||||
|     ) { |     ) { | ||||||
|  |         super(eventDispatcher); | ||||||
|         this.eventDispatcher = eventDispatcher; |         this.eventDispatcher = eventDispatcher; | ||||||
|         this.worldEdit = worldEdit; |         this.worldEdit = worldEdit; | ||||||
|         this.plotAreaManager = plotAreaManager; |         this.plotAreaManager = plotAreaManager; | ||||||
|         this.plotListener = plotListener; |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @EventHandler |     @EventHandler | ||||||
| @@ -354,7 +354,7 @@ public class PlayerEventListener implements Listener { | |||||||
|         if (area != null) { |         if (area != null) { | ||||||
|             Plot plot = area.getPlot(location); |             Plot plot = area.getPlot(location); | ||||||
|             if (plot != null) { |             if (plot != null) { | ||||||
|                 plotListener.plotEntry(pp, plot); |                 plotEntry(pp, plot); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         // Delayed |         // Delayed | ||||||
| @@ -406,7 +406,7 @@ public class PlayerEventListener implements Listener { | |||||||
|                 PlotArea area = location.getPlotArea(); |                 PlotArea area = location.getPlotArea(); | ||||||
|                 if (area == null) { |                 if (area == null) { | ||||||
|                     if (lastPlot != null) { |                     if (lastPlot != null) { | ||||||
|                         plotListener.plotExit(pp, lastPlot); |                         plotExit(pp, lastPlot); | ||||||
|                         lastPlotAccess.remove(); |                         lastPlotAccess.remove(); | ||||||
|                     } |                     } | ||||||
|                     try (final MetaDataAccess<Location> lastLocationAccess = |                     try (final MetaDataAccess<Location> lastLocationAccess = | ||||||
| @@ -540,7 +540,7 @@ public class PlayerEventListener implements Listener { | |||||||
|             if (now == null) { |             if (now == null) { | ||||||
|                 try (final MetaDataAccess<Boolean> kickAccess = |                 try (final MetaDataAccess<Boolean> kickAccess = | ||||||
|                              pp.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_KICK)) { |                              pp.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_KICK)) { | ||||||
|                     if (lastPlot != null && !plotListener.plotExit(pp, lastPlot) && this.tmpTeleport && !kickAccess.get().orElse(false)) { |                     if (lastPlot != null && !plotExit(pp, lastPlot) && this.tmpTeleport && !kickAccess.get().orElse(false)) { | ||||||
|                         pp.sendMessage( |                         pp.sendMessage( | ||||||
|                                 TranslatableCaption.of("permission.no_permission_event"), |                                 TranslatableCaption.of("permission.no_permission_event"), | ||||||
|                                 Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_EXIT_DENIED)) |                                 Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_EXIT_DENIED)) | ||||||
| @@ -558,7 +558,7 @@ public class PlayerEventListener implements Listener { | |||||||
|                 } |                 } | ||||||
|             } else if (now.equals(lastPlot)) { |             } else if (now.equals(lastPlot)) { | ||||||
|                 ForceFieldListener.handleForcefield(player, pp, now); |                 ForceFieldListener.handleForcefield(player, pp, now); | ||||||
|             } else if (!plotListener.plotEntry(pp, now) && this.tmpTeleport) { |             } else if (!plotEntry(pp, now) && this.tmpTeleport) { | ||||||
|                 pp.sendMessage( |                 pp.sendMessage( | ||||||
|                         TranslatableCaption.of("deny.no_enter"), |                         TranslatableCaption.of("deny.no_enter"), | ||||||
|                         Template.of("plot", now.toString()) |                         Template.of("plot", now.toString()) | ||||||
| @@ -630,7 +630,7 @@ public class PlayerEventListener implements Listener { | |||||||
|             if (plot == null) { |             if (plot == null) { | ||||||
|                 try (final MetaDataAccess<Boolean> kickAccess = |                 try (final MetaDataAccess<Boolean> kickAccess = | ||||||
|                              pp.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_KICK)) { |                              pp.accessTemporaryMetaData(PlayerMetaDataKeys.TEMPORARY_KICK)) { | ||||||
|                     if (lastPlot != null && !plotListener.plotExit(pp, lastPlot) && this.tmpTeleport && !kickAccess.get().orElse(false)) { |                     if (lastPlot != null && !plotExit(pp, lastPlot) && this.tmpTeleport && !kickAccess.get().orElse(false)) { | ||||||
|                         pp.sendMessage( |                         pp.sendMessage( | ||||||
|                                 TranslatableCaption.of("permission.no_permission_event"), |                                 TranslatableCaption.of("permission.no_permission_event"), | ||||||
|                                 Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_EXIT_DENIED)) |                                 Template.of("node", String.valueOf(Permission.PERMISSION_ADMIN_EXIT_DENIED)) | ||||||
| @@ -648,7 +648,7 @@ public class PlayerEventListener implements Listener { | |||||||
|                 } |                 } | ||||||
|             } else if (plot.equals(lastPlot)) { |             } else if (plot.equals(lastPlot)) { | ||||||
|                 ForceFieldListener.handleForcefield(player, pp, plot); |                 ForceFieldListener.handleForcefield(player, pp, plot); | ||||||
|             } else if (!plotListener.plotEntry(pp, plot) && this.tmpTeleport) { |             } else if (!plotEntry(pp, plot) && this.tmpTeleport) { | ||||||
|                 pp.sendMessage( |                 pp.sendMessage( | ||||||
|                         TranslatableCaption.of("deny.no_enter"), |                         TranslatableCaption.of("deny.no_enter"), | ||||||
|                         Template.of("plot", plot.toString()) |                         Template.of("plot", plot.toString()) | ||||||
| @@ -795,7 +795,7 @@ public class PlayerEventListener implements Listener { | |||||||
|             lastLocationAccess.remove(); |             lastLocationAccess.remove(); | ||||||
|         } |         } | ||||||
|         if (plot != null) { |         if (plot != null) { | ||||||
|             plotListener.plotExit(pp, plot); |             plotExit(pp, plot); | ||||||
|         } |         } | ||||||
|         if (this.worldEdit != null) { |         if (this.worldEdit != null) { | ||||||
|             if (!Permissions.hasPermission(pp, Permission.PERMISSION_WORLDEDIT_BYPASS)) { |             if (!Permissions.hasPermission(pp, Permission.PERMISSION_WORLDEDIT_BYPASS)) { | ||||||
| @@ -809,7 +809,7 @@ public class PlayerEventListener implements Listener { | |||||||
|         if (location.isPlotArea()) { |         if (location.isPlotArea()) { | ||||||
|             plot = location.getPlot(); |             plot = location.getPlot(); | ||||||
|             if (plot != null) { |             if (plot != null) { | ||||||
|                 plotListener.plotEntry(pp, plot); |                 plotEntry(pp, plot); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| @@ -1282,7 +1282,7 @@ public class PlayerEventListener implements Listener { | |||||||
|         TaskManager.removeFromTeleportQueue(event.getPlayer().getName()); |         TaskManager.removeFromTeleportQueue(event.getPlayer().getName()); | ||||||
|         BukkitPlayer pp = BukkitUtil.adapt(event.getPlayer()); |         BukkitPlayer pp = BukkitUtil.adapt(event.getPlayer()); | ||||||
|         pp.unregister(); |         pp.unregister(); | ||||||
|         plotListener.logout(pp.getUUID()); |         this.logout(pp.getUUID()); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) |     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) | ||||||
| @@ -1719,7 +1719,6 @@ public class PlayerEventListener implements Listener { | |||||||
|         if (PlotSquared.get().getPlotAreaManager().getPlotAreasSet(world).size() == 0) { |         if (PlotSquared.get().getPlotAreaManager().getPlotAreasSet(world).size() == 0) { | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         BukkitPlayer pp = (event.getEntity() instanceof Player player) ? BukkitUtil.adapt(player) : null; |  | ||||||
|         int minX = Integer.MAX_VALUE; |         int minX = Integer.MAX_VALUE; | ||||||
|         int maxX = Integer.MIN_VALUE; |         int maxX = Integer.MIN_VALUE; | ||||||
|         int minZ = Integer.MAX_VALUE; |         int minZ = Integer.MAX_VALUE; | ||||||
| @@ -1741,10 +1740,6 @@ public class PlayerEventListener implements Listener { | |||||||
|             if (area == null) { |             if (area == null) { | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|             if (area.notifyIfOutsideBuildArea(pp, location.getY())) { |  | ||||||
|                 event.setCancelled(true); |  | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|             Plot plot = location.getOwnedPlot(); |             Plot plot = location.getOwnedPlot(); | ||||||
|             if (plot == null) { |             if (plot == null) { | ||||||
|                 if (area.isRoadFlags() && area.getRoadFlag(DenyPortalsFlag.class)) { |                 if (area.isRoadFlags() && area.getRoadFlag(DenyPortalsFlag.class)) { | ||||||
|   | |||||||
| @@ -89,7 +89,7 @@ public class ProjectileEventListener implements Listener { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @EventHandler(ignoreCancelled = true) |     @EventHandler | ||||||
|     public void onProjectileLaunch(ProjectileLaunchEvent event) { |     public void onProjectileLaunch(ProjectileLaunchEvent event) { | ||||||
|         Projectile entity = event.getEntity(); |         Projectile entity = event.getEntity(); | ||||||
|         ProjectileSource shooter = entity.getShooter(); |         ProjectileSource shooter = entity.getShooter(); | ||||||
| @@ -149,18 +149,6 @@ public class ProjectileEventListener implements Listener { | |||||||
|         Plot plot = area.getPlot(location); |         Plot plot = area.getPlot(location); | ||||||
|         ProjectileSource shooter = entity.getShooter(); |         ProjectileSource shooter = entity.getShooter(); | ||||||
|         if (shooter instanceof Player) { |         if (shooter instanceof Player) { | ||||||
|             if (!((Player) shooter).isOnline()) { |  | ||||||
|                 if (plot != null) { |  | ||||||
|                     if (plot.isAdded(((Player) shooter).getUniqueId()) || plot.getFlag(ProjectilesFlag.class)) { |  | ||||||
|                         return; |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|  |  | ||||||
|                 entity.remove(); |  | ||||||
|                 event.setCancelled(true); |  | ||||||
|                 return; |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             PlotPlayer<?> pp = BukkitUtil.adapt((Player) shooter); |             PlotPlayer<?> pp = BukkitUtil.adapt((Player) shooter); | ||||||
|             if (plot == null) { |             if (plot == null) { | ||||||
|                 if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) { |                 if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_UNOWNED)) { | ||||||
|   | |||||||
| @@ -19,12 +19,12 @@ | |||||||
| package com.plotsquared.bukkit.queue; | package com.plotsquared.bukkit.queue; | ||||||
|  |  | ||||||
| import com.google.common.base.Preconditions; | import com.google.common.base.Preconditions; | ||||||
| import com.intellectualsites.annotations.DoNotUse; |  | ||||||
| import com.plotsquared.bukkit.util.BukkitBlockUtil; | import com.plotsquared.bukkit.util.BukkitBlockUtil; | ||||||
| import com.plotsquared.bukkit.util.BukkitUtil; | import com.plotsquared.bukkit.util.BukkitUtil; | ||||||
| import com.plotsquared.core.location.ChunkWrapper; | import com.plotsquared.core.location.ChunkWrapper; | ||||||
| import com.plotsquared.core.location.Location; | import com.plotsquared.core.location.Location; | ||||||
| import com.plotsquared.core.queue.ScopedQueueCoordinator; | import com.plotsquared.core.queue.ScopedQueueCoordinator; | ||||||
|  | import com.plotsquared.core.util.AnnotationHelper; | ||||||
| import com.plotsquared.core.util.ChunkUtil; | import com.plotsquared.core.util.ChunkUtil; | ||||||
| import com.plotsquared.core.util.PatternUtil; | import com.plotsquared.core.util.PatternUtil; | ||||||
| import com.sk89q.worldedit.bukkit.BukkitAdapter; | import com.sk89q.worldedit.bukkit.BukkitAdapter; | ||||||
| @@ -44,7 +44,7 @@ import org.checkerframework.checker.nullness.qual.Nullable; | |||||||
|  |  | ||||||
| import java.util.Arrays; | import java.util.Arrays; | ||||||
|  |  | ||||||
| @DoNotUse | @AnnotationHelper.ApiDescription(info = "Internal use only. Subject to changes at any time.") | ||||||
| public class GenChunk extends ScopedQueueCoordinator { | public class GenChunk extends ScopedQueueCoordinator { | ||||||
|  |  | ||||||
|     public final Biome[] biomes; |     public final Biome[] biomes; | ||||||
|   | |||||||
| @@ -27,7 +27,7 @@ import com.sk89q.worldedit.function.pattern.Pattern; | |||||||
| import com.sk89q.worldedit.math.BlockVector3; | import com.sk89q.worldedit.math.BlockVector3; | ||||||
| import com.sk89q.worldedit.world.block.BaseBlock; | import com.sk89q.worldedit.world.block.BaseBlock; | ||||||
| import com.sk89q.worldedit.world.block.BlockState; | import com.sk89q.worldedit.world.block.BlockState; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.bukkit.Location; | import org.bukkit.Location; | ||||||
| import org.bukkit.entity.EntityType; | import org.bukkit.entity.EntityType; | ||||||
| @@ -41,7 +41,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; | |||||||
|  */ |  */ | ||||||
| public class LimitedRegionWrapperQueue extends DelegateQueueCoordinator { | public class LimitedRegionWrapperQueue extends DelegateQueueCoordinator { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + LimitedRegionWrapperQueue.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final LimitedRegion limitedRegion; |     private final LimitedRegion limitedRegion; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -47,7 +47,7 @@ import net.kyori.adventure.platform.bukkit.BukkitAudiences; | |||||||
| import net.kyori.adventure.text.minimessage.MiniMessage; | import net.kyori.adventure.text.minimessage.MiniMessage; | ||||||
| import net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; | import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.bukkit.Bukkit; | import org.bukkit.Bukkit; | ||||||
| import org.bukkit.Chunk; | import org.bukkit.Chunk; | ||||||
| @@ -108,7 +108,7 @@ public class BukkitUtil extends WorldUtil { | |||||||
|     public static final BukkitAudiences BUKKIT_AUDIENCES = BukkitAudiences.create(BukkitPlatform.getPlugin(BukkitPlatform.class)); |     public static final BukkitAudiences BUKKIT_AUDIENCES = BukkitAudiences.create(BukkitPlatform.getPlugin(BukkitPlatform.class)); | ||||||
|     public static final LegacyComponentSerializer LEGACY_COMPONENT_SERIALIZER = LegacyComponentSerializer.legacySection(); |     public static final LegacyComponentSerializer LEGACY_COMPONENT_SERIALIZER = LegacyComponentSerializer.legacySection(); | ||||||
|     public static final MiniMessage MINI_MESSAGE = MiniMessage.builder().build(); |     public static final MiniMessage MINI_MESSAGE = MiniMessage.builder().build(); | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + BukkitUtil.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private final Collection<BlockType> tileEntityTypes = new HashSet<>(); |     private final Collection<BlockType> tileEntityTypes = new HashSet<>(); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ import com.sk89q.worldedit.bukkit.BukkitWorld; | |||||||
| import com.sk89q.worldedit.math.BlockVector3; | import com.sk89q.worldedit.math.BlockVector3; | ||||||
| import com.sk89q.worldedit.regions.CuboidRegion; | import com.sk89q.worldedit.regions.CuboidRegion; | ||||||
| import com.sk89q.worldedit.world.block.BaseBlock; | import com.sk89q.worldedit.world.block.BaseBlock; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.bukkit.Chunk; | import org.bukkit.Chunk; | ||||||
| import org.bukkit.World; | import org.bukkit.World; | ||||||
| @@ -40,7 +40,7 @@ import java.util.Set; | |||||||
|  |  | ||||||
| public class ContentMap { | public class ContentMap { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + ContentMap.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     final Set<EntityWrapper> entities; |     final Set<EntityWrapper> entities; | ||||||
|     final Map<PlotLoc, BaseBlock[]> allBlocks; |     final Map<PlotLoc, BaseBlock[]> allBlocks; | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ import com.google.inject.Inject; | |||||||
| import com.plotsquared.core.PlotSquared; | import com.plotsquared.core.PlotSquared; | ||||||
| import com.plotsquared.core.PlotVersion; | import com.plotsquared.core.PlotVersion; | ||||||
| import com.plotsquared.core.configuration.Settings; | import com.plotsquared.core.configuration.Settings; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.bukkit.Bukkit; | import org.bukkit.Bukkit; | ||||||
| import org.bukkit.event.Listener; | import org.bukkit.event.Listener; | ||||||
| @@ -39,7 +39,7 @@ import java.net.URL; | |||||||
|  |  | ||||||
| public class UpdateUtility implements Listener { | public class UpdateUtility implements Listener { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + UpdateUtility.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     public static PlotVersion internalVersion; |     public static PlotVersion internalVersion; | ||||||
|     public static String spigotVersion; |     public static String spigotVersion; | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ import com.google.common.util.concurrent.RateLimiter; | |||||||
| import com.plotsquared.core.configuration.Settings; | import com.plotsquared.core.configuration.Settings; | ||||||
| import com.plotsquared.core.uuid.UUIDMapping; | import com.plotsquared.core.uuid.UUIDMapping; | ||||||
| import com.plotsquared.core.uuid.UUIDService; | import com.plotsquared.core.uuid.UUIDService; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.enginehub.squirrelid.Profile; | import org.enginehub.squirrelid.Profile; | ||||||
| @@ -41,7 +41,7 @@ import java.util.UUID; | |||||||
| @SuppressWarnings("UnstableApiUsage") | @SuppressWarnings("UnstableApiUsage") | ||||||
| public class SquirrelIdUUIDService implements UUIDService { | public class SquirrelIdUUIDService implements UUIDService { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + SquirrelIdUUIDService.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final ProfileService profileService; |     private final ProfileService profileService; | ||||||
|     private final RateLimiter rateLimiter; |     private final RateLimiter rateLimiter; | ||||||
|   | |||||||
| @@ -43,7 +43,6 @@ dependencies { | |||||||
|     api(libs.cloudServices) |     api(libs.cloudServices) | ||||||
|     api(libs.arkitektonika) |     api(libs.arkitektonika) | ||||||
|     api("com.intellectualsites.paster:Paster") |     api("com.intellectualsites.paster:Paster") | ||||||
|     api("com.intellectualsites.informative-annotations:informative-annotations") |  | ||||||
| } | } | ||||||
|  |  | ||||||
| tasks.processResources { | tasks.processResources { | ||||||
| @@ -63,7 +62,5 @@ tasks { | |||||||
|         opt.links("https://jd.adventure.kyori.net/api/4.9.3/") |         opt.links("https://jd.adventure.kyori.net/api/4.9.3/") | ||||||
|         opt.links("https://google.github.io/guice/api-docs/" + libs.guice.get().versionConstraint.toString() + "/javadoc/") |         opt.links("https://google.github.io/guice/api-docs/" + libs.guice.get().versionConstraint.toString() + "/javadoc/") | ||||||
|         opt.links("https://checkerframework.org/api/") |         opt.links("https://checkerframework.org/api/") | ||||||
|         opt.links("https://javadoc.io/doc/com.intellectualsites.informative-annotations/informative-annotations/latest/") |  | ||||||
|         opt.encoding("UTF-8") |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -22,7 +22,6 @@ import cloud.commandframework.services.ServicePipeline; | |||||||
| import com.google.inject.Injector; | import com.google.inject.Injector; | ||||||
| import com.google.inject.Key; | import com.google.inject.Key; | ||||||
| import com.google.inject.TypeLiteral; | import com.google.inject.TypeLiteral; | ||||||
| import com.intellectualsites.annotations.DoNotUse; |  | ||||||
| import com.plotsquared.core.backup.BackupManager; | import com.plotsquared.core.backup.BackupManager; | ||||||
| import com.plotsquared.core.configuration.caption.LocaleHolder; | import com.plotsquared.core.configuration.caption.LocaleHolder; | ||||||
| import com.plotsquared.core.generator.GeneratorWrapper; | import com.plotsquared.core.generator.GeneratorWrapper; | ||||||
| @@ -34,6 +33,7 @@ import com.plotsquared.core.permissions.PermissionHandler; | |||||||
| import com.plotsquared.core.player.PlotPlayer; | import com.plotsquared.core.player.PlotPlayer; | ||||||
| import com.plotsquared.core.plot.world.PlotAreaManager; | import com.plotsquared.core.plot.world.PlotAreaManager; | ||||||
| import com.plotsquared.core.queue.GlobalBlockQueue; | import com.plotsquared.core.queue.GlobalBlockQueue; | ||||||
|  | import com.plotsquared.core.util.AnnotationHelper; | ||||||
| import com.plotsquared.core.util.ChunkManager; | import com.plotsquared.core.util.ChunkManager; | ||||||
| import com.plotsquared.core.util.EconHandler; | import com.plotsquared.core.util.EconHandler; | ||||||
| import com.plotsquared.core.util.PlatformWorldManager; | import com.plotsquared.core.util.PlatformWorldManager; | ||||||
| @@ -75,11 +75,6 @@ public interface PlotPlatform<P> extends LocaleHolder { | |||||||
|      */ |      */ | ||||||
|     void shutdown(); |     void shutdown(); | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Completely shuts down the server. |  | ||||||
|      */ |  | ||||||
|     void shutdownServer(); |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Get the name of the plugin |      * Get the name of the plugin | ||||||
|      * |      * | ||||||
| @@ -313,7 +308,7 @@ public interface PlotPlatform<P> extends LocaleHolder { | |||||||
|      * @return worldedit implementations |      * @return worldedit implementations | ||||||
|      * @since 6.3.0 |      * @since 6.3.0 | ||||||
|      */ |      */ | ||||||
|     @DoNotUse |     @AnnotationHelper.ApiDescription(info = "Internal use only") | ||||||
|     @NonNull String worldEditImplementations(); |     @NonNull String worldEditImplementations(); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|   | |||||||
| @@ -69,7 +69,7 @@ import com.sk89q.worldedit.event.platform.PlatformReadyEvent; | |||||||
| import com.sk89q.worldedit.math.BlockVector2; | import com.sk89q.worldedit.math.BlockVector2; | ||||||
| import com.sk89q.worldedit.util.eventbus.EventHandler; | import com.sk89q.worldedit.util.eventbus.EventHandler; | ||||||
| import com.sk89q.worldedit.util.eventbus.Subscribe; | import com.sk89q.worldedit.util.eventbus.Subscribe; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.MonotonicNonNull; | import org.checkerframework.checker.nullness.qual.MonotonicNonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| @@ -117,7 +117,7 @@ import java.util.zip.ZipInputStream; | |||||||
| @SuppressWarnings({"WeakerAccess"}) | @SuppressWarnings({"WeakerAccess"}) | ||||||
| public class PlotSquared { | public class PlotSquared { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + PlotSquared.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static @MonotonicNonNull PlotSquared instance; |     private static @MonotonicNonNull PlotSquared instance; | ||||||
|  |  | ||||||
|     // Implementation |     // Implementation | ||||||
| @@ -197,9 +197,6 @@ public class PlotSquared { | |||||||
|             this.loadCaptionMap(); |             this.loadCaptionMap(); | ||||||
|         } catch (final Exception e) { |         } catch (final Exception e) { | ||||||
|             LOGGER.error("Failed to load caption map", e); |             LOGGER.error("Failed to load caption map", e); | ||||||
|             LOGGER.error("Shutting down server to prevent further issues"); |  | ||||||
|             this.platform.shutdownServer(); |  | ||||||
|             throw new RuntimeException("Abort loading PlotSquared"); |  | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         // Setup the global flag container |         // Setup the global flag container | ||||||
| @@ -270,7 +267,7 @@ public class PlotSquared { | |||||||
|             captionMap = this.captionLoader.loadAll(this.platform.getDirectory().toPath().resolve("lang")); |             captionMap = this.captionLoader.loadAll(this.platform.getDirectory().toPath().resolve("lang")); | ||||||
|         } else { |         } else { | ||||||
|             String fileName = "messages_" + Settings.Enabled_Components.DEFAULT_LOCALE + ".json"; |             String fileName = "messages_" + Settings.Enabled_Components.DEFAULT_LOCALE + ".json"; | ||||||
|             captionMap = this.captionLoader.loadOrCreateSingle(this.platform.getDirectory().toPath().resolve("lang").resolve(fileName)); |             captionMap = this.captionLoader.loadSingle(this.platform.getDirectory().toPath().resolve("lang").resolve(fileName)); | ||||||
|         } |         } | ||||||
|         this.captionMaps.put(TranslatableCaption.DEFAULT_NAMESPACE, captionMap); |         this.captionMaps.put(TranslatableCaption.DEFAULT_NAMESPACE, captionMap); | ||||||
|         LOGGER.info( |         LOGGER.info( | ||||||
|   | |||||||
| @@ -39,7 +39,7 @@ import com.plotsquared.core.util.Permissions; | |||||||
| import com.plotsquared.core.util.PlotExpression; | import com.plotsquared.core.util.PlotExpression; | ||||||
| import com.plotsquared.core.util.task.TaskManager; | import com.plotsquared.core.util.task.TaskManager; | ||||||
| import net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
|  |  | ||||||
| @@ -51,7 +51,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; | |||||||
|         usage = "/plot claim") |         usage = "/plot claim") | ||||||
| public class Claim extends SubCommand { | public class Claim extends SubCommand { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + Claim.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final EventDispatcher eventDispatcher; |     private final EventDispatcher eventDispatcher; | ||||||
|     private final EconHandler econHandler; |     private final EconHandler econHandler; | ||||||
|   | |||||||
| @@ -462,7 +462,6 @@ public final class FlagCommand extends Command { | |||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|         final Plot plot = player.getLocation().getPlotAbs(); |         final Plot plot = player.getLocation().getPlotAbs(); | ||||||
|         final PlotFlag<?, ?> flagWithOldValue = plot.getFlagContainer().getFlag(flag.getClass()); |  | ||||||
|         PlotFlagRemoveEvent event = eventDispatcher.callFlagRemove(flag, plot); |         PlotFlagRemoveEvent event = eventDispatcher.callFlagRemove(flag, plot); | ||||||
|         if (event.getEventResult() == Result.DENY) { |         if (event.getEventResult() == Result.DENY) { | ||||||
|             player.sendMessage( |             player.sendMessage( | ||||||
| @@ -507,7 +506,7 @@ public final class FlagCommand extends Command { | |||||||
|                     if (plot.removeFlag(flag)) { |                     if (plot.removeFlag(flag)) { | ||||||
|                         player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of( |                         player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of( | ||||||
|                                 "value", |                                 "value", | ||||||
|                                 String.valueOf(flagWithOldValue) |                                 String.valueOf(flag) | ||||||
|                         )); |                         )); | ||||||
|                         return; |                         return; | ||||||
|                     } else { |                     } else { | ||||||
| @@ -545,7 +544,7 @@ public final class FlagCommand extends Command { | |||||||
|         } |         } | ||||||
|         player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of( |         player.sendMessage(TranslatableCaption.of("flag.flag_removed"), Template.of("flag", args[0]), Template.of( | ||||||
|                 "value", |                 "value", | ||||||
|                 String.valueOf(flagWithOldValue) |                 String.valueOf(flag) | ||||||
|         )); |         )); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -36,7 +36,7 @@ import com.plotsquared.core.util.Permissions; | |||||||
| import com.plotsquared.core.util.PlotExpression; | import com.plotsquared.core.util.PlotExpression; | ||||||
| import com.plotsquared.core.util.task.RunnableVal2; | import com.plotsquared.core.util.task.RunnableVal2; | ||||||
| import com.plotsquared.core.util.task.RunnableVal3; | import com.plotsquared.core.util.task.RunnableVal3; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
|  |  | ||||||
| import java.util.Arrays; | import java.util.Arrays; | ||||||
| @@ -51,7 +51,7 @@ import java.util.concurrent.CompletableFuture; | |||||||
|         aliases = {"plots", "p", "plotsquared", "plot2", "p2", "ps", "2", "plotme", "plotz", "ap"}) |         aliases = {"plots", "p", "plotsquared", "plot2", "p2", "ps", "2", "plotme", "plotz", "ap"}) | ||||||
| public class MainCommand extends Command { | public class MainCommand extends Command { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + MainCommand.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private static MainCommand instance; |     private static MainCommand instance; | ||||||
|     public Help help; |     public Help help; | ||||||
|   | |||||||
| @@ -34,7 +34,7 @@ import com.plotsquared.core.util.query.PlotQuery; | |||||||
| import com.plotsquared.core.util.task.TaskManager; | import com.plotsquared.core.util.task.TaskManager; | ||||||
| import com.plotsquared.core.uuid.UUIDMapping; | import com.plotsquared.core.uuid.UUIDMapping; | ||||||
| import net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
|  |  | ||||||
| @@ -53,7 +53,7 @@ import java.util.concurrent.atomic.AtomicBoolean; | |||||||
|         confirmation = true) |         confirmation = true) | ||||||
| public class Purge extends SubCommand { | public class Purge extends SubCommand { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + Purge.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final PlotAreaManager plotAreaManager; |     private final PlotAreaManager plotAreaManager; | ||||||
|     private final PlotListener plotListener; |     private final PlotListener plotListener; | ||||||
|   | |||||||
| @@ -39,7 +39,7 @@ import com.plotsquared.core.util.task.TaskManager; | |||||||
| import com.plotsquared.core.util.task.TaskTime; | import com.plotsquared.core.util.task.TaskTime; | ||||||
| import com.sk89q.worldedit.math.BlockVector2; | import com.sk89q.worldedit.math.BlockVector2; | ||||||
| import com.sk89q.worldedit.regions.CuboidRegion; | import com.sk89q.worldedit.regions.CuboidRegion; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
|  |  | ||||||
| @@ -55,7 +55,7 @@ import java.util.Set; | |||||||
|         category = CommandCategory.ADMINISTRATION) |         category = CommandCategory.ADMINISTRATION) | ||||||
| public class Trim extends SubCommand { | public class Trim extends SubCommand { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + Trim.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static volatile boolean TASK = false; |     private static volatile boolean TASK = false; | ||||||
|  |  | ||||||
|     private final PlotAreaManager plotAreaManager; |     private final PlotAreaManager plotAreaManager; | ||||||
|   | |||||||
| @@ -40,7 +40,7 @@ import com.sk89q.worldedit.function.pattern.Pattern; | |||||||
| import com.sk89q.worldedit.world.item.ItemTypes; | import com.sk89q.worldedit.world.item.ItemTypes; | ||||||
| import net.kyori.adventure.text.minimessage.MiniMessage; | import net.kyori.adventure.text.minimessage.MiniMessage; | ||||||
| import net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -61,7 +61,7 @@ import java.util.stream.Collectors; | |||||||
| public class ComponentPresetManager { | public class ComponentPresetManager { | ||||||
|  |  | ||||||
|     private static final MiniMessage MINI_MESSAGE = MiniMessage.builder().build(); |     private static final MiniMessage MINI_MESSAGE = MiniMessage.builder().build(); | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + ComponentPresetManager.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final List<ComponentPreset> presets; |     private final List<ComponentPreset> presets; | ||||||
|     private final EconHandler econHandler; |     private final EconHandler econHandler; | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ package com.plotsquared.core.configuration; | |||||||
| import com.plotsquared.core.configuration.Settings.Enabled_Components; | import com.plotsquared.core.configuration.Settings.Enabled_Components; | ||||||
| import com.plotsquared.core.configuration.file.YamlConfiguration; | import com.plotsquared.core.configuration.file.YamlConfiguration; | ||||||
| import com.plotsquared.core.util.StringMan; | import com.plotsquared.core.util.StringMan; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
|  |  | ||||||
| import java.io.File; | import java.io.File; | ||||||
| @@ -40,7 +40,7 @@ import java.util.Map; | |||||||
|  |  | ||||||
| public class Config { | public class Config { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + Config.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Get the value for a node<br> |      * Get the value for a node<br> | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ import com.plotsquared.core.configuration.caption.CaptionMap; | |||||||
| import com.plotsquared.core.configuration.caption.LocalizedCaptionMap; | import com.plotsquared.core.configuration.caption.LocalizedCaptionMap; | ||||||
| import com.plotsquared.core.configuration.caption.PerUserLocaleCaptionMap; | import com.plotsquared.core.configuration.caption.PerUserLocaleCaptionMap; | ||||||
| import com.plotsquared.core.configuration.caption.TranslatableCaption; | import com.plotsquared.core.configuration.caption.TranslatableCaption; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
|  |  | ||||||
| @@ -54,7 +54,7 @@ import java.util.stream.Stream; | |||||||
|  */ |  */ | ||||||
| public final class CaptionLoader { | public final class CaptionLoader { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + CaptionLoader.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private static final Gson GSON; |     private static final Gson GSON; | ||||||
|  |  | ||||||
| @@ -190,14 +190,13 @@ public final class CaptionLoader { | |||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Load a message file into a new CaptionMap. The file name must match |      * Load a message file into a new CaptionMap. The file name must match | ||||||
|      * the pattern expected by the {@link #localeExtractor}. |      * the pattern {@code messages_<locale>.json} where {@code <locale>} | ||||||
|      * Note that this method does not attempt to create a new file. |      * is a valid {@link Locale} string. | ||||||
|      * |      * | ||||||
|      * @param file The file to load |      * @param file The file to load | ||||||
|      * @return A new CaptionMap containing the loaded messages |      * @return A new CaptionMap containing the loaded messages | ||||||
|      * @throws IOException              if the file couldn't be accessed or read successfully. |      * @throws IOException              if the file couldn't be accessed or read successfully. | ||||||
|      * @throws IllegalArgumentException if the file name doesn't match the specified format. |      * @throws IllegalArgumentException if the file name doesn't match the specified format. | ||||||
|      * @see #loadOrCreateSingle(Path) |  | ||||||
|      */ |      */ | ||||||
|     public @NonNull CaptionMap loadSingle(final @NonNull Path file) throws IOException { |     public @NonNull CaptionMap loadSingle(final @NonNull Path file) throws IOException { | ||||||
|         final Locale locale = this.localeExtractor.apply(file); |         final Locale locale = this.localeExtractor.apply(file); | ||||||
| @@ -206,42 +205,14 @@ public final class CaptionLoader { | |||||||
|             if (patch(map, locale)) { |             if (patch(map, locale)) { | ||||||
|                 save(file, map); // update the file using the modified map |                 save(file, map); // update the file using the modified map | ||||||
|             } |             } | ||||||
|             return new LocalizedCaptionMap(locale, mapToCaptions(map)); |             return new LocalizedCaptionMap(locale, map.entrySet().stream() | ||||||
|         } |                     .collect(Collectors.toMap( | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Load a message file into a new CaptionMap. The file name must match |  | ||||||
|      * the pattern expected by the {@link #localeExtractor}. |  | ||||||
|      * If no file exists at the given path, this method will |  | ||||||
|      * attempt to create one and fill it with default values. |  | ||||||
|      * |  | ||||||
|      * @param file The file to load |  | ||||||
|      * @return A new CaptionMap containing the loaded messages |  | ||||||
|      * @throws IOException              if the file couldn't be accessed or read successfully. |  | ||||||
|      * @throws IllegalArgumentException if the file name doesn't match the specified format. |  | ||||||
|      * @see #loadSingle(Path) |  | ||||||
|      * @since TODO |  | ||||||
|      */ |  | ||||||
|     public @NonNull CaptionMap loadOrCreateSingle(final @NonNull Path file) throws IOException { |  | ||||||
|         final Locale locale = this.localeExtractor.apply(file); |  | ||||||
|         if (!Files.exists(file) ) { |  | ||||||
|             Map<String, String> map = new LinkedHashMap<>(); |  | ||||||
|             patch(map, locale); |  | ||||||
|             save(file, map); |  | ||||||
|             return new LocalizedCaptionMap(locale, mapToCaptions(map)); |  | ||||||
|         } else { |  | ||||||
|             return loadSingle(file); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     private @NonNull Map<TranslatableCaption, String> mapToCaptions(Map<String, String> map) { |  | ||||||
|         return map.entrySet().stream().collect( |  | ||||||
|                 Collectors.toMap( |  | ||||||
|                                     entry -> TranslatableCaption.of(this.namespace, entry.getKey()), |                                     entry -> TranslatableCaption.of(this.namespace, entry.getKey()), | ||||||
|                                     Map.Entry::getValue |                                     Map.Entry::getValue | ||||||
|  |                             ) | ||||||
|                     )); |                     )); | ||||||
|         } |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * Add missing entries to the given map. |      * Add missing entries to the given map. | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ | |||||||
|  */ |  */ | ||||||
| package com.plotsquared.core.configuration.caption.load; | package com.plotsquared.core.configuration.caption.load; | ||||||
|  |  | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -35,7 +35,7 @@ import static com.plotsquared.core.configuration.caption.load.CaptionLoader.load | |||||||
|  |  | ||||||
| final class ClassLoaderCaptionProvider implements DefaultCaptionProvider { | final class ClassLoaderCaptionProvider implements DefaultCaptionProvider { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + ClassLoaderCaptionProvider.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private final ClassLoader classLoader; |     private final ClassLoader classLoader; | ||||||
|     private final Function<@NonNull Locale, @NonNull String> urlProvider; |     private final Function<@NonNull Locale, @NonNull String> urlProvider; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ package com.plotsquared.core.configuration.file; | |||||||
| import com.plotsquared.core.configuration.Configuration; | import com.plotsquared.core.configuration.Configuration; | ||||||
| import com.plotsquared.core.configuration.ConfigurationSection; | import com.plotsquared.core.configuration.ConfigurationSection; | ||||||
| import com.plotsquared.core.configuration.InvalidConfigurationException; | import com.plotsquared.core.configuration.InvalidConfigurationException; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.yaml.snakeyaml.DumperOptions; | import org.yaml.snakeyaml.DumperOptions; | ||||||
| import org.yaml.snakeyaml.Yaml; | import org.yaml.snakeyaml.Yaml; | ||||||
| @@ -40,7 +40,7 @@ import java.util.Map; | |||||||
|  */ |  */ | ||||||
| public class YamlConfiguration extends FileConfiguration { | public class YamlConfiguration extends FileConfiguration { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + YamlConfiguration.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private static final String COMMENT_PREFIX = "# "; |     private static final String COMMENT_PREFIX = "# "; | ||||||
|     private static final String BLANK_CONFIG = "{}\n"; |     private static final String BLANK_CONFIG = "{}\n"; | ||||||
|   | |||||||
| @@ -44,7 +44,7 @@ import com.plotsquared.core.util.HashUtil; | |||||||
| import com.plotsquared.core.util.StringMan; | import com.plotsquared.core.util.StringMan; | ||||||
| import com.plotsquared.core.util.task.RunnableVal; | import com.plotsquared.core.util.task.RunnableVal; | ||||||
| import com.plotsquared.core.util.task.TaskManager; | import com.plotsquared.core.util.task.TaskManager; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
|  |  | ||||||
| @@ -78,7 +78,7 @@ import java.util.concurrent.atomic.AtomicInteger; | |||||||
| @SuppressWarnings("SqlDialectInspection") | @SuppressWarnings("SqlDialectInspection") | ||||||
| public class SQLManager implements AbstractDB { | public class SQLManager implements AbstractDB { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + SQLManager.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     // Public final |     // Public final | ||||||
|     public final String SET_OWNER; |     public final String SET_OWNER; | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ | |||||||
| package com.plotsquared.core.database; | package com.plotsquared.core.database; | ||||||
|  |  | ||||||
| import com.plotsquared.core.PlotSquared; | import com.plotsquared.core.PlotSquared; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
|  |  | ||||||
| import java.io.File; | import java.io.File; | ||||||
| @@ -35,7 +35,7 @@ import java.sql.Statement; | |||||||
|  */ |  */ | ||||||
| public class SQLite extends Database { | public class SQLite extends Database { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + SQLite.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final String dbLocation; |     private final String dbLocation; | ||||||
|     private Connection connection; |     private Connection connection; | ||||||
|   | |||||||
| @@ -20,8 +20,6 @@ package com.plotsquared.core.generator; | |||||||
|  |  | ||||||
| import com.google.inject.Inject; | import com.google.inject.Inject; | ||||||
| import com.google.inject.assistedinject.Assisted; | import com.google.inject.assistedinject.Assisted; | ||||||
| import com.intellectualsites.annotations.DoNotUse; |  | ||||||
| import com.intellectualsites.annotations.NotPublic; |  | ||||||
| import com.plotsquared.core.PlotSquared; | import com.plotsquared.core.PlotSquared; | ||||||
| import com.plotsquared.core.configuration.ConfigurationSection; | import com.plotsquared.core.configuration.ConfigurationSection; | ||||||
| import com.plotsquared.core.configuration.Settings; | import com.plotsquared.core.configuration.Settings; | ||||||
| @@ -35,6 +33,7 @@ import com.plotsquared.core.plot.PlotId; | |||||||
| import com.plotsquared.core.plot.PlotManager; | import com.plotsquared.core.plot.PlotManager; | ||||||
| import com.plotsquared.core.plot.schematic.Schematic; | import com.plotsquared.core.plot.schematic.Schematic; | ||||||
| import com.plotsquared.core.queue.GlobalBlockQueue; | import com.plotsquared.core.queue.GlobalBlockQueue; | ||||||
|  | import com.plotsquared.core.util.AnnotationHelper; | ||||||
| import com.plotsquared.core.util.FileUtils; | import com.plotsquared.core.util.FileUtils; | ||||||
| import com.plotsquared.core.util.MathMan; | import com.plotsquared.core.util.MathMan; | ||||||
| import com.plotsquared.core.util.SchematicHandler; | import com.plotsquared.core.util.SchematicHandler; | ||||||
| @@ -51,7 +50,7 @@ import com.sk89q.worldedit.math.transform.AffineTransform; | |||||||
| import com.sk89q.worldedit.util.Direction; | import com.sk89q.worldedit.util.Direction; | ||||||
| import com.sk89q.worldedit.world.biome.BiomeType; | import com.sk89q.worldedit.world.biome.BiomeType; | ||||||
| import com.sk89q.worldedit.world.block.BaseBlock; | import com.sk89q.worldedit.world.block.BaseBlock; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -65,7 +64,7 @@ import java.util.Locale; | |||||||
|  |  | ||||||
| public class HybridPlotWorld extends ClassicPlotWorld { | public class HybridPlotWorld extends ClassicPlotWorld { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + HybridPlotWorld.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static final AffineTransform transform = new AffineTransform().rotateY(90); |     private static final AffineTransform transform = new AffineTransform().rotateY(90); | ||||||
|     public boolean ROAD_SCHEMATIC_ENABLED; |     public boolean ROAD_SCHEMATIC_ENABLED; | ||||||
|     public boolean PLOT_SCHEMATIC = false; |     public boolean PLOT_SCHEMATIC = false; | ||||||
| @@ -75,6 +74,9 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|     public short PATH_WIDTH_UPPER; |     public short PATH_WIDTH_UPPER; | ||||||
|     public HashMap<Integer, BaseBlock[]> G_SCH; |     public HashMap<Integer, BaseBlock[]> G_SCH; | ||||||
|     public HashMap<Integer, BiomeType> G_SCH_B; |     public HashMap<Integer, BiomeType> G_SCH_B; | ||||||
|  |     /** | ||||||
|  |      * The Y level at which schematic generation will start, lowest of either road or plot schematic generation. | ||||||
|  |      */ | ||||||
|     public int SCHEM_Y; |     public int SCHEM_Y; | ||||||
|     private Location SIGN_LOCATION; |     private Location SIGN_LOCATION; | ||||||
|     private File root = null; |     private File root = null; | ||||||
| @@ -267,33 +269,57 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|         int oddshift = (this.ROAD_WIDTH & 1); |         int oddshift = (this.ROAD_WIDTH & 1); | ||||||
|  |  | ||||||
|         SCHEM_Y = schematicStartHeight(); |         SCHEM_Y = schematicStartHeight(); | ||||||
|  |  | ||||||
|  |         // plotY and roadY are important to allow plot and/or road schematic "overflow" into each other without causing AIOOB | ||||||
|  |         //  exceptions when attempting either to set blocks to, or get block from G_SCH | ||||||
|  |         // Default plot schematic start height, normalized to the minimum height schematics are pasted from. | ||||||
|         int plotY = PLOT_HEIGHT - SCHEM_Y; |         int plotY = PLOT_HEIGHT - SCHEM_Y; | ||||||
|         int minRoadWall = Settings.Schematics.USE_WALL_IN_ROAD_SCHEM_HEIGHT ? Math.min(ROAD_HEIGHT, WALL_HEIGHT) : ROAD_HEIGHT; |         int minRoadWall = Settings.Schematics.USE_WALL_IN_ROAD_SCHEM_HEIGHT ? Math.min(ROAD_HEIGHT, WALL_HEIGHT) : ROAD_HEIGHT; | ||||||
|  |         // Default road schematic start height, normalized to the minimum height schematics are pasted from. | ||||||
|         int roadY = minRoadWall - SCHEM_Y; |         int roadY = minRoadWall - SCHEM_Y; | ||||||
|  |  | ||||||
|         int worldHeight = getMaxGenHeight() - getMinGenHeight() + 1; |         int worldGenHeight = getMaxGenHeight() - getMinGenHeight() + 1; | ||||||
|  |  | ||||||
|  |         int maxSchematicHeight = 0; | ||||||
|  |  | ||||||
|         // SCHEM_Y should be normalised to the plot "start" height |         // SCHEM_Y should be normalised to the plot "start" height | ||||||
|         if (schematic3 != null) { |         if (schematic3 != null) { | ||||||
|             if (schematic3.getClipboard().getDimensions().getY() == worldHeight) { |             if ((maxSchematicHeight = schematic3.getClipboard().getDimensions().getY()) == worldGenHeight) { | ||||||
|                 SCHEM_Y = plotY = 0; |                 SCHEM_Y = getMinGenHeight(); | ||||||
|  |                 plotY = 0; | ||||||
|             } else if (!Settings.Schematics.PASTE_ON_TOP) { |             } else if (!Settings.Schematics.PASTE_ON_TOP) { | ||||||
|                 SCHEM_Y = plotY = getMinBuildHeight() - getMinGenHeight(); |                 SCHEM_Y = getMinBuildHeight(); | ||||||
|  |                 plotY = 0; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (schematic1 != null) { |         if (schematic1 != null) { | ||||||
|             if (schematic1.getClipboard().getDimensions().getY() == worldHeight) { |             if ((maxSchematicHeight = Math.max( | ||||||
|                 SCHEM_Y = roadY = getMinGenHeight(); |                     schematic1.getClipboard().getDimensions().getY(), | ||||||
|                 if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() != worldHeight |                     maxSchematicHeight | ||||||
|                         && !Settings.Schematics.PASTE_ON_TOP) { |             )) == worldGenHeight) { | ||||||
|                     plotY = PLOT_HEIGHT; |                 SCHEM_Y = getMinGenHeight(); | ||||||
|  |                 roadY = 0; // Road is the lowest schematic | ||||||
|  |                 if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() != worldGenHeight) { | ||||||
|  |                     // Road is the lowest schematic. Normalize plotY to it. | ||||||
|  |                     if (Settings.Schematics.PASTE_ON_TOP) { | ||||||
|  |                         plotY = PLOT_HEIGHT - getMinGenHeight(); | ||||||
|  |                     } else { | ||||||
|  |                         plotY = getMinBuildHeight() - getMinGenHeight(); | ||||||
|  |                     } | ||||||
|                 } |                 } | ||||||
|             } else if (!Settings.Schematics.PASTE_ROAD_ON_TOP) { |             } else if (!Settings.Schematics.PASTE_ROAD_ON_TOP) { | ||||||
|                 SCHEM_Y = roadY = getMinBuildHeight(); |                 if (SCHEM_Y == getMinGenHeight()) { // Only possible if plot schematic is enabled | ||||||
|                 if (schematic3 != null && schematic3.getClipboard().getDimensions().getY() != worldHeight |                     // Plot is still the lowest schematic, normalize roadY to it | ||||||
|                         && !Settings.Schematics.PASTE_ON_TOP) { |                     roadY = getMinBuildHeight() - getMinGenHeight(); | ||||||
|                     plotY = PLOT_HEIGHT; |                 } else if (schematic3 != null) { | ||||||
|  |                     SCHEM_Y = getMinBuildHeight(); | ||||||
|  |                     roadY = 0;// Road is the lowest schematic | ||||||
|  |                     if (Settings.Schematics.PASTE_ON_TOP) { | ||||||
|  |                         // Road is the lowest schematic. Normalize plotY to it. | ||||||
|  |                         plotY = PLOT_HEIGHT - getMinBuildHeight(); | ||||||
|  |                     } | ||||||
|  |                     // If plot schematic is not paste-on-top, it will be from min build height thus plotY = 0 as well already. | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| @@ -331,7 +357,6 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|                                 y + min.getBlockY(), |                                 y + min.getBlockY(), | ||||||
|                                 z + min.getBlockZ() |                                 z + min.getBlockZ() | ||||||
|                         )); |                         )); | ||||||
|                         if (!id.getBlockType().getMaterial().isAir()) { |  | ||||||
|                         schem3PopulationNeeded |= id.hasNbtData(); |                         schem3PopulationNeeded |= id.hasNbtData(); | ||||||
|                         addOverlayBlock( |                         addOverlayBlock( | ||||||
|                                 (short) (x + shift + oddshift + centerShiftX), |                                 (short) (x + shift + oddshift + centerShiftX), | ||||||
| @@ -339,10 +364,9 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|                                 (short) (z + shift + oddshift + centerShiftZ), |                                 (short) (z + shift + oddshift + centerShiftZ), | ||||||
|                                 id, |                                 id, | ||||||
|                                 false, |                                 false, | ||||||
|                                     h3 |                                 maxSchematicHeight | ||||||
|                         ); |                         ); | ||||||
|                     } |                     } | ||||||
|                     } |  | ||||||
|                     if (blockArrayClipboard3.hasBiomes()) { |                     if (blockArrayClipboard3.hasBiomes()) { | ||||||
|                         BiomeType biome = blockArrayClipboard3.getBiome(BlockVector2.at( |                         BiomeType biome = blockArrayClipboard3.getBiome(BlockVector2.at( | ||||||
|                                 x + min.getBlockX(), |                                 x + min.getBlockX(), | ||||||
| @@ -391,19 +415,24 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|                             y + min.getBlockY(), |                             y + min.getBlockY(), | ||||||
|                             z + min.getBlockZ() |                             z + min.getBlockZ() | ||||||
|                     )); |                     )); | ||||||
|                     if (!id.getBlockType().getMaterial().isAir()) { |  | ||||||
|                     schem1PopulationNeeded |= id.hasNbtData(); |                     schem1PopulationNeeded |= id.hasNbtData(); | ||||||
|                         addOverlayBlock((short) (x - shift), (short) (y + roadY), (short) (z + shift + oddshift), id, false, h1); |                     addOverlayBlock( | ||||||
|  |                             (short) (x - shift), | ||||||
|  |                             (short) (y + roadY), | ||||||
|  |                             (short) (z + shift + oddshift), | ||||||
|  |                             id, | ||||||
|  |                             false, | ||||||
|  |                             maxSchematicHeight | ||||||
|  |                     ); | ||||||
|                     addOverlayBlock( |                     addOverlayBlock( | ||||||
|                             (short) (z + shift + oddshift), |                             (short) (z + shift + oddshift), | ||||||
|                             (short) (y + roadY), |                             (short) (y + roadY), | ||||||
|                             (short) (shift - x + (oddshift - 1)), |                             (short) (shift - x + (oddshift - 1)), | ||||||
|                             id, |                             id, | ||||||
|                             true, |                             true, | ||||||
|                                 h1 |                             maxSchematicHeight | ||||||
|                     ); |                     ); | ||||||
|                 } |                 } | ||||||
|                 } |  | ||||||
|                 if (blockArrayClipboard1.hasBiomes()) { |                 if (blockArrayClipboard1.hasBiomes()) { | ||||||
|                     BiomeType biome = blockArrayClipboard1.getBiome(BlockVector2.at(x + min.getBlockX(), z + min.getBlockZ())); |                     BiomeType biome = blockArrayClipboard1.getBiome(BlockVector2.at(x + min.getBlockX(), z + min.getBlockZ())); | ||||||
|                     addOverlayBiome((short) (x - shift), (short) (z + shift + oddshift), biome); |                     addOverlayBiome((short) (x - shift), (short) (z + shift + oddshift), biome); | ||||||
| @@ -430,10 +459,15 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|                             y + min.getBlockY(), |                             y + min.getBlockY(), | ||||||
|                             z + min.getBlockZ() |                             z + min.getBlockZ() | ||||||
|                     )); |                     )); | ||||||
|                     if (!id.getBlockType().getMaterial().isAir()) { |  | ||||||
|                     schem2PopulationNeeded |= id.hasNbtData(); |                     schem2PopulationNeeded |= id.hasNbtData(); | ||||||
|                         addOverlayBlock((short) (x - shift), (short) (y + roadY), (short) (z - shift), id, false, h2); |                     addOverlayBlock( | ||||||
|                     } |                             (short) (x - shift), | ||||||
|  |                             (short) (y + roadY), | ||||||
|  |                             (short) (z - shift), | ||||||
|  |                             id, | ||||||
|  |                             false, | ||||||
|  |                             maxSchematicHeight | ||||||
|  |                     ); | ||||||
|                 } |                 } | ||||||
|                 if (blockArrayClipboard2.hasBiomes()) { |                 if (blockArrayClipboard2.hasBiomes()) { | ||||||
|                     BiomeType biome = blockArrayClipboard2.getBiome(BlockVector2.at(x + min.getBlockX(), z + min.getBlockZ())); |                     BiomeType biome = blockArrayClipboard2.getBiome(BlockVector2.at(x + min.getBlockX(), z + min.getBlockZ())); | ||||||
| @@ -443,6 +477,10 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * @deprecated This method should not be available for public API usage and will be made private. | ||||||
|  |      */ | ||||||
|  |     @Deprecated(forRemoval = true, since = "TODO") | ||||||
|     public void addOverlayBlock(short x, short y, short z, BaseBlock id, boolean rotate, int height) { |     public void addOverlayBlock(short x, short y, short z, BaseBlock id, boolean rotate, int height) { | ||||||
|         if (z < 0) { |         if (z < 0) { | ||||||
|             z += this.SIZE; |             z += this.SIZE; | ||||||
| @@ -460,7 +498,7 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|         int pair = MathMan.pair(x, z); |         int pair = MathMan.pair(x, z); | ||||||
|         BaseBlock[] existing = this.G_SCH.computeIfAbsent(pair, k -> new BaseBlock[height]); |         BaseBlock[] existing = this.G_SCH.computeIfAbsent(pair, k -> new BaseBlock[height]); | ||||||
|         if (y >= height) { |         if (y >= height) { | ||||||
|             if (y > lastOverlayHeightError) { |             if (y != lastOverlayHeightError) { | ||||||
|                 lastOverlayHeightError = y; |                 lastOverlayHeightError = y; | ||||||
|                 LOGGER.error(String.format("Error adding overlay block. `y > height`. y=%s, height=%s", y, height)); |                 LOGGER.error(String.format("Error adding overlay block. `y > height`. y=%s, height=%s", y, height)); | ||||||
|             } |             } | ||||||
| @@ -469,6 +507,10 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|         existing[y] = id; |         existing[y] = id; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * @deprecated This method should not be available for public API usage and will be made private. | ||||||
|  |      */ | ||||||
|  |     @Deprecated(forRemoval = true, since = "TODO") | ||||||
|     public void addOverlayBiome(short x, short z, BiomeType id) { |     public void addOverlayBiome(short x, short z, BiomeType id) { | ||||||
|         if (z < 0) { |         if (z < 0) { | ||||||
|             z += this.SIZE; |             z += this.SIZE; | ||||||
| @@ -489,7 +531,7 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|      * |      * | ||||||
|      * @since 6.9.0 |      * @since 6.9.0 | ||||||
|      */ |      */ | ||||||
|     @DoNotUse |     @AnnotationHelper.ApiDescription(info = "Internal use only. Subject to changes at any time.") | ||||||
|     public @Nullable List<Entity> getPlotSchematicEntities() { |     public @Nullable List<Entity> getPlotSchematicEntities() { | ||||||
|         return schem3Entities; |         return schem3Entities; | ||||||
|     } |     } | ||||||
| @@ -499,7 +541,7 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|      * |      * | ||||||
|      * @since 6.9.0 |      * @since 6.9.0 | ||||||
|      */ |      */ | ||||||
|     @DoNotUse |     @AnnotationHelper.ApiDescription(info = "Internal use only. Subject to changes at any time.") | ||||||
|     public @Nullable BlockVector3 getPlotSchematicMinPoint() { |     public @Nullable BlockVector3 getPlotSchematicMinPoint() { | ||||||
|         return schem3MinPoint; |         return schem3MinPoint; | ||||||
|     } |     } | ||||||
| @@ -509,7 +551,7 @@ public class HybridPlotWorld extends ClassicPlotWorld { | |||||||
|      * |      * | ||||||
|      * @since 6.9.0 |      * @since 6.9.0 | ||||||
|      */ |      */ | ||||||
|     @DoNotUse |     @AnnotationHelper.ApiDescription(info = "Internal use only. Subject to changes at any time.") | ||||||
|     public boolean populationNeeded() { |     public boolean populationNeeded() { | ||||||
|         return schem1PopulationNeeded || schem2PopulationNeeded || schem3PopulationNeeded; |         return schem1PopulationNeeded || schem2PopulationNeeded || schem3PopulationNeeded; | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -55,7 +55,7 @@ import com.sk89q.worldedit.world.block.BaseBlock; | |||||||
| import com.sk89q.worldedit.world.block.BlockState; | import com.sk89q.worldedit.world.block.BlockState; | ||||||
| import com.sk89q.worldedit.world.block.BlockType; | import com.sk89q.worldedit.world.block.BlockType; | ||||||
| import com.sk89q.worldedit.world.block.BlockTypes; | import com.sk89q.worldedit.world.block.BlockTypes; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -75,7 +75,7 @@ import java.util.concurrent.atomic.AtomicInteger; | |||||||
|  |  | ||||||
| public class HybridUtils { | public class HybridUtils { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + HybridUtils.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static final BlockState AIR = BlockTypes.AIR.getDefaultState(); |     private static final BlockState AIR = BlockTypes.AIR.getDefaultState(); | ||||||
|  |  | ||||||
|     public static HybridUtils manager; |     public static HybridUtils manager; | ||||||
| @@ -189,13 +189,13 @@ public class HybridUtils { | |||||||
|                 if (X == ctx) { |                 if (X == ctx) { | ||||||
|                     maxX = tx & 15; |                     maxX = tx & 15; | ||||||
|                 } else { |                 } else { | ||||||
|                     maxX = 15; |                     maxX = 16; | ||||||
|                 } |                 } | ||||||
|                 int maxZ; |                 int maxZ; | ||||||
|                 if (Z == ctz) { |                 if (Z == ctz) { | ||||||
|                     maxZ = tz & 15; |                     maxZ = tz & 15; | ||||||
|                 } else { |                 } else { | ||||||
|                     maxZ = 15; |                     maxZ = 16; | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|                 int chunkBlockX = X << 4; |                 int chunkBlockX = X << 4; | ||||||
| @@ -221,7 +221,7 @@ public class HybridUtils { | |||||||
|                 } |                 } | ||||||
|             }); |             }); | ||||||
|  |  | ||||||
|             final Runnable run = () -> { |             final Runnable run = () -> TaskManager.runTaskAsync(() -> { | ||||||
|                 int size = width * length; |                 int size = width * length; | ||||||
|                 int[] changes = new int[size]; |                 int[] changes = new int[size]; | ||||||
|                 int[] faces = new int[size]; |                 int[] faces = new int[size]; | ||||||
| @@ -296,7 +296,7 @@ public class HybridUtils { | |||||||
|                 analysis.variety_sd = (int) (MathMan.getSD(variety, analysis.variety) * 100); |                 analysis.variety_sd = (int) (MathMan.getSD(variety, analysis.variety) * 100); | ||||||
|                 whenDone.value = analysis; |                 whenDone.value = analysis; | ||||||
|                 whenDone.run(); |                 whenDone.run(); | ||||||
|             }; |             }); | ||||||
|             queue.setCompleteTask(run); |             queue.setCompleteTask(run); | ||||||
|             queue.enqueue(); |             queue.enqueue(); | ||||||
|         }); |         }); | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ import com.plotsquared.core.queue.QueueCoordinator; | |||||||
| import com.plotsquared.core.util.HashUtil; | import com.plotsquared.core.util.HashUtil; | ||||||
| import com.plotsquared.core.util.RegionManager; | import com.plotsquared.core.util.RegionManager; | ||||||
| import com.sk89q.worldedit.regions.CuboidRegion; | import com.sk89q.worldedit.regions.CuboidRegion; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -41,7 +41,7 @@ import java.util.Set; | |||||||
|  */ |  */ | ||||||
| public abstract class SquarePlotManager extends GridPlotManager { | public abstract class SquarePlotManager extends GridPlotManager { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + SquarePlotManager.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final SquarePlotWorld squarePlotWorld; |     private final SquarePlotWorld squarePlotWorld; | ||||||
|     private final RegionManager regionManager; |     private final RegionManager regionManager; | ||||||
|   | |||||||
| @@ -24,14 +24,14 @@ import com.plotsquared.core.configuration.file.YamlConfiguration; | |||||||
| import com.plotsquared.core.inject.annotations.WorldConfig; | import com.plotsquared.core.inject.annotations.WorldConfig; | ||||||
| import com.plotsquared.core.plot.PlotId; | import com.plotsquared.core.plot.PlotId; | ||||||
| import com.plotsquared.core.queue.GlobalBlockQueue; | import com.plotsquared.core.queue.GlobalBlockQueue; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
|  |  | ||||||
| public abstract class SquarePlotWorld extends GridPlotWorld { | public abstract class SquarePlotWorld extends GridPlotWorld { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + SquarePlotWorld.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     public int PLOT_WIDTH = 42; |     public int PLOT_WIDTH = 42; | ||||||
|     public int ROAD_WIDTH = 7; |     public int ROAD_WIDTH = 7; | ||||||
|   | |||||||
| @@ -313,7 +313,7 @@ public sealed class Location extends BlockLoc implements Comparable<Location> pe | |||||||
|     /** |     /** | ||||||
|      * Get the absolute {@link Plot}, if any, that contains this location |      * Get the absolute {@link Plot}, if any, that contains this location | ||||||
|      * |      * | ||||||
|      * @return (Absolute) plot containing the location, or {@code null} |      * @return (Absolute) plot containing the location, or {code null} | ||||||
|      */ |      */ | ||||||
|     public @Nullable Plot getPlotAbs() { |     public @Nullable Plot getPlotAbs() { | ||||||
|         final PlotArea area = this.getPlotArea(); |         final PlotArea area = this.getPlotArea(); | ||||||
| @@ -327,7 +327,7 @@ public sealed class Location extends BlockLoc implements Comparable<Location> pe | |||||||
|     /** |     /** | ||||||
|      * Get the {@link Plot}, if any, that contains this location |      * Get the {@link Plot}, if any, that contains this location | ||||||
|      * |      * | ||||||
|      * @return plot containing the location, or {@code null} |      * @return plot containing the location, or {code null} | ||||||
|      */ |      */ | ||||||
|     public @Nullable Plot getPlot() { |     public @Nullable Plot getPlot() { | ||||||
|         final PlotArea area = this.getPlotArea(); |         final PlotArea area = this.getPlotArea(); | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ | |||||||
|  */ |  */ | ||||||
| package com.plotsquared.core.location; | package com.plotsquared.core.location; | ||||||
|  |  | ||||||
| import com.intellectualsites.annotations.DoNotUse; | import com.plotsquared.core.util.AnnotationHelper; | ||||||
| import com.sk89q.worldedit.math.BlockVector3; | import com.sk89q.worldedit.math.BlockVector3; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
|  |  | ||||||
| @@ -28,7 +28,7 @@ import org.checkerframework.checker.nullness.qual.NonNull; | |||||||
|  * |  * | ||||||
|  * @since 6.9.0 |  * @since 6.9.0 | ||||||
|  */ |  */ | ||||||
| @DoNotUse | @AnnotationHelper.ApiDescription(info = "Internal use only. Subject to changes at any time.") | ||||||
| public final class UncheckedWorldLocation extends Location { | public final class UncheckedWorldLocation extends Location { | ||||||
|  |  | ||||||
|     private final String worldName; |     private final String worldName; | ||||||
| @@ -54,7 +54,7 @@ public final class UncheckedWorldLocation extends Location { | |||||||
|      * |      * | ||||||
|      * @since 6.9.0 |      * @since 6.9.0 | ||||||
|      */ |      */ | ||||||
|     @DoNotUse |     @AnnotationHelper.ApiDescription(info = "Internal use only. Subject to changes at any time.") | ||||||
|     public static @NonNull UncheckedWorldLocation at( |     public static @NonNull UncheckedWorldLocation at( | ||||||
|             final @NonNull String world, final int x, final int y, final int z |             final @NonNull String world, final int x, final int y, final int z | ||||||
|     ) { |     ) { | ||||||
| @@ -62,7 +62,7 @@ public final class UncheckedWorldLocation extends Location { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     @DoNotUse |     @AnnotationHelper.ApiDescription(info = "Internal use only. Subject to changes at any time.") | ||||||
|     public @NonNull String getWorldName() { |     public @NonNull String getWorldName() { | ||||||
|         return this.worldName; |         return this.worldName; | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -61,7 +61,7 @@ import net.kyori.adventure.text.Component; | |||||||
| import net.kyori.adventure.text.minimessage.MiniMessage; | import net.kyori.adventure.text.minimessage.MiniMessage; | ||||||
| import net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| import net.kyori.adventure.title.Title; | import net.kyori.adventure.title.Title; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -91,7 +91,7 @@ public abstract class PlotPlayer<P> implements CommandCaller, OfflinePlotPlayer, | |||||||
|  |  | ||||||
|     private static final String NON_EXISTENT_CAPTION = "<red>PlotSquared does not recognize the caption: "; |     private static final String NON_EXISTENT_CAPTION = "<red>PlotSquared does not recognize the caption: "; | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + PlotPlayer.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     // Used to track debug mode |     // Used to track debug mode | ||||||
|     private static final Set<PlotPlayer<?>> debugModeEnabled = |     private static final Set<PlotPlayer<?>> debugModeEnabled = | ||||||
|   | |||||||
| @@ -73,7 +73,7 @@ import net.kyori.adventure.text.Component; | |||||||
| import net.kyori.adventure.text.TextComponent; | import net.kyori.adventure.text.TextComponent; | ||||||
| import net.kyori.adventure.text.minimessage.MiniMessage; | import net.kyori.adventure.text.minimessage.MiniMessage; | ||||||
| import net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -118,7 +118,7 @@ public class Plot { | |||||||
|     @Deprecated(forRemoval = true, since = "6.6.0") |     @Deprecated(forRemoval = true, since = "6.6.0") | ||||||
|     public static final int MAX_HEIGHT = 256; |     public static final int MAX_HEIGHT = 256; | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + Plot.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static final DecimalFormat FLAG_DECIMAL_FORMAT = new DecimalFormat("0"); |     private static final DecimalFormat FLAG_DECIMAL_FORMAT = new DecimalFormat("0"); | ||||||
|     private static final MiniMessage MINI_MESSAGE = MiniMessage.builder().build(); |     private static final MiniMessage MINI_MESSAGE = MiniMessage.builder().build(); | ||||||
|     private static final Cleaner CLEANER = Cleaner.create(); |     private static final Cleaner CLEANER = Cleaner.create(); | ||||||
|   | |||||||
| @@ -36,7 +36,6 @@ import com.plotsquared.core.location.BlockLoc; | |||||||
| import com.plotsquared.core.location.Direction; | import com.plotsquared.core.location.Direction; | ||||||
| import com.plotsquared.core.location.Location; | import com.plotsquared.core.location.Location; | ||||||
| import com.plotsquared.core.location.PlotLoc; | import com.plotsquared.core.location.PlotLoc; | ||||||
| import com.plotsquared.core.permissions.Permission; |  | ||||||
| import com.plotsquared.core.player.ConsolePlayer; | import com.plotsquared.core.player.ConsolePlayer; | ||||||
| import com.plotsquared.core.player.MetaDataAccess; | import com.plotsquared.core.player.MetaDataAccess; | ||||||
| import com.plotsquared.core.player.PlayerMetaDataKeys; | import com.plotsquared.core.player.PlayerMetaDataKeys; | ||||||
| @@ -49,7 +48,6 @@ import com.plotsquared.core.plot.flag.implementations.DoneFlag; | |||||||
| import com.plotsquared.core.queue.GlobalBlockQueue; | import com.plotsquared.core.queue.GlobalBlockQueue; | ||||||
| import com.plotsquared.core.queue.QueueCoordinator; | import com.plotsquared.core.queue.QueueCoordinator; | ||||||
| import com.plotsquared.core.util.MathMan; | import com.plotsquared.core.util.MathMan; | ||||||
| import com.plotsquared.core.util.Permissions; |  | ||||||
| import com.plotsquared.core.util.PlotExpression; | import com.plotsquared.core.util.PlotExpression; | ||||||
| import com.plotsquared.core.util.RegionUtil; | import com.plotsquared.core.util.RegionUtil; | ||||||
| import com.plotsquared.core.util.StringMan; | import com.plotsquared.core.util.StringMan; | ||||||
| @@ -62,7 +60,7 @@ import com.sk89q.worldedit.world.gamemode.GameMode; | |||||||
| import com.sk89q.worldedit.world.gamemode.GameModes; | import com.sk89q.worldedit.world.gamemode.GameModes; | ||||||
| import net.kyori.adventure.text.minimessage.MiniMessage; | import net.kyori.adventure.text.minimessage.MiniMessage; | ||||||
| import net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -87,7 +85,7 @@ import java.util.function.Consumer; | |||||||
|  */ |  */ | ||||||
| public abstract class PlotArea { | public abstract class PlotArea { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + PlotArea.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static final MiniMessage MINI_MESSAGE = MiniMessage.builder().build(); |     private static final MiniMessage MINI_MESSAGE = MiniMessage.builder().build(); | ||||||
|     private static final DecimalFormat FLAG_DECIMAL_FORMAT = new DecimalFormat("0"); |     private static final DecimalFormat FLAG_DECIMAL_FORMAT = new DecimalFormat("0"); | ||||||
|  |  | ||||||
| @@ -626,38 +624,6 @@ public abstract class PlotArea { | |||||||
|                 getRegionAbs() == null || this.region.contains(location.getBlockVector3())); |                 getRegionAbs() == null || this.region.contains(location.getBlockVector3())); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Get if the {@code PlotArea}'s build range (min build height -> max build height) contains the given y value |  | ||||||
|      * |  | ||||||
|      * @param y y height |  | ||||||
|      * @return if build height contains y |  | ||||||
|      */ |  | ||||||
|     public boolean buildRangeContainsY(int y) { |  | ||||||
|         return y >= minBuildHeight && y < maxBuildHeight; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Utility method to check if the player is attempting to place blocks outside the build area, and notify of this if the |  | ||||||
|      * player does not have permissions. |  | ||||||
|      * |  | ||||||
|      * @param player Player to check |  | ||||||
|      * @param y      y height to check |  | ||||||
|      * @return true if outside build area with no permissions |  | ||||||
|      * @since 6.9.1 |  | ||||||
|      */ |  | ||||||
|     public boolean notifyIfOutsideBuildArea(PlotPlayer<?> player, int y) { |  | ||||||
|         if (!buildRangeContainsY(y) && !Permissions.hasPermission(player, Permission.PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT)) { |  | ||||||
|             player.sendMessage( |  | ||||||
|                     TranslatableCaption.of("height.height_limit"), |  | ||||||
|                     Template.of("minHeight", String.valueOf(minBuildHeight)), |  | ||||||
|                     Template.of("maxHeight", String.valueOf(maxBuildHeight)) |  | ||||||
|             ); |  | ||||||
|             // Return true if "failed" as the method will always be inverted otherwise |  | ||||||
|             return true; |  | ||||||
|         } |  | ||||||
|         return false; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public @NonNull Set<Plot> getPlotsAbs(final UUID uuid) { |     public @NonNull Set<Plot> getPlotsAbs(final UUID uuid) { | ||||||
|         if (uuid == null) { |         if (uuid == null) { | ||||||
|             return Collections.emptySet(); |             return Collections.emptySet(); | ||||||
|   | |||||||
| @@ -47,7 +47,7 @@ import com.sk89q.worldedit.regions.CuboidRegion; | |||||||
| import com.sk89q.worldedit.world.biome.BiomeType; | import com.sk89q.worldedit.world.biome.BiomeType; | ||||||
| import com.sk89q.worldedit.world.block.BlockTypes; | import com.sk89q.worldedit.world.block.BlockTypes; | ||||||
| import net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -68,7 +68,7 @@ import java.util.stream.Collectors; | |||||||
|  */ |  */ | ||||||
| public final class PlotModificationManager { | public final class PlotModificationManager { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + PlotModificationManager.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final Plot plot; |     private final Plot plot; | ||||||
|     private final ProgressSubscriberFactory subscriberFactory; |     private final ProgressSubscriberFactory subscriberFactory; | ||||||
|   | |||||||
| @@ -27,7 +27,7 @@ import com.plotsquared.core.util.MathMan; | |||||||
| import com.plotsquared.core.util.query.PlotQuery; | import com.plotsquared.core.util.query.PlotQuery; | ||||||
| import com.plotsquared.core.util.task.RunnableVal; | import com.plotsquared.core.util.task.RunnableVal; | ||||||
| import com.plotsquared.core.util.task.TaskManager; | import com.plotsquared.core.util.task.TaskManager; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
|  |  | ||||||
| import java.lang.reflect.Array; | import java.lang.reflect.Array; | ||||||
| @@ -40,7 +40,7 @@ import java.util.concurrent.atomic.AtomicInteger; | |||||||
|  |  | ||||||
| public class PlotAnalysis { | public class PlotAnalysis { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + PlotAnalysis.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     public static boolean running = false; |     public static boolean running = false; | ||||||
|     public int changes; |     public int changes; | ||||||
|   | |||||||
| @@ -20,9 +20,9 @@ package com.plotsquared.core.plot.flag; | |||||||
|  |  | ||||||
| import com.google.common.base.Preconditions; | import com.google.common.base.Preconditions; | ||||||
| import com.google.common.collect.ImmutableMap; | import com.google.common.collect.ImmutableMap; | ||||||
| import com.intellectualsites.annotations.NotPublic; |  | ||||||
| import com.plotsquared.core.configuration.caption.CaptionUtility; | import com.plotsquared.core.configuration.caption.CaptionUtility; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.plotsquared.core.util.AnnotationHelper; | ||||||
|  | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -32,13 +32,14 @@ import java.util.HashMap; | |||||||
| import java.util.HashSet; | import java.util.HashSet; | ||||||
| import java.util.Locale; | import java.util.Locale; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
|  | import java.util.Objects; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Container type for {@link PlotFlag plot flags}. |  * Container type for {@link PlotFlag plot flags}. | ||||||
|  */ |  */ | ||||||
| public class FlagContainer { | public class FlagContainer { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + FlagContainer.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private final Map<String, String> unknownFlags = new HashMap<>(); |     private final Map<String, String> unknownFlags = new HashMap<>(); | ||||||
|     private final Map<Class<?>, PlotFlag<?, ?>> flagMap = new HashMap<>(); |     private final Map<Class<?>, PlotFlag<?, ?>> flagMap = new HashMap<>(); | ||||||
| @@ -352,7 +353,7 @@ public class FlagContainer { | |||||||
|      * @return a new Runnable that cleans up once the FlagContainer isn't needed anymore. |      * @return a new Runnable that cleans up once the FlagContainer isn't needed anymore. | ||||||
|      * @since 6.0.10 |      * @since 6.0.10 | ||||||
|      */ |      */ | ||||||
|     @NotPublic |     @AnnotationHelper.ApiDescription(info = "This method should not be considered as public or API.") | ||||||
|     public Runnable createCleanupHook() { |     public Runnable createCleanupHook() { | ||||||
|         return () -> GlobalFlagContainer.getInstance().unsubscribe(unknownsRef); |         return () -> GlobalFlagContainer.getInstance().unsubscribe(unknownsRef); | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ import com.plotsquared.core.configuration.Settings; | |||||||
| import com.sk89q.worldedit.world.block.BlockCategory; | import com.sk89q.worldedit.world.block.BlockCategory; | ||||||
| import com.sk89q.worldedit.world.block.BlockStateHolder; | import com.sk89q.worldedit.world.block.BlockStateHolder; | ||||||
| import com.sk89q.worldedit.world.block.BlockType; | import com.sk89q.worldedit.world.block.BlockType; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -38,7 +38,7 @@ import java.util.Map; | |||||||
|  */ |  */ | ||||||
| public class BlockTypeWrapper { | public class BlockTypeWrapper { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + BlockTypeWrapper.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private static final Map<BlockType, BlockTypeWrapper> blockTypes = new HashMap<>(); |     private static final Map<BlockType, BlockTypeWrapper> blockTypes = new HashMap<>(); | ||||||
|     private static final Map<String, BlockTypeWrapper> blockCategories = new HashMap<>(); |     private static final Map<String, BlockTypeWrapper> blockCategories = new HashMap<>(); | ||||||
|   | |||||||
| @@ -18,8 +18,8 @@ | |||||||
|  */ |  */ | ||||||
| package com.plotsquared.core.queue; | package com.plotsquared.core.queue; | ||||||
|  |  | ||||||
| import com.intellectualsites.annotations.DoNotUse; |  | ||||||
| import com.plotsquared.core.location.Location; | import com.plotsquared.core.location.Location; | ||||||
|  | import com.plotsquared.core.util.AnnotationHelper; | ||||||
| import com.sk89q.jnbt.CompoundTag; | import com.sk89q.jnbt.CompoundTag; | ||||||
| import com.sk89q.worldedit.function.pattern.Pattern; | import com.sk89q.worldedit.function.pattern.Pattern; | ||||||
| import com.sk89q.worldedit.math.BlockVector3; | import com.sk89q.worldedit.math.BlockVector3; | ||||||
| @@ -37,7 +37,7 @@ import org.checkerframework.checker.nullness.qual.Nullable; | |||||||
|  * in {@link BlockArrayCacheScopedQueueCoordinator#setOffsetX(int)} and |  * in {@link BlockArrayCacheScopedQueueCoordinator#setOffsetX(int)} and | ||||||
|  * {@link BlockArrayCacheScopedQueueCoordinator#setOffsetZ(int)} |  * {@link BlockArrayCacheScopedQueueCoordinator#setOffsetZ(int)} | ||||||
|  */ |  */ | ||||||
| @DoNotUse | @AnnotationHelper.ApiDescription(info = "Internal use only. Subject to change at any time and created for specific use cases.") | ||||||
| public class BlockArrayCacheScopedQueueCoordinator extends ScopedQueueCoordinator { | public class BlockArrayCacheScopedQueueCoordinator extends ScopedQueueCoordinator { | ||||||
|  |  | ||||||
|     private final BlockState[][][] blockStates; |     private final BlockState[][][] blockStates; | ||||||
|   | |||||||
| @@ -20,13 +20,13 @@ package com.plotsquared.core.queue; | |||||||
|  |  | ||||||
| import com.plotsquared.core.PlotSquared; | import com.plotsquared.core.PlotSquared; | ||||||
| import com.sk89q.worldedit.world.World; | import com.sk89q.worldedit.world.World; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
|  |  | ||||||
| public abstract class QueueProvider { | public abstract class QueueProvider { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + PlotSquared.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     public static QueueProvider of(final @NonNull Class<? extends QueueCoordinator> primary) { |     public static QueueProvider of(final @NonNull Class<? extends QueueCoordinator> primary) { | ||||||
|         return new QueueProvider() { |         return new QueueProvider() { | ||||||
|   | |||||||
| @@ -0,0 +1,55 @@ | |||||||
|  | /* | ||||||
|  |  * PlotSquared, a land and world management plugin for Minecraft. | ||||||
|  |  * Copyright (C) IntellectualSites <https://intellectualsites.com> | ||||||
|  |  * Copyright (C) IntellectualSites team and contributors | ||||||
|  |  * | ||||||
|  |  * This program is free software: you can redistribute it and/or modify | ||||||
|  |  * it under the terms of the GNU 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 General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU General Public License | ||||||
|  |  * along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||||
|  |  */ | ||||||
|  | package com.plotsquared.core.util; | ||||||
|  |  | ||||||
|  | import java.lang.annotation.Documented; | ||||||
|  | import java.lang.annotation.Retention; | ||||||
|  | import java.lang.annotation.RetentionPolicy; | ||||||
|  | import java.lang.annotation.Target; | ||||||
|  |  | ||||||
|  | import static java.lang.annotation.ElementType.METHOD; | ||||||
|  | import static java.lang.annotation.ElementType.MODULE; | ||||||
|  | import static java.lang.annotation.ElementType.PACKAGE; | ||||||
|  | import static java.lang.annotation.ElementType.RECORD_COMPONENT; | ||||||
|  | import static java.lang.annotation.ElementType.TYPE; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @since 6.2.2 | ||||||
|  |  */ | ||||||
|  | @AnnotationHelper.ApiDescription(info = "An internal class for custom annotations." + | ||||||
|  |         "This is in no form part of the API and is subject to change at any time.") | ||||||
|  | public final class AnnotationHelper { | ||||||
|  |  | ||||||
|  |     private AnnotationHelper() { | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Documented | ||||||
|  |     @Retention(RetentionPolicy.CLASS) | ||||||
|  |     @Target(value = {METHOD, PACKAGE, MODULE, RECORD_COMPONENT, TYPE}) | ||||||
|  |     public @interface ApiDescription { | ||||||
|  |         /** | ||||||
|  |          * Returns additional information how to use a class for the API | ||||||
|  |          * | ||||||
|  |          * @return the version string | ||||||
|  |          * @since 6.2.2 | ||||||
|  |          */ | ||||||
|  |         String info() default ""; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -19,7 +19,6 @@ | |||||||
| package com.plotsquared.core.util; | package com.plotsquared.core.util; | ||||||
|  |  | ||||||
| import com.google.common.eventbus.EventBus; | import com.google.common.eventbus.EventBus; | ||||||
| import com.intellectualsites.annotations.DoNotUse; |  | ||||||
| import com.plotsquared.core.configuration.Settings; | import com.plotsquared.core.configuration.Settings; | ||||||
| import com.plotsquared.core.configuration.caption.TranslatableCaption; | import com.plotsquared.core.configuration.caption.TranslatableCaption; | ||||||
| import com.plotsquared.core.events.PlayerAutoPlotEvent; | import com.plotsquared.core.events.PlayerAutoPlotEvent; | ||||||
| @@ -82,7 +81,8 @@ import java.util.ArrayList; | |||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.UUID; | import java.util.UUID; | ||||||
|  |  | ||||||
| @DoNotUse | @AnnotationHelper.ApiDescription(info = "This is an internal class used by PlotSquared to dispatch events." + | ||||||
|  |         "This is in no form part of the API and is subject to change at any time.") | ||||||
| public class EventDispatcher { | public class EventDispatcher { | ||||||
|  |  | ||||||
|     private final EventBus eventBus = new EventBus("PlotSquaredEvents"); |     private final EventBus eventBus = new EventBus("PlotSquaredEvents"); | ||||||
| @@ -332,15 +332,6 @@ public class EventDispatcher { | |||||||
|     ) { |     ) { | ||||||
|         PlotArea area = location.getPlotArea(); |         PlotArea area = location.getPlotArea(); | ||||||
|         assert area != null; |         assert area != null; | ||||||
|         if (!area.buildRangeContainsY(location.getY()) && !Permissions |  | ||||||
|                 .hasPermission(player, Permission.PERMISSION_ADMIN_BUILD_HEIGHT_LIMIT)) { |  | ||||||
|             player.sendMessage( |  | ||||||
|                     TranslatableCaption.of("height.height_limit"), |  | ||||||
|                     Template.of("minHeight", String.valueOf(area.getMinBuildHeight())), |  | ||||||
|                     Template.of("maxHeight", String.valueOf(area.getMaxBuildHeight())) |  | ||||||
|             ); |  | ||||||
|             return false; |  | ||||||
|         } |  | ||||||
|         Plot plot = area.getPlot(location); |         Plot plot = area.getPlot(location); | ||||||
|         if (plot != null) { |         if (plot != null) { | ||||||
|             if (plot.isAdded(player.getUUID())) { |             if (plot.isAdded(player.getUUID())) { | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ import com.plotsquared.core.player.ConsolePlayer; | |||||||
| import com.plotsquared.core.plot.BlockBucket; | import com.plotsquared.core.plot.BlockBucket; | ||||||
| import com.sk89q.worldedit.world.block.BlockState; | import com.sk89q.worldedit.world.block.BlockState; | ||||||
| import net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
|  |  | ||||||
| @@ -41,7 +41,7 @@ import java.util.Map; | |||||||
| public final class LegacyConverter { | public final class LegacyConverter { | ||||||
|  |  | ||||||
|     public static final String CONFIGURATION_VERSION = "post_flattening"; |     public static final String CONFIGURATION_VERSION = "post_flattening"; | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + LegacyConverter.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static final HashMap<String, ConfigurationType> TYPE_MAP = new HashMap<>(); |     private static final HashMap<String, ConfigurationType> TYPE_MAP = new HashMap<>(); | ||||||
|  |  | ||||||
|     static { |     static { | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ import com.plotsquared.core.configuration.Settings; | |||||||
| import com.plotsquared.core.plot.Plot; | import com.plotsquared.core.plot.Plot; | ||||||
| import com.sk89q.jnbt.CompoundTag; | import com.sk89q.jnbt.CompoundTag; | ||||||
| import com.sk89q.jnbt.NBTOutputStream; | import com.sk89q.jnbt.NBTOutputStream; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -45,7 +45,7 @@ import java.util.zip.GZIPOutputStream; | |||||||
|  */ |  */ | ||||||
| public class PlotUploader { | public class PlotUploader { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + PlotUploader.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static final Path TEMP_DIR = Paths.get(PlotSquared.platform().getDirectory().getPath()); |     private static final Path TEMP_DIR = Paths.get(PlotSquared.platform().getDirectory().getPath()); | ||||||
|     private final SchematicHandler schematicHandler; |     private final SchematicHandler schematicHandler; | ||||||
|     private final Arkitektonika arkitektonika; |     private final Arkitektonika arkitektonika; | ||||||
|   | |||||||
| @@ -40,7 +40,7 @@ import com.sk89q.worldedit.regions.CuboidRegion; | |||||||
| import com.sk89q.worldedit.regions.Region; | import com.sk89q.worldedit.regions.Region; | ||||||
| import com.sk89q.worldedit.world.World; | import com.sk89q.worldedit.world.World; | ||||||
| import com.sk89q.worldedit.world.biome.BiomeType; | import com.sk89q.worldedit.world.biome.BiomeType; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -51,7 +51,7 @@ import java.util.Set; | |||||||
|  |  | ||||||
| public abstract class RegionManager { | public abstract class RegionManager { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + RegionManager.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     public static RegionManager manager = null; |     public static RegionManager manager = null; | ||||||
|     protected final WorldUtil worldUtil; |     protected final WorldUtil worldUtil; | ||||||
|   | |||||||
| @@ -64,7 +64,7 @@ import com.sk89q.worldedit.world.World; | |||||||
| import com.sk89q.worldedit.world.biome.BiomeType; | import com.sk89q.worldedit.world.biome.BiomeType; | ||||||
| import com.sk89q.worldedit.world.block.BaseBlock; | import com.sk89q.worldedit.world.block.BaseBlock; | ||||||
| import com.sk89q.worldedit.world.block.BlockTypes; | import com.sk89q.worldedit.world.block.BlockTypes; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -107,7 +107,7 @@ import java.util.zip.GZIPOutputStream; | |||||||
|  |  | ||||||
| public abstract class SchematicHandler { | public abstract class SchematicHandler { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + SchematicHandler.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static final Gson GSON = new Gson(); |     private static final Gson GSON = new Gson(); | ||||||
|     public static SchematicHandler manager; |     public static SchematicHandler manager; | ||||||
|     private final WorldUtil worldUtil; |     private final WorldUtil worldUtil; | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ import com.plotsquared.core.player.ConsolePlayer; | |||||||
| import com.plotsquared.core.util.ThreadUtils; | import com.plotsquared.core.util.ThreadUtils; | ||||||
| import com.plotsquared.core.util.task.TaskManager; | import com.plotsquared.core.util.task.TaskManager; | ||||||
| import net.kyori.adventure.text.minimessage.MiniMessage; | import net.kyori.adventure.text.minimessage.MiniMessage; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.checkerframework.checker.nullness.qual.NonNull; | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
| @@ -59,7 +59,7 @@ import java.util.function.Function; | |||||||
|  */ |  */ | ||||||
| public class UUIDPipeline { | public class UUIDPipeline { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + UUIDPipeline.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|     private static final MiniMessage MINI_MESSAGE = MiniMessage.builder().build(); |     private static final MiniMessage MINI_MESSAGE = MiniMessage.builder().build(); | ||||||
|  |  | ||||||
|     private final Executor executor; |     private final Executor executor; | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ import com.plotsquared.core.plot.flag.PlotFlag; | |||||||
| import com.plotsquared.core.plot.flag.implementations.PlotTitleFlag; | import com.plotsquared.core.plot.flag.implementations.PlotTitleFlag; | ||||||
| import com.plotsquared.core.plot.flag.implementations.UseFlag; | import com.plotsquared.core.plot.flag.implementations.UseFlag; | ||||||
| import com.sk89q.worldedit.world.item.ItemType; | import com.sk89q.worldedit.world.item.ItemType; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.junit.jupiter.api.Assertions; | import org.junit.jupiter.api.Assertions; | ||||||
| import org.junit.jupiter.api.BeforeEach; | import org.junit.jupiter.api.BeforeEach; | ||||||
| @@ -34,7 +34,7 @@ import org.junit.jupiter.api.Test; | |||||||
|  |  | ||||||
| public class FlagTest { | public class FlagTest { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + FlagTest.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     private ItemType testBlock; |     private ItemType testBlock; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -19,13 +19,13 @@ | |||||||
| package com.plotsquared.core.plot; | package com.plotsquared.core.plot; | ||||||
|  |  | ||||||
| import com.plotsquared.core.PlotVersion; | import com.plotsquared.core.PlotVersion; | ||||||
| import org.apache.logging.log4j.LogManager; | import com.sk89q.worldedit.internal.util.LogManagerCompat; | ||||||
| import org.apache.logging.log4j.Logger; | import org.apache.logging.log4j.Logger; | ||||||
| import org.junit.jupiter.api.Test; | import org.junit.jupiter.api.Test; | ||||||
|  |  | ||||||
| public class PlotVersionTest { | public class PlotVersionTest { | ||||||
|  |  | ||||||
|     private static final Logger LOGGER = LogManager.getLogger("PlotSquared/" + PlotVersionTest.class.getSimpleName()); |     private static final Logger LOGGER = LogManagerCompat.getLogger(); | ||||||
|  |  | ||||||
|     @Test |     @Test | ||||||
|     public void tryParse() { |     public void tryParse() { | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ plugins { | |||||||
| } | } | ||||||
|  |  | ||||||
| group = "com.plotsquared" | group = "com.plotsquared" | ||||||
| version = "6.9.3-SNAPSHOT" | version = "6.9.1-SNAPSHOT" | ||||||
|  |  | ||||||
| subprojects { | subprojects { | ||||||
|     group = rootProject.group |     group = rootProject.group | ||||||
| @@ -65,7 +65,7 @@ subprojects { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     dependencies { |     dependencies { | ||||||
|         implementation(platform("com.intellectualsites.bom:bom-1.18.x:1.11")) |         implementation(platform("com.intellectualsites.bom:bom-1.18.x:1.5")) | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     dependencies { |     dependencies { | ||||||
|   | |||||||
| @@ -2,11 +2,11 @@ | |||||||
| # Platform expectations | # Platform expectations | ||||||
| paper = "1.18.1-R0.1-SNAPSHOT" | paper = "1.18.1-R0.1-SNAPSHOT" | ||||||
| guice = "5.1.0" | guice = "5.1.0" | ||||||
| spotbugs = "4.7.1" | spotbugs = "4.7.0" | ||||||
|  |  | ||||||
| # Plugins | # Plugins | ||||||
| worldedit = "7.2.10" | worldedit = "7.2.10" | ||||||
| placeholderapi = "2.11.2" | placeholderapi = "2.11.1" | ||||||
| luckperms = "5.4" | luckperms = "5.4" | ||||||
| essentialsx = "2.19.4" | essentialsx = "2.19.4" | ||||||
| mvdwapi = "3.1.1" | mvdwapi = "3.1.1" | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| distributionBase=GRADLE_USER_HOME | distributionBase=GRADLE_USER_HOME | ||||||
| distributionPath=wrapper/dists | distributionPath=wrapper/dists | ||||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip | ||||||
| zipStoreBase=GRADLE_USER_HOME | zipStoreBase=GRADLE_USER_HOME | ||||||
| zipStorePath=wrapper/dists | zipStorePath=wrapper/dists | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								gradlew
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								gradlew
									
									
									
									
										vendored
									
									
								
							| @@ -205,12 +205,6 @@ set -- \ | |||||||
|         org.gradle.wrapper.GradleWrapperMain \ |         org.gradle.wrapper.GradleWrapperMain \ | ||||||
|         "$@" |         "$@" | ||||||
|  |  | ||||||
| # Stop when "xargs" is not available. |  | ||||||
| if ! command -v xargs >/dev/null 2>&1 |  | ||||||
| then |  | ||||||
|     die "xargs is not available" |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| # Use "xargs" to parse quoted args. | # Use "xargs" to parse quoted args. | ||||||
| # | # | ||||||
| # With -n1 it outputs one arg per line, with the quotes and backslashes removed. | # With -n1 it outputs one arg per line, with the quotes and backslashes removed. | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								gradlew.bat
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								gradlew.bat
									
									
									
									
										vendored
									
									
								
							| @@ -14,7 +14,7 @@ | |||||||
| @rem limitations under the License. | @rem limitations under the License. | ||||||
| @rem | @rem | ||||||
|  |  | ||||||
| @if "%DEBUG%"=="" @echo off | @if "%DEBUG%" == "" @echo off | ||||||
| @rem ########################################################################## | @rem ########################################################################## | ||||||
| @rem | @rem | ||||||
| @rem  Gradle startup script for Windows | @rem  Gradle startup script for Windows | ||||||
| @@ -25,7 +25,7 @@ | |||||||
| if "%OS%"=="Windows_NT" setlocal | if "%OS%"=="Windows_NT" setlocal | ||||||
|  |  | ||||||
| set DIRNAME=%~dp0 | set DIRNAME=%~dp0 | ||||||
| if "%DIRNAME%"=="" set DIRNAME=. | if "%DIRNAME%" == "" set DIRNAME=. | ||||||
| set APP_BASE_NAME=%~n0 | set APP_BASE_NAME=%~n0 | ||||||
| set APP_HOME=%DIRNAME% | set APP_HOME=%DIRNAME% | ||||||
|  |  | ||||||
| @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome | |||||||
|  |  | ||||||
| set JAVA_EXE=java.exe | set JAVA_EXE=java.exe | ||||||
| %JAVA_EXE% -version >NUL 2>&1 | %JAVA_EXE% -version >NUL 2>&1 | ||||||
| if %ERRORLEVEL% equ 0 goto execute | if "%ERRORLEVEL%" == "0" goto execute | ||||||
|  |  | ||||||
| echo. | echo. | ||||||
| echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||||
| @@ -75,15 +75,13 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | |||||||
|  |  | ||||||
| :end | :end | ||||||
| @rem End local scope for the variables with windows NT shell | @rem End local scope for the variables with windows NT shell | ||||||
| if %ERRORLEVEL% equ 0 goto mainEnd | if "%ERRORLEVEL%"=="0" goto mainEnd | ||||||
|  |  | ||||||
| :fail | :fail | ||||||
| rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | ||||||
| rem the _cmd.exe /c_ return code! | rem the _cmd.exe /c_ return code! | ||||||
| set EXIT_CODE=%ERRORLEVEL% | if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 | ||||||
| if %EXIT_CODE% equ 0 set EXIT_CODE=1 | exit /b 1 | ||||||
| if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% |  | ||||||
| exit /b %EXIT_CODE% |  | ||||||
|  |  | ||||||
| :mainEnd | :mainEnd | ||||||
| if "%OS%"=="Windows_NT" endlocal | if "%OS%"=="Windows_NT" endlocal | ||||||
|   | |||||||
| @@ -3,6 +3,10 @@ | |||||||
|     "config:base", |     "config:base", | ||||||
|     ":disableDependencyDashboard" |     ":disableDependencyDashboard" | ||||||
|   ], |   ], | ||||||
|  |   "timezone": "Europe/Berlin", | ||||||
|  |   "schedule": [ | ||||||
|  |     "every monday" | ||||||
|  |   ], | ||||||
|   "labels": ["Renovate"], |   "labels": ["Renovate"], | ||||||
|   "commitMessagePrefix": "build: ", |   "commitMessagePrefix": "build: ", | ||||||
|   "rebaseWhen": "conflicted" |   "rebaseWhen": "conflicted" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user