mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-08-02 12:35:27 +02:00
tridents/xbows WIP part 1
This commit is contained in:
@@ -18,6 +18,7 @@ import com.gmail.nossr50.skills.archery.ArcheryManager;
|
||||
import com.gmail.nossr50.skills.axes.AxesManager;
|
||||
import com.gmail.nossr50.skills.swords.SwordsManager;
|
||||
import com.gmail.nossr50.skills.taming.TamingManager;
|
||||
import com.gmail.nossr50.skills.tridents.TridentManager;
|
||||
import com.gmail.nossr50.skills.unarmed.UnarmedManager;
|
||||
import com.gmail.nossr50.util.*;
|
||||
import com.gmail.nossr50.util.player.NotificationManager;
|
||||
@@ -90,6 +91,26 @@ public final class CombatUtils {
|
||||
processCombatXP(mcMMOPlayer, target, PrimarySkillType.SWORDS);
|
||||
}
|
||||
|
||||
public static void processTridentCombat(LivingEntity target, Player player, EntityDamageByEntityEvent entityDamageByEntityEvent) {
|
||||
if (entityDamageByEntityEvent.getCause() == DamageCause.THORNS) {
|
||||
return;
|
||||
}
|
||||
|
||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
|
||||
//Make sure the profiles been loaded
|
||||
if(mcMMOPlayer == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
TridentManager tridentManager = mcMMOPlayer.getTridentManager();
|
||||
// double initialDamage = entityDamageByEntityEvent.getDamage();
|
||||
// double finalDamage = initialDamage;
|
||||
|
||||
processCombatXP(mcMMOPlayer, target, PrimarySkillType.TRIDENTS);
|
||||
}
|
||||
|
||||
|
||||
// public static void strengthDebug(Player player) {
|
||||
// BukkitPlatform bukkitPlatform = (BukkitPlatform) mcMMO.getPlatformManager().getPlatform();
|
||||
// Bukkit.broadcastMessage("Strength: "+bukkitPlatform.getPlayerAttackStrength(player));
|
||||
@@ -387,6 +408,15 @@ public final class CombatUtils {
|
||||
processUnarmedCombat(target, player, event);
|
||||
}
|
||||
}
|
||||
else if (ItemUtils.isTrident(heldItem)) {
|
||||
if(!PrimarySkillType.TRIDENTS.shouldProcess(target)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(PrimarySkillType.TRIDENTS.getPermissions(player)) {
|
||||
processTridentCombat(target, player, event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if (entityType == EntityType.WOLF) {
|
||||
|
@@ -15,6 +15,7 @@ import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.util.ItemUtils;
|
||||
import com.gmail.nossr50.util.Misc;
|
||||
import com.gmail.nossr50.util.StringUtils;
|
||||
import com.gmail.nossr50.util.experience.ExperienceBarManager;
|
||||
import com.gmail.nossr50.util.player.NotificationManager;
|
||||
import com.gmail.nossr50.util.player.UserManager;
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -31,6 +32,7 @@ import org.bukkit.potion.PotionEffect;
|
||||
import org.bukkit.potion.PotionEffectType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
@@ -44,6 +46,34 @@ public class SkillUtils {
|
||||
mcMMOPlayer.beginXpGain(skill, xp, xpGainReason, xpGainSource);
|
||||
}
|
||||
|
||||
public static HashMap<PrimarySkillType, ExperienceBarManager.BarState> generateDefaultBarStateMap() {
|
||||
HashMap<PrimarySkillType, ExperienceBarManager.BarState> barStateHashMap = new HashMap<>();
|
||||
|
||||
setBarStateDefaults(barStateHashMap);
|
||||
|
||||
return barStateHashMap;
|
||||
}
|
||||
|
||||
public static ExperienceBarManager.BarState asBarState(String str) {
|
||||
for(ExperienceBarManager.BarState barState : ExperienceBarManager.BarState.values()) {
|
||||
if(barState.toString().equalsIgnoreCase(str)) {
|
||||
return barState;
|
||||
}
|
||||
}
|
||||
|
||||
return ExperienceBarManager.BarState.NORMAL;
|
||||
}
|
||||
|
||||
public static void setBarStateDefaults(HashMap<PrimarySkillType, ExperienceBarManager.BarState> barStateHashMap) {
|
||||
for(PrimarySkillType skillType : PrimarySkillType.values()) {
|
||||
if(skillType.isChildSkill()) {
|
||||
barStateHashMap.put(skillType, ExperienceBarManager.BarState.DISABLED);
|
||||
} else {
|
||||
barStateHashMap.put(skillType, ExperienceBarManager.BarState.NORMAL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Skill Stat Calculations
|
||||
*/
|
||||
|
Reference in New Issue
Block a user