[Idea]: Folia support for OpenInv #196

Closed
reabuc wants to merge 137 commits from master into master
66 changed files with 6108 additions and 2022 deletions
Showing only changes of commit ac00261afb - Show all commits

View File

@@ -112,6 +112,7 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
private InternalAccessor accessor; private InternalAccessor accessor;
private LanguageManager languageManager; private LanguageManager languageManager;
private boolean isSpigot = false;
/** /**
* Evicts all viewers lacking cross-world permissions from a Player's inventory. * Evicts all viewers lacking cross-world permissions from a Player's inventory.
@@ -355,8 +356,16 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
this.languageManager = new LanguageManager(this, "en_us"); this.languageManager = new LanguageManager(this, "en_us");
try {
Class.forName("org.bukkit.entity.Player$Spigot");
isSpigot = true;
} catch (ClassNotFoundException e) {
e.printStackTrace();
isSpigot = false;
}
// Version check // Version check
if (this.accessor.isSupported()) { if (isSpigot && this.accessor.isSupported()) {
// Update existing configuration. May require internal access. // Update existing configuration. May require internal access.
new ConfigUpdater(this).checkForUpdates(); new ConfigUpdater(this).checkForUpdates();
@@ -379,8 +388,16 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
} }
private void sendVersionError(Consumer<String> messageMethod) { private void sendVersionError(Consumer<String> messageMethod) {
messageMethod.accept("Your server version (" + this.accessor.getVersion() + ") is not supported."); if (!this.accessor.isSupported()) {
messageMethod.accept("Please obtain an appropriate version here: " + accessor.getReleasesLink()); messageMethod.accept("Your server version (" + this.accessor.getVersion() + ") is not supported.");
messageMethod.accept("Please obtain an appropriate version here: " + this.accessor.getReleasesLink());
}
if (!isSpigot) {
messageMethod.accept("OpenInv requires that you use Spigot or a Spigot fork. Per the 1.14 update thread");
messageMethod.accept("(https://www.spigotmc.org/threads/369724/ \"A Note on CraftBukkit\"), if you are");
messageMethod.accept("encountering an inconsistency with vanilla that prevents you from using Spigot,");
messageMethod.accept("that is considered a Spigot bug and should be reported as such.");
}
} }
private void setCommandExecutor(CommandExecutor executor, String... commands) { private void setCommandExecutor(CommandExecutor executor, String... commands) {
@@ -394,7 +411,7 @@ public class OpenInv extends JavaPlugin implements IOpenInv {
@Override @Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
if (!this.accessor.isSupported()) { if (!isSpigot || !this.accessor.isSupported()) {
this.sendVersionError(sender::sendMessage); this.sendVersionError(sender::sendMessage);
return true; return true;
} }