50 lines
1.9 KiB
Java
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 {}
|
|
}
|