From ee5b37cce1c9d15967f6b313df7b7860f55c512e Mon Sep 17 00:00:00 2001 From: jacob1 Date: Wed, 24 May 2017 01:51:05 +0000 Subject: [PATCH 1/8] update maven repository locations --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 8400015..97f49f0 100644 --- a/pom.xml +++ b/pom.xml @@ -14,11 +14,11 @@ bukkit-repo - http://repo.bukkit.org/content/groups/public + http://hub.spigotmc.org/nexus/content/repositories/snapshots vault-repo - http://ci.herocraftonline.com/plugin/repository/everything + http://nexus.hc.to/content/repositories/pub_releases @@ -26,7 +26,7 @@ org.bukkit bukkit - 1.7.10-R0.1-SNAPSHOT + 1.12-pre5-SNAPSHOT jar provided true @@ -34,7 +34,7 @@ net.milkbowl.vault Vault - 1.2.23-SNAPSHOT + 1.2.30 jar provided true From 4e75dda0c08a0d7fdf1b64c3d3e12c8f13cc1fa9 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Wed, 24 May 2017 01:51:27 +0000 Subject: [PATCH 2/8] Replace achievements with advancements --- config.yml | 4 ++-- .../com/ensifera/animosity/craftirc/CraftIRC.java | 10 +++++----- .../animosity/craftirc/CraftIRCListener.java | 12 ++++++------ 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/config.yml b/config.yml index c1f73a8..cdfbf62 100644 --- a/config.yml +++ b/config.yml @@ -105,7 +105,7 @@ settings: death: '%message%' players-list: 'Online (%playerCount%/%maxPlayers%): %message%' players-nobody: 'Nobody is minecrafting right now.' - achievement: '%sender% earned achievement %green%[%message%]' + advancement: '%sender% earned advancement %green%[%message%]' from-irc: chat: '[%srcChannel%] <%sender%> %message%' private: '%sender% whispers> %message%' @@ -291,7 +291,7 @@ default-attributes: say: true generic: true death: true - achievement: true + advancement: true mode: false notice: false diff --git a/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java b/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java index 8a4bcfd..6d4146a 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java +++ b/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java @@ -254,11 +254,11 @@ public void onEnable() { } else { this.hold.put(HoldType.DEATHS, false); } - if (this.cHold("achievements") > 0) { - this.hold.put(HoldType.ACHIEVEMENTS, true); - this.holdTimer.schedule(new RemoveHoldTask(this, HoldType.ACHIEVEMENTS), this.cHold("achievements")); + if (this.cHold("advancements") > 0) { + this.hold.put(HoldType.ADVANCEMENTS, true); + this.holdTimer.schedule(new RemoveHoldTask(this, HoldType.ADVANCEMENTS), this.cHold("advancements")); } else { - this.hold.put(HoldType.ACHIEVEMENTS, false); + this.hold.put(HoldType.ADVANCEMENTS, false); } if (CraftIRC.this.getServer().getPluginManager().isPluginEnabled("Vault")) { @@ -1298,7 +1298,7 @@ public enum HoldType { KICKS, BANS, DEATHS, - ACHIEVEMENTS + ADVANCEMENTS } class RemoveHoldTask extends TimerTask { diff --git a/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java b/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java index 512d99e..56276a5 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java +++ b/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java @@ -7,7 +7,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerAchievementAwardedEvent; +import org.bukkit.event.player.PlayerAdvancementDoneEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerKickEvent; @@ -173,19 +173,19 @@ public void onPlayerDeath(PlayerDeathEvent event) { } @EventHandler(priority = EventPriority.MONITOR) - public void onPlayerAchievement(PlayerAchievementAwardedEvent event) { - if (this.plugin.isHeld(CraftIRC.HoldType.ACHIEVEMENTS)) { + public void onPlayerAdvancement(PlayerAdvancementDoneEvent event) { + if (this.plugin.isHeld(CraftIRC.HoldType.ADVANCEMENTS)) { return; } - if (event.getAchievement() == null) { + if (event.getAdvancement() == null) { return; } - final RelayedMessage msg = this.plugin.newMsg(this.plugin.getEndPoint(this.plugin.cMinecraftTag()), null, "achievement"); + final RelayedMessage msg = this.plugin.newMsg(this.plugin.getEndPoint(this.plugin.cMinecraftTag()), null, "advancement"); if (msg == null) { return; } msg.setField("sender", event.getPlayer().getDisplayName()); - msg.setField("message", event.getAchievement().name()); + msg.setField("message", event.getAdvancement().getKey().getKey()); msg.setField("world", event.getPlayer().getWorld().getName()); msg.setField("realSender", event.getPlayer().getName()); msg.setField("prefix", this.plugin.getPrefix(event.getPlayer())); From 323078c4358198135ce19992adcc128d5b4bcf22 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Thu, 25 May 2017 03:32:55 +0000 Subject: [PATCH 3/8] Still support achievements when using versions below 1.12 --- config.yml | 4 +-- pom.xml | 4 +-- .../craftirc/AdvancementsListener.java | 36 +++++++++++++++++++ .../ensifera/animosity/craftirc/CraftIRC.java | 17 +++++++++ .../animosity/craftirc/CraftIRCListener.java | 10 +++--- 5 files changed, 62 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java diff --git a/config.yml b/config.yml index cdfbf62..c1f73a8 100644 --- a/config.yml +++ b/config.yml @@ -105,7 +105,7 @@ settings: death: '%message%' players-list: 'Online (%playerCount%/%maxPlayers%): %message%' players-nobody: 'Nobody is minecrafting right now.' - advancement: '%sender% earned advancement %green%[%message%]' + achievement: '%sender% earned achievement %green%[%message%]' from-irc: chat: '[%srcChannel%] <%sender%> %message%' private: '%sender% whispers> %message%' @@ -291,7 +291,7 @@ default-attributes: say: true generic: true death: true - advancement: true + achievement: true mode: false notice: false diff --git a/pom.xml b/pom.xml index 97f49f0..f476784 100644 --- a/pom.xml +++ b/pom.xml @@ -14,11 +14,11 @@ bukkit-repo - http://hub.spigotmc.org/nexus/content/repositories/snapshots + http://hub.spigotmc.org/nexus/content/repositories/snapshots vault-repo - http://nexus.hc.to/content/repositories/pub_releases + http://nexus.hc.to/content/repositories/pub_releases diff --git a/src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java b/src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java new file mode 100644 index 0000000..659d23d --- /dev/null +++ b/src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java @@ -0,0 +1,36 @@ +package com.ensifera.animosity.craftirc; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerAdvancementDoneEvent; + +final class AdvancementsListener implements Listener { + private final CraftIRC plugin; + + AdvancementsListener(CraftIRC plugin) { + this.plugin = plugin; + } + + @EventHandler(priority = EventPriority.MONITOR) + public void onPlayerAdvancement(PlayerAdvancementDoneEvent event) { + if (this.plugin.isHeld(CraftIRC.HoldType.ADVANCEMENTS)) { + return; + } + if (event.getAdvancement() == null) { + return; + } + final RelayedMessage msg = this.plugin.newMsg(this.plugin.getEndPoint(this.plugin.cMinecraftTag()), null, "achievement"); + if (msg == null) { + return; + } + msg.setField("sender", event.getPlayer().getDisplayName()); + msg.setField("message", event.getAdvancement().getKey().getKey()); + msg.setField("world", event.getPlayer().getWorld().getName()); + msg.setField("realSender", event.getPlayer().getName()); + msg.setField("prefix", this.plugin.getPrefix(event.getPlayer())); + msg.setField("suffix", this.plugin.getSuffix(event.getPlayer())); + msg.doNotColor("message"); + msg.post(); + } +} diff --git a/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java b/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java index 6d4146a..fe6a68b 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java +++ b/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java @@ -4,6 +4,7 @@ import com.ensifera.animosity.craftirc.libs.com.sk89q.util.config.ConfigurationNode; import com.ensifera.animosity.craftirc.libs.org.jibble.pircbot.Colors; import net.milkbowl.vault.chat.Chat; +import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -78,6 +79,19 @@ private void logDerp(String message) { } } + private static final Pattern versionPattern = Pattern.compile("(\\d).(\\d+).*"); + private boolean versionGreaterorEqualThan(int major, int minor) { + String bukkitVersion = Bukkit.getBukkitVersion(); + Matcher versionMatcher = versionPattern.matcher(bukkitVersion); + if (versionMatcher.find()) { + int majorV = Integer.parseInt(versionMatcher.group(1)); + int minorV = Integer.parseInt(versionMatcher.group(2)); + if (majorV > major || (majorV == major && minorV >= minor)) + return true; + } + return false; + } + /*************************** * Bukkit stuff ***************************/ @@ -148,6 +162,9 @@ public void onEnable() { // Event listeners this.getServer().getPluginManager().registerEvents(new CraftIRCListener(this), this); + // Check for advancements api + if (this.versionGreaterorEqualThan(1, 12)) + this.getServer().getPluginManager().registerEvents(new AdvancementsListener(this), this); this.getServer().getPluginManager().registerEvents(new ConsoleListener(this), this); // Native endpoints! diff --git a/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java b/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java index 56276a5..f1ee720 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java +++ b/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java @@ -7,7 +7,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerAdvancementDoneEvent; +import org.bukkit.event.player.PlayerAchievementAwardedEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerKickEvent; @@ -173,19 +173,19 @@ public void onPlayerDeath(PlayerDeathEvent event) { } @EventHandler(priority = EventPriority.MONITOR) - public void onPlayerAdvancement(PlayerAdvancementDoneEvent event) { + public void onPlayerAchievement(PlayerAchievementAwardedEvent event) { if (this.plugin.isHeld(CraftIRC.HoldType.ADVANCEMENTS)) { return; } - if (event.getAdvancement() == null) { + if (event.getAchievement() == null) { return; } - final RelayedMessage msg = this.plugin.newMsg(this.plugin.getEndPoint(this.plugin.cMinecraftTag()), null, "advancement"); + final RelayedMessage msg = this.plugin.newMsg(this.plugin.getEndPoint(this.plugin.cMinecraftTag()), null, "achievement"); if (msg == null) { return; } msg.setField("sender", event.getPlayer().getDisplayName()); - msg.setField("message", event.getAdvancement().getKey().getKey()); + msg.setField("message", event.getAchievement().name()); msg.setField("world", event.getPlayer().getWorld().getName()); msg.setField("realSender", event.getPlayer().getName()); msg.setField("prefix", this.plugin.getPrefix(event.getPlayer())); From 07c901f551b23611dfcc860b85c0c779d756e06d Mon Sep 17 00:00:00 2001 From: jacob1 Date: Fri, 26 May 2017 02:56:01 +0000 Subject: [PATCH 4/8] fix relaying all found recipes as advancements --- .../com/ensifera/animosity/craftirc/AdvancementsListener.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java b/src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java index 659d23d..cda953c 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java +++ b/src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java @@ -24,6 +24,9 @@ public void onPlayerAdvancement(PlayerAdvancementDoneEvent event) { if (msg == null) { return; } + if (event.getAdvancement().getKey().getKey().startsWith("recipes/")) { + return; + } msg.setField("sender", event.getPlayer().getDisplayName()); msg.setField("message", event.getAdvancement().getKey().getKey()); msg.setField("world", event.getPlayer().getWorld().getName()); From b05ba52cbfe4e137a4448a3304efe097f45b054a Mon Sep 17 00:00:00 2001 From: jacob1 Date: Mon, 12 Jun 2017 15:10:29 +0000 Subject: [PATCH 5/8] Don't register achievement event on 1.12, fixes deprecation warning --- pom.xml | 2 +- .../craftirc/AchievementsLstener.java | 36 +++++++++++++++++++ .../ensifera/animosity/craftirc/CraftIRC.java | 2 ++ .../animosity/craftirc/CraftIRCListener.java | 23 ------------ 4 files changed, 39 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/ensifera/animosity/craftirc/AchievementsLstener.java diff --git a/pom.xml b/pom.xml index f476784..5479174 100644 --- a/pom.xml +++ b/pom.xml @@ -26,7 +26,7 @@ org.bukkit bukkit - 1.12-pre5-SNAPSHOT + 1.12-R0.1-SNAPSHOT jar provided true diff --git a/src/main/java/com/ensifera/animosity/craftirc/AchievementsLstener.java b/src/main/java/com/ensifera/animosity/craftirc/AchievementsLstener.java new file mode 100644 index 0000000..b7af702 --- /dev/null +++ b/src/main/java/com/ensifera/animosity/craftirc/AchievementsLstener.java @@ -0,0 +1,36 @@ +package com.ensifera.animosity.craftirc; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerAchievementAwardedEvent; + +final class AchievementsListener implements Listener { + private final CraftIRC plugin; + + AchievementsListener(CraftIRC plugin) { + this.plugin = plugin; + } + + @EventHandler(priority = EventPriority.MONITOR) + public void onPlayerAchievement(PlayerAchievementAwardedEvent event) { + if (this.plugin.isHeld(CraftIRC.HoldType.ADVANCEMENTS)) { + return; + } + if (event.getAchievement() == null) { + return; + } + final RelayedMessage msg = this.plugin.newMsg(this.plugin.getEndPoint(this.plugin.cMinecraftTag()), null, "achievement"); + if (msg == null) { + return; + } + msg.setField("sender", event.getPlayer().getDisplayName()); + msg.setField("message", event.getAchievement().name()); + msg.setField("world", event.getPlayer().getWorld().getName()); + msg.setField("realSender", event.getPlayer().getName()); + msg.setField("prefix", this.plugin.getPrefix(event.getPlayer())); + msg.setField("suffix", this.plugin.getSuffix(event.getPlayer())); + msg.doNotColor("message"); + msg.post(); + } +} diff --git a/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java b/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java index fe6a68b..8351449 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java +++ b/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java @@ -165,6 +165,8 @@ public void onEnable() { // Check for advancements api if (this.versionGreaterorEqualThan(1, 12)) this.getServer().getPluginManager().registerEvents(new AdvancementsListener(this), this); + else + this.getServer().getPluginManager().registerEvents(new AchievementsListener(this), this); this.getServer().getPluginManager().registerEvents(new ConsoleListener(this), this); // Native endpoints! diff --git a/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java b/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java index f1ee720..43de947 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java +++ b/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java @@ -7,7 +7,6 @@ import org.bukkit.event.Listener; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerAchievementAwardedEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerKickEvent; @@ -171,26 +170,4 @@ public void onPlayerDeath(PlayerDeathEvent event) { msg.setField("suffix", this.plugin.getSuffix(event.getEntity())); msg.post(); } - - @EventHandler(priority = EventPriority.MONITOR) - public void onPlayerAchievement(PlayerAchievementAwardedEvent event) { - if (this.plugin.isHeld(CraftIRC.HoldType.ADVANCEMENTS)) { - return; - } - if (event.getAchievement() == null) { - return; - } - final RelayedMessage msg = this.plugin.newMsg(this.plugin.getEndPoint(this.plugin.cMinecraftTag()), null, "achievement"); - if (msg == null) { - return; - } - msg.setField("sender", event.getPlayer().getDisplayName()); - msg.setField("message", event.getAchievement().name()); - msg.setField("world", event.getPlayer().getWorld().getName()); - msg.setField("realSender", event.getPlayer().getName()); - msg.setField("prefix", this.plugin.getPrefix(event.getPlayer())); - msg.setField("suffix", this.plugin.getSuffix(event.getPlayer())); - msg.doNotColor("message"); - msg.post(); - } } From ebbdc0dedd47fdf8d2c539615113319a2b9545ea Mon Sep 17 00:00:00 2001 From: jacob1 Date: Sat, 14 Dec 2019 18:26:29 -0500 Subject: [PATCH 6/8] Remove achievement support, this api was removed in Bukkit 1.15 --- pom.xml | 14 +++---- .../craftirc/AchievementsLstener.java | 36 ----------------- .../craftirc/AdvancementsListener.java | 39 ------------------- .../ensifera/animosity/craftirc/CraftIRC.java | 19 --------- .../animosity/craftirc/CraftIRCListener.java | 26 +++++++++++++ 5 files changed, 33 insertions(+), 101 deletions(-) delete mode 100644 src/main/java/com/ensifera/animosity/craftirc/AchievementsLstener.java delete mode 100644 src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java diff --git a/pom.xml b/pom.xml index 5479174..0333829 100644 --- a/pom.xml +++ b/pom.xml @@ -14,11 +14,11 @@ bukkit-repo - http://hub.spigotmc.org/nexus/content/repositories/snapshots + https://hub.spigotmc.org/nexus/content/repositories/snapshots - vault-repo - http://nexus.hc.to/content/repositories/pub_releases + jitpack.io + https://jitpack.io @@ -26,15 +26,15 @@ org.bukkit bukkit - 1.12-R0.1-SNAPSHOT + 1.15-R0.1-SNAPSHOT jar provided true - net.milkbowl.vault - Vault - 1.2.30 + com.github.MilkBowl + VaultAPI + 1.7 jar provided true diff --git a/src/main/java/com/ensifera/animosity/craftirc/AchievementsLstener.java b/src/main/java/com/ensifera/animosity/craftirc/AchievementsLstener.java deleted file mode 100644 index b7af702..0000000 --- a/src/main/java/com/ensifera/animosity/craftirc/AchievementsLstener.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.ensifera.animosity.craftirc; - -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerAchievementAwardedEvent; - -final class AchievementsListener implements Listener { - private final CraftIRC plugin; - - AchievementsListener(CraftIRC plugin) { - this.plugin = plugin; - } - - @EventHandler(priority = EventPriority.MONITOR) - public void onPlayerAchievement(PlayerAchievementAwardedEvent event) { - if (this.plugin.isHeld(CraftIRC.HoldType.ADVANCEMENTS)) { - return; - } - if (event.getAchievement() == null) { - return; - } - final RelayedMessage msg = this.plugin.newMsg(this.plugin.getEndPoint(this.plugin.cMinecraftTag()), null, "achievement"); - if (msg == null) { - return; - } - msg.setField("sender", event.getPlayer().getDisplayName()); - msg.setField("message", event.getAchievement().name()); - msg.setField("world", event.getPlayer().getWorld().getName()); - msg.setField("realSender", event.getPlayer().getName()); - msg.setField("prefix", this.plugin.getPrefix(event.getPlayer())); - msg.setField("suffix", this.plugin.getSuffix(event.getPlayer())); - msg.doNotColor("message"); - msg.post(); - } -} diff --git a/src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java b/src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java deleted file mode 100644 index cda953c..0000000 --- a/src/main/java/com/ensifera/animosity/craftirc/AdvancementsListener.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.ensifera.animosity.craftirc; - -import org.bukkit.event.EventHandler; -import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerAdvancementDoneEvent; - -final class AdvancementsListener implements Listener { - private final CraftIRC plugin; - - AdvancementsListener(CraftIRC plugin) { - this.plugin = plugin; - } - - @EventHandler(priority = EventPriority.MONITOR) - public void onPlayerAdvancement(PlayerAdvancementDoneEvent event) { - if (this.plugin.isHeld(CraftIRC.HoldType.ADVANCEMENTS)) { - return; - } - if (event.getAdvancement() == null) { - return; - } - final RelayedMessage msg = this.plugin.newMsg(this.plugin.getEndPoint(this.plugin.cMinecraftTag()), null, "achievement"); - if (msg == null) { - return; - } - if (event.getAdvancement().getKey().getKey().startsWith("recipes/")) { - return; - } - msg.setField("sender", event.getPlayer().getDisplayName()); - msg.setField("message", event.getAdvancement().getKey().getKey()); - msg.setField("world", event.getPlayer().getWorld().getName()); - msg.setField("realSender", event.getPlayer().getName()); - msg.setField("prefix", this.plugin.getPrefix(event.getPlayer())); - msg.setField("suffix", this.plugin.getSuffix(event.getPlayer())); - msg.doNotColor("message"); - msg.post(); - } -} diff --git a/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java b/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java index 8351449..6d4146a 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java +++ b/src/main/java/com/ensifera/animosity/craftirc/CraftIRC.java @@ -4,7 +4,6 @@ import com.ensifera.animosity.craftirc.libs.com.sk89q.util.config.ConfigurationNode; import com.ensifera.animosity.craftirc.libs.org.jibble.pircbot.Colors; import net.milkbowl.vault.chat.Chat; -import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -79,19 +78,6 @@ private void logDerp(String message) { } } - private static final Pattern versionPattern = Pattern.compile("(\\d).(\\d+).*"); - private boolean versionGreaterorEqualThan(int major, int minor) { - String bukkitVersion = Bukkit.getBukkitVersion(); - Matcher versionMatcher = versionPattern.matcher(bukkitVersion); - if (versionMatcher.find()) { - int majorV = Integer.parseInt(versionMatcher.group(1)); - int minorV = Integer.parseInt(versionMatcher.group(2)); - if (majorV > major || (majorV == major && minorV >= minor)) - return true; - } - return false; - } - /*************************** * Bukkit stuff ***************************/ @@ -162,11 +148,6 @@ public void onEnable() { // Event listeners this.getServer().getPluginManager().registerEvents(new CraftIRCListener(this), this); - // Check for advancements api - if (this.versionGreaterorEqualThan(1, 12)) - this.getServer().getPluginManager().registerEvents(new AdvancementsListener(this), this); - else - this.getServer().getPluginManager().registerEvents(new AchievementsListener(this), this); this.getServer().getPluginManager().registerEvents(new ConsoleListener(this), this); // Native endpoints! diff --git a/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java b/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java index 43de947..9620385 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java +++ b/src/main/java/com/ensifera/animosity/craftirc/CraftIRCListener.java @@ -7,6 +7,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.player.AsyncPlayerChatEvent; +import org.bukkit.event.player.PlayerAdvancementDoneEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerKickEvent; @@ -170,4 +171,29 @@ public void onPlayerDeath(PlayerDeathEvent event) { msg.setField("suffix", this.plugin.getSuffix(event.getEntity())); msg.post(); } + + @EventHandler(priority = EventPriority.MONITOR) + public void onPlayerAdvancement(PlayerAdvancementDoneEvent event) { + if (this.plugin.isHeld(CraftIRC.HoldType.ADVANCEMENTS)) { + return; + } + if (event.getAdvancement() == null) { + return; + } + final RelayedMessage msg = this.plugin.newMsg(this.plugin.getEndPoint(this.plugin.cMinecraftTag()), null, "achievement"); + if (msg == null) { + return; + } + if (event.getAdvancement().getKey().getKey().startsWith("recipes/")) { + return; + } + msg.setField("sender", event.getPlayer().getDisplayName()); + msg.setField("message", event.getAdvancement().getKey().getKey()); + msg.setField("world", event.getPlayer().getWorld().getName()); + msg.setField("realSender", event.getPlayer().getName()); + msg.setField("prefix", this.plugin.getPrefix(event.getPlayer())); + msg.setField("suffix", this.plugin.getSuffix(event.getPlayer())); + msg.doNotColor("message"); + msg.post(); + } } From b94fad73ce317febe65cf8272618fbd6352b2172 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Thu, 20 May 2021 00:21:24 -0400 Subject: [PATCH 7/8] Use tlsv1.2 instead of sslv3 --- .../libs/org/jibble/pircbot/TrustingSSLSocketFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/ensifera/animosity/craftirc/libs/org/jibble/pircbot/TrustingSSLSocketFactory.java b/src/main/java/com/ensifera/animosity/craftirc/libs/org/jibble/pircbot/TrustingSSLSocketFactory.java index 33b564e..9fc48ff 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/libs/org/jibble/pircbot/TrustingSSLSocketFactory.java +++ b/src/main/java/com/ensifera/animosity/craftirc/libs/org/jibble/pircbot/TrustingSSLSocketFactory.java @@ -33,7 +33,7 @@ public TrustingSSLSocketFactory() throws SSLException { System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); try { SSLContext sslContext; - sslContext = SSLContext.getInstance("SSLv3"); + sslContext = SSLContext.getInstance("TLSv1.2"); sslContext.init(null, new TrustManager[]{new TrustingX509TrustManager()}, null); factory = sslContext.getSocketFactory(); } catch (NoSuchAlgorithmException nsae) { From b1e26d22564fcbf73b158314149bb4257d920077 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Thu, 8 Jun 2023 22:19:51 -0400 Subject: [PATCH 8/8] Update for 1.20 (snakeyaml 2.0) --- .gitignore | 3 +++ pom.xml | 6 +++--- .../animosity/craftirc/IRCCommandSender.java | 21 +++++++++++++++++++ .../com/sk89q/util/config/Configuration.java | 3 ++- .../util/config/EmptyNullRepresenter.java | 3 ++- 5 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..612c5bc --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +target +.idea +*.iml diff --git a/pom.xml b/pom.xml index 0333829..a03780e 100644 --- a/pom.xml +++ b/pom.xml @@ -24,9 +24,9 @@ - org.bukkit - bukkit - 1.15-R0.1-SNAPSHOT + org.spigotmc + spigot-api + 1.20-R0.1-SNAPSHOT jar provided true diff --git a/src/main/java/com/ensifera/animosity/craftirc/IRCCommandSender.java b/src/main/java/com/ensifera/animosity/craftirc/IRCCommandSender.java index 3c7e90d..e6e8e8b 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/IRCCommandSender.java +++ b/src/main/java/com/ensifera/animosity/craftirc/IRCCommandSender.java @@ -10,6 +10,7 @@ import org.bukkit.plugin.Plugin; import java.util.Set; +import java.util.UUID; public final class IRCCommandSender implements ConsoleCommandSender { private final RelayedCommand cmd; @@ -76,6 +77,11 @@ public String getName() { return this.sender.getName(); } + @Override + public Spigot spigot() { + return this.sender.spigot(); + } + @Override public Server getServer() { return this.sender.getServer(); @@ -138,6 +144,16 @@ public void sendMessage(String[] messages) { } } + @Override + public void sendMessage(UUID uuid, String message) { + sendMessage(message); + } + + @Override + public void sendMessage(UUID uuid, String... messages) { + sendMessage(messages); + } + @Override public void sendRawMessage(String message) { final RelayedMessage msg = this.cmd.getPlugin().newMsgToTag(this.console, this.cmd.getField("source"), "command-reply"); @@ -147,6 +163,11 @@ public void sendRawMessage(String message) { msg.post(); } + @Override + public void sendRawMessage(UUID uuid, String message) { + sendRawMessage(message); + } + @Override public void setOp(boolean value) { this.sender.setOp(value); diff --git a/src/main/java/com/ensifera/animosity/craftirc/libs/com/sk89q/util/config/Configuration.java b/src/main/java/com/ensifera/animosity/craftirc/libs/com/sk89q/util/config/Configuration.java index 2eb7c90..120bc0a 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/libs/com/sk89q/util/config/Configuration.java +++ b/src/main/java/com/ensifera/animosity/craftirc/libs/com/sk89q/util/config/Configuration.java @@ -1,6 +1,7 @@ package com.ensifera.animosity.craftirc.libs.com.sk89q.util.config; import org.yaml.snakeyaml.DumperOptions; +import org.yaml.snakeyaml.LoaderOptions; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.constructor.SafeConstructor; import org.yaml.snakeyaml.reader.UnicodeReader; @@ -52,7 +53,7 @@ public Configuration(File file) { options.setIndent(4); options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); - yaml = new Yaml(new SafeConstructor(), new EmptyNullRepresenter(), options); + yaml = new Yaml(new SafeConstructor(new LoaderOptions()), new EmptyNullRepresenter(), options); this.file = file; } diff --git a/src/main/java/com/ensifera/animosity/craftirc/libs/com/sk89q/util/config/EmptyNullRepresenter.java b/src/main/java/com/ensifera/animosity/craftirc/libs/com/sk89q/util/config/EmptyNullRepresenter.java index be061ce..3806a67 100644 --- a/src/main/java/com/ensifera/animosity/craftirc/libs/com/sk89q/util/config/EmptyNullRepresenter.java +++ b/src/main/java/com/ensifera/animosity/craftirc/libs/com/sk89q/util/config/EmptyNullRepresenter.java @@ -1,5 +1,6 @@ package com.ensifera.animosity.craftirc.libs.com.sk89q.util.config; +import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.introspector.Property; import org.yaml.snakeyaml.nodes.CollectionNode; import org.yaml.snakeyaml.nodes.MappingNode; @@ -12,7 +13,7 @@ class EmptyNullRepresenter extends Representer { public EmptyNullRepresenter() { - super(); + super(new DumperOptions()); this.nullRepresenter = new EmptyRepresentNull(); }