فهرست منبع

AbilityDeactivateEvent

T00thpick1 12 سال پیش
والد
کامیت
ad39c94773

+ 10 - 0
src/main/java/com/gmail/nossr50/datatypes/skills/SkillType.java

@@ -144,4 +144,14 @@ public enum SkillType {
     public Color getRunescapeModeColor() {
         return runescapeColor;
     }
+
+    public static SkillType byAbility(AbilityType ability) {
+        for (SkillType type : values()) {
+            if (type.getAbility() == ability) {
+                return type;
+            }
+        }
+        
+        return null;
+    }
 }

+ 22 - 0
src/main/java/com/gmail/nossr50/events/skills/abilities/McMMOPlayerAbilityDeactivateEvent.java

@@ -0,0 +1,22 @@
+package com.gmail.nossr50.events.skills.abilities;
+
+import org.bukkit.entity.Player;
+
+import com.gmail.nossr50.datatypes.skills.AbilityType;
+import com.gmail.nossr50.datatypes.skills.SkillType;
+import com.gmail.nossr50.events.skills.McMMOPlayerSkillEvent;
+
+public class McMMOPlayerAbilityDeactivateEvent extends McMMOPlayerSkillEvent {
+
+    private AbilityType ability;
+
+    public McMMOPlayerAbilityDeactivateEvent(Player player, SkillType skill) {
+        super(player, skill);
+        this.ability = skill.getAbility();
+    }
+    
+    public AbilityType getAbility() {
+        return ability;
+    }
+
+}

+ 5 - 0
src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java

@@ -7,6 +7,8 @@ import com.gmail.nossr50.mcMMO;
 import com.gmail.nossr50.config.HiddenConfig;
 import com.gmail.nossr50.datatypes.player.McMMOPlayer;
 import com.gmail.nossr50.datatypes.skills.AbilityType;
+import com.gmail.nossr50.datatypes.skills.SkillType;
+import com.gmail.nossr50.events.skills.abilities.McMMOPlayerAbilityDeactivateEvent;
 import com.gmail.nossr50.util.Misc;
 import com.gmail.nossr50.util.skills.ParticleEffectUtils;
 import com.gmail.nossr50.util.skills.SkillUtils;
@@ -44,6 +46,9 @@ public class AbilityDisableTask extends BukkitRunnable {
                 break;
         }
 
+        McMMOPlayerAbilityDeactivateEvent event = new McMMOPlayerAbilityDeactivateEvent(player, SkillType.byAbility(ability));
+        mcMMO.p.getServer().getPluginManager().callEvent(event);
+
         mcMMOPlayer.setAbilityMode(ability, false);
         mcMMOPlayer.setAbilityInformed(ability, false);