From 5b97841699a4c888b6a222ff2421987441000b89 Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Tue, 23 Apr 2019 17:18:42 +0200 Subject: [PATCH] Add 1.14 compatibility --- docs/config.md | 6 ++++-- pom.xml | 2 +- .../fr/xephi/authme/listener/PlayerListener.java | 10 +++++----- src/main/java/fr/xephi/authme/mail/EmailService.java | 12 +++++------- .../java/fr/xephi/authme/service/BukkitService.java | 2 -- .../authme/settings/WelcomeMessageConfiguration.java | 3 ++- .../authme/settings/properties/PluginSettings.java | 3 +++ src/main/resources/plugin.yml | 2 +- .../fr/xephi/authme/listener/PlayerListenerTest.java | 1 + .../java/fr/xephi/authme/mail/EmailServiceTest.java | 6 ++---- .../settings/WelcomeMessageConfigurationTest.java | 6 +++--- 11 files changed, 27 insertions(+), 26 deletions(-) diff --git a/docs/config.md b/docs/config.md index d68fcd13..811481d5 100644 --- a/docs/config.md +++ b/docs/config.md @@ -1,5 +1,5 @@ - + ## AuthMe Configuration The first time you run AuthMe it will create a config.yml file in the plugins/AuthMe folder, @@ -128,6 +128,8 @@ settings: # but it is incompatible with any permission plugin not included in our compatibility list. # If you have issues with permission checks on player join please disable this option. useAsyncPreLoginEvent: true + # The name of the server, used in some placeholders. + serverName: Your Minecraft Server restrictions: # Can not authenticated players chat? # Keep in mind that this feature also blocks all commands not @@ -576,4 +578,4 @@ To change settings on a running server, save your changes to config.yml and use --- -This page was automatically generated on the [AuthMe/AuthMeReloaded repository](https://github.com/AuthMe/AuthMeReloaded/tree/master/docs/) on Fri Apr 19 17:16:04 CEST 2019 +This page was automatically generated on the [AuthMe/AuthMeReloaded repository](https://github.com/AuthMe/AuthMeReloaded/tree/master/docs/) on Tue Apr 23 17:17:02 CEST 2019 diff --git a/pom.xml b/pom.xml index a64911d7..3030652b 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ 3.3.9 - 1.13.2-R0.1-SNAPSHOT + 1.14-pre5-SNAPSHOT AuthMe diff --git a/src/main/java/fr/xephi/authme/listener/PlayerListener.java b/src/main/java/fr/xephi/authme/listener/PlayerListener.java index 9c75ea96..4134581a 100644 --- a/src/main/java/fr/xephi/authme/listener/PlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/PlayerListener.java @@ -36,7 +36,7 @@ import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.event.player.*; -import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.InventoryView; import javax.inject.Inject; import java.util.HashSet; @@ -391,12 +391,12 @@ public class PlayerListener implements Listener { } } - private boolean isInventoryWhitelisted(Inventory inventory) { + private boolean isInventoryWhitelisted(InventoryView inventory) { if (inventory == null) { return false; } Set whitelist = settings.getProperty(RestrictionSettings.UNRESTRICTED_INVENTORIES); - return whitelist.contains(ChatColor.stripColor(inventory.getName())); + return whitelist.contains(ChatColor.stripColor(inventory.getTitle())); } @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) @@ -404,7 +404,7 @@ public class PlayerListener implements Listener { final HumanEntity player = event.getPlayer(); if (listenerService.shouldCancelEvent(player) - && !isInventoryWhitelisted(event.getInventory())) { + && !isInventoryWhitelisted(event.getView())) { event.setCancelled(true); /* @@ -418,7 +418,7 @@ public class PlayerListener implements Listener { @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onPlayerInventoryClick(InventoryClickEvent event) { if (listenerService.shouldCancelEvent(event.getWhoClicked()) - && !isInventoryWhitelisted(event.getClickedInventory())) { + && !isInventoryWhitelisted(event.getView())) { event.setCancelled(true); } } diff --git a/src/main/java/fr/xephi/authme/mail/EmailService.java b/src/main/java/fr/xephi/authme/mail/EmailService.java index c63d7d6f..29891163 100644 --- a/src/main/java/fr/xephi/authme/mail/EmailService.java +++ b/src/main/java/fr/xephi/authme/mail/EmailService.java @@ -4,11 +4,11 @@ import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.initialization.DataFolder; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.properties.EmailSettings; +import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.settings.properties.SecuritySettings; import fr.xephi.authme.util.FileUtils; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; -import org.bukkit.Server; import javax.activation.DataSource; import javax.activation.FileDataSource; @@ -23,14 +23,12 @@ import java.io.IOException; public class EmailService { private final File dataFolder; - private final String serverName; private final Settings settings; private final SendMailSsl sendMailSsl; @Inject - EmailService(@DataFolder File dataFolder, Server server, Settings settings, SendMailSsl sendMailSsl) { + EmailService(@DataFolder File dataFolder, Settings settings, SendMailSsl sendMailSsl) { this.dataFolder = dataFolder; - this.serverName = server.getServerName(); this.settings = settings; this.sendMailSsl = sendMailSsl; } @@ -146,14 +144,14 @@ public class EmailService { private String replaceTagsForPasswordMail(String mailText, String name, String newPass) { return mailText .replace("", name) - .replace("", serverName) + .replace("", settings.getProperty(PluginSettings.SERVER_NAME)) .replace("", newPass); } private String replaceTagsForVerificationEmail(String mailText, String name, String code, int minutesValid) { return mailText .replace("", name) - .replace("", serverName) + .replace("", settings.getProperty(PluginSettings.SERVER_NAME)) .replace("", code) .replace("", String.valueOf(minutesValid)); } @@ -161,7 +159,7 @@ public class EmailService { private String replaceTagsForRecoveryCodeMail(String mailText, String name, String code, int hoursValid) { return mailText .replace("", name) - .replace("", serverName) + .replace("", settings.getProperty(PluginSettings.SERVER_NAME)) .replace("", code) .replace("", String.valueOf(hoursValid)); } diff --git a/src/main/java/fr/xephi/authme/service/BukkitService.java b/src/main/java/fr/xephi/authme/service/BukkitService.java index 99946718..30241411 100644 --- a/src/main/java/fr/xephi/authme/service/BukkitService.java +++ b/src/main/java/fr/xephi/authme/service/BukkitService.java @@ -19,7 +19,6 @@ import org.bukkit.scheduler.BukkitScheduler; import org.bukkit.scheduler.BukkitTask; import javax.inject.Inject; -import java.lang.reflect.Method; import java.util.Collection; import java.util.Date; import java.util.Optional; @@ -37,7 +36,6 @@ public class BukkitService implements SettingsDependent { public static final int TICKS_PER_MINUTE = 60 * TICKS_PER_SECOND; private final AuthMe authMe; - private Method getOnlinePlayers; private boolean useAsyncTasks; @Inject diff --git a/src/main/java/fr/xephi/authme/settings/WelcomeMessageConfiguration.java b/src/main/java/fr/xephi/authme/settings/WelcomeMessageConfiguration.java index 7a2da188..0838314a 100644 --- a/src/main/java/fr/xephi/authme/settings/WelcomeMessageConfiguration.java +++ b/src/main/java/fr/xephi/authme/settings/WelcomeMessageConfiguration.java @@ -7,6 +7,7 @@ import fr.xephi.authme.initialization.Reloadable; import fr.xephi.authme.service.BukkitService; import fr.xephi.authme.service.CommonService; import fr.xephi.authme.service.GeoIpService; +import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.settings.properties.RegistrationSettings; import fr.xephi.authme.util.PlayerUtils; import fr.xephi.authme.util.lazytags.Tag; @@ -65,7 +66,7 @@ public class WelcomeMessageConfiguration implements Reloadable { createTag("{IP}", PlayerUtils::getPlayerIp), createTag("{LOGINS}", () -> Integer.toString(playerCache.getLogged())), createTag("{WORLD}", pl -> pl.getWorld().getName()), - createTag("{SERVER}", () -> server.getServerName()), + createTag("{SERVER}", () -> service.getProperty(PluginSettings.SERVER_NAME)), createTag("{VERSION}", () -> server.getBukkitVersion()), createTag("{COUNTRY}", pl -> geoIpService.getCountryName(PlayerUtils.getPlayerIp(pl)))); diff --git a/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java b/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java index 55202a45..48e48b19 100644 --- a/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java +++ b/src/main/java/fr/xephi/authme/settings/properties/PluginSettings.java @@ -90,6 +90,9 @@ public final class PluginSettings implements SettingsHolder { public static final Property USE_ASYNC_PRE_LOGIN_EVENT = newProperty("settings.useAsyncPreLoginEvent", true); + @Comment("The name of the server, used in some placeholders.") + public static final Property SERVER_NAME = newProperty("settings.serverName", "Your Minecraft Server"); + private PluginSettings() { } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 027da3dc..ce807208 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -4,7 +4,7 @@ website: ${project.url} description: ${project.description} main: ${pluginDescription.main} version: ${pluginDescription.version} -api-version: 1.13 +api-version: 1.14 softdepend: - Vault - LuckPerms diff --git a/src/test/java/fr/xephi/authme/listener/PlayerListenerTest.java b/src/test/java/fr/xephi/authme/listener/PlayerListenerTest.java index 2f430002..6d1df49a 100644 --- a/src/test/java/fr/xephi/authme/listener/PlayerListenerTest.java +++ b/src/test/java/fr/xephi/authme/listener/PlayerListenerTest.java @@ -786,6 +786,7 @@ public class PlayerListenerTest { // given HumanEntity player = mock(Player.class); InventoryView transaction = mock(InventoryView.class); + given(settings.getProperty(RestrictionSettings.UNRESTRICTED_INVENTORIES)).willReturn(Collections.emptySet()); given(transaction.getPlayer()).willReturn(player); InventoryOpenEvent event = new InventoryOpenEvent(transaction); given(event.getPlayer()).willReturn(player); diff --git a/src/test/java/fr/xephi/authme/mail/EmailServiceTest.java b/src/test/java/fr/xephi/authme/mail/EmailServiceTest.java index 43cbaa61..96492daa 100644 --- a/src/test/java/fr/xephi/authme/mail/EmailServiceTest.java +++ b/src/test/java/fr/xephi/authme/mail/EmailServiceTest.java @@ -7,10 +7,10 @@ import fr.xephi.authme.TestHelper; import fr.xephi.authme.initialization.DataFolder; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.properties.EmailSettings; +import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.settings.properties.SecuritySettings; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; -import org.bukkit.Server; import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; @@ -46,8 +46,6 @@ public class EmailServiceTest { @Mock private Settings settings; @Mock - private Server server; - @Mock private SendMailSsl sendMailSsl; @DataFolder private File dataFolder; @@ -63,7 +61,7 @@ public class EmailServiceTest { @BeforeInjecting public void initFields() throws IOException { dataFolder = temporaryFolder.newFolder(); - given(server.getServerName()).willReturn("serverName"); + given(settings.getProperty(PluginSettings.SERVER_NAME)).willReturn("serverName"); given(settings.getProperty(EmailSettings.MAIL_ACCOUNT)).willReturn("mail@example.org"); given(settings.getProperty(EmailSettings.MAIL_PASSWORD)).willReturn("pass1234"); given(sendMailSsl.hasAllInformation()).willReturn(true); diff --git a/src/test/java/fr/xephi/authme/settings/WelcomeMessageConfigurationTest.java b/src/test/java/fr/xephi/authme/settings/WelcomeMessageConfigurationTest.java index 0cf66a97..cf8077c6 100644 --- a/src/test/java/fr/xephi/authme/settings/WelcomeMessageConfigurationTest.java +++ b/src/test/java/fr/xephi/authme/settings/WelcomeMessageConfigurationTest.java @@ -9,6 +9,7 @@ import fr.xephi.authme.initialization.DataFolder; import fr.xephi.authme.service.BukkitService; import fr.xephi.authme.service.CommonService; import fr.xephi.authme.service.GeoIpService; +import fr.xephi.authme.settings.properties.PluginSettings; import fr.xephi.authme.settings.properties.RegistrationSettings; import org.bukkit.Server; import org.bukkit.World; @@ -96,7 +97,7 @@ public class WelcomeMessageConfigurationTest { given(player.getName()).willReturn("Bobby"); TestHelper.mockPlayerIp(player, "123.45.66.77"); given(geoIpService.getCountryName("123.45.66.77")).willReturn("Syldavia"); - given(server.getServerName()).willReturn("CrazyServer"); + given(service.getProperty(PluginSettings.SERVER_NAME)).willReturn("CrazyServer"); // when List result = welcomeMessageConfiguration.getWelcomeMessage(player); @@ -106,8 +107,7 @@ public class WelcomeMessageConfigurationTest { assertThat(result.get(0), equalTo("Hello Bobby, your IP is 123.45.66.77")); assertThat(result.get(1), equalTo("Your country is Syldavia.")); assertThat(result.get(2), equalTo("Welcome to CrazyServer!")); - verify(server, only()).getServerName(); - verifyZeroInteractions(playerCache); + verifyZeroInteractions(server, playerCache); } @Test