浏览代码

fix trickshot not applying potion effects or custom effects

nossr50 3 周之前
父节点
当前提交
8c89462b0a
共有 2 个文件被更改,包括 11 次插入0 次删除
  1. 1 0
      Changelog.txt
  2. 10 0
      src/main/java/com/gmail/nossr50/skills/crossbows/CrossbowsManager.java

+ 1 - 0
Changelog.txt

@@ -2,6 +2,7 @@ Version 2.2.036
     Fixed a bug where Chimaera Wing could cause an exception when used
     Fixed bug where Mob Spawners could drop in Blast Mining (thanks TomBock)
     Fixed Spectral Arrows not granting XP for Archery or Crossbows (thanks broccolai)
+    Fixed bug where Trickshot arrows would lose their potion or custom effects
     Added locale strings for /mcmmo help command (thanks Griffeng)
 
 Version 2.2.035

+ 10 - 0
src/main/java/com/gmail/nossr50/skills/crossbows/CrossbowsManager.java

@@ -74,6 +74,16 @@ public class CrossbowsManager extends SkillManager {
         spawnedArrow.setPickupStatus(originalArrow.getPickupStatus());
         spawnedArrow.setKnockbackStrength(originalArrow.getKnockbackStrength());
 
+        if (originalArrow.getBasePotionType() != null) {
+            spawnedArrow.setBasePotionType(originalArrow.getBasePotionType());
+        }
+
+        if (originalArrow.hasCustomEffects()) {
+            for (var effect : originalArrow.getCustomEffects()) {
+                spawnedArrow.addCustomEffect(effect, true);
+            }
+        }
+
         // copy metadata from old arrow
         ProjectileUtils.copyArrowMetadata(pluginRef, originalArrow, spawnedArrow);
         originalArrow.remove();