以下是基于Minecraft Forge 1.12.2的代码示例,用于在特定玩家的名字前面自动添加一个"§f[§b" + LiquidBounce.CLIENT_NAME2 + " IRC§f] "的代码。

import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.PlayerEvent;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;

import java.util.Arrays;
import java.util.List;

@Mod(modid = \"examplemod\", version = \"1.0\")
public class ExampleMod {

    private static final List<String> MoreUser = Arrays.asList(\"Player1\", \"Player2\", \"Player3\");

    @EventHandler
    public void init(FMLInitializationEvent event) {
        // 初始化代码
    }

    @EventHandler
    public void serverLoad(FMLServerStartingEvent event) {
        // 在服务器启动时注册事件监听器
        event.registerServerCommand(new CommandAddPrefix());
    }

    public static class CommandAddPrefix extends CommandBase {

        @Override
        public String getName() {
            return \"addPrefix\";
        }

        @Override
        public String getUsage(ICommandSender sender) {
            return \"/addPrefix\";
        }

        @Override
        public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
            // 检测已加载的玩家并添加前缀
            for (EntityPlayerMP player : server.getPlayerList().getPlayers()) {
                if (MoreUser.contains(player.getName())) {
                    player.setCustomNameTag(\"§f[§b\" + LiquidBounce.CLIENT_NAME2 + \" IRC§f] \" + player.getName());
                    player.refreshDisplayName();
                }
            }
        }
    }

    @SubscribeEvent
    public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event) {
        // 玩家登录时执行添加前缀的命令
        MinecraftServer server = event.player.getServer();
        ICommandManager commandManager = server.getCommandManager();
        ICommandSender sender = server;
        String[] commandArgs = {\"addPrefix\"};

        commandManager.executeCommand(sender, String.join(\" \", commandArgs));
    }
}

mods.toml文件中添加以下内容:

modLoader=\"javafml\"
loaderVersion=\"[31,)\"
license=\"All rights reserved\"
[[mods]]
modId=\"examplemod\"
version=\"1.0\"
displayName=\"Example Mod\"

注意:

  • 此示例代码使用LiquidBounce的LiquidBounce.CLIENT_NAME2变量作为前缀,您需要将其替换为正确的名称。
  • 您需要根据自己的需求进行调整和修改。

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

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