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