From 036d704f7f62b2737c3e30441c9f673cf1672cd5 Mon Sep 17 00:00:00 2001 From: SamB440 Date: Tue, 15 Jun 2021 15:30:20 +0100 Subject: [PATCH] Add debug messages, readd 1.16 support --- .../rpgregions/api/IRPGRegionsAPI.java | 2 ++ .../rpgregions/utils/TitleAnimator.java | 3 ++ .../worldguard/WorldGuardIntegration.java | 5 ++++ .../islandearth/rpgregions/RPGRegions.java | 1 + .../rpgregions/listener/RegionListener.java | 28 +++++++++++++------ rpgregions/src/main/resources/plugin.yml | 6 ++-- 6 files changed, 34 insertions(+), 11 deletions(-) diff --git a/api/src/main/java/net/islandearth/rpgregions/api/IRPGRegionsAPI.java b/api/src/main/java/net/islandearth/rpgregions/api/IRPGRegionsAPI.java index 190490d..c8e39af 100644 --- a/api/src/main/java/net/islandearth/rpgregions/api/IRPGRegionsAPI.java +++ b/api/src/main/java/net/islandearth/rpgregions/api/IRPGRegionsAPI.java @@ -25,6 +25,8 @@ public interface IRPGRegionsAPI { IRPGRegionsManagers getManagers(); boolean debug(); + + void debug(String debug); boolean hasHeadDatabase(); } diff --git a/api/src/main/java/net/islandearth/rpgregions/utils/TitleAnimator.java b/api/src/main/java/net/islandearth/rpgregions/utils/TitleAnimator.java index 0301d75..ba57076 100644 --- a/api/src/main/java/net/islandearth/rpgregions/utils/TitleAnimator.java +++ b/api/src/main/java/net/islandearth/rpgregions/utils/TitleAnimator.java @@ -16,12 +16,15 @@ public class TitleAnimator { public void run() { String title = current < titles.size() ? titles.get(current) : ""; String subtitle = current < subtitles.size() ? subtitles.get(current) : ""; + plugin.debug("Title is: " + title + " Subtitle is: " + subtitle); if (current >= titles.size() && current >= subtitles.size()) { + plugin.debug("Cancelling! No more titles left to send."); this.cancel(); return; } + plugin.debug("Successful title send!"); player.sendTitle(title, subtitle, plugin.getConfig().getInt("settings.server.discoveries.discovered.title.fadein"), diff --git a/modern/src/main/java/net/islandearth/rpgregions/api/integrations/worldguard/WorldGuardIntegration.java b/modern/src/main/java/net/islandearth/rpgregions/api/integrations/worldguard/WorldGuardIntegration.java index 4824e7c..b76c41f 100644 --- a/modern/src/main/java/net/islandearth/rpgregions/api/integrations/worldguard/WorldGuardIntegration.java +++ b/modern/src/main/java/net/islandearth/rpgregions/api/integrations/worldguard/WorldGuardIntegration.java @@ -38,6 +38,7 @@ public class WorldGuardIntegration implements IntegrationManager { @Override public void handleMove(PlayerMoveEvent pme) { if (pme.getTo() == null) return; + plugin.debug("Handling movement"); Player player = pme.getPlayer(); int oldX = pme.getFrom().getBlockX(); int oldY = pme.getFrom().getBlockY(); @@ -50,6 +51,9 @@ public class WorldGuardIntegration implements IntegrationManager { Optional configuredRegion = getPrioritisedRegion(pme.getTo()); configuredRegion.ifPresent(prioritisedRegion -> { + plugin.debug("Priority region found"); + plugin.debug("Old: " + oldRegions); + plugin.debug("New: " + regions); List stringRegions = new ArrayList<>(); regions.forEach(region -> { if (!prioritisedRegion.getId().equals(region.getId()) @@ -57,6 +61,7 @@ public class WorldGuardIntegration implements IntegrationManager { }); if (checkRequirements(pme, prioritisedRegion.getId())) { + plugin.debug("Requirements passed, calling"); stringRegions.add(0, prioritisedRegion.getId()); Bukkit.getPluginManager().callEvent(new RegionsEnterEvent(player, stringRegions, !oldRegions.equals(regions))); } diff --git a/rpgregions/src/main/java/net/islandearth/rpgregions/RPGRegions.java b/rpgregions/src/main/java/net/islandearth/rpgregions/RPGRegions.java index a430ac2..ce81d66 100644 --- a/rpgregions/src/main/java/net/islandearth/rpgregions/RPGRegions.java +++ b/rpgregions/src/main/java/net/islandearth/rpgregions/RPGRegions.java @@ -406,6 +406,7 @@ public final class RPGRegions extends JavaPlugin implements IRPGRegionsAPI, Lang return this.getConfig().getBoolean("settings.dev.debug"); } + @Override public void debug(String debug) { this.debug(debug, Level.INFO); } diff --git a/rpgregions/src/main/java/net/islandearth/rpgregions/listener/RegionListener.java b/rpgregions/src/main/java/net/islandearth/rpgregions/listener/RegionListener.java index b36411b..975ba04 100644 --- a/rpgregions/src/main/java/net/islandearth/rpgregions/listener/RegionListener.java +++ b/rpgregions/src/main/java/net/islandearth/rpgregions/listener/RegionListener.java @@ -45,6 +45,7 @@ public class RegionListener implements Listener { Player player = event.getPlayer(); plugin.getManagers().getStorageManager().getAccount(player.getUniqueId()).thenAccept(account -> { for (String region : event.getRegions()) { + plugin.debug("Checking region: " + region); plugin.getManagers().getRegionsCache().getConfiguredRegion(region).ifPresent(configuredRegion -> { boolean has = false; boolean prioritised = event.getPriority().equals(region); @@ -54,7 +55,9 @@ public class RegionListener implements Listener { break; } } - + plugin.debug("Has the player discovered this region? " + has); + plugin.debug("Is this the prioritised region? " + prioritised); + Bukkit.getScheduler().runTask(plugin, () -> this.checkEffects(configuredRegion, player)); if (configuredRegion.alwaysShowTitles() && event.hasChanged() && has && prioritised) { @@ -66,6 +69,7 @@ public class RegionListener implements Listener { } if (!has && configuredRegion.isDiscoverable() && prioritised) { + plugin.debug("Discovering region."); LocalDateTime date = LocalDateTime.now(); String formattedDate = date.format(format); account.addDiscovery(new WorldDiscovery(formattedDate, region)); @@ -110,16 +114,21 @@ public class RegionListener implements Listener { } private void sendTitles(Player player, ConfiguredRegion configuredRegion, boolean discovered) { - if (titleCooldown.contains(player.getUniqueId())) return; - else { - titleCooldown.add(player.getUniqueId()); - Bukkit.getScheduler().runTaskLater(plugin, () -> { - titleCooldown.remove(player.getUniqueId()); - }, plugin.getConfig().getInt("settings.server.discoveries.discovered.title.cooldown")); + if (titleCooldown.contains(player.getUniqueId())) { + plugin.debug("Player is on title cooldown"); + return; } + + plugin.debug("Added to title cooldown"); + titleCooldown.add(player.getUniqueId()); + Bukkit.getScheduler().runTaskLater(plugin, () -> { + plugin.debug("Removed from title cooldown"); + titleCooldown.remove(player.getUniqueId()); + }, plugin.getConfig().getInt("settings.server.discoveries.discovered.title.cooldown")); if (!discovered) { List discoveredTitle = configuredRegion.getDiscoveredTitle(player); List discoveredSubtitle = configuredRegion.getDiscoveredSubtitle(player); + plugin.debug("Region is not discovered, sending discovery titles! " + discoveredTitle + ":" + discoveredSubtitle); new TitleAnimator(player, plugin, discoveredTitle, @@ -130,6 +139,7 @@ public class RegionListener implements Listener { List title = configuredRegion.getTitle(player); List subtitle = configuredRegion.getSubtitle(player); + plugin.debug("Region is discovered, sending discovery titles! " + title + ":" + subtitle); new TitleAnimator(player, plugin, title, @@ -139,6 +149,7 @@ public class RegionListener implements Listener { private void checkEffects(ConfiguredRegion configuredRegion, Player player) { if (configuredRegion.getEffects() != null) { + plugin.debug("Checking effects"); configuredRegion.getEffects().forEach(regionEffect -> { boolean canEffect = true; if (regionEffect.isWearingRequired()) { @@ -148,7 +159,7 @@ public class RegionListener implements Listener { break; } } - + plugin.debug("Wearing required, canEffect? " + canEffect); if (canEffect) regionEffect.effect(player); return; } @@ -160,6 +171,7 @@ public class RegionListener implements Listener { } } + plugin.debug("Wearing not required, canEffect? " + canEffect); if (canEffect) regionEffect.effect(player); }); } diff --git a/rpgregions/src/main/resources/plugin.yml b/rpgregions/src/main/resources/plugin.yml index de6face..4682ae0 100644 --- a/rpgregions/src/main/resources/plugin.yml +++ b/rpgregions/src/main/resources/plugin.yml @@ -1,9 +1,9 @@ name: RPGRegions version: @version@ main: net.islandearth.rpgregions.RPGRegions -api-version: '1.17' -libraries: - - "com.zaxxer:HikariCP:4.0.3" # database +api-version: '1.16' +#libraries: +# - "com.zaxxer:HikariCP:4.0.3" # database softdepend: [Hyperverse, Multiverse, Languagy, UltraRegions, WorldGuard, PlaceholderAPI, HeadDatabase, Residence, Plan, GriefPrevention, Vault, MythicMobs, AlonsoLevels, Dynmap] authors: [SamB440] description: Discoverable regions