diff --git a/pom.xml b/pom.xml index 575b9d6c..e0540704 100644 --- a/pom.xml +++ b/pom.xml @@ -146,8 +146,8 @@ io.lumine - MythicMobs-Dist - 5.0.0-SNAPSHOT + Mythic-Dist + 5.0.1 provided diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/MythicHook.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/MythicHook.java index 9bf70be8..59a92e8a 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/MythicHook.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/MythicHook.java @@ -1,9 +1,9 @@ package net.Indyuce.mmocore.comp.mythicmobs; -import io.lumine.xikage.mythicmobs.MythicMobs; -import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicDropLoadEvent; -import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicReloadedEvent; -import io.lumine.xikage.mythicmobs.skills.placeholders.Placeholder; +import io.lumine.mythic.bukkit.MythicBukkit; +import io.lumine.mythic.bukkit.events.MythicDropLoadEvent; +import io.lumine.mythic.bukkit.events.MythicReloadedEvent; +import io.lumine.mythic.core.skills.placeholders.Placeholder; import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.player.attribute.PlayerAttribute; @@ -50,18 +50,18 @@ public class MythicHook implements Listener { private void registerPlaceholders() { // Resource - MythicMobs.inst().getPlaceholderManager().register("mana", Placeholder.meta((metadata, arg) -> { + MythicBukkit.inst().getPlaceholderManager().register("mana", Placeholder.meta((metadata, arg) -> { return String.valueOf((int) PlayerData.get(metadata.getCaster().getEntity().getUniqueId()).getMana()); })); - MythicMobs.inst().getPlaceholderManager().register("stamina", Placeholder.meta((metadata, arg) -> { + MythicBukkit.inst().getPlaceholderManager().register("stamina", Placeholder.meta((metadata, arg) -> { return String.valueOf((int) PlayerData.get(metadata.getCaster().getEntity().getUniqueId()).getStamina()); })); - MythicMobs.inst().getPlaceholderManager().register("stellium", Placeholder.meta((metadata, arg) -> { + MythicBukkit.inst().getPlaceholderManager().register("stellium", Placeholder.meta((metadata, arg) -> { return String.valueOf((int) PlayerData.get(metadata.getCaster().getEntity().getUniqueId()).getStellium()); })); // Attributes - MythicMobs.inst().getPlaceholderManager().register("attribute", Placeholder.meta((metadata, arg) -> { + MythicBukkit.inst().getPlaceholderManager().register("attribute", Placeholder.meta((metadata, arg) -> { PlayerAttributes attributes = PlayerData.get(metadata.getCaster().getEntity().getUniqueId()).getAttributes(); PlayerAttribute attribute = MMOCore.plugin.attributeManager.get(arg); return String.valueOf(attributes.getAttribute(attribute)); diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/MythicMobsMMOLoader.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/MythicMobsMMOLoader.java index d53ad849..112c53ff 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/MythicMobsMMOLoader.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/MythicMobsMMOLoader.java @@ -1,49 +1,44 @@ package net.Indyuce.mmocore.comp.mythicmobs; -import net.Indyuce.mmocore.experience.provider.ExperienceDispenser; -import org.bukkit.configuration.ConfigurationSection; - -import net.Indyuce.mmocore.experience.source.type.ExperienceSource; +import io.lumine.mythic.lib.api.MMOLineConfig; import net.Indyuce.mmocore.api.load.MMOLoader; import net.Indyuce.mmocore.api.quest.objective.Objective; import net.Indyuce.mmocore.api.quest.trigger.Trigger; -import net.Indyuce.mmocore.comp.mythicmobs.load.KillMythicFactionExperienceSource; -import net.Indyuce.mmocore.comp.mythicmobs.load.KillMythicFactionObjective; -import net.Indyuce.mmocore.comp.mythicmobs.load.KillMythicMobExperienceSource; -import net.Indyuce.mmocore.comp.mythicmobs.load.KillMythicMobObjective; -import net.Indyuce.mmocore.comp.mythicmobs.load.MythicSkillTrigger; -import io.lumine.mythic.lib.api.MMOLineConfig; +import net.Indyuce.mmocore.comp.mythicmobs.load.*; +import net.Indyuce.mmocore.experience.dispenser.ExperienceDispenser; +import net.Indyuce.mmocore.experience.source.type.ExperienceSource; +import org.bukkit.configuration.ConfigurationSection; public class MythicMobsMMOLoader extends MMOLoader { - @Override - public Trigger loadTrigger(MMOLineConfig config) { + @Override + public Trigger loadTrigger(MMOLineConfig config) { - if (config.getKey().equalsIgnoreCase("mmskill") || config.getKey().equalsIgnoreCase("mythicmobskill")) - return new MythicSkillTrigger(config); + if (config.getKey().equalsIgnoreCase("mmskill") || config.getKey().equalsIgnoreCase("mythicmobskill")) + return new MythicSkillTrigger(config); - return null; - } + return null; + } - @Override - public Objective loadObjective(MMOLineConfig config, ConfigurationSection section) { + @Override + public Objective loadObjective(MMOLineConfig config, ConfigurationSection section) { - if (config.getKey().equalsIgnoreCase("killmythicmob")) - return new KillMythicMobObjective(section, config); - if (config.getKey().equalsIgnoreCase("killmythicfaction")) - return new KillMythicFactionObjective(section, config); + if (config.getKey().equalsIgnoreCase("killmythicmob")) + return new KillMythicMobObjective(section, config); + if (config.getKey().equalsIgnoreCase("killmythicfaction")) + return new KillMythicFactionObjective(section, config); - return null; - } + return null; + } - @Override - public ExperienceSource loadExperienceSource(MMOLineConfig config, ExperienceDispenser dispenser) { + @Override + public ExperienceSource loadExperienceSource(MMOLineConfig config, ExperienceDispenser dispenser) { - if (config.getKey().equalsIgnoreCase("killmythicmob")) - return new KillMythicMobExperienceSource(dispenser, config); - if (config.getKey().equalsIgnoreCase("killmythicfaction")) - return new KillMythicFactionExperienceSource(dispenser, config); + if (config.getKey().equalsIgnoreCase("killmythicmob")) + return new KillMythicMobExperienceSource(dispenser, config); + if (config.getKey().equalsIgnoreCase("killmythicfaction")) + return new KillMythicFactionExperienceSource(dispenser, config); - return null; - } + return null; + } } diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/CurrencyItemDrop.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/CurrencyItemDrop.java index 37fc4b9f..ccba02f2 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/CurrencyItemDrop.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/CurrencyItemDrop.java @@ -1,40 +1,40 @@ package net.Indyuce.mmocore.comp.mythicmobs.load; +import io.lumine.mythic.api.config.MythicLineConfig; +import io.lumine.mythic.api.drops.DropMetadata; +import io.lumine.mythic.api.drops.IMultiDrop; +import io.lumine.mythic.bukkit.adapters.BukkitItemStack; +import io.lumine.mythic.core.drops.Drop; +import io.lumine.mythic.core.drops.LootBag; +import io.lumine.mythic.core.drops.droppables.ItemDrop; +import net.Indyuce.mmocore.util.item.CurrencyItemBuilder; + import java.util.Random; -import io.lumine.xikage.mythicmobs.adapters.bukkit.BukkitItemStack; -import io.lumine.xikage.mythicmobs.drops.Drop; -import io.lumine.xikage.mythicmobs.drops.DropMetadata; -import io.lumine.xikage.mythicmobs.drops.IMultiDrop; -import io.lumine.xikage.mythicmobs.drops.LootBag; -import io.lumine.xikage.mythicmobs.drops.droppables.ItemDrop; -import io.lumine.xikage.mythicmobs.io.MythicLineConfig; -import net.Indyuce.mmocore.util.item.CurrencyItemBuilder; - public class CurrencyItemDrop extends Drop implements IMultiDrop { - private final String key; - private final int minw; - private final int maxw; + private final String key; + private final int minw; + private final int maxw; - private static final Random random = new Random(); + private static final Random random = new Random(); - public CurrencyItemDrop(String key, MythicLineConfig config) { - super(config.getLine(), config); - - this.key = key; - minw = config.getInteger("minw", 1); - maxw = config.getInteger("maxw", 1); - } + public CurrencyItemDrop(String key, MythicLineConfig config) { + super(config.getLine(), config); - @SuppressWarnings("deprecation") - @Override - public LootBag get(DropMetadata metadata) { - LootBag loot = new LootBag(metadata); - loot.add(new ItemDrop(this.getLine(), (MythicLineConfig) this.getConfig(), new BukkitItemStack(new CurrencyItemBuilder(key, random(minw, maxw)).build()))); - return loot; - } + this.key = key; + minw = config.getInteger("minw", 1); + maxw = config.getInteger("maxw", 1); + } - private int random(int a, int b) { - return random.nextInt(b - a + 1) + a; - } + @SuppressWarnings("deprecation") + @Override + public LootBag get(DropMetadata metadata) { + LootBag loot = new LootBag(metadata); + loot.add(new ItemDrop(this.getLine(), this.getConfig(), new BukkitItemStack(new CurrencyItemBuilder(key, random(minw, maxw)).build()))); + return loot; + } + + private int random(int a, int b) { + return random.nextInt(b - a + 1) + a; + } } diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/GoldPouchDrop.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/GoldPouchDrop.java index f168d904..65c4123a 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/GoldPouchDrop.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/GoldPouchDrop.java @@ -1,71 +1,70 @@ package net.Indyuce.mmocore.comp.mythicmobs.load; -import java.util.Random; - +import io.lumine.mythic.api.config.MythicLineConfig; +import io.lumine.mythic.api.drops.DropMetadata; +import io.lumine.mythic.api.drops.IMultiDrop; +import io.lumine.mythic.bukkit.adapters.BukkitItemStack; +import io.lumine.mythic.core.drops.Drop; +import io.lumine.mythic.core.drops.LootBag; +import io.lumine.mythic.core.drops.droppables.ItemDrop; +import io.lumine.mythic.lib.api.item.ItemTag; +import io.lumine.mythic.lib.api.item.NBTItem; +import net.Indyuce.mmocore.api.util.MMOCoreUtils; +import net.Indyuce.mmocore.util.item.CurrencyItemBuilder; import net.Indyuce.mmocore.util.item.SimpleItemBuilder; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; -import io.lumine.xikage.mythicmobs.adapters.bukkit.BukkitItemStack; -import io.lumine.xikage.mythicmobs.drops.Drop; -import io.lumine.xikage.mythicmobs.drops.DropMetadata; -import io.lumine.xikage.mythicmobs.drops.IMultiDrop; -import io.lumine.xikage.mythicmobs.drops.LootBag; -import io.lumine.xikage.mythicmobs.drops.droppables.ItemDrop; -import io.lumine.xikage.mythicmobs.io.MythicLineConfig; -import net.Indyuce.mmocore.api.util.MMOCoreUtils; -import net.Indyuce.mmocore.util.item.CurrencyItemBuilder; -import io.lumine.mythic.lib.api.item.ItemTag; -import io.lumine.mythic.lib.api.item.NBTItem; +import java.util.Random; public class GoldPouchDrop extends Drop implements IMultiDrop { - private final int min; - private final int max; + private final int min; + private final int max; - private static final Random random = new Random(); + private static final Random random = new Random(); - public GoldPouchDrop(MythicLineConfig config) { - super(config.getLine(), config); + public GoldPouchDrop(MythicLineConfig config) { + super(config.getLine(), config); - min = config.getInteger("min", 1); - max = config.getInteger("max", 10); - } + min = config.getInteger("min", 1); + max = config.getInteger("max", 10); + } - @SuppressWarnings("deprecation") - @Override - public LootBag get(DropMetadata metadata) { - LootBag loot = new LootBag(metadata); - NBTItem nbt = NBTItem.get(new SimpleItemBuilder("MOB_GOLD_POUCH").build()); + @SuppressWarnings("deprecation") + @Override + public LootBag get(DropMetadata metadata) { + LootBag loot = new LootBag(metadata); + NBTItem nbt = NBTItem.get(new SimpleItemBuilder("MOB_GOLD_POUCH").build()); - ItemStack[] content = new ItemStack[18]; - int money = random.nextInt(max - min + 1) + min; + ItemStack[] content = new ItemStack[18]; + int money = random.nextInt(max - min + 1) + min; - for (int j = 0; j < 7 && money > 0; j++) { - int a = j == 6 ? money : Math.max(1, (int) ((.12 + random.nextDouble() * .4) * (double) money)); - money -= a; + for (int j = 0; j < 7 && money > 0; j++) { + int a = j == 6 ? money : Math.max(1, (int) ((.12 + random.nextDouble() * .4) * (double) money)); + money -= a; - if (a < 30 && random.nextDouble() < .3) { - content[getAvailableSlot(content)] = setAmount(new CurrencyItemBuilder("GOLD_COIN", 1).build(), a); - continue; - } + if (a < 30 && random.nextDouble() < .3) { + content[getAvailableSlot(content)] = setAmount(new CurrencyItemBuilder("GOLD_COIN", 1).build(), a); + continue; + } - content[getAvailableSlot(content)] = new CurrencyItemBuilder("NOTE", a).build(); - } + content[getAvailableSlot(content)] = new CurrencyItemBuilder("NOTE", a).build(); + } - nbt.addTag(new ItemTag("RpgPouchSize", 18), new ItemTag("RpgPouchMob", true), new ItemTag("RpgPouchInventory", MMOCoreUtils.toBase64(content))); - loot.add(new ItemDrop(this.getLine(), (MythicLineConfig) this.getConfig(), new BukkitItemStack(nbt.toItem()))); - return loot; - } + nbt.addTag(new ItemTag("RpgPouchSize", 18), new ItemTag("RpgPouchMob", true), new ItemTag("RpgPouchInventory", MMOCoreUtils.toBase64(content))); + loot.add(new ItemDrop(this.getLine(), this.getConfig(), new BukkitItemStack(nbt.toItem()))); + return loot; + } - private ItemStack setAmount(ItemStack item, int amount) { - item.setAmount(amount); - return item; - } + private ItemStack setAmount(ItemStack item, int amount) { + item.setAmount(amount); + return item; + } - private int getAvailableSlot(ItemStack[] content) { - int slot; - while (content[slot = random.nextInt(content.length)] != null) - if(content[slot].getType() == Material.AIR) break; - return slot; - } + private int getAvailableSlot(ItemStack[] content) { + int slot; + while (content[slot = random.nextInt(content.length)] != null) + if (content[slot].getType() == Material.AIR) break; + return slot; + } } diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicFactionExperienceSource.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicFactionExperienceSource.java index 88e57d22..e6828afd 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicFactionExperienceSource.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicFactionExperienceSource.java @@ -1,10 +1,10 @@ package net.Indyuce.mmocore.comp.mythicmobs.load; +import io.lumine.mythic.bukkit.events.MythicMobDeathEvent; import io.lumine.mythic.lib.api.MMOLineConfig; -import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicMobDeathEvent; import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.api.player.PlayerData; -import net.Indyuce.mmocore.experience.provider.ExperienceDispenser; +import net.Indyuce.mmocore.experience.dispenser.ExperienceDispenser; import net.Indyuce.mmocore.experience.source.type.SpecificExperienceSource; import net.Indyuce.mmocore.manager.profession.ExperienceSourceManager; import org.bukkit.Bukkit; diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicFactionObjective.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicFactionObjective.java index f3f7dfd1..678d950b 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicFactionObjective.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicFactionObjective.java @@ -1,57 +1,56 @@ package net.Indyuce.mmocore.comp.mythicmobs.load; +import io.lumine.mythic.bukkit.events.MythicMobDeathEvent; +import io.lumine.mythic.lib.api.MMOLineConfig; +import net.Indyuce.mmocore.api.quest.ObjectiveProgress; +import net.Indyuce.mmocore.api.quest.QuestProgress; +import net.Indyuce.mmocore.api.quest.objective.Objective; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; -import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicMobDeathEvent; -import net.Indyuce.mmocore.api.quest.ObjectiveProgress; -import net.Indyuce.mmocore.api.quest.QuestProgress; -import net.Indyuce.mmocore.api.quest.objective.Objective; -import io.lumine.mythic.lib.api.MMOLineConfig; - public class KillMythicFactionObjective extends Objective { - private final String factionName; - private final int required; + private final String factionName; + private final int required; - public KillMythicFactionObjective(ConfigurationSection section, MMOLineConfig config) { - super(section); + public KillMythicFactionObjective(ConfigurationSection section, MMOLineConfig config) { + super(section); - config.validate("amount", "name"); + config.validate("amount", "name"); - factionName = config.getString("name"); - required = config.getInt("amount"); - } + factionName = config.getString("name"); + required = config.getInt("amount"); + } - @Override - public ObjectiveProgress newProgress(QuestProgress questProgress) { - return new KillFactionProgress(questProgress, this); - } + @Override + public ObjectiveProgress newProgress(QuestProgress questProgress) { + return new KillFactionProgress(questProgress, this); + } - public class KillFactionProgress extends ObjectiveProgress implements Listener { - private int count; + public class KillFactionProgress extends ObjectiveProgress implements Listener { + private int count; - public KillFactionProgress(QuestProgress questProgress, Objective objective) { - super(questProgress, objective); - } + public KillFactionProgress(QuestProgress questProgress, Objective objective) { + super(questProgress, objective); + } - @EventHandler - public void a(MythicMobDeathEvent event) { - if(!getQuestProgress().getPlayer().isOnline()) return; - if (event.getKiller() instanceof Player - && event.getKiller().equals(getQuestProgress().getPlayer().getPlayer()) - && event.getMob().hasFaction() && event.getMob().getFaction().equals(factionName)) { - count++; - getQuestProgress().getPlayer().getQuestData().updateBossBar(); - if (count >= required) - getQuestProgress().completeObjective(); - } - } + @EventHandler + public void a(MythicMobDeathEvent event) { + if (!getQuestProgress().getPlayer().isOnline()) return; + if (event.getKiller() instanceof Player + && event.getKiller().equals(getQuestProgress().getPlayer().getPlayer()) + && event.getMob().hasFaction() && event.getMob().getFaction().equals(factionName)) { + count++; + getQuestProgress().getPlayer().getQuestData().updateBossBar(); + if (count >= required) + getQuestProgress().completeObjective(); + } + } - @Override - public String formatLore(String lore) { - return lore.replace("{left}", "" + (required - count)); - } - } + @Override + public String formatLore(String lore) { + return lore.replace("{left}", "" + (required - count)); + } + } } diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicMobExperienceSource.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicMobExperienceSource.java index c23e8b06..bf161320 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicMobExperienceSource.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicMobExperienceSource.java @@ -1,10 +1,10 @@ package net.Indyuce.mmocore.comp.mythicmobs.load; +import io.lumine.mythic.bukkit.events.MythicMobDeathEvent; import io.lumine.mythic.lib.api.MMOLineConfig; -import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicMobDeathEvent; import net.Indyuce.mmocore.MMOCore; import net.Indyuce.mmocore.api.player.PlayerData; -import net.Indyuce.mmocore.experience.provider.ExperienceDispenser; +import net.Indyuce.mmocore.experience.dispenser.ExperienceDispenser; import net.Indyuce.mmocore.experience.source.type.SpecificExperienceSource; import net.Indyuce.mmocore.manager.profession.ExperienceSourceManager; import org.bukkit.Bukkit; diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicMobObjective.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicMobObjective.java index e932722d..2003f662 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicMobObjective.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/KillMythicMobObjective.java @@ -1,55 +1,54 @@ package net.Indyuce.mmocore.comp.mythicmobs.load; +import io.lumine.mythic.bukkit.events.MythicMobDeathEvent; +import io.lumine.mythic.lib.api.MMOLineConfig; +import net.Indyuce.mmocore.api.quest.ObjectiveProgress; +import net.Indyuce.mmocore.api.quest.QuestProgress; +import net.Indyuce.mmocore.api.quest.objective.Objective; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; -import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicMobDeathEvent; -import net.Indyuce.mmocore.api.quest.ObjectiveProgress; -import net.Indyuce.mmocore.api.quest.QuestProgress; -import net.Indyuce.mmocore.api.quest.objective.Objective; -import io.lumine.mythic.lib.api.MMOLineConfig; - public class KillMythicMobObjective extends Objective { - private final String internalName; - private final int required; + private final String internalName; + private final int required; - public KillMythicMobObjective(ConfigurationSection section, MMOLineConfig config) { - super(section); + public KillMythicMobObjective(ConfigurationSection section, MMOLineConfig config) { + super(section); - config.validate("amount", "name"); + config.validate("amount", "name"); - internalName = config.getString("name"); - required = config.getInt("amount"); - } + internalName = config.getString("name"); + required = config.getInt("amount"); + } - @Override - public ObjectiveProgress newProgress(QuestProgress questProgress) { - return new KillMobProgress(questProgress, this); - } + @Override + public ObjectiveProgress newProgress(QuestProgress questProgress) { + return new KillMobProgress(questProgress, this); + } - public class KillMobProgress extends ObjectiveProgress implements Listener { - private int count; + public class KillMobProgress extends ObjectiveProgress implements Listener { + private int count; - public KillMobProgress(QuestProgress questProgress, Objective objective) { - super(questProgress, objective); - } + public KillMobProgress(QuestProgress questProgress, Objective objective) { + super(questProgress, objective); + } - @EventHandler - public void a(MythicMobDeathEvent event) { - if(!getQuestProgress().getPlayer().isOnline()) return; - if (event.getKiller() instanceof Player && event.getKiller().equals(getQuestProgress().getPlayer().getPlayer()) && event.getMob().getType().getInternalName().equals(internalName)) { - count++; - getQuestProgress().getPlayer().getQuestData().updateBossBar(); - if (count >= required) - getQuestProgress().completeObjective(); - } - } + @EventHandler + public void a(MythicMobDeathEvent event) { + if (!getQuestProgress().getPlayer().isOnline()) return; + if (event.getKiller() instanceof Player && event.getKiller().equals(getQuestProgress().getPlayer().getPlayer()) && event.getMob().getType().getInternalName().equals(internalName)) { + count++; + getQuestProgress().getPlayer().getQuestData().updateBossBar(); + if (count >= required) + getQuestProgress().completeObjective(); + } + } - @Override - public String formatLore(String lore) { - return lore.replace("{left}", "" + (required - count)); - } - } + @Override + public String formatLore(String lore) { + return lore.replace("{left}", "" + (required - count)); + } + } } diff --git a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/MythicSkillTrigger.java b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/MythicSkillTrigger.java index 696a8877..f266da7c 100644 --- a/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/MythicSkillTrigger.java +++ b/src/main/java/net/Indyuce/mmocore/comp/mythicmobs/load/MythicSkillTrigger.java @@ -1,18 +1,20 @@ package net.Indyuce.mmocore.comp.mythicmobs.load; +import io.lumine.mythic.api.adapters.AbstractPlayer; +import io.lumine.mythic.api.mobs.GenericCaster; +import io.lumine.mythic.api.skills.Skill; +import io.lumine.mythic.api.skills.SkillCaster; +import io.lumine.mythic.api.skills.SkillMetadata; +import io.lumine.mythic.api.skills.SkillTrigger; +import io.lumine.mythic.bukkit.BukkitAdapter; +import io.lumine.mythic.bukkit.MythicBukkit; +import io.lumine.mythic.core.skills.SkillMetadataImpl; import io.lumine.mythic.lib.api.MMOLineConfig; -import io.lumine.xikage.mythicmobs.MythicMobs; -import io.lumine.xikage.mythicmobs.adapters.AbstractPlayer; -import io.lumine.xikage.mythicmobs.adapters.bukkit.BukkitAdapter; -import io.lumine.xikage.mythicmobs.mobs.GenericCaster; -import io.lumine.xikage.mythicmobs.skills.Skill; -import io.lumine.xikage.mythicmobs.skills.SkillCaster; -import io.lumine.xikage.mythicmobs.skills.SkillMetadata; -import io.lumine.xikage.mythicmobs.skills.SkillTrigger; import net.Indyuce.mmocore.api.player.PlayerData; import net.Indyuce.mmocore.api.quest.trigger.Trigger; import org.apache.commons.lang.Validate; +import java.util.ArrayList; import java.util.HashSet; import java.util.Optional; @@ -24,7 +26,7 @@ public class MythicSkillTrigger extends Trigger { config.validate("id"); String id = config.getString("id"); - Optional opt = MythicMobs.inst().getSkillManager().getSkill(id); + Optional opt = MythicBukkit.inst().getSkillManager().getSkill(id); Validate.isTrue(opt.isPresent(), "Could not find MM skill " + id); skill = opt.get(); } @@ -35,8 +37,8 @@ public class MythicSkillTrigger extends Trigger { AbstractPlayer trigger = BukkitAdapter.adapt(player.getPlayer()); SkillCaster caster = new GenericCaster(trigger); - SkillMetadata skillMeta = new SkillMetadata(SkillTrigger.API, caster, trigger, BukkitAdapter.adapt(player.getPlayer().getLocation()), new HashSet<>(), null, 1); - if (skill.usable(skillMeta, SkillTrigger.API)) + SkillMetadata skillMeta = new SkillMetadataImpl(new SkillTrigger("API", new ArrayList<>()), caster, trigger, BukkitAdapter.adapt(player.getPlayer().getLocation()), new HashSet<>(), null, 1); + if (skill.isUsable(skillMeta)) skill.execute(skillMeta); } }