在Bukkit 1.12.2中,你可以使用MythicMobs API来实现禁止特定怪物跟随玩家离开出生的地图。以下是一个示例代码:

import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerChangedWorldEvent;

import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicMobDeathEvent;
import io.lumine.xikage.mythicmobs.api.bukkit.events.MythicMobSpawnEvent;
import io.lumine.xikage.mythicmobs.drops.DropTable;

public class MythicMobsListener implements Listener {
    
    @EventHandler
    public void onMythicMobSpawn(MythicMobSpawnEvent event) {
        LivingEntity entity = event.getEntity();
        String mobName = event.getMobType().getInternalName();
        
        if (mobName.equals("特定的名字")) {
            // 禁止怪物跟随玩家离开出生的地图
            entity.setRemoveWhenFarAway(true);
        }
    }
    
    @EventHandler
    public void onMythicMobDeath(MythicMobDeathEvent event) {
        Entity entity = event.getEntity();
        String mobName = event.getMobType().getInternalName();
        
        if (mobName.equals("特定的名字")) {
            // 在怪物死亡时移除禁止跟随的设置
            entity.setRemoveWhenFarAway(false);
        }
    }
    
    @EventHandler
    public void onPlayerChangedWorld(PlayerChangedWorldEvent event) {
        for (Entity entity : event.getPlayer().getWorld().getEntities()) {
            if (entity instanceof LivingEntity && entity.isCustomNameVisible()) {
                String customName = entity.getCustomName();
                
                if (customName != null && customName.equals("特定的名字")) {
                    // 当玩家切换地图时,检查是否有禁止跟随的怪物存在,如果存在则移除它
                    entity.remove();
                }
            }
        }
    }
}

要使用这个监听器,你需要在你的插件主类中注册它:

import org.bukkit.plugin.java.JavaPlugin;

public class YourPlugin extends JavaPlugin {
    
    @Override
    public void onEnable() {
        // 注册监听器
        getServer().getPluginManager().registerEvents(new MythicMobsListener(), this);
    }
    
    @Override
    public void onDisable() {
        // 插件禁用时的操作
    }
}

请注意,这只是一个基本示例代码,你可能需要根据你的需求进行一些修改和调整。确保正确导入MythicMobs的API以及其他必要的Bukkit和Java类

用Java写一个Bukkit1122 基于Mythicmobs 怪物名字为 特定的名字时 禁止跟随玩家离开出生的地图

原文地址: http://www.cveoy.top/t/topic/ivra 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录