mirror of
https://gitlab.com/phoenix-dvpmt/mmoitems.git
synced 2025-02-07 12:11:22 +01:00
Support for latest ML
This commit is contained in:
parent
0b27f8ca55
commit
7911ec9d65
4
pom.xml
4
pom.xml
@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>net.Indyuce</groupId>
|
||||
<artifactId>MMOItems</artifactId>
|
||||
<version>6.7.1-SNAPSHOT</version>
|
||||
<version>6.7-SNAPSHOT</version>
|
||||
<name>MMOItems</name>
|
||||
<description>A great item solution for your RPG server!!</description>
|
||||
|
||||
@ -141,7 +141,7 @@
|
||||
<dependency>
|
||||
<groupId>io.lumine</groupId>
|
||||
<artifactId>MythicLib-dist</artifactId>
|
||||
<version>1.3-R25-SNAPSHOT</version>
|
||||
<version>1.3-R27-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
|
@ -96,7 +96,7 @@ public class MMOItems extends LuminePlugin {
|
||||
private VaultSupport vaultSupport;
|
||||
private RPGHandler rpgPlugin;
|
||||
|
||||
private static final int MYTHICLIB_COMPATIBILITY_INDEX = 6;
|
||||
private static final int MYTHICLIB_COMPATIBILITY_INDEX = 7;
|
||||
|
||||
public MMOItems() { plugin = this; }
|
||||
|
||||
|
@ -239,7 +239,7 @@ public class PlayerData {
|
||||
if (equipped.getSlot() != EquipmentSlot.OFF_HAND || !MMOItems.plugin.getConfig().getBoolean("disable-abilities-in-offhand"))
|
||||
for (AbilityData abilityData : ((AbilityListData) item.getData(ItemStats.ABILITIES)).getAbilities()) {
|
||||
ModifierSource modSource = equipped.getItem().getType() == null ? ModifierSource.OTHER : equipped.getItem().getType().getItemSet().getModifierSource();
|
||||
mmoData.getPassiveSkillMap().addModifier(new PassiveSkill("MMOItemsItem", abilityData.getTriggerType(), abilityData, equipped.getSlot(), modSource));
|
||||
mmoData.getPassiveSkillMap().addModifier(new PassiveSkill("MMOItemsItem", abilityData, equipped.getSlot(), modSource));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -280,7 +280,7 @@ public class PlayerData {
|
||||
|
||||
if (hasSetBonuses()) {
|
||||
for (AbilityData ability : setBonuses.getAbilities())
|
||||
mmoData.getPassiveSkillMap().addModifier(new PassiveSkill("MMOItemsItem", ability.getTriggerType(), ability));
|
||||
mmoData.getPassiveSkillMap().addModifier(new PassiveSkill("MMOItemsItem", ability, EquipmentSlot.OTHER, ModifierSource.OTHER));
|
||||
for (ParticleData particle : setBonuses.getParticles())
|
||||
itemParticles.add(particle.start(this));
|
||||
for (PotionEffect effect : setBonuses.getPotionEffects())
|
||||
|
@ -144,7 +144,7 @@ public abstract class RPGPlayer {
|
||||
|
||||
if (playerData.getMMOPlayerData().getCooldownMap().isOnCooldown(data)) {
|
||||
CooldownInfo info = playerData.getMMOPlayerData().getCooldownMap().getInfo(data);
|
||||
if (!data.getTriggerType().isSilent()) {
|
||||
if (!data.getTrigger().isSilent()) {
|
||||
StringBuilder progressBar = new StringBuilder(ChatColor.YELLOW + "");
|
||||
double progress = (double) (info.getInitialCooldown() - info.getRemaining()) / info.getInitialCooldown() * 10;
|
||||
String barChar = MMOItems.plugin.getConfig().getString("cooldown-progress-bar-char");
|
||||
|
@ -1,5 +1,6 @@
|
||||
package net.Indyuce.mmoitems.gui.edition;
|
||||
|
||||
import io.lumine.mythic.lib.UtilityMethods;
|
||||
import io.lumine.mythic.lib.skill.handler.SkillHandler;
|
||||
import io.lumine.mythic.lib.skill.trigger.TriggerType;
|
||||
import net.Indyuce.mmoitems.ItemStats;
|
||||
@ -70,7 +71,12 @@ public class AbilityEdition extends EditionInventory {
|
||||
String castModeConfigString = getEditedSection().getString("ability." + configKey + ".mode");
|
||||
String castModeFormat = castModeConfigString == null ? ""
|
||||
: castModeConfigString.toUpperCase().replace(" ", "_").replace("-", "_").replaceAll("[^A-Z0-9_]", "");
|
||||
TriggerType castMode = TriggerType.safeValueOf(castModeFormat);
|
||||
TriggerType castMode;
|
||||
try {
|
||||
castMode = TriggerType.valueOf(castModeFormat);
|
||||
} catch (RuntimeException exception) {
|
||||
castMode = null;
|
||||
}
|
||||
|
||||
ItemStack castModeItem = new ItemStack(Material.ARMOR_STAND);
|
||||
ItemMeta castModeItemMeta = castModeItem.getItemMeta();
|
||||
|
@ -3,6 +3,7 @@ package net.Indyuce.mmoitems.gui.edition;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.lumine.mythic.lib.UtilityMethods;
|
||||
import io.lumine.mythic.lib.skill.trigger.TriggerType;
|
||||
import net.Indyuce.mmoitems.skill.RegisteredSkill;
|
||||
import org.bukkit.Bukkit;
|
||||
@ -45,7 +46,12 @@ public class AbilityListEdition extends EditionInventory {
|
||||
? MMOItems.plugin.getSkills().getSkill(abilityFormat)
|
||||
: null;
|
||||
|
||||
TriggerType castMode = TriggerType.safeValueOf(getEditedSection().getString("ability." + key + ".mode"));
|
||||
TriggerType castMode;
|
||||
try {
|
||||
castMode = TriggerType.valueOf(UtilityMethods.enumName(getEditedSection().getString("ability." + key + ".mode")));
|
||||
} catch (RuntimeException exception) {
|
||||
castMode = null;
|
||||
}
|
||||
|
||||
ItemStack abilityItem = new ItemStack(Material.BLAZE_POWDER);
|
||||
ItemMeta abilityItemMeta = abilityItem.getItemMeta();
|
||||
|
@ -63,7 +63,7 @@ public class SkillManager {
|
||||
*
|
||||
* @return If a skill of this name is loaded by the plugin.
|
||||
*/
|
||||
public boolean hasSkill(@Nullable String id) { return skills.get(id) != null; }
|
||||
public boolean hasSkill(@Nullable String id) { return skills.containsKey(id); }
|
||||
|
||||
/**
|
||||
* @return Collection of all registered skills. It has the same number
|
||||
|
@ -65,7 +65,7 @@ public class Abilities extends ItemStat {
|
||||
String modifierFormat = ItemStat.translate("ability-modifier"), abilityFormat = ItemStat.translate("ability-format");
|
||||
|
||||
((AbilityListData) data).getAbilities().forEach(ability -> {
|
||||
abilityLore.add(abilityFormat.replace("#c", MMOItems.plugin.getLanguage().getCastingModeName(ability.getTriggerType())).replace("#a", ability.getAbility().getName()));
|
||||
abilityLore.add(abilityFormat.replace("#c", MMOItems.plugin.getLanguage().getCastingModeName(ability.getTrigger())).replace("#a", ability.getAbility().getName()));
|
||||
|
||||
for (String modifier : ability.getModifiers()) {
|
||||
item.getLore().registerPlaceholder("ability_" + ability.getAbility().getHandler().getId().toLowerCase() + "_" + modifier,
|
||||
|
@ -1,7 +1,7 @@
|
||||
package net.Indyuce.mmoitems.stat.data;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import io.lumine.mythic.lib.MythicLib;
|
||||
import io.lumine.mythic.lib.UtilityMethods;
|
||||
import io.lumine.mythic.lib.player.cooldown.CooldownInfo;
|
||||
import io.lumine.mythic.lib.skill.Skill;
|
||||
import io.lumine.mythic.lib.skill.SkillMetadata;
|
||||
@ -28,43 +28,41 @@ import java.util.Set;
|
||||
|
||||
public class AbilityData extends Skill {
|
||||
private final RegisteredSkill ability;
|
||||
@NotNull private final TriggerType triggerType;
|
||||
@NotNull private final Map<String, Double> modifiers = new HashMap<>();
|
||||
|
||||
public AbilityData(JsonObject object) {
|
||||
public AbilityData(@NotNull JsonObject object) {
|
||||
super(MMOUtils.backwardsCompatibleTriggerType(object.get("CastMode").getAsString()));
|
||||
|
||||
ability = MMOItems.plugin.getSkills().getSkill(object.get("Id").getAsString());
|
||||
triggerType = MMOUtils.backwardsCompatibleTriggerType(object.get("CastMode").getAsString());
|
||||
|
||||
JsonObject modifiers = object.getAsJsonObject("Modifiers");
|
||||
modifiers.entrySet().forEach(entry -> setModifier(entry.getKey(), entry.getValue().getAsDouble()));
|
||||
}
|
||||
|
||||
public AbilityData(ConfigurationSection config) {
|
||||
Validate.isTrue(config.contains("type") && config.contains("mode"), "Ability is missing type or mode");
|
||||
public AbilityData(@NotNull ConfigurationSection config) {
|
||||
super(MMOUtils.backwardsCompatibleTriggerType(UtilityMethods.enumName(Objects.requireNonNull(config.getString("mode"), "Ability is missing mode"))));
|
||||
|
||||
String abilityFormat = config.getString("type").toUpperCase().replace("-", "_").replace(" ", "_");
|
||||
Validate.isTrue(config.contains("type"), "Ability is missing type");
|
||||
|
||||
String abilityFormat = UtilityMethods.enumName(config.getString("type"));
|
||||
Validate.isTrue(MMOItems.plugin.getSkills().hasSkill(abilityFormat), "Could not find ability called '" + abilityFormat + "'");
|
||||
ability = MMOItems.plugin.getSkills().getSkill(abilityFormat);
|
||||
|
||||
String modeFormat = config.getString("mode").toUpperCase().replace("-", "_").replace(" ", "_");
|
||||
triggerType = MMOUtils.backwardsCompatibleTriggerType(modeFormat);
|
||||
|
||||
for (String key : config.getKeys(false))
|
||||
if (!key.equalsIgnoreCase("mode") && !key.equalsIgnoreCase("type") && ability.getHandler().getModifiers().contains(key))
|
||||
modifiers.put(key, config.getDouble(key));
|
||||
}
|
||||
|
||||
public AbilityData(RegisteredSkill ability, TriggerType triggerType) {
|
||||
super(triggerType);
|
||||
|
||||
this.ability = ability;
|
||||
this.triggerType = triggerType;
|
||||
}
|
||||
|
||||
public RegisteredSkill getAbility() {
|
||||
return ability;
|
||||
}
|
||||
|
||||
@NotNull public TriggerType getTriggerType() { return triggerType; }
|
||||
|
||||
public Set<String> getModifiers() {
|
||||
return modifiers.keySet();
|
||||
}
|
||||
@ -88,7 +86,7 @@ public class AbilityData extends Skill {
|
||||
// Check for cooldown
|
||||
if (meta.getCaster().getData().getCooldownMap().isOnCooldown(this)) {
|
||||
CooldownInfo info = playerData.getMMOPlayerData().getCooldownMap().getInfo(this);
|
||||
if (!triggerType.isSilent()) {
|
||||
if (!getTrigger().isSilent()) {
|
||||
StringBuilder progressBar = new StringBuilder(ChatColor.YELLOW + "");
|
||||
double progress = (double) (info.getInitialCooldown() - info.getRemaining()) / info.getInitialCooldown() * 10;
|
||||
String barChar = MMOItems.plugin.getConfig().getString("cooldown-progress-bar-char");
|
||||
@ -155,7 +153,7 @@ public class AbilityData extends Skill {
|
||||
public JsonObject toJson() {
|
||||
JsonObject object = new JsonObject();
|
||||
object.addProperty("Id", ability.getHandler().getId());
|
||||
object.addProperty("CastMode", triggerType.name());
|
||||
object.addProperty("CastMode", getTrigger().name());
|
||||
|
||||
JsonObject modifiers = new JsonObject();
|
||||
this.modifiers.keySet().forEach(modifier -> modifiers.addProperty(modifier, getModifier(modifier)));
|
||||
@ -169,11 +167,11 @@ public class AbilityData extends Skill {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
AbilityData that = (AbilityData) o;
|
||||
return ability.equals(that.ability) && triggerType == that.triggerType && modifiers.equals(that.modifiers);
|
||||
return ability.equals(that.ability) && getTrigger().equals(that.getTrigger()) && modifiers.equals(that.modifiers);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(ability, triggerType, modifiers);
|
||||
return Objects.hash(ability, modifiers);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user