From 8e361ff2c3846c065d079309df220752ad0cfb3c Mon Sep 17 00:00:00 2001 From: Brianna Date: Sat, 27 Jun 2020 21:12:13 -0500 Subject: [PATCH] Added support for 1.16 --- pom.xml | 2 +- .../ultimatestacker/UltimateStacker.java | 24 ++++----- .../commands/CommandConvert.java | 2 +- .../commands/CommandGiveSpawner.java | 2 +- .../commands/CommandLootables.java | 2 +- .../commands/CommandReload.java | 2 +- .../commands/CommandRemoveAll.java | 2 +- .../commands/CommandSettings.java | 7 +-- .../commands/CommandSpawn.java | 2 +- .../commands/CommandUltimateStacker.java | 54 ------------------- .../ultimatestacker/entity/EntityStack.java | 4 +- .../listeners/SpawnerListeners.java | 1 - .../lootables/LootablesManager.java | 47 +++++++++++----- src/main/resources/plugin.yml | 4 +- 14 files changed, 61 insertions(+), 94 deletions(-) delete mode 100644 src/main/java/com/songoda/ultimatestacker/commands/CommandUltimateStacker.java diff --git a/pom.xml b/pom.xml index 2c4415c..7fcdbb8 100644 --- a/pom.xml +++ b/pom.xml @@ -110,7 +110,7 @@ org.spigotmc spigot - 1.15 + 1.16.1 provided diff --git a/src/main/java/com/songoda/ultimatestacker/UltimateStacker.java b/src/main/java/com/songoda/ultimatestacker/UltimateStacker.java index 940edde..80ae3d2 100644 --- a/src/main/java/com/songoda/ultimatestacker/UltimateStacker.java +++ b/src/main/java/com/songoda/ultimatestacker/UltimateStacker.java @@ -13,8 +13,6 @@ import com.songoda.core.database.SQLiteConnector; import com.songoda.core.gui.GuiManager; import com.songoda.core.hooks.HologramManager; import com.songoda.core.hooks.WorldGuardHook; -import com.songoda.core.nms.NmsManager; -import com.songoda.core.nms.nbt.NBTItem; import com.songoda.core.utils.TextUtils; import com.songoda.ultimatestacker.commands.*; import com.songoda.ultimatestacker.database.DataManager; @@ -44,7 +42,6 @@ import org.bukkit.entity.EntityType; import org.bukkit.entity.Item; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.plugin.PluginManager; @@ -108,14 +105,15 @@ public class UltimateStacker extends SongodaPlugin { // Setup plugin commands this.commandManager = new CommandManager(this); - this.commandManager.addCommand(new CommandUltimateStacker()) - .addSubCommand(new CommandSettings(guiManager)) - .addSubCommand(new CommandRemoveAll()) - .addSubCommand(new CommandReload()) - .addSubCommand(new CommandGiveSpawner()) - .addSubCommand(new CommandSpawn()) - .addSubCommand(new CommandLootables()) - .addSubCommand(new CommandConvert(guiManager)); + this.commandManager.addMainCommand("us") + .addSubCommands(new CommandSettings(guiManager), + new CommandRemoveAll(), + new CommandReload(), + new CommandGiveSpawner(), + new CommandSpawn(), + new CommandLootables(), + new CommandConvert(guiManager) + ); this.entityUtils = new EntityUtils(); @@ -381,7 +379,7 @@ public class UltimateStacker extends SongodaPlugin { /** * Change the stacked amount for this item * - * @param item item entity to update + * @param item item entity to update * @param itemStack ItemStack that will represent this item * @param newAmount number of items this item represents */ @@ -400,7 +398,7 @@ public class UltimateStacker extends SongodaPlugin { } // If amount is 0, Minecraft change the type to AIR if (itemStack.getType() == Material.AIR) - return; + return; item.setItemStack(itemStack); if ((blacklisted && !Settings.ITEM_HOLOGRAM_BLACKLIST.getBoolean()) diff --git a/src/main/java/com/songoda/ultimatestacker/commands/CommandConvert.java b/src/main/java/com/songoda/ultimatestacker/commands/CommandConvert.java index 81fccc9..9e7b13f 100644 --- a/src/main/java/com/songoda/ultimatestacker/commands/CommandConvert.java +++ b/src/main/java/com/songoda/ultimatestacker/commands/CommandConvert.java @@ -46,7 +46,7 @@ public class CommandConvert extends AbstractCommand { @Override public String getSyntax() { - return "/us convert"; + return "convert"; } @Override diff --git a/src/main/java/com/songoda/ultimatestacker/commands/CommandGiveSpawner.java b/src/main/java/com/songoda/ultimatestacker/commands/CommandGiveSpawner.java index 47bb297..400bbd2 100644 --- a/src/main/java/com/songoda/ultimatestacker/commands/CommandGiveSpawner.java +++ b/src/main/java/com/songoda/ultimatestacker/commands/CommandGiveSpawner.java @@ -95,7 +95,7 @@ public class CommandGiveSpawner extends AbstractCommand { @Override public String getSyntax() { - return "/us givespawner [size]"; + return "givespawner [size]"; } @Override diff --git a/src/main/java/com/songoda/ultimatestacker/commands/CommandLootables.java b/src/main/java/com/songoda/ultimatestacker/commands/CommandLootables.java index 7d1650e..e8a6992 100644 --- a/src/main/java/com/songoda/ultimatestacker/commands/CommandLootables.java +++ b/src/main/java/com/songoda/ultimatestacker/commands/CommandLootables.java @@ -44,7 +44,7 @@ public class CommandLootables extends AbstractCommand { @Override public String getSyntax() { - return "/us lootables"; + return "lootables"; } @Override diff --git a/src/main/java/com/songoda/ultimatestacker/commands/CommandReload.java b/src/main/java/com/songoda/ultimatestacker/commands/CommandReload.java index 21f4e27..1f6a7d3 100644 --- a/src/main/java/com/songoda/ultimatestacker/commands/CommandReload.java +++ b/src/main/java/com/songoda/ultimatestacker/commands/CommandReload.java @@ -34,7 +34,7 @@ public class CommandReload extends AbstractCommand { @Override public String getSyntax() { - return "/us reload"; + return "reload"; } @Override diff --git a/src/main/java/com/songoda/ultimatestacker/commands/CommandRemoveAll.java b/src/main/java/com/songoda/ultimatestacker/commands/CommandRemoveAll.java index 9628c38..b2cece3 100644 --- a/src/main/java/com/songoda/ultimatestacker/commands/CommandRemoveAll.java +++ b/src/main/java/com/songoda/ultimatestacker/commands/CommandRemoveAll.java @@ -85,7 +85,7 @@ public class CommandRemoveAll extends AbstractCommand { @Override public String getSyntax() { - return "/us removeall [all]"; + return "removeall [all]"; } @Override diff --git a/src/main/java/com/songoda/ultimatestacker/commands/CommandSettings.java b/src/main/java/com/songoda/ultimatestacker/commands/CommandSettings.java index 99bab0e..58156e5 100644 --- a/src/main/java/com/songoda/ultimatestacker/commands/CommandSettings.java +++ b/src/main/java/com/songoda/ultimatestacker/commands/CommandSettings.java @@ -7,6 +7,7 @@ import com.songoda.ultimatestacker.UltimateStacker; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import java.util.Collections; import java.util.List; public class CommandSettings extends AbstractCommand { @@ -15,7 +16,7 @@ public class CommandSettings extends AbstractCommand { GuiManager guiManager; public CommandSettings(GuiManager guiManager) { - super(true, "Settings"); + super(CommandType.PLAYER_ONLY, "Settings"); this.guiManager = guiManager; instance = UltimateStacker.getInstance(); } @@ -28,7 +29,7 @@ public class CommandSettings extends AbstractCommand { @Override protected List onTab(CommandSender sender, String... args) { - return null; + return Collections.emptyList(); } @Override @@ -38,7 +39,7 @@ public class CommandSettings extends AbstractCommand { @Override public String getSyntax() { - return "/us settings"; + return "settings"; } @Override diff --git a/src/main/java/com/songoda/ultimatestacker/commands/CommandSpawn.java b/src/main/java/com/songoda/ultimatestacker/commands/CommandSpawn.java index fc84581..3967f61 100644 --- a/src/main/java/com/songoda/ultimatestacker/commands/CommandSpawn.java +++ b/src/main/java/com/songoda/ultimatestacker/commands/CommandSpawn.java @@ -79,7 +79,7 @@ public class CommandSpawn extends AbstractCommand { @Override public String getSyntax() { - return "/us spawn "; + return "spawn "; } @Override diff --git a/src/main/java/com/songoda/ultimatestacker/commands/CommandUltimateStacker.java b/src/main/java/com/songoda/ultimatestacker/commands/CommandUltimateStacker.java deleted file mode 100644 index b755d1b..0000000 --- a/src/main/java/com/songoda/ultimatestacker/commands/CommandUltimateStacker.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.songoda.ultimatestacker.commands; - -import com.songoda.core.commands.AbstractCommand; -import com.songoda.ultimatestacker.UltimateStacker; -import com.songoda.ultimatestacker.utils.Methods; -import org.bukkit.command.CommandSender; - -import java.util.List; - -public class CommandUltimateStacker extends AbstractCommand { - - UltimateStacker instance; - - public CommandUltimateStacker() { - super(false, "UltimateStacker"); - instance = UltimateStacker.getInstance(); - } - - @Override - protected ReturnType runCommand(CommandSender sender, String... args) { - sender.sendMessage(""); - instance.getLocale().newMessage("&7Version " + instance.getDescription().getVersion() - + " Created with <3 by &5&l&oSongoda").sendPrefixedMessage(sender); - - for (AbstractCommand command : instance.getCommandManager().getAllCommands()) { - if (command.getPermissionNode() == null || sender.hasPermission(command.getPermissionNode())) { - sender.sendMessage(Methods.formatText("&8 - &a" + command.getSyntax() + "&7 - " + command.getDescription())); - } - } - sender.sendMessage(""); - - return ReturnType.SUCCESS; - } - - @Override - protected List onTab(CommandSender cs, String... strings) { - return null; - } - - @Override - public String getPermissionNode() { - return null; - } - - @Override - public String getSyntax() { - return "/UltimateStacker"; - } - - @Override - public String getDescription() { - return "Displays this page."; - } -} diff --git a/src/main/java/com/songoda/ultimatestacker/entity/EntityStack.java b/src/main/java/com/songoda/ultimatestacker/entity/EntityStack.java index d6e3690..460c879 100644 --- a/src/main/java/com/songoda/ultimatestacker/entity/EntityStack.java +++ b/src/main/java/com/songoda/ultimatestacker/entity/EntityStack.java @@ -151,9 +151,11 @@ public class EntityStack { newEntity.getEquipment().clear(); - if (killed.getType() == EntityType.PIG_ZOMBIE) + if (killed.getType().name().equals("PIG_ZOMBIE")) newEntity.getEquipment().setItemInHand(CompatibleMaterial.GOLDEN_SWORD.getItem()); + + if (Settings.CARRY_OVER_METADATA_ON_DEATH.getBoolean()) { for (Map.Entry entry : getMetadata(killed).entrySet()) newEntity.setMetadata(entry.getKey(), entry.getValue()); diff --git a/src/main/java/com/songoda/ultimatestacker/listeners/SpawnerListeners.java b/src/main/java/com/songoda/ultimatestacker/listeners/SpawnerListeners.java index 5404272..b65c782 100644 --- a/src/main/java/com/songoda/ultimatestacker/listeners/SpawnerListeners.java +++ b/src/main/java/com/songoda/ultimatestacker/listeners/SpawnerListeners.java @@ -1,6 +1,5 @@ package com.songoda.ultimatestacker.listeners; -import com.gmail.filoghost.holographicdisplays.nms.interfaces.NMSManager; import com.songoda.core.compatibility.ServerVersion; import com.songoda.core.nms.NmsManager; import com.songoda.ultimatestacker.UltimateStacker; diff --git a/src/main/java/com/songoda/ultimatestacker/lootables/LootablesManager.java b/src/main/java/com/songoda/ultimatestacker/lootables/LootablesManager.java index cd4a966..94fcb42 100644 --- a/src/main/java/com/songoda/ultimatestacker/lootables/LootablesManager.java +++ b/src/main/java/com/songoda/ultimatestacker/lootables/LootablesManager.java @@ -681,19 +681,40 @@ public class LootablesManager { .setMax(2).build())); // Add Zombie Pigman - lootManager.addLootable(new Lootable("PIG_ZOMBIE", - new LootBuilder() - .setMaterial(CompatibleMaterial.ROTTEN_FLESH) - .setMin(0) - .setMax(1).build(), - new LootBuilder() - .setMaterial(CompatibleMaterial.GOLD_NUGGET) - .setMin(0) - .setMax(1).build(), - new LootBuilder() - .setMaterial(CompatibleMaterial.GOLD_INGOT) - .setChance(2.5) - .addOnlyDropFors(EntityType.PLAYER).build())); + if (ServerVersion.isServerVersionBelow(ServerVersion.V1_16)) + lootManager.addLootable(new Lootable("PIG_ZOMBIE", + new LootBuilder() + .setMaterial(CompatibleMaterial.ROTTEN_FLESH) + .setMin(0) + .setMax(1).build(), + new LootBuilder() + .setMaterial(CompatibleMaterial.GOLD_NUGGET) + .setMin(0) + .setMax(1).build(), + new LootBuilder() + .setMaterial(CompatibleMaterial.GOLD_INGOT) + .setChance(2.5) + .addOnlyDropFors(EntityType.PLAYER).build())); + else { + // Add Strider + lootManager.addLootable(new Lootable("STRIDER", + new LootBuilder() + .setMaterial(CompatibleMaterial.PORKCHOP) + .setBurnedMaterial(CompatibleMaterial.COOKED_PORKCHOP) + .setMin(2) + .setMax(4).build(), + new LootBuilder() + .setMaterial(CompatibleMaterial.LEATHER) + .setMin(0) + .setMax(2).build())); + + // Add Hoglin + lootManager.addLootable(new Lootable("HOGLIN", + new LootBuilder() + .setMaterial(CompatibleMaterial.STRING) + .setMin(0) + .setMax(5).build())); + } // Add Wither. lootManager.addLootable(new Lootable("WITHER", diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 70b5228..a44770a 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -7,10 +7,10 @@ main: com.songoda.ultimatestacker.UltimateStacker author: songoda api-version: 1.13 commands: - UltimateStacker: + us: description: Reloads the configuration file default: true - aliases: [us] + aliases: [UltimateStacker] usage: /ultimatestacker reload permissions: ultimatestacker.*: