diff --git a/UltimateTimber/Core/pom.xml b/UltimateTimber/Core/pom.xml index 1c3fd12..4d7a592 100644 --- a/UltimateTimber/Core/pom.xml +++ b/UltimateTimber/Core/pom.xml @@ -4,7 +4,7 @@ com.songoda UltimateTimber - 2.3.1 + 2.3.2 ../../pom.xml @@ -22,7 +22,7 @@ com.songoda SongodaCore - 2.6.11 + 2.6.12 compile diff --git a/UltimateTimber/Plugin/pom.xml b/UltimateTimber/Plugin/pom.xml index 45443f9..5e34fcc 100644 --- a/UltimateTimber/Plugin/pom.xml +++ b/UltimateTimber/Plugin/pom.xml @@ -4,7 +4,7 @@ com.songoda UltimateTimber - 2.3.1 + 2.3.2 ../../pom.xml diff --git a/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeDefinitionManager.java b/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeDefinitionManager.java index 121323d..8053f0f 100644 --- a/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeDefinitionManager.java +++ b/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeDefinitionManager.java @@ -4,8 +4,7 @@ import com.google.common.base.Strings; import com.songoda.core.compatibility.CompatibleMaterial; import com.songoda.core.compatibility.ServerVersion; import com.songoda.core.hooks.McMMOHook; -import com.songoda.core.nms.NmsManager; -import com.songoda.core.nms.nbt.NBTItem; +import com.songoda.core.third_party.de.tr7zw.nbtapi.NBTItem; import com.songoda.core.utils.TextUtils; import com.songoda.ultimatetimber.UltimateTimber; import com.songoda.ultimatetimber.tree.ITreeBlock; @@ -24,7 +23,11 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import java.util.*; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Random; +import java.util.Set; import java.util.stream.Collectors; public class TreeDefinitionManager extends Manager { @@ -232,9 +235,9 @@ public class TreeDefinitionManager extends Manager { item.setItemMeta(meta); // Apply NBT - NBTItem nbtItem = NmsManager.getNbt().of(item); - nbtItem.set(requiredAxeKey, true); - item = nbtItem.finish(); + NBTItem nbtItem = new NBTItem(item); + nbtItem.setBoolean(requiredAxeKey, true); + item = nbtItem.getItem(); this.requiredAxe = item; } @@ -264,6 +267,7 @@ public class TreeDefinitionManager extends Manager { * Gets a Set of possible TreeDefinitions that match the given Block * * @param block The Block to check + * * @return A Set of TreeDefinitions for the given Block */ public Set getTreeDefinitionsForLog(Block block) { @@ -276,6 +280,7 @@ public class TreeDefinitionManager extends Manager { * @param possibleTreeDefinitions The possible TreeDefinitions * @param block The Block to narrow to * @param treeBlockType The TreeBlockType of the given Block + * * @return A Set of TreeDefinitions narrowed down */ public Set narrowTreeDefinition(Set possibleTreeDefinitions, Block block, TreeBlockType treeBlockType) { @@ -310,6 +315,7 @@ public class TreeDefinitionManager extends Manager { * Checks if a given tool is valid for any tree definitions, also takes into account global tools * * @param tool The tool to check + * * @return True if the tool is allowed for toppling any trees */ public boolean isToolValidForAnyTreeDefinition(ItemStack tool) { @@ -318,8 +324,7 @@ public class TreeDefinitionManager extends Manager { for (TreeDefinition treeDefinition : this.treeDefinitions) { if (treeDefinition.isRequiredAxe() || isGlobalAxeRequired()) { - NBTItem nbtItem = NmsManager.getNbt().of(tool); - if (nbtItem.has(requiredAxeKey)) + if (new NBTItem(tool).hasKey(requiredAxeKey)) return true; } } @@ -341,6 +346,7 @@ public class TreeDefinitionManager extends Manager { * * @param treeDefinition The TreeDefinition to use * @param tool The tool to check + * * @return True if the tool is allowed for toppling the given TreeDefinition */ public boolean isToolValidForTreeDefinition(TreeDefinition treeDefinition, ItemStack tool) { @@ -350,8 +356,7 @@ public class TreeDefinitionManager extends Manager { // If the tree definition requires the custom axe, don't allow any other checks to pass. if (treeDefinition.isRequiredAxe() || isGlobalAxeRequired()) { - NBTItem nbtItem = NmsManager.getNbt().of(tool); - return nbtItem.has(requiredAxeKey); + return new NBTItem(tool).hasKey(requiredAxeKey); } for (ItemStack requiredTool : treeDefinition.getRequiredTools()) @@ -386,7 +391,7 @@ public class TreeDefinitionManager extends Manager { } else { if (ConfigurationManager.Setting.APPLY_SILK_TOUCH.getBoolean() && hasSilkTouch) { if (ConfigurationManager.Setting.HOOKS_APPLY_EXTRA_DROPS.getBoolean() - && McMMOHook.hasWoodcuttingDoubleDrops(player)) + && McMMOHook.hasWoodcuttingDoubleDrops(player)) lootedItems.addAll(BlockUtils.getBlockDrops(treeBlock)); lootedItems.addAll(BlockUtils.getBlockDrops(treeBlock)); } else { @@ -396,7 +401,7 @@ public class TreeDefinitionManager extends Manager { toTry.addAll(this.globalLogLoot); if (treeDefinition.shouldDropOriginalLog()) { if (ConfigurationManager.Setting.HOOKS_APPLY_EXTRA_DROPS.getBoolean() - && McMMOHook.hasWoodcuttingDoubleDrops(player)) + && McMMOHook.hasWoodcuttingDoubleDrops(player)) lootedItems.addAll(BlockUtils.getBlockDrops(treeBlock)); lootedItems.addAll(BlockUtils.getBlockDrops(treeBlock)); } @@ -406,7 +411,7 @@ public class TreeDefinitionManager extends Manager { toTry.addAll(this.globalLeafLoot); if (treeDefinition.shouldDropOriginalLeaf()) { if (ConfigurationManager.Setting.HOOKS_APPLY_EXTRA_DROPS.getBoolean() - && McMMOHook.hasWoodcuttingDoubleDrops(player)) + && McMMOHook.hasWoodcuttingDoubleDrops(player)) lootedItems.addAll(BlockUtils.getBlockDrops(treeBlock)); lootedItems.addAll(BlockUtils.getBlockDrops(treeBlock)); } @@ -425,14 +430,14 @@ public class TreeDefinitionManager extends Manager { if (treeLoot.hasItem()) { if (ConfigurationManager.Setting.HOOKS_APPLY_EXTRA_DROPS.getBoolean() - && McMMOHook.hasWoodcuttingDoubleDrops(player)) + && McMMOHook.hasWoodcuttingDoubleDrops(player)) lootedItems.add(treeLoot.getItem()); lootedItems.add(treeLoot.getItem()); } if (treeLoot.hasCommand()) { if (ConfigurationManager.Setting.HOOKS_APPLY_EXTRA_DROPS.getBoolean() - && McMMOHook.hasWoodcuttingDoubleDrops(player)) + && McMMOHook.hasWoodcuttingDoubleDrops(player)) lootedCommands.add(treeLoot.getCommand()); lootedCommands.add(treeLoot.getCommand()); } @@ -466,6 +471,7 @@ public class TreeDefinitionManager extends Manager { * Gets all possible plantable soil blocks for the given tree definition * * @param treeDefinition The TreeDefinition + * * @return A Set of IBlockData of plantable soil */ public Set getPlantableSoilMaterial(TreeDefinition treeDefinition) { @@ -480,6 +486,7 @@ public class TreeDefinitionManager extends Manager { * * @param treeBlockType The TreeBlockType to use * @param configurationSection The ConfigurationSection + * * @return A TreeLoot entry from the section */ private TreeLoot getTreeLootEntry(TreeBlockType treeBlockType, ConfigurationSection configurationSection) { diff --git a/pom.xml b/pom.xml index 3338076..fc9c724 100644 --- a/pom.xml +++ b/pom.xml @@ -3,9 +3,11 @@ com.songoda UltimateTimber - 2.3.1 + 2.3.2 pom + + UltimateTimber/Core UltimateTimber/Plugin