diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..d5bd7b3 Binary files /dev/null and b/.DS_Store differ diff --git a/UltimateTimber/.DS_Store b/UltimateTimber/.DS_Store new file mode 100644 index 0000000..8d3d051 Binary files /dev/null and b/UltimateTimber/.DS_Store differ diff --git a/UltimateTimber/Core/.DS_Store b/UltimateTimber/Core/.DS_Store new file mode 100644 index 0000000..df882a9 Binary files /dev/null and b/UltimateTimber/Core/.DS_Store differ diff --git a/UltimateTimber/Core/pom.xml b/UltimateTimber/Core/pom.xml index 33b317b..af0e119 100644 --- a/UltimateTimber/Core/pom.xml +++ b/UltimateTimber/Core/pom.xml @@ -3,7 +3,7 @@ com.songoda UltimateTimber - 2.2.4 + 2.2.5 ../../ diff --git a/UltimateTimber/Plugin/pom.xml b/UltimateTimber/Plugin/pom.xml index cd838a4..b7941d0 100644 --- a/UltimateTimber/Plugin/pom.xml +++ b/UltimateTimber/Plugin/pom.xml @@ -3,7 +3,7 @@ com.songoda UltimateTimber - 2.2.4 + 2.2.5 ../../ @@ -48,7 +48,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.1.0 + 3.3.0-SNAPSHOT shaded @@ -94,12 +94,17 @@ - + + + apache.snapshots + https://repository.apache.org/snapshots/ + + org.spigotmc spigot - 1.16.2 + 1.17 provided diff --git a/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeAnimationManager.java b/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeAnimationManager.java index 19cbcc7..10a6f4f 100644 --- a/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeAnimationManager.java +++ b/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeAnimationManager.java @@ -1,6 +1,7 @@ package com.songoda.ultimatetimber.manager; import com.songoda.core.compatibility.CompatibleMaterial; +import com.songoda.core.compatibility.ServerVersion; import com.songoda.ultimatetimber.UltimateTimber; import com.songoda.ultimatetimber.animation.TreeAnimation; import com.songoda.ultimatetimber.animation.TreeAnimationCrumble; @@ -58,12 +59,14 @@ public class TreeAnimationManager extends Manager implements Listener, Runnable Set> groundedBlocks = new HashSet<>(); for (ITreeBlock fallingTreeBlock : treeAnimation.getFallingTreeBlocks().getAllTreeBlocks()) { FallingBlock fallingBlock = fallingTreeBlock.getBlock(); - if (fallingBlock.isDead()) + if (fallingBlock.isDead() || ServerVersion.isServerVersionAtLeast(ServerVersion.V1_17) && fallingBlock.isOnGround()) groundedBlocks.add(fallingTreeBlock); } for (ITreeBlock fallingBlock : groundedBlocks) { this.runFallingBlockImpact(treeAnimation, fallingBlock); + if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_17)) + fallingBlock.getBlock().remove(); treeAnimation.getFallingTreeBlocks().remove(fallingBlock); } } diff --git a/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeFallManager.java b/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeFallManager.java index 804fbd9..7ceec43 100644 --- a/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeFallManager.java +++ b/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeFallManager.java @@ -5,6 +5,7 @@ import com.songoda.core.hooks.JobsHook; import com.songoda.core.hooks.LogManager; import com.songoda.core.hooks.McMMOHook; import com.songoda.core.utils.ItemUtils; +import com.songoda.core.world.SItemStack; import com.songoda.ultimatetimber.UltimateTimber; import com.songoda.ultimatetimber.events.TreeFallEvent; import com.songoda.ultimatetimber.events.TreeFellEvent; @@ -24,6 +25,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.inventory.ItemStack; +import java.util.Random; import java.util.stream.Collectors; public class TreeFallManager extends Manager implements Listener { @@ -115,7 +117,7 @@ public class TreeFallManager extends Manager implements Listener { if (!treeDefinitionManager.isToolValidForTreeDefinition(detectedTree.getTreeDefinition(), tool)) return; - int toolDamage = this.getToolDamage(detectedTree.getDetectedTreeBlocks(), tool.containsEnchantment(Enchantment.SILK_TOUCH)); + short toolDamage = this.getToolDamage(detectedTree.getDetectedTreeBlocks(), tool.containsEnchantment(Enchantment.SILK_TOUCH)); if (!ConfigurationManager.Setting.PROTECT_TOOL.getBoolean() && !ItemUtils.hasEnoughDurability(tool, toolDamage)) return; @@ -141,7 +143,7 @@ public class TreeFallManager extends Manager implements Listener { boolean isCreative = player.getGameMode().equals(GameMode.CREATIVE); if (!isCreative) - ItemUtils.addDamage(player, tool, toolDamage); + new SItemStack(tool).addDamage(player, toolDamage); if (ConfigurationManager.Setting.HOOKS_APPLY_EXPERIENCE.getBoolean()) { McMMOHook.addWoodcutting(player, detectedTree.getDetectedTreeBlocks().getAllTreeBlocks().stream() @@ -180,14 +182,14 @@ public class TreeFallManager extends Manager implements Listener { } } - private int getToolDamage(TreeBlockSet treeBlocks, boolean hasSilkTouch) { + private short getToolDamage(TreeBlockSet treeBlocks, boolean hasSilkTouch) { if (!ConfigurationManager.Setting.REALISTIC_TOOL_DAMAGE.getBoolean()) return 1; if (ConfigurationManager.Setting.APPLY_SILK_TOUCH_TOOL_DAMAGE.getBoolean() && hasSilkTouch) { - return treeBlocks.size(); + return (short) treeBlocks.size(); } else { - return treeBlocks.getLogBlocks().size(); + return (short) treeBlocks.getLogBlocks().size(); } } diff --git a/pom.xml b/pom.xml index 72ab0c4..b3aa9f1 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ com.songoda UltimateTimber - 2.2.4 + 2.2.5 4.0.0 pom