以下是Java代码示例:

package com.example.chatcontrol;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.World;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class ChatControl extends JavaPlugin implements Listener {

    private World world;

    @Override
    public void onEnable() {
        // 获取名为"world"的世界
        world = Bukkit.getWorld("world");

        if (world == null) {
            // 如果找不到名为"world"的世界,打印错误信息并禁用插件
            getLogger().severe("Cannot find world named 'world'!");
            Bukkit.getPluginManager().disablePlugin(this);
            return;
        }

        // 注册聊天事件监听器
        Bukkit.getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onPlayerChat(AsyncPlayerChatEvent event) {
        // 如果玩家在名为"world"的世界,取消聊天事件
        if (event.getPlayer().getWorld().equals(world)) {
            event.setCancelled(true);
            event.getPlayer().sendMessage(ChatColor.RED + "You cannot chat in this world!");
        }
    }
}

解释一下代码:

  1. 插件启用时,获取名为"world"的世界(如果找不到则禁用插件)。
  2. 注册聊天事件监听器。
  3. 当玩家聊天时,检查该玩家所在的世界是否为名为"world"的世界。
  4. 如果是,取消聊天事件并向玩家发送一条红色的消息提示。
  5. 如果不是,聊天事件将继续进行
用Java写一个Bukkit1122在world世界里面禁止聊天而其他世界可以聊天的功能

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

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