Minecraft 1.12.2 Forge Mod:以玩家身份发送消息
要在 Minecraft 1.12.2 Forge 中以安装该 Mod 的玩家身份发送消息,你可以使用下面的代码:
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.text.TextComponentString;
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;
@Mod(modid = 'examplemod', name = 'Example Mod', version = '1.0')
public class ExampleMod {
@Mod.EventHandler
public void serverLoad(FMLServerStartingEvent event) {
event.registerServerCommand(new SendMessageCommand());
}
public static class SendMessageCommand extends net.minecraft.command.CommandBase {
@Override
public String getName() {
return 'sendmessage';
}
@Override
public String getUsage(net.minecraft.command.ICommandSender sender) {
return '/sendmessage <message>';
}
@Override
public void execute(net.minecraft.command.ICommandSender sender, String[] args) {
if (sender instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) sender;
String message = String.join(' ', args);
player.sendMessage(new TextComponentString(message));
}
}
}
@Mod.EventBusSubscriber
public static class EventHandler {
@SubscribeEvent
public static void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) {
if (event.player instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer) event.player;
player.sendMessage(new TextComponentString('Welcome to the server!'));
}
}
}
}
这个 Mod 注册了一个名为 'sendmessage' 的命令,可以通过在游戏中输入 '/sendmessage
请注意,这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。
原文地址: https://www.cveoy.top/t/topic/fQvI 著作权归作者所有。请勿转载和采集!