From daa4e8dcc2bb7cde1efdea7e819eaf919f71b41e Mon Sep 17 00:00:00 2001 From: underscore11code Date: Mon, 26 Apr 2021 20:01:28 -0700 Subject: [PATCH 1/4] Respect Unbreaking --- .../ultimatetimber/manager/TreeFallManager.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeFallManager.java b/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeFallManager.java index 804fbd9..eabf82a 100644 --- a/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeFallManager.java +++ b/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeFallManager.java @@ -24,6 +24,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 { @@ -140,8 +141,10 @@ public class TreeFallManager extends Manager implements Listener { boolean isCreative = player.getGameMode().equals(GameMode.CREATIVE); - if (!isCreative) - ItemUtils.addDamage(player, tool, toolDamage); + if (!isCreative) { + if (!applyUnbreaking(tool.getEnchantmentLevel(Enchantment.DURABILITY))) + ItemUtils.addDamage(player, tool, toolDamage); + } if (ConfigurationManager.Setting.HOOKS_APPLY_EXPERIENCE.getBoolean()) { McMMOHook.addWoodcutting(player, detectedTree.getDetectedTreeBlocks().getAllTreeBlocks().stream() @@ -191,4 +194,9 @@ public class TreeFallManager extends Manager implements Listener { } } + private boolean applyUnbreaking(int levels) { + if (levels == 0) return false; + return new Random().nextInt(levels + 1) > 0; + } + } From 49c9a1a42ed23a4f59bff4525dcf1648e6524b60 Mon Sep 17 00:00:00 2001 From: Brianna Date: Sun, 13 Jun 2021 17:25:46 -0500 Subject: [PATCH 2/4] Fix for unbreaking. --- .../manager/TreeFallManager.java | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeFallManager.java b/UltimateTimber/Plugin/src/com/songoda/ultimatetimber/manager/TreeFallManager.java index eabf82a..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; @@ -116,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,10 +142,8 @@ public class TreeFallManager extends Manager implements Listener { boolean isCreative = player.getGameMode().equals(GameMode.CREATIVE); - if (!isCreative) { - if (!applyUnbreaking(tool.getEnchantmentLevel(Enchantment.DURABILITY))) - ItemUtils.addDamage(player, tool, toolDamage); - } + if (!isCreative) + new SItemStack(tool).addDamage(player, toolDamage); if (ConfigurationManager.Setting.HOOKS_APPLY_EXPERIENCE.getBoolean()) { McMMOHook.addWoodcutting(player, detectedTree.getDetectedTreeBlocks().getAllTreeBlocks().stream() @@ -183,20 +182,15 @@ 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(); } } - private boolean applyUnbreaking(int levels) { - if (levels == 0) return false; - return new Random().nextInt(levels + 1) > 0; - } - } From 3e1fa6f9376768f3653013eb0ad2771b099a0186 Mon Sep 17 00:00:00 2001 From: Brianna Date: Tue, 15 Jun 2021 18:03:30 -0500 Subject: [PATCH 3/4] 1.17 support. d --- UltimateTimber/Plugin/pom.xml | 11 ++++++++--- .../ultimatetimber/manager/TreeAnimationManager.java | 5 ++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/UltimateTimber/Plugin/pom.xml b/UltimateTimber/Plugin/pom.xml index cd838a4..902e8c1 100644 --- a/UltimateTimber/Plugin/pom.xml +++ b/UltimateTimber/Plugin/pom.xml @@ -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); } } From c94ec4c055507458ba752fba3066089b511ef078 Mon Sep 17 00:00:00 2001 From: Brianna Date: Wed, 16 Jun 2021 00:29:59 -0500 Subject: [PATCH 4/4] version 2.2.5 s --- .DS_Store | Bin 0 -> 6148 bytes UltimateTimber/.DS_Store | Bin 0 -> 6148 bytes UltimateTimber/Core/.DS_Store | Bin 0 -> 6148 bytes UltimateTimber/Core/pom.xml | 2 +- UltimateTimber/Plugin/pom.xml | 2 +- pom.xml | 2 +- 6 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 .DS_Store create mode 100644 UltimateTimber/.DS_Store create mode 100644 UltimateTimber/Core/.DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d5bd7b3f5b61b5f73702444c3bea72b462949588 GIT binary patch literal 6148 zcmeHK!EO^V5FNLnb%KBhA%T#PeBl;VS(XDFkhW=ah=dT*7B~QEcS%H7+ODHy(*Pl8 z?|cIM10TW%@Hz0tHdWI=BrXV1k2Lef_KYn*ukAGviO!@S5H*QNLK$lfm|qCDvo6V+ ztJwew)5jxev2<64|IC(#3&wyuOB?EjuC@5p(u(D{54jA(U0M<}#1U~;XaE@{qIjk(A z1tM%J(54Fa#1J+e^~%LX4l9c`orHUQ2sg5DFBD-$NB_!%lZY&O>lyG2EHbcei%q`& zyT5<`FDChtXTUS?UojwRyYX%ZQ*w9f(&YHARnP+{3&&L!O$v;=j*Y`t@eQaEv?+Fg Vk;BR&Y9Rhcz|i20XW*|g@B{6ZkqZC- literal 0 HcmV?d00001 diff --git a/UltimateTimber/.DS_Store b/UltimateTimber/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..8d3d05183018a3169dfb820925015fcbc14dbadd GIT binary patch literal 6148 zcmeH~-)_?|6vmIY(4|3$ULXy)$_;k~CCkv*1ybn7#qK5r!3Cf#q16^C#8aD6K`6>| z0Pnzizyt6&@EzM!YrEZ674nhn&wtKw;$LJtCL+-r_d}u%5xGdLj)&|D<9<#{wqaUY zP{Csy74ltH$P9HJ(3&M+39L5(Ub_w*kfb3E7S``G^ga5cOig0umrX_&W}W}aE{c3q z1;KBzvFY4sZMm-Jdbhl{$+?^)Ra%Wly>$4RYsYDIo|*CsDT`S-&0gk%$w}wVfh?;u zF9$;voc9NCdGjhS`*PBgxaAHwCmSl6op;?Nfb?| zZFl=Y`1I)X{l`!B=joSk`b!9GRmyG~{U_g1m`(9RGAs*Oo}rEXTXakXjp>YXDi<*Q zK>uY-bH0~Q{k#H|w<=U^pt@Jrdyj*z|8O^8Qu{l5pcaI|5~;745$sx0Omc3P3$#?U z&DNcOSqSdUb$?O&ewKhGuyO*tKln(jvC&4W+B%S_D*)6%voe&`uRql1254-w(TWzB z(4kNrD$Er_n45#p;pmTzf1_20lTc5_IOfU1+)#wMcnDv)lZdt2+!C+^<_T=-YKPDN z=hxr==Ywp`60ijRD+0nfOb&aPk~v$KCdX&3k93N}#(s@f6@tth$Ev_b@m(Zk=<~S% Vjg2;1(E_tS0t$o8EP<60_zR7-t9JkZ literal 0 HcmV?d00001 diff --git a/UltimateTimber/Core/.DS_Store b/UltimateTimber/Core/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..df882a9d3c60c30db8124e3b7929b8410cedd1ff GIT binary patch literal 6148 zcmeHK&2G~`5S~p!x=Dq|p%PUkq`h#9s<`F=2PBi0LvKh%aDb|{o2a$qc%#@Mg*27# zeFXXrJO~fKBd_&yLqiM65gRc|--1=PLcv`dmk)TbNwFHU8QG4)`)f^YxShKOj5hTspt zKAYd|8|-gO>?-A$`&c~_zgg_b601%HMc|#_R}@R!%fE5sNj|jmevgM~k{6xM4_2wx z9@N)3Z}R5D=0SKWCt(p4GbY zAC!;pldLBvT{+Hrxt=F91DrQ_G03r{2r` zqrvAd)AQNIS1bv}@VC+S$l@HX5G+XYDI8^~%ubM>*UY&NodQk)r@);RurCt6e&8oRYq3Of|gRXT7I0Y6JsG4p|?f com.songoda UltimateTimber - 2.2.4 + 2.2.5 ../../ diff --git a/UltimateTimber/Plugin/pom.xml b/UltimateTimber/Plugin/pom.xml index 902e8c1..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 ../../ 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