请基于Minecraft Forge 1122写一个检测该世界所有已经被加载的玩家如果名字在MoreUser这个列表里面就自动在前面加上一个§f§b + LiquidBounceCLIENT_NAME2 + IRC§f 的代码前提是不使用到sendMessage
要实现上述功能,您可以编写一个事件监听器来检测加载的玩家,并在需要的情况下修改其显示名称。以下是一个示例代码:
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import java.util.ArrayList;
import java.util.List;
@Mod(modid = "examplemod", name = "Example Mod", version = "1.0")
public class ExampleMod {
private final List<String> moreUserList = new ArrayList<>(); // MoreUser列表
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(this); // 注册事件监听器
}
@SubscribeEvent
public void onEntityJoinWorld(EntityJoinWorldEvent event) {
if (!event.getWorld().isRemote && event.getEntity() instanceof EntityPlayerMP) {
EntityPlayerMP player = (EntityPlayerMP) event.getEntity();
if (moreUserList.contains(player.getName())) {
String displayName = "§f[§b" + LiquidBounce.CLIENT_NAME2 + " IRC§f] " + player.getDisplayNameString();
player.setDisplayName(displayName);
player.refreshDisplayName();
}
}
}
}
在上面的代码中,我们创建了一个名为"Example Mod"的Mod,并在初始化事件中注册了一个事件监听器。监听器订阅了EntityJoinWorldEvent事件,当玩家进入世界时,会检查玩家是否在MoreUser列表中。如果是,则修改其显示名称,并调用refreshDisplayName()来更新其显示。
请确保将代码中的"examplemod"替换为您的Mod的实际modid,并将MoreUser列表更改为您要使用的名称列表。此外,确保LiquidBounce.CLIENT_NAME2是正确的变量或字符串
原文地址: https://www.cveoy.top/t/topic/hROF 著作权归作者所有。请勿转载和采集!