以下是一个示例代码,用于在Bukkit 1.12.1中使用MythicMobs禁止怪物跟随玩家离开出生地图:

import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.entity.Entity;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerChangedWorldEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class NoMobFollow extends JavaPlugin implements Listener {
    
    @Override
    public void onEnable() {
        Bukkit.getPluginManager().registerEvents(this, this);
    }
    
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent event) {
        disableMobFollow(event.getPlayer().getWorld());
    }
    
    @EventHandler
    public void onPlayerChangedWorld(PlayerChangedWorldEvent event) {
        disableMobFollow(event.getPlayer().getWorld());
    }
    
    private void disableMobFollow(World world) {
        for (Entity entity : world.getEntities()) {
            // 检查实体是否为MythicMobs的怪物实体
            if (entity.hasMetadata("MM_CustomName")) {
                // 在这里可以添加更多的判断条件,比如怪物的类型、名称等
                
                // 禁止怪物跟随
                entity.setAI(false);
            }
        }
    }
}

在这个示例代码中,我们创建了一个名为NoMobFollow的插件,并实现了Listener接口来监听玩家加入服务器和切换世界的事件。在这两个事件中,我们调用了disableMobFollow()方法来禁止怪物跟随玩家离开出生地图。在disableMobFollow()方法中,我们遍历了当前世界中的所有实体,通过检查实体是否有MythicMobs的自定义名称元数据来判断是否为怪物实体。如果是,我们可以根据需要添加更多的判断条件,比如怪物的类型、名称等,然后禁止怪物跟随玩家离开出生地图。

请注意,这只是一个简单的示例代码,你可能需要根据自己的需求进行修改和扩展。另外,你还需要在插件的主类中注册监听器,即在onEnable()方法中调用Bukkit.getPluginManager().registerEvents(this, this)来注册NoMobFollow插件的事件监听器

用Java写一个Bukkit1121 基于Mythicmobs 禁止怪物跟随玩家离开出生地图

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

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