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.*: