From a841b4ea86c74e41725a19ebc2a1d1660668f5fa Mon Sep 17 00:00:00 2001 From: MattBDev <4009945+MattBDev@users.noreply.github.com> Date: Fri, 10 May 2019 22:42:07 -0400 Subject: [PATCH] Titles are now exclusive to paper servers --- Bukkit/build.gradle | 8 +++-- .../plotsquared/bukkit/BukkitMain.java | 36 ++++++++----------- .../bukkit/titles/DefaultTitle.java | 8 ++--- .../plotsquared/plot/config/Settings.java | 4 +-- 4 files changed, 26 insertions(+), 30 deletions(-) diff --git a/Bukkit/build.gradle b/Bukkit/build.gradle index f9998521f..2a6b17d65 100644 --- a/Bukkit/build.gradle +++ b/Bukkit/build.gradle @@ -1,17 +1,19 @@ repositories { maven { url "https://hub.spigotmc.org/nexus/content/repositories/snapshots/" } - maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" } + maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven { url "http://nexus.hc.to/content/repositories/pub_releases" } - maven { url = "https://repo.codemc.org/repository/maven-public" } + maven { url "https://repo.codemc.org/repository/maven-public" } maven { url 'http://repo.onarandombox.com/content/groups/public'} + maven { url 'https://papermc.io/repo/repository/maven-public/' } mavenLocal() } dependencies { implementation project(':Core') compile project(':Core') + compile 'com.destroystokyo.paper:paper-api:1.14-R0.1-SNAPSHOT' implementation 'com.onarandombox.multiversecore:Multiverse-Core:3.0.0-SNAPSHOT' - implementation 'org.spigotmc:spigot-api:1.14-pre5-SNAPSHOT' + implementation 'org.spigotmc:spigot-api:1.14-R0.1-SNAPSHOT' compile(group: 'com.sk89q.worldedit', name: 'worldedit-bukkit', version: '7.0.0-SNAPSHOT') compile("net.milkbowl.vault:VaultAPI:1.7") { exclude module: 'bukkit' diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java index 8a4574a0d..42e9ff489 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/BukkitMain.java @@ -132,8 +132,10 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain @Override public void onEnable() { if (PlotSquared.get().IMP.getServerVersion()[1] < 13) { - PlotSquared.log("You can't use this version of PlotSquared on a server less than Minecraft 1.13.2."); - PlotSquared.log("Please check the download page for the link to the legacy versions."); + System.out.println( + "You can't use this version of PlotSquared on a server less than Minecraft 1.13.2."); + System.out + .println("Please check the download page for the link to the legacy versions."); Bukkit.shutdown(); return; } @@ -152,7 +154,7 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain System.out.println("[P2] DOWNLOAD: https://papermc.io/downloads"); System.out.println("[P2] GUIDE: https://www.spigotmc.org/threads/21726/"); System.out.println("[P2] NOTE: This is only a recommendation"); - System.out.println("[P2] both Spigot and CraftBukkit are still supported."); + System.out.println("[P2] both Spigot and CraftBukkit are still supported (excluding titles)."); System.out .println("[P2] ==============================================================="); } @@ -705,12 +707,6 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain } @Override public UUIDHandlerImplementation initUUIDHandler() { - boolean checkVersion = false; - try { - OfflinePlayer.class.getDeclaredMethod("getUniqueId"); - checkVersion = true; - } catch (Throwable ignore) { - } final UUIDWrapper wrapper; if (Settings.UUID.OFFLINE) { if (Settings.UUID.FORCE_LOWERCASE) { @@ -719,23 +715,15 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain wrapper = new OfflineUUIDWrapper(); } Settings.UUID.OFFLINE = true; - } else if (checkVersion) { + } else { wrapper = new DefaultUUIDWrapper(); Settings.UUID.OFFLINE = false; - } else { - if (Settings.UUID.FORCE_LOWERCASE) { - wrapper = new LowerOfflineUUIDWrapper(); - } else { - wrapper = new OfflineUUIDWrapper(); - } - Settings.UUID.OFFLINE = true; } - if (!checkVersion) { + if (Bukkit.getVersion().contains("git-Spigot")) { PlotSquared.log(Captions.PREFIX - + " &c[WARN] Titles are disabled - please update your version of Bukkit to support this feature."); + + " &c[WARN] Titles are Paper only feature. Titles will be disabled."); Settings.TITLES = false; } else { - AbstractTitle.TITLE_CLASS = new DefaultTitle(); if (wrapper instanceof DefaultUUIDWrapper || wrapper.getClass() == OfflineUUIDWrapper.class && !Bukkit.getOnlineMode()) { Settings.UUID.NATIVE_UUID_PROVIDER = true; @@ -798,8 +786,14 @@ public final class BukkitMain extends JavaPlugin implements Listener, IPlotMain } @Override public AbstractTitle initTitleManager() { + if (Bukkit.getVersion().contains("git-Spigot")) { + PlotSquared.log(Captions.PREFIX + + " &c[WARN] Titles are Paper only feature. Titles will be disabled."); + Settings.TITLES = false; + return null; + } // Already initialized in UUID handler - return AbstractTitle.TITLE_CLASS; + return new DefaultTitle(); } @Override @Nullable public PlotPlayer wrapPlayer(final Object player) { diff --git a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/titles/DefaultTitle.java b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/titles/DefaultTitle.java index 626525ccf..0ec4a2c1f 100644 --- a/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/titles/DefaultTitle.java +++ b/Bukkit/src/main/java/com/github/intellectualsites/plotsquared/bukkit/titles/DefaultTitle.java @@ -3,17 +3,17 @@ package com.github.intellectualsites.plotsquared.bukkit.titles; import com.github.intellectualsites.plotsquared.bukkit.object.BukkitPlayer; import com.github.intellectualsites.plotsquared.plot.object.PlotPlayer; import com.github.intellectualsites.plotsquared.plot.util.AbstractTitle; +import org.bukkit.Bukkit; import org.bukkit.entity.Player; public class DefaultTitle extends AbstractTitle { @Override public void sendTitle(PlotPlayer player, String head, String sub, int in, int delay, int out) { - try { + //Titles are now a Paper Exclusive feature. + if (Bukkit.getVersion().contains("git-Paper")) { final Player playerObj = ((BukkitPlayer) player).player; - TitleManager_1_11 title = new TitleManager_1_11(head, sub, in, delay, out); - title.send(playerObj); - } catch (Throwable ignored) { + playerObj.sendTitle(head, sub, in, delay, out); } } } diff --git a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/config/Settings.java b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/config/Settings.java index 3c492583c..1743f1755 100644 --- a/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/config/Settings.java +++ b/Core/src/main/java/com/github/intellectualsites/plotsquared/plot/config/Settings.java @@ -27,9 +27,9 @@ public class Settings extends Config { @Final public static String PLATFORM; // These values are set from P2 before loading @Comment("Show additional information in console") public static boolean DEBUG = true; - @Comment({"The big annoying text that appears when you enter a plot", + @Comment({"[PAPER ONLY] The big annoying text that appears when you enter a plot", "For a single plot: `/plot flag set titles false`", "For just you: `/plot toggle titles`"}) - public static boolean TITLES = true; + public static boolean TITLES = false; @Create // This value will be generated automatically public static ConfigBlock AUTO_CLEAR = null;