9
0
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:
jhqwqmc
2025-07-20 04:45:19 +08:00
parent 994ea7fc4d
commit 2ee574a83d
8 changed files with 90 additions and 0 deletions

View File

@@ -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);

View File

@@ -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);
}
}
}