package org.cfpa.i18nupdatemod.command; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; import net.minecraft.command.CommandBase; import net.minecraft.command.ICommandSender; import net.minecraft.item.ItemStack; import net.minecraft.server.MinecraftServer; import net.minecraft.util.text.TextComponentTranslation; import org.cfpa.i18nupdatemod.I18nConfig; import javax.annotation.Nullable; import java.awt.*; import java.net.URI; public class CmdReport extends CommandBase { @Override public String getName() { return "lang_report"; } @Override @Nullable public String getUsage(ICommandSender sender) { return null; } @Override public int getRequiredPermissionLevel() { return 0; } @Override public void execute(MinecraftServer server, ICommandSender sender, String[] args) { ItemStack stack = Minecraft.getMinecraft().player.inventory.getCurrentItem(); if (!stack.isEmpty()) { String text = String.format("模组ID:%s\n非本地化名称:%s\n显示名称:%s", stack.getItem().getCreatorModId(stack), stack.getItem().getUnlocalizedName(), stack.getDisplayName()); String url = I18nConfig.key.reportURL; try { GuiScreen.setClipboardString(text); Desktop.getDesktop().browse(new URI(url)); } catch (Exception urlException) { urlException.printStackTrace(); } } else { Minecraft.getMinecraft().player.sendMessage(new TextComponentTranslation("message.i18nmod.cmd_report.empty")); } } }