Files
ReplayModCinematic/src/main/java/com/replaymod/extras/youtube/YoutubeUpload.java
2019-05-04 15:27:03 +02:00

50 lines
1.9 KiB
Java

package com.replaymod.extras.youtube;
import com.replaymod.core.ReplayMod;
import com.replaymod.extras.Extra;
import com.replaymod.render.gui.GuiRenderingDone;
import de.johni0702.minecraft.gui.container.GuiScreen;
import de.johni0702.minecraft.gui.element.GuiButton;
import de.johni0702.minecraft.gui.utils.EventRegistrations;
//#if MC>=11400
//$$ import de.johni0702.minecraft.gui.versions.callbacks.OpenGuiScreenCallback;
//$$ import net.minecraft.client.gui.Screen;
//#else
import net.minecraftforge.client.event.GuiScreenEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
//#endif
import static com.replaymod.core.versions.MCVer.*;
public class YoutubeUpload extends EventRegistrations implements Extra {
@Override
public void register(ReplayMod mod) {
register();
}
//#if MC>=11400
//$$ { on(OpenGuiScreenCallback.EVENT, this::onGuiOpen); }
//$$ private void onGuiOpen(Screen vanillaGui) {
//#else
@SubscribeEvent
public void onGuiOpen(GuiScreenEvent.InitGuiEvent.Post event) {
net.minecraft.client.gui.GuiScreen vanillaGui = getGui(event);
//#endif
if (GuiScreen.from(vanillaGui) instanceof GuiRenderingDone) {
GuiRenderingDone gui = (GuiRenderingDone) GuiScreen.from(vanillaGui);
// Check if there already is a youtube button
if (gui.actionsPanel.getChildren().stream().anyMatch(it -> it instanceof YoutubeButton)) {
return; // Button already added
}
// Add the Upload to YouTube button to actions panel
gui.actionsPanel.addElements(null,
new YoutubeButton().onClick(() ->
new GuiYoutubeUpload(gui, gui.videoFile, gui.videoFrames, gui.settings).display()
).setSize(200, 20).setI18nLabel("replaymod.gui.youtubeupload"));
}
}
private static class YoutubeButton extends GuiButton {}
}