diff --git a/advanced-achievements-plugin/pom.xml b/advanced-achievements-plugin/pom.xml
index 6777588b4..72d5074e8 100644
--- a/advanced-achievements-plugin/pom.xml
+++ b/advanced-achievements-plugin/pom.xml
@@ -138,10 +138,6 @@
me.clip
placeholderapi
-
- com.github.shadowjonathan
- ParticleEffect
-
org.postgresql
postgresql
diff --git a/advanced-achievements-plugin/src/main/java/com/hm/achievement/advancement/AdvancementManager.java b/advanced-achievements-plugin/src/main/java/com/hm/achievement/advancement/AdvancementManager.java
index aba9b30df..312bc18a8 100644
--- a/advanced-achievements-plugin/src/main/java/com/hm/achievement/advancement/AdvancementManager.java
+++ b/advanced-achievements-plugin/src/main/java/com/hm/achievement/advancement/AdvancementManager.java
@@ -18,7 +18,6 @@
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.inventory.ItemStack;
-import com.darkblade12.particleeffect.ReflectionUtils.PackageType;
import com.hm.achievement.AdvancedAchievements;
import com.hm.achievement.advancement.AchievementAdvancement.AchievementAdvancementBuilder;
import com.hm.achievement.category.Category;
@@ -31,7 +30,7 @@
import com.hm.achievement.utils.StringHelper;
/**
- * Class in charge of registering achievements as advancements for servers running on Minecraft 1.12+.
+ * Class in charge of registering achievements as advancements.
*
* @author Pyves
*/
@@ -43,25 +42,12 @@ public class AdvancementManager implements Reloadable {
private static final String MINECRAFT_BOOK_KEY = "minecraft:book";
// Pattern to produce keys for advancements.
private static final Pattern REGEX_PATTERN_KEYS = Pattern.compile("[^A-Za-z0-9_]");
- // Strings related to Reflection.
- private static final String PACKAGE_INVENTORY = "inventory";
- private static final String CLASS_CRAFT_ITEM_STACK = "CraftItemStack";
- private static final String CLASS_ITEM = "Item";
- private static final String CLASS_ITEM_STACK = "ItemStack";
- private static final String CLASS_REGISTRY_MATERIALS = "RegistryMaterials";
- private static final String CLASS_MINECRAFT_KEY = "MinecraftKey";
- private static final String FIELD_REGISTRY = "REGISTRY";
- private static final String METHOD_AS_NMS_COPY = "asNMSCopy";
- private static final String METHOD_GET_ITEM = "getItem";
- private static final String METHOD_GET_KEY = "getKey";
- private static final String METHOD_B = "b";
private final YamlConfiguration mainConfig;
private final GUIItems guiItems;
private final AdvancedAchievements advancedAchievements;
private final Logger logger;
private final Set disabledCategories;
- private final int serverVersion;
private final AchievementMap achievementMap;
private boolean configRegisterAdvancementDescriptions;
@@ -72,13 +58,12 @@ public class AdvancementManager implements Reloadable {
@Inject
public AdvancementManager(@Named("main") YamlConfiguration mainConfig, GUIItems guiItems, AchievementMap achievementMap,
- AdvancedAchievements advancedAchievements, Logger logger, Set disabledCategories, int serverVersion) {
+ AdvancedAchievements advancedAchievements, Logger logger, Set disabledCategories) {
this.mainConfig = mainConfig;
this.guiItems = guiItems;
this.advancedAchievements = advancedAchievements;
this.logger = logger;
this.disabledCategories = disabledCategories;
- this.serverVersion = serverVersion;
this.achievementMap = achievementMap;
}
@@ -110,9 +95,6 @@ public void registerAdvancements() {
*/
private String parseBackgroundTexture() {
String configTexture = mainConfig.getString("AdvancementsBackground");
- if (serverVersion == 12) {
- return StringUtils.replace(configTexture, "/item/", "/items/");
- }
return StringUtils.replaceEach(configTexture, new String[] { "/items/", "book_enchanted.png" },
new String[] { "/item/", "enchanted_book.png" });
}
@@ -151,9 +133,6 @@ private void registerParentAdvancement() {
.description("")
.background(configBackgroundTexture)
.type(AdvancementType.GOAL);
- if (serverVersion == 12) {
- builder.iconData("0");
- }
Bukkit.getUnsafe().loadAdvancement(namespacedKey, AdvancementJsonHelper.toJson(builder.build()));
}
}
@@ -206,42 +185,13 @@ private String registerAdvancement(ItemStack item, Achievement achievement, Stri
}
AchievementAdvancementBuilder builder = new AchievementAdvancementBuilder()
- .iconItem(serverVersion == 12 ? getInternalName(item) : item.getType().name().toLowerCase())
+ .iconItem(item.getType().name().toLowerCase())
.title(displayName)
.description(description)
.parent("advancedachievements:" + parentKey)
.type(lastAchievement ? AdvancementType.CHALLENGE : AdvancementType.TASK);
- if (serverVersion == 12) {
- builder.iconData(Short.toString(item.getDurability()));
- }
Bukkit.getUnsafe().loadAdvancement(namespacedKey, AdvancementJsonHelper.toJson(builder.build()));
++generatedAdvancements;
return achKey;
}
-
- /**
- * Gets the internal item used by Vanilla Minecraft. These are the only names supported by advancements. Material
- * and internal names can differ quite significantly (for instance: book_and_quill vs. writable_book).
- *
- * @param item
- * @return the internal Minecraft name, prefixed with "minecraft:"
- */
- private String getInternalName(ItemStack item) {
- try {
- Object nmsItemStack = PackageType.CRAFTBUKKIT.getClass(PACKAGE_INVENTORY + "." + CLASS_CRAFT_ITEM_STACK)
- .getMethod(METHOD_AS_NMS_COPY, ItemStack.class).invoke(null, item);
- Object nmsItem = PackageType.MINECRAFT_SERVER.getClass(CLASS_ITEM_STACK).getMethod(METHOD_GET_ITEM)
- .invoke(nmsItemStack);
- Object registry = PackageType.MINECRAFT_SERVER.getClass(CLASS_ITEM).getField(FIELD_REGISTRY).get(null);
- Object minecraftKey = PackageType.MINECRAFT_SERVER.getClass(CLASS_REGISTRY_MATERIALS)
- .getMethod(METHOD_B, Object.class).invoke(registry, nmsItem);
- return "minecraft:" + PackageType.MINECRAFT_SERVER.getClass(CLASS_MINECRAFT_KEY).getMethod(METHOD_GET_KEY)
- .invoke(minecraftKey);
- } catch (Exception e) {
- logger.warning("Failed to get internal " + item.getType().name().toLowerCase() + " name for advancement icon. "
- + "Using book instead.");
- return MINECRAFT_BOOK_KEY;
- }
- }
-
}
diff --git a/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/completer/CommandTabCompleter.java b/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/completer/CommandTabCompleter.java
index 7eb89559d..27c089b33 100644
--- a/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/completer/CommandTabCompleter.java
+++ b/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/completer/CommandTabCompleter.java
@@ -19,9 +19,7 @@
import com.hm.achievement.command.executable.CommandSpec;
import com.hm.achievement.command.executable.DeleteCommand;
import com.hm.achievement.command.executable.EasterEggCommand;
-import com.hm.achievement.command.executable.GenerateCommand;
import com.hm.achievement.command.executable.ResetCommand;
-import com.hm.achievement.command.executable.Upgrade13Command;
import com.hm.achievement.config.AchievementMap;
/**
@@ -32,19 +30,14 @@
*/
public class CommandTabCompleter implements TabCompleter {
- private static final int MAX_LIST_LENGTH = 50;
-
private final AchievementMap achievementMap;
private final Set commandSpecs;
- private final int serverVersion;
@Inject
- public CommandTabCompleter(AchievementMap achievementMap, Set commands, int serverVersion) {
+ public CommandTabCompleter(AchievementMap achievementMap, Set commands) {
this.achievementMap = achievementMap;
- this.serverVersion = serverVersion;
this.commandSpecs = commands.stream()
- .filter(c -> !(c instanceof EasterEggCommand || c instanceof Upgrade13Command
- || serverVersion < 12 && c instanceof GenerateCommand))
+ .filter(c -> !(c instanceof EasterEggCommand))
.map(c -> c.getClass().getAnnotation(CommandSpec.class))
.collect(Collectors.toSet());
}
@@ -83,7 +76,7 @@ public List onTabComplete(CommandSender sender, Command command, String
/**
* Returns a partial list based on the input set. Members of the returned list must start with what the player has
- * types so far. The list also has a limited length prior to Minecraft 1.13 to avoid filling the player's screen.
+ * types so far.
*
* @param options
* @param prefix
@@ -94,18 +87,11 @@ private List getPartialList(Collection options, String prefix) {
// Replace spaces with an Open Box character to prevent completing wrong word. Prevented Behaviour:
// T -> Tamer -> Teleport Man -> Teleport The Avener -> Teleport The The Smelter
// Sort matching elements by alphabetical order.
- List allOptions = options.stream()
+ return options.stream()
.filter(s1 -> s1.toLowerCase().startsWith(prefix.toLowerCase()))
.map(s -> s.replace(' ', '\u2423'))
.sorted()
.collect(Collectors.toList());
-
- if (serverVersion < 13 && allOptions.size() > MAX_LIST_LENGTH) {
- allOptions = allOptions.subList(0, MAX_LIST_LENGTH - 1);
- // Suspension points to show that list was truncated.
- allOptions.add("\u2022\u2022\u2022");
- }
- return allOptions;
}
private boolean shouldReturnPlayerList(Command command, String[] args) {
diff --git a/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/executable/AbstractRankingCommand.java b/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/executable/AbstractRankingCommand.java
index 6d8a551ce..8762dcb2f 100644
--- a/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/executable/AbstractRankingCommand.java
+++ b/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/executable/AbstractRankingCommand.java
@@ -16,7 +16,6 @@
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
-import com.darkblade12.particleeffect.ParticleEffect;
import com.hm.achievement.command.pagination.CommandPagination;
import com.hm.achievement.db.AbstractDatabaseManager;
import com.hm.achievement.utils.SoundPlayer;
@@ -37,7 +36,6 @@ public abstract class AbstractRankingCommand extends AbstractCommand {
private static final int PER_PAGE = 16;
private final Logger logger;
- private final int serverVersion;
private final String languageKey;
private final AbstractDatabaseManager databaseManager;
private final SoundPlayer soundPlayer;
@@ -56,11 +54,9 @@ public abstract class AbstractRankingCommand extends AbstractCommand {
private long lastCacheUpdate = 0L;
AbstractRankingCommand(YamlConfiguration mainConfig, YamlConfiguration langConfig, StringBuilder pluginHeader,
- Logger logger, int serverVersion, String languageKey, AbstractDatabaseManager databaseManager,
- SoundPlayer soundPlayer) {
+ Logger logger, String languageKey, AbstractDatabaseManager databaseManager, SoundPlayer soundPlayer) {
super(mainConfig, langConfig, pluginHeader);
this.logger = logger;
- this.serverVersion = serverVersion;
this.languageKey = languageKey;
this.databaseManager = databaseManager;
this.soundPlayer = soundPlayer;
@@ -181,16 +177,11 @@ private String getRankingSymbol(int rank) {
*/
private void launchEffects(Player player) {
if (configAdditionalEffects) {
- if (serverVersion >= 9) {
- player.spawnParticle(Particle.PORTAL, player.getLocation(), 100, 0, 1, 0, 0.5f);
- } else {
- ParticleEffect.PORTAL.display(0, 1, 0, 0.5f, 1000, player.getLocation(), 1);
- }
+ player.spawnParticle(Particle.PORTAL, player.getLocation(), 100, 0, 1, 0, 0.5f);
}
if (configSound) {
- soundPlayer.play(player, configSoundRanking, "ENTITY_FIREWORK_ROCKET_BLAST", "ENTITY_FIREWORK_LARGE_BLAST",
- "FIREWORK_BLAST");
+ soundPlayer.play(player, configSoundRanking, "ENTITY_FIREWORK_ROCKET_BLAST");
}
}
}
diff --git a/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/executable/BookCommand.java b/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/executable/BookCommand.java
index 1f9c0a10d..a72682a2c 100644
--- a/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/executable/BookCommand.java
+++ b/advanced-achievements-plugin/src/main/java/com/hm/achievement/command/executable/BookCommand.java
@@ -15,6 +15,7 @@
import javax.inject.Singleton;
import org.apache.commons.lang3.StringUtils;
+import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Particle;
import org.bukkit.command.CommandSender;
@@ -23,8 +24,6 @@
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BookMeta;
-import com.darkblade12.particleeffect.ParticleEffect;
-import com.darkblade12.particleeffect.ReflectionUtils.PackageType;
import com.hm.achievement.config.AchievementMap;
import com.hm.achievement.db.AbstractDatabaseManager;
import com.hm.achievement.db.data.AwardedDBAchievement;
@@ -126,16 +125,12 @@ void onExecute(CommandSender sender, String[] args) {
}
// Play special particle effect when receiving the book.
if (configAdditionalEffects) {
- if (serverVersion >= 9) {
- player.spawnParticle(Particle.ENCHANTMENT_TABLE, player.getLocation(), 1000, 0, 2, 0, 1);
- } else {
- ParticleEffect.ENCHANTMENT_TABLE.display(0, 2, 0, 1, 1000, player.getLocation(), 100);
- }
+ player.spawnParticle(Particle.ENCHANTMENT_TABLE, player.getLocation(), 1000, 0, 2, 0, 1);
}
// Play special sound when receiving the book.
if (configSound) {
- soundPlayer.play(player, configSoundBook, "ENTITY_PLAYER_LEVELUP", "ENTITY_PLAYER_LEVELUP", "LEVEL_UP");
+ soundPlayer.play(player, configSoundBook, "ENTITY_PLAYER_LEVELUP");
}
fillBook(playerAchievementsList, player);
@@ -214,15 +209,17 @@ private boolean isInCooldownPeriod(Player player) {
*/
@SuppressWarnings("unchecked")
private void setBookPages(List bookPages, BookMeta bookMeta) {
- if (serverVersion >= 11 && serverVersion <= 15) {
+ if (serverVersion <= 15) {
try {
// Code we're trying to execute: this.pages.add(CraftChatMessage.fromString(page, true)[0]); in
// CraftMetaBook.java.
- Class> craftMetaBookClass = PackageType.CRAFTBUKKIT
- .getClass(PACKAGE_INVENTORY + "." + CLASS_CRAFT_META_BOOK);
+ String versionIdentifier = Bukkit.getServer().getClass().getPackage().getName().substring(23);
+ Class> craftMetaBookClass = Class.forName("org.bukkit.craftbukkit." + versionIdentifier + "."
+ + PACKAGE_INVENTORY + "." + CLASS_CRAFT_META_BOOK);
List
-
- com.github.shadowjonathan
- ParticleEffect
- 1.7.1
-
org.postgresql
postgresql