mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-29 11:59:11 +00:00
feat(core): 添加对 MythicMobs 技能的支持
This commit is contained in:
@@ -11,6 +11,7 @@ import net.momirealms.craftengine.bukkit.compatibility.model.bettermodel.BetterM
|
||||
import net.momirealms.craftengine.bukkit.compatibility.model.modelengine.ModelEngineModel;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.model.modelengine.ModelEngineUtils;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.mythicmobs.MythicMobsListener;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.mythicmobs.SkillHelper;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.papi.PlaceholderAPIUtils;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.permission.LuckPermsEventListeners;
|
||||
import net.momirealms.craftengine.bukkit.compatibility.skript.SkriptHook;
|
||||
@@ -39,6 +40,7 @@ public class BukkitCompatibilityManager implements CompatibilityManager {
|
||||
private final Map<String, LevelerProvider> levelerProviders;
|
||||
private boolean hasPlaceholderAPI;
|
||||
private boolean hasViaVersion;
|
||||
private SkillHelper skillExecute;
|
||||
|
||||
public BukkitCompatibilityManager(BukkitCraftEngine plugin) {
|
||||
this.plugin = plugin;
|
||||
@@ -136,6 +138,11 @@ public class BukkitCompatibilityManager implements CompatibilityManager {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void skillExecute(String skill, float power, Player player) {
|
||||
SkillHelper.execute(skill, power, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerLevelerProvider(String plugin, LevelerProvider provider) {
|
||||
this.levelerProviders.put(plugin, provider);
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package net.momirealms.craftengine.bukkit.compatibility.mythicmobs;
|
||||
|
||||
import io.lumine.mythic.bukkit.MythicBukkit;
|
||||
import io.lumine.mythic.core.utils.MythicUtil;
|
||||
import net.momirealms.craftengine.core.entity.player.Player;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SkillHelper {
|
||||
|
||||
public static void execute(String skill, float power, Player player) {
|
||||
org.bukkit.entity.Player casterPlayer = (org.bukkit.entity.Player) player.platformPlayer();
|
||||
Location location = casterPlayer.getLocation();
|
||||
LivingEntity target = MythicUtil.getTargetedEntity(casterPlayer);
|
||||
List<Entity> targets = new ArrayList<>();
|
||||
List<Location> locations = null;
|
||||
if (target != null) {
|
||||
targets.add(target);
|
||||
locations = List.of(target.getLocation());
|
||||
}
|
||||
try (MythicBukkit mm = MythicBukkit.inst()) {
|
||||
mm.getAPIHelper().castSkill(casterPlayer, skill, casterPlayer, location, targets, locations, power);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user