Example usage for net.minecraftforge.client.event ScreenshotEvent setResultMessage

List of usage examples for net.minecraftforge.client.event ScreenshotEvent setResultMessage

Introduction

In this page you can find the example usage for net.minecraftforge.client.event ScreenshotEvent setResultMessage.

Prototype

public void setResultMessage(ITextComponent resultMessage) 

Source Link

Usage

From source file:vazkii.quark.client.feature.PanoramaMaker.java

License:Creative Commons License

@SubscribeEvent
public void takeScreenshot(ScreenshotEvent event) {
    if (takingPanorama)
        return;//from  ww w .ja  v  a2 s. c om

    if (GuiScreen.isCtrlKeyDown() && GuiScreen.isShiftKeyDown()
            && Minecraft.getMinecraft().currentScreen == null) {
        takingPanorama = true;
        panoramaStep = 0;

        if (panoramaDir == null)
            panoramaDir = new File(event.getScreenshotFile().getParentFile(), "panoramas");
        if (!panoramaDir.exists())
            panoramaDir.mkdirs();

        int i = 0;
        String ts = getTimestamp();
        do {
            if (fullscreen) {
                if (i == 0)
                    currentDir = new File(panoramaDir + "_fullres", ts);
                else
                    currentDir = new File(panoramaDir, ts + "_" + i + "_fullres");
            } else {
                if (i == 0)
                    currentDir = new File(panoramaDir, ts);
                else
                    currentDir = new File(panoramaDir, ts + "_" + i);
            }
        } while (currentDir.exists());

        currentDir.mkdirs();

        event.setCanceled(true);

        ITextComponent panoramaDirComponent = new TextComponentString(currentDir.getName());
        panoramaDirComponent.getStyle()
                .setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_FILE, currentDir.getAbsolutePath()))
                .setUnderlined(true);
        event.setResultMessage(new TextComponentTranslation("quarkmisc.panoramaSaved", panoramaDirComponent));
    }
}