Replace all ATs with Mixin on 1.13+ in preparation for Fabric

This commit is contained in:
Jonas Herzig
2019-04-26 11:20:31 +02:00
parent d5b9e60c4d
commit 17fe5b345f
67 changed files with 1035 additions and 399 deletions

View File

@@ -2,6 +2,7 @@ package com.replaymod.extras;
import com.replaymod.core.KeyBindingRegistry;
import com.replaymod.core.ReplayMod;
import com.replaymod.core.mixin.KeyBindingAccessor;
import com.replaymod.replay.events.ReplayOpenEvent;
import com.replaymod.replay.gui.overlay.GuiReplayOverlay;
import de.johni0702.minecraft.gui.GuiRenderer;
@@ -109,7 +110,8 @@ public class HotkeyButtons implements Extra {
super.draw(renderer, size, renderInfo);
}
}.onClick(() -> {
keyBinding.pressTime++;
KeyBindingAccessor acc = (KeyBindingAccessor) keyBinding;
acc.setPressTime(acc.getPressTime() + 1);
keyBindingRegistry.handleKeyBindings();
});
panel.addElements(null, new GuiPanel().setSize(150, 20).setLayout(new HorizontalLayout().setSpacing(2))

View File

@@ -11,11 +11,13 @@ import de.johni0702.minecraft.gui.function.Loadable;
import de.johni0702.minecraft.gui.layout.GridLayout;
import de.johni0702.minecraft.gui.layout.VerticalLayout;
import net.minecraft.crash.CrashReport;
import net.minecraft.util.ScreenShotHelper;
import java.io.File;
import java.nio.file.Path;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import static com.replaymod.core.utils.Utils.error;
import static com.replaymod.render.ReplayModRender.LOGGER;
@@ -81,8 +83,15 @@ public class GuiCreateScreenshot extends GuiRenderSettings implements Loadable {
@Override
protected File generateOutputFile(RenderSettings.EncodingPreset encodingPreset) {
DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss");
File screenshotFolder = new File(getMinecraft().gameDir, "screenshots");
return ScreenShotHelper.getTimestampedPNGFileForDirectory(screenshotFolder);
String baseName = DATE_FORMAT.format(new Date());
for (int i = 1; ; i++) {
File screenshotFile = new File(screenshotFolder, baseName + (i == 1 ? "" : "_" + i) + ".png");
if (!screenshotFile.exists()) {
return screenshotFile;
}
}
}
@Override

View File

@@ -11,10 +11,16 @@ import lombok.RequiredArgsConstructor;
import net.minecraft.client.Minecraft;
import net.minecraft.crash.CrashReport;
//#if MC>=11300
import com.replaymod.render.mixin.MainWindowAccessor;
//#endif
//#if MC>=10800
import com.replaymod.render.hooks.ChunkLoadingRenderGlobal;
//#endif
import static com.replaymod.core.versions.MCVer.getRenderPartialTicks;
@RequiredArgsConstructor
public class ScreenshotRenderer implements RenderInfo {
@@ -27,8 +33,8 @@ public class ScreenshotRenderer implements RenderInfo {
public boolean renderScreenshot() throws Throwable {
try {
//#if MC>=11300
int displayWidthBefore = mc.mainWindow.framebufferWidth;
int displayHeightBefore = mc.mainWindow.framebufferHeight;
int displayWidthBefore = mc.mainWindow.getFramebufferWidth();
int displayHeightBefore = mc.mainWindow.getFramebufferHeight();
//#else
//$$ int displayWidthBefore = mc.displayWidth;
//$$ int displayHeightBefore = mc.displayHeight;
@@ -55,8 +61,10 @@ public class ScreenshotRenderer implements RenderInfo {
mc.gameSettings.hideGUI = hideGUIBefore;
//#if MC>=11300
mc.mainWindow.framebufferWidth = displayWidthBefore;
mc.mainWindow.framebufferHeight = displayHeightBefore;
//noinspection ConstantConditions
MainWindowAccessor acc = (MainWindowAccessor) (Object) mc.mainWindow;
acc.setFramebufferWidth(displayWidthBefore);
acc.setFramebufferHeight(displayHeightBefore);
mc.getFramebuffer().createBindFramebuffer(displayWidthBefore, displayHeightBefore);
//#else
//$$ mc.resize(displayWidthBefore, displayHeightBefore);
@@ -89,7 +97,7 @@ public class ScreenshotRenderer implements RenderInfo {
@Override
public float updateForNextFrame() {
framesDone++;
return mc.timer.renderPartialTicks;
return getRenderPartialTicks();
}
@Override