Remove some old plugin hooks, update dependencies

This commit is contained in:
Gabriele C 2017-08-31 11:47:55 +02:00
parent 1dfb3575b5
commit b96ae61697
13 changed files with 48 additions and 284 deletions

158
pom.xml
View File

@ -61,7 +61,7 @@
<bukkitplugin.authors>Xephi, sgdc3, DNx5, timvisee, games647, ljacqu, Gnat008</bukkitplugin.authors>
<!-- Change Bukkit Version HERE! -->
<bukkit.version>1.12-R0.1-SNAPSHOT</bukkit.version>
<bukkit.version>1.12.1-R0.1-SNAPSHOT</bukkit.version>
</properties>
<!-- Jenkins profile -->
@ -119,7 +119,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<version>3.6.2</version>
<configuration>
<source>${project.jdkVersion}</source>
<target>${project.jdkVersion}</target>
@ -142,7 +142,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<version>3.1.0</version>
<executions>
<!-- Run shade goal on package phase -->
<execution>
@ -254,12 +254,6 @@
<url>http://repo.ess3.net/content/groups/essentials</url>
</repository>
<!-- CombatTagPlus Repo -->
<repository>
<id>minelink-repo</id>
<url>http://repo.minelink.net/content/repositories/public</url>
</repository>
<!-- ProtocolLib Repo -->
<repository>
<id>dmulloy2-repo</id>
@ -325,7 +319,7 @@
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>22.0</version>
<version>23.0</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
@ -343,7 +337,7 @@
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.4</version>
<version>1.5</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
@ -422,14 +416,14 @@
<dependency>
<groupId>org.bstats</groupId>
<artifactId>bstats-bukkit</artifactId>
<version>1.0</version>
<version>1.2</version>
</dependency>
<!-- ProtocolLib -->
<dependency>
<groupId>com.comphenix.protocol</groupId>
<artifactId>ProtocolLib-API</artifactId>
<version>4.2.1</version>
<version>4.4.0-SNAPSHOT</version>
<scope>provided</scope>
<exclusions>
<exclusion>
@ -483,25 +477,11 @@
</exclusions>
</dependency>
<!-- PermissionsBukkit plugin -->
<dependency>
<groupId>com.platymuus</groupId>
<artifactId>bukkit-permissions</artifactId>
<version>2.5</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- zPermissions plugin -->
<dependency>
<groupId>org.tyrannyofheaven.bukkit</groupId>
<artifactId>zPermissions</artifactId>
<version>1.3.1-SNAPSHOT</version>
<version>1.4-SNAPSHOT</version>
<scope>provided</scope>
<exclusions>
<exclusion>
@ -528,6 +508,30 @@
<artifactId>ToHPluginUtils</artifactId>
<groupId>org.tyrannyofheaven.bukkit</groupId>
</exclusion>
<exclusion>
<artifactId>Residence</artifactId>
<groupId>com.bekvon.bukkit</groupId>
</exclusion>
<exclusion>
<artifactId>Factions</artifactId>
<groupId>com.massivecraft</groupId>
</exclusion>
<exclusion>
<artifactId>mcore</artifactId>
<groupId>com.massivecraft</groupId>
</exclusion>
<exclusion>
<artifactId>Factoid</artifactId>
<groupId>me.tabinol.factoid</groupId>
</exclusion>
<exclusion>
<artifactId>ebean</artifactId>
<groupId>org.avaje</groupId>
</exclusion>
<exclusion>
<artifactId>persistence-api</artifactId>
<groupId>javax.persistence</groupId>
</exclusion>
</exclusions>
</dependency>
@ -553,7 +557,7 @@
<dependency>
<groupId>com.onarandombox.multiversecore</groupId>
<artifactId>Multiverse-Core</artifactId>
<version>2.5.0-SNAPSHOT</version>
<version>2.6.0-SNAPSHOT</version>
<type>jar</type>
<scope>provided</scope>
<exclusions>
@ -630,98 +634,6 @@
</exclusions>
</dependency>
<!-- Anti-PvPLogging plugin, https://github.com/MinelinkNetwork/CombatTagPlus -->
<dependency>
<groupId>net.minelink</groupId>
<artifactId>CombatTagPlus</artifactId>
<version>1.3.0-SNAPSHOT</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
</exclusion>
<exclusion>
<groupId>org.bukkit</groupId>
<artifactId>craftbukkit</artifactId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusHook</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusFactions-v1_6</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusCompat-v1_7_R3</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusFactions-v1_8</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusCompat-v1_7_R4</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusWG-v5</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusWG-v6</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusCompat-API</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusFactions-v2_6</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusCompat-v1_8_R3</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusFactions-v2_7</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusCompat-v1_8_R2</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>CombatTagPlusCompat-v1_8_R1</artifactId>
<groupId>net.minelink</groupId>
</exclusion>
<exclusion>
<artifactId>metrics-lite</artifactId>
<groupId>org.mcstats.bukkit</groupId>
</exclusion>
<exclusion>
<groupId>net.minelink</groupId>
<artifactId>CombatTagPlusCompat-v1_9_R1</artifactId>
</exclusion>
<exclusion>
<groupId>net.minelink</groupId>
<artifactId>CombatTagPlusCompat-v1_9_R2</artifactId>
</exclusion>
<exclusion>
<groupId>net.minelink</groupId>
<artifactId>
CombatTagPlusCompat-v1_10_R1
</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- XAuth, another authentication plugin, required by the database converter -->
<dependency>
<groupId>de.luricos.bukkit</groupId>
@ -799,7 +711,7 @@
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
<version>2.8.47</version>
<version>2.9.0</version>
<exclusions>
<exclusion>
<artifactId>hamcrest-core</artifactId>
@ -812,7 +724,7 @@
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.19.3</version>
<version>3.20.0</version>
<scope>test</scope>
</dependency>
<dependency>

View File

@ -147,12 +147,6 @@ public class AuthMe extends JavaPlugin {
// Show settings warnings
showSettingsWarnings();
// If server is using PermissionsBukkit, print a warning that some features may not be supported
if (PermissionsSystemType.PERMISSIONS_BUKKIT.equals(permsMan.getPermissionSystem())) {
ConsoleLogger.warning("Warning! This server uses PermissionsBukkit for permissions. Some permissions "
+ "features may not be supported!");
}
// Do a backup on start
backupService.doBackup(BackupService.BackupCause.START);

View File

@ -17,7 +17,7 @@ import fr.xephi.authme.settings.properties.EmailSettings;
import fr.xephi.authme.settings.properties.PluginSettings;
import fr.xephi.authme.settings.properties.SecuritySettings;
import org.apache.logging.log4j.LogManager;
import org.bstats.Metrics;
import org.bstats.bukkit.Metrics;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@ -53,19 +53,8 @@ public class OnStartupTasks {
public static void sendMetrics(AuthMe plugin, Settings settings) {
final Metrics metrics = new Metrics(plugin);
metrics.addCustomChart(new Metrics.SimplePie("messages_language") {
@Override
public String getValue() {
return settings.getProperty(PluginSettings.MESSAGES_LANGUAGE);
}
});
metrics.addCustomChart(new Metrics.SimplePie("database_backend") {
@Override
public String getValue() {
return settings.getProperty(DatabaseSettings.BACKEND).toString();
}
});
metrics.addCustomChart(new Metrics.SimplePie("messages_language", () -> settings.getProperty(PluginSettings.MESSAGES_LANGUAGE)));
metrics.addCustomChart(new Metrics.SimplePie("database_backend", () -> settings.getProperty(DatabaseSettings.BACKEND).toString()));
}
/**
@ -103,14 +92,11 @@ public class OnStartupTasks {
if (!settings.getProperty(RECALL_PLAYERS)) {
return;
}
bukkitService.runTaskTimerAsynchronously(new Runnable() {
@Override
public void run() {
for (String playerWithoutMail : dataSource.getLoggedPlayersWithEmptyMail()) {
Player player = bukkitService.getPlayerExact(playerWithoutMail);
if (player != null) {
messages.send(player, MessageKey.ADD_EMAIL_MESSAGE);
}
bukkitService.runTaskTimerAsynchronously(() -> {
for (String playerWithoutMail : dataSource.getLoggedPlayersWithEmptyMail()) {
Player player = bukkitService.getPlayerExact(playerWithoutMail);
if (player != null) {
messages.send(player, MessageKey.ADD_EMAIL_MESSAGE);
}
}
}, 1, TICKS_PER_MINUTE * settings.getProperty(EmailSettings.DELAY_RECALL));

View File

@ -43,9 +43,6 @@ public class ServerListener implements Listener {
} else if ("Multiverse-Core".equalsIgnoreCase(pluginName)) {
pluginHookService.unhookMultiverse();
ConsoleLogger.info("Multiverse-Core has been disabled: unhooking");
} else if ("CombatTagPlus".equalsIgnoreCase(pluginName)) {
pluginHookService.unhookCombatPlus();
ConsoleLogger.info("CombatTagPlus has been disabled: unhooking");
} else if ("EssentialsSpawn".equalsIgnoreCase(pluginName)) {
spawnLoader.unloadEssentialsSpawn();
ConsoleLogger.info("EssentialsSpawn has been disabled: unhooking");
@ -71,8 +68,6 @@ public class ServerListener implements Listener {
pluginHookService.tryHookToEssentials();
} else if ("Multiverse-Core".equalsIgnoreCase(pluginName)) {
pluginHookService.tryHookToMultiverse();
} else if ("CombatTagPlus".equalsIgnoreCase(pluginName)) {
pluginHookService.tryHookToCombatPlus();
} else if ("EssentialsSpawn".equalsIgnoreCase(pluginName)) {
spawnLoader.loadEssentialsSpawn();
} else if ("ProtocolLib".equalsIgnoreCase(pluginName)) {

View File

@ -5,7 +5,6 @@ import fr.xephi.authme.initialization.Reloadable;
import fr.xephi.authme.permission.handlers.BPermissionsHandler;
import fr.xephi.authme.permission.handlers.PermissionHandler;
import fr.xephi.authme.permission.handlers.PermissionHandlerException;
import fr.xephi.authme.permission.handlers.PermissionsBukkitHandler;
import fr.xephi.authme.permission.handlers.PermissionsExHandler;
import fr.xephi.authme.permission.handlers.VaultHandler;
import fr.xephi.authme.permission.handlers.ZPermissionsHandler;
@ -120,8 +119,6 @@ public class PermissionsManager implements Reloadable {
return new VaultHandler(server);
case B_PERMISSIONS:
return new BPermissionsHandler();
case PERMISSIONS_BUKKIT:
return new PermissionsBukkitHandler(pluginManager);
default:
throw new IllegalStateException("Unhandled permission type '" + type + "'");
}

View File

@ -10,11 +10,6 @@ public enum PermissionsSystemType {
*/
PERMISSIONS_EX("PermissionsEx", "PermissionsEx"),
/**
* Permissions Bukkit.
*/
PERMISSIONS_BUKKIT("Permissions Bukkit", "PermissionsBukkit"),
/**
* bPermissions.
*/

View File

@ -1,73 +0,0 @@
package fr.xephi.authme.permission.handlers;
import com.platymuus.bukkit.permissions.Group;
import com.platymuus.bukkit.permissions.PermissionsPlugin;
import fr.xephi.authme.permission.PermissionNode;
import fr.xephi.authme.permission.PermissionsSystemType;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import java.util.ArrayList;
import java.util.List;
/**
* Handler for PermissionsBukkit.
*
* @see <a href="https://dev.bukkit.org/projects/permbukkit">PermissionsBukkit Bukkit page</a>
*/
public class PermissionsBukkitHandler implements PermissionHandler {
private PermissionsPlugin permissionsBukkitInstance;
public PermissionsBukkitHandler(PluginManager pluginManager) throws PermissionHandlerException {
Plugin plugin = pluginManager.getPlugin("PermissionsBukkit");
if (plugin == null) {
throw new PermissionHandlerException("Could not get instance of PermissionsBukkit");
}
permissionsBukkitInstance = (PermissionsPlugin) plugin;
}
@Override
public boolean addToGroup(Player player, String group) {
return Bukkit.dispatchCommand(Bukkit.getConsoleSender(),
"permissions player addgroup " + player.getName() + " " + group);
}
@Override
public boolean hasGroupSupport() {
return true;
}
@Override
public boolean hasPermissionOffline(String name, PermissionNode node) {
return false;
}
@Override
public boolean removeFromGroup(Player player, String group) {
return Bukkit.dispatchCommand(Bukkit.getConsoleSender(),
"permissions player removegroup " + player.getName() + " " + group);
}
@Override
public boolean setGroup(Player player, String group) {
return Bukkit.dispatchCommand(Bukkit.getConsoleSender(),
"permissions player setgroup " + player.getName() + " " + group);
}
@Override
public List<String> getGroups(Player player) {
List<String> groups = new ArrayList<>();
for (Group group : permissionsBukkitInstance.getGroups(player.getUniqueId())) {
groups.add(group.getName());
}
return groups;
}
@Override
public PermissionsSystemType getPermissionSystem() {
return PermissionsSystemType.PERMISSIONS_BUKKIT;
}
}

View File

@ -5,7 +5,6 @@ import com.earth2me.essentials.Essentials;
import com.onarandombox.MultiverseCore.MultiverseCore;
import com.onarandombox.MultiverseCore.api.MVWorldManager;
import fr.xephi.authme.ConsoleLogger;
import net.minelink.ctplus.CombatTagPlus;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
@ -24,7 +23,6 @@ public class PluginHookService {
private final PluginManager pluginManager;
private Essentials essentials;
private MultiverseCore multiverse;
private CombatTagPlus combatTagPlus;
/**
* Constructor.
@ -34,7 +32,6 @@ public class PluginHookService {
@Inject
public PluginHookService(PluginManager pluginManager) {
this.pluginManager = pluginManager;
tryHookToCombatPlus();
tryHookToEssentials();
tryHookToMultiverse();
}
@ -86,17 +83,7 @@ public class PluginHookService {
* @return True if player is NPC, false otherwise
*/
public boolean isNpc(Player player) {
return player.hasMetadata("NPC") || isNpcInCombatTagPlus(player);
}
/**
* Queries the CombatTagPlus plugin whether the given player is an NPC.
*
* @param player The player to verify
* @return True if the player is an NPC according to CombatTagPlus, false if not or if the plugin is unavailable
*/
private boolean isNpcInCombatTagPlus(Player player) {
return combatTagPlus != null && combatTagPlus.getNpcPlayerHelper().isNpc(player);
return player.hasMetadata("NPC");
}
@ -117,13 +104,6 @@ public class PluginHookService {
return multiverse != null;
}
/**
* @return true if we have a hook to CombatTagPlus, false otherwise
*/
public boolean isCombatTagPlusAvailable() {
return combatTagPlus != null;
}
// ------
// Hook methods
// ------
@ -139,17 +119,6 @@ public class PluginHookService {
}
}
/**
* Attempts to create a hook into CombatTagPlus.
*/
public void tryHookToCombatPlus() {
try {
combatTagPlus = getPlugin(pluginManager, "CombatTagPlus", CombatTagPlus.class);
} catch (Exception | NoClassDefFoundError ignored) {
combatTagPlus = null;
}
}
/**
* Attempts to create a hook into Multiverse.
*/
@ -171,13 +140,6 @@ public class PluginHookService {
essentials = null;
}
/**
* Unhooks from CombatTagPlus.
*/
public void unhookCombatPlus() {
combatTagPlus = null;
}
/**
* Unhooks from Multiverse.
*/

View File

@ -6,8 +6,7 @@ main: ${bukkitplugin.main}
version: ${bukkitplugin.version}
softdepend:
- Vault
- PermissionsBukkit
- PermissionsEX
- PermissionsEx
- bPermissions
- zPermissions
- Multiverse-Core

View File

@ -5,6 +5,7 @@ import ch.jalu.injector.Injector;
import ch.jalu.injector.InjectorBuilder;
import com.google.common.io.Files;
import fr.xephi.authme.api.NewAPI;
import fr.xephi.authme.api.v3.AuthMeApi;
import fr.xephi.authme.command.CommandHandler;
import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.initialization.DataFolder;
@ -115,7 +116,7 @@ public class AuthMeInitializationTest {
assertThat(injector.getIfAvailable(BlockListener.class), not(nullValue()));
assertThat(injector.getIfAvailable(CommandHandler.class), not(nullValue()));
assertThat(injector.getIfAvailable(Management.class), not(nullValue()));
assertThat(injector.getIfAvailable(NewAPI.class), not(nullValue()));
assertThat(injector.getIfAvailable(AuthMeApi.class), not(nullValue()));
assertThat(injector.getIfAvailable(PasswordSecurity.class), not(nullValue()));
assertThat(injector.getIfAvailable(PermissionsManager.class), not(nullValue()));
assertThat(injector.getIfAvailable(ProcessSyncPlayerLogin.class), not(nullValue()));

View File

@ -32,7 +32,6 @@ public class ServerListenerTest {
private static final String ESSENTIALS = "Essentials";
private static final String ESSENTIALS_SPAWN = "EssentialsSpawn";
private static final String MULTIVERSE = "Multiverse-Core";
private static final String COMBAT_TAG = "CombatTagPlus";
private static final String PROTOCOL_LIB = "ProtocolLib";
@InjectMocks
@ -60,7 +59,6 @@ public class ServerListenerTest {
checkEnableHandling(ESSENTIALS, () -> verify(pluginHookService).tryHookToEssentials());
checkEnableHandling(ESSENTIALS_SPAWN, () -> verify(spawnLoader).loadEssentialsSpawn());
checkEnableHandling(MULTIVERSE, () -> verify(pluginHookService).tryHookToMultiverse());
checkEnableHandling(COMBAT_TAG, () -> verify(pluginHookService).tryHookToCombatPlus());
checkEnableHandling(PROTOCOL_LIB, () -> verify(protocolLibService).setup());
checkEnableHandling("UnknownPlugin", () -> verifyZeroInteractions(pluginHookService, spawnLoader));
}
@ -70,7 +68,6 @@ public class ServerListenerTest {
checkDisableHandling(ESSENTIALS, () -> verify(pluginHookService).unhookEssentials());
checkDisableHandling(ESSENTIALS_SPAWN, () -> verify(spawnLoader).unloadEssentialsSpawn());
checkDisableHandling(MULTIVERSE, () -> verify(pluginHookService).unhookMultiverse());
checkDisableHandling(COMBAT_TAG, () -> verify(pluginHookService).unhookCombatPlus());
checkDisableHandling(PROTOCOL_LIB, () -> verify(protocolLibService).disable());
checkDisableHandling("UnknownPlugin", () -> verifyZeroInteractions(pluginHookService, spawnLoader));
}

View File

@ -39,7 +39,7 @@ public class PermissionsSystemTypeTest {
@Test
public void shouldRecognizePermissionSystemType() {
assertThat(PermissionsSystemType.isPermissionSystem("bogus"), equalTo(false));
assertThat(PermissionsSystemType.isPermissionSystem("PermissionsBukkit"), equalTo(true));
assertThat(PermissionsSystemType.isPermissionSystem("PermissionsEx"), equalTo(true));
}
}

View File

@ -178,7 +178,6 @@ public class PluginHookServiceTest {
// then
assertThat(pluginHookService.isEssentialsAvailable(), equalTo(false));
assertThat(pluginHookService.isMultiverseAvailable(), equalTo(false));
assertThat(pluginHookService.isCombatTagPlusAvailable(), equalTo(false));
}
@Test