Get simplepathing module compiling on 1.13

This commit is contained in:
Jonas Herzig
2019-03-01 15:20:59 +01:00
parent 344a550dc1
commit 1727702de4
10 changed files with 84 additions and 70 deletions

View File

@@ -11,6 +11,7 @@ import com.replaymod.recording.ReplayModRecording;
import com.replaymod.render.ReplayModRender; import com.replaymod.render.ReplayModRender;
import com.replaymod.replay.ReplayModReplay; import com.replaymod.replay.ReplayModReplay;
import com.replaymod.replaystudio.util.I18n; import com.replaymod.replaystudio.util.I18n;
import com.replaymod.simplepathing.ReplayModSimplePathing;
import de.johni0702.minecraft.gui.container.GuiScreen; import de.johni0702.minecraft.gui.container.GuiScreen;
import lombok.Getter; import lombok.Getter;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@@ -165,6 +166,7 @@ public class ReplayMod implements Module {
modules.add(new ReplayModRecording(this)); modules.add(new ReplayModRecording(this));
modules.add(new ReplayModReplay(this)); modules.add(new ReplayModReplay(this));
modules.add(new ReplayModRender(this)); modules.add(new ReplayModRender(this));
modules.add(new ReplayModSimplePathing(this));
//#if MC>=11300 //#if MC>=11300
settingsRegistry.register(); settingsRegistry.register();

View File

@@ -31,6 +31,7 @@ import net.minecraftforge.common.MinecraftForge;
//#if MC>=11300 //#if MC>=11300
import net.minecraft.client.MainWindow; import net.minecraft.client.MainWindow;
import net.minecraft.client.util.InputMappings;
import net.minecraft.crash.ReportedException; import net.minecraft.crash.ReportedException;
import org.lwjgl.glfw.GLFW; import org.lwjgl.glfw.GLFW;
//#else //#else
@@ -709,6 +710,8 @@ public class MCVer {
public static void colorLogicOp(int op) { GlStateManager.logicOp(op); } public static void colorLogicOp(int op) { GlStateManager.logicOp(op); }
public static abstract class Keyboard { public static abstract class Keyboard {
public static final int KEY_LCONTROL = GLFW.GLFW_KEY_LEFT_CONTROL;
public static final int KEY_LSHIFT = GLFW.GLFW_KEY_LEFT_SHIFT;
public static final int KEY_ESCAPE = GLFW.GLFW_KEY_ESCAPE; public static final int KEY_ESCAPE = GLFW.GLFW_KEY_ESCAPE;
public static final int KEY_HOME = GLFW.GLFW_KEY_HOME; public static final int KEY_HOME = GLFW.GLFW_KEY_HOME;
public static final int KEY_END = GLFW.GLFW_KEY_END; public static final int KEY_END = GLFW.GLFW_KEY_END;
@@ -747,6 +750,10 @@ public class MCVer {
public static final int KEY_X = GLFW.GLFW_KEY_X; public static final int KEY_X = GLFW.GLFW_KEY_X;
public static final int KEY_Y = GLFW.GLFW_KEY_Y; public static final int KEY_Y = GLFW.GLFW_KEY_Y;
public static final int KEY_Z = GLFW.GLFW_KEY_Z; public static final int KEY_Z = GLFW.GLFW_KEY_Z;
public static boolean isKeyDown(int keyCode) {
return InputMappings.isKeyDown(keyCode);
}
} }
//#endif //#endif
} }

View File

@@ -1,5 +1,7 @@
package com.replaymod.simplepathing; package com.replaymod.simplepathing;
import com.replaymod.core.KeyBindingRegistry;
import com.replaymod.core.Module;
import com.replaymod.core.ReplayMod; import com.replaymod.core.ReplayMod;
import com.replaymod.core.events.SettingsChangedEvent; import com.replaymod.core.events.SettingsChangedEvent;
import com.replaymod.replay.ReplayModReplay; import com.replaymod.replay.ReplayModReplay;
@@ -17,19 +19,19 @@ import com.replaymod.simplepathing.gui.GuiPathing;
import com.replaymod.simplepathing.preview.PathPreview; import com.replaymod.simplepathing.preview.PathPreview;
import lombok.Getter; import lombok.Getter;
import net.minecraft.crash.CrashReport; import net.minecraft.crash.CrashReport;
import net.minecraft.util.ReportedException; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.lwjgl.input.Keyboard;
//#if MC>=10800 //#if MC>=11300
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; //#else
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; //$$ import org.lwjgl.input.Keyboard;
//#if MC>=10800
//$$ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
//#else //#else
//$$ import cpw.mods.fml.common.Mod;
//$$ import cpw.mods.fml.common.event.FMLPreInitializationEvent;
//$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent; //$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
//#endif //#endif
//#endif
import java.io.IOException; import java.io.IOException;
import java.util.Collections; import java.util.Collections;
@@ -41,38 +43,32 @@ import java.util.concurrent.atomic.AtomicInteger;
import static com.replaymod.core.versions.MCVer.*; import static com.replaymod.core.versions.MCVer.*;
@Mod(modid = ReplayModSimplePathing.MOD_ID, public class ReplayModSimplePathing implements Module {
version = "@MOD_VERSION@", { instance = this; }
acceptedMinecraftVersions = "@MC_VERSION@",
acceptableRemoteVersions = "*",
//#if MC>=10800
clientSideOnly = true,
//#endif
useMetadata = true)
public class ReplayModSimplePathing {
public static final String MOD_ID = "replaymod-simplepathing";
@Mod.Instance(MOD_ID)
public static ReplayModSimplePathing instance; public static ReplayModSimplePathing instance;
private ReplayMod core; private ReplayMod core;
public static Logger LOGGER; public static Logger LOGGER = LogManager.getLogger();
private GuiPathing guiPathing; private GuiPathing guiPathing;
private PathPreview pathPreview = new PathPreview(this);
@Mod.EventHandler public ReplayModSimplePathing(ReplayMod core) {
public void preInit(FMLPreInitializationEvent event) { this.core = core;
LOGGER = event.getModLog();
core = ReplayMod.instance;
core.getSettingsRegistry().register(Setting.class); core.getSettingsRegistry().register(Setting.class);
}
@Override
public void initClient() {
FML_BUS.register(this); FML_BUS.register(this);
PathPreview pathPreview = new PathPreview(this);
pathPreview.register(); pathPreview.register();
}
@Override
public void registerKeyBindings(KeyBindingRegistry registry) {
pathPreview.registerKeyBindings(registry);
core.getKeyBindingRegistry().registerKeyBinding("replaymod.input.keyframerepository", Keyboard.KEY_X, () -> { core.getKeyBindingRegistry().registerKeyBinding("replaymod.input.keyframerepository", Keyboard.KEY_X, () -> {
if (guiPathing != null) guiPathing.keyframeRepoButtonPressed(); if (guiPathing != null) guiPathing.keyframeRepoButtonPressed();
}); });

View File

@@ -31,7 +31,6 @@ import com.replaymod.simplepathing.properties.ExplicitInterpolationProperty;
import lombok.Getter; import lombok.Getter;
import net.minecraft.crash.CrashReport; import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory; import net.minecraft.crash.CrashReportCategory;
import net.minecraft.util.ReportedException;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.Validate; import org.apache.commons.lang3.Validate;
import org.apache.commons.lang3.tuple.Triple; import org.apache.commons.lang3.tuple.Triple;
@@ -674,7 +673,7 @@ public class SPTimeline implements PathingRegistry {
} catch (IOException e) { } catch (IOException e) {
CrashReport crash = CrashReport.makeCrashReport(e, "De-serializing interpolator"); CrashReport crash = CrashReport.makeCrashReport(e, "De-serializing interpolator");
CrashReportCategory category = crash.makeCategory("De-serializing interpolator"); CrashReportCategory category = crash.makeCategory("De-serializing interpolator");
category.addCrashSection("Interpolator", json); addDetail(category, "Interpolator", json::toString);
throw newReportedException(crash); throw newReportedException(crash);
} }
} }

View File

@@ -33,16 +33,21 @@ import de.johni0702.minecraft.gui.layout.VerticalLayout;
import de.johni0702.minecraft.gui.popup.AbstractGuiPopup; import de.johni0702.minecraft.gui.popup.AbstractGuiPopup;
import de.johni0702.minecraft.gui.utils.Colors; import de.johni0702.minecraft.gui.utils.Colors;
import de.johni0702.minecraft.gui.utils.Consumer; import de.johni0702.minecraft.gui.utils.Consumer;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadablePoint;
import lombok.Getter; import lombok.Getter;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.lwjgl.input.Keyboard;
import org.lwjgl.util.ReadablePoint;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
//#if MC>=11300
import com.replaymod.core.versions.MCVer.Keyboard;
//#else
//$$ import org.lwjgl.input.Keyboard;
//#endif
import static de.johni0702.minecraft.gui.utils.Utils.link; import static de.johni0702.minecraft.gui.utils.Utils.link;
public abstract class GuiEditKeyframe<T extends GuiEditKeyframe<T>> extends AbstractGuiPopup<T> implements Typeable { public abstract class GuiEditKeyframe<T extends GuiEditKeyframe<T>> extends AbstractGuiPopup<T> implements Typeable {

View File

@@ -1,6 +1,7 @@
package com.replaymod.simplepathing.gui; package com.replaymod.simplepathing.gui;
import com.replaymod.core.ReplayMod; import com.replaymod.core.ReplayMod;
import com.replaymod.core.versions.MCVer;
import com.replaymod.pathing.properties.CameraProperties; import com.replaymod.pathing.properties.CameraProperties;
import com.replaymod.pathing.properties.SpectatorProperty; import com.replaymod.pathing.properties.SpectatorProperty;
import com.replaymod.pathing.properties.TimestampProperty; import com.replaymod.pathing.properties.TimestampProperty;
@@ -16,11 +17,10 @@ import com.replaymod.simplepathing.SPTimeline.SPPath;
import de.johni0702.minecraft.gui.GuiRenderer; import de.johni0702.minecraft.gui.GuiRenderer;
import de.johni0702.minecraft.gui.element.advanced.AbstractGuiTimeline; import de.johni0702.minecraft.gui.element.advanced.AbstractGuiTimeline;
import de.johni0702.minecraft.gui.function.Draggable; import de.johni0702.minecraft.gui.function.Draggable;
import net.minecraft.client.Minecraft;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import org.lwjgl.util.Point; import de.johni0702.minecraft.gui.utils.lwjgl.Point;
import org.lwjgl.util.ReadableDimension; import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
import org.lwjgl.util.ReadablePoint; import de.johni0702.minecraft.gui.utils.lwjgl.ReadablePoint;
import java.util.Comparator; import java.util.Comparator;
import java.util.Optional; import java.util.Optional;
@@ -46,7 +46,7 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline<GuiKeyframeTimeline
/** /**
* The time at which {@link #lastClickedKeyframe} was updated. * The time at which {@link #lastClickedKeyframe} was updated.
* According to {@link Minecraft#getSystemTime()}. * According to {@link MCVer#milliTime()}.
*/ */
private long lastClickedTime; private long lastClickedTime;
@@ -191,7 +191,7 @@ public class GuiKeyframeTimeline extends AbstractGuiTimeline<GuiKeyframeTimeline
// Clicked on keyframe // Clicked on keyframe
long keyframeTime = pathKeyframePair.getRight(); long keyframeTime = pathKeyframePair.getRight();
if (button == 0) { // Left click if (button == 0) { // Left click
long now = Minecraft.getSystemTime(); long now = MCVer.milliTime();
if (lastClickedKeyframe == keyframeTime) { if (lastClickedKeyframe == keyframeTime) {
// Clicked the same keyframe again, potentially a double click // Clicked the same keyframe again, potentially a double click
if (now - lastClickedTime < DOUBLE_CLICK_INTERVAL) { if (now - lastClickedTime < DOUBLE_CLICK_INTERVAL) {

View File

@@ -45,20 +45,23 @@ import de.johni0702.minecraft.gui.popup.AbstractGuiPopup;
import de.johni0702.minecraft.gui.popup.GuiInfoPopup; import de.johni0702.minecraft.gui.popup.GuiInfoPopup;
import de.johni0702.minecraft.gui.popup.GuiYesNoPopup; import de.johni0702.minecraft.gui.popup.GuiYesNoPopup;
import de.johni0702.minecraft.gui.utils.Colors; import de.johni0702.minecraft.gui.utils.Colors;
import de.johni0702.minecraft.gui.utils.lwjgl.Dimension;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadableDimension;
import de.johni0702.minecraft.gui.utils.lwjgl.ReadablePoint;
import de.johni0702.minecraft.gui.utils.lwjgl.WritablePoint;
import net.minecraft.crash.CrashReport; import net.minecraft.crash.CrashReport;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.lwjgl.input.Keyboard;
import org.lwjgl.util.Dimension;
import org.lwjgl.util.ReadableDimension;
import org.lwjgl.util.ReadablePoint;
import org.lwjgl.util.WritablePoint;
//#if MC>=11300
//#else
//$$ import org.lwjgl.input.Keyboard;
//#if MC>=10800 //#if MC>=10800
import net.minecraftforge.fml.common.Loader; //$$ import net.minecraftforge.fml.common.Loader;
//#else //#else
//$$ import cpw.mods.fml.common.Loader; //$$ import cpw.mods.fml.common.Loader;
//#endif //#endif
//#endif
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@@ -211,15 +214,9 @@ public class GuiPathing {
}).addElements(null, timelineTime, timeline, scrollbar, zoomButtonPanel); }).addElements(null, timelineTime, timeline, scrollbar, zoomButtonPanel);
public final GuiPanel panel = new GuiPanel() public final GuiPanel panel = new GuiPanel()
.setLayout(new HorizontalLayout(HorizontalLayout.Alignment.CENTER).setSpacing(5)); .setLayout(new HorizontalLayout(HorizontalLayout.Alignment.CENTER).setSpacing(5))
.addElements(new HorizontalLayout.Data(0.5),
{ playPauseButton, renderButton, positionKeyframeButton, timeKeyframeButton, timelinePanel);
panel.addElements(new HorizontalLayout.Data(0.5), playPauseButton);
if (Loader.isModLoaded("replaymod-render")) {
panel.addElements(new HorizontalLayout.Data(0.5), renderButton);
}
panel.addElements(new HorizontalLayout.Data(0.5), positionKeyframeButton, timeKeyframeButton, timelinePanel);
}
/** /**
* IGuiClickable dummy component that is inserted at a high level. * IGuiClickable dummy component that is inserted at a high level.

View File

@@ -1,6 +1,6 @@
package com.replaymod.simplepathing.preview; package com.replaymod.simplepathing.preview;
import com.replaymod.core.ReplayMod; import com.replaymod.core.KeyBindingRegistry;
import com.replaymod.core.SettingsRegistry; import com.replaymod.core.SettingsRegistry;
import com.replaymod.core.events.SettingsChangedEvent; import com.replaymod.core.events.SettingsChangedEvent;
import com.replaymod.replay.ReplayHandler; import com.replaymod.replay.ReplayHandler;
@@ -8,13 +8,17 @@ import com.replaymod.replay.events.ReplayCloseEvent;
import com.replaymod.replay.events.ReplayOpenEvent; import com.replaymod.replay.events.ReplayOpenEvent;
import com.replaymod.simplepathing.ReplayModSimplePathing; import com.replaymod.simplepathing.ReplayModSimplePathing;
import com.replaymod.simplepathing.Setting; import com.replaymod.simplepathing.Setting;
import org.lwjgl.input.Keyboard;
//#if MC>=11300
import net.minecraftforge.eventbus.api.SubscribeEvent;
//#else
//$$ import org.lwjgl.input.Keyboard;
//#if MC>=10800 //#if MC>=10800
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; //$$ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
//#else //#else
//$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent; //$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
//#endif //#endif
//#endif
import static com.replaymod.core.versions.MCVer.*; import static com.replaymod.core.versions.MCVer.*;
@@ -30,12 +34,13 @@ public class PathPreview {
public void register() { public void register() {
FML_BUS.register(this); FML_BUS.register(this);
}
ReplayMod core = mod.getCore(); public void registerKeyBindings(KeyBindingRegistry registry) {
mod.getCore().getKeyBindingRegistry().registerKeyBinding("replaymod.input.pathpreview", Keyboard.KEY_H, () -> { registry.registerKeyBinding("replaymod.input.pathpreview", Keyboard.KEY_H, () -> {
SettingsRegistry registry = core.getSettingsRegistry(); SettingsRegistry settings = mod.getCore().getSettingsRegistry();
registry.set(Setting.PATH_PREVIEW, !registry.get(Setting.PATH_PREVIEW)); settings.set(Setting.PATH_PREVIEW, !settings.get(Setting.PATH_PREVIEW));
registry.save(); settings.save();
}); });
} }

View File

@@ -1,6 +1,7 @@
package com.replaymod.simplepathing.preview; package com.replaymod.simplepathing.preview;
import com.replaymod.core.ReplayMod; import com.replaymod.core.ReplayMod;
import com.replaymod.core.versions.MCVer;
import com.replaymod.pathing.properties.CameraProperties; import com.replaymod.pathing.properties.CameraProperties;
import com.replaymod.pathing.properties.SpectatorProperty; import com.replaymod.pathing.properties.SpectatorProperty;
import com.replaymod.pathing.properties.TimestampProperty; import com.replaymod.pathing.properties.TimestampProperty;
@@ -15,7 +16,6 @@ import com.replaymod.simplepathing.ReplayModSimplePathing;
import com.replaymod.simplepathing.SPTimeline; import com.replaymod.simplepathing.SPTimeline;
import com.replaymod.simplepathing.gui.GuiPathing; import com.replaymod.simplepathing.gui.GuiPathing;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.RenderWorldLastEvent; import net.minecraftforge.client.event.RenderWorldLastEvent;
@@ -26,7 +26,11 @@ import org.lwjgl.opengl.GL11;
//#if MC>=10800 //#if MC>=10800
import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.GlStateManager;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; //#if MC>=11300
import net.minecraftforge.eventbus.api.SubscribeEvent;
//#else
//$$ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
//#endif
//#else //#else
//$$ import com.replaymod.core.versions.MCVer.GlStateManager; //$$ import com.replaymod.core.versions.MCVer.GlStateManager;
//$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent; //$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
@@ -40,7 +44,7 @@ import static com.replaymod.core.versions.MCVer.*;
public class PathPreviewRenderer { public class PathPreviewRenderer {
private static final ResourceLocation CAMERA_HEAD = new ResourceLocation("replaymod", "camera_head.png"); private static final ResourceLocation CAMERA_HEAD = new ResourceLocation("replaymod", "camera_head.png");
private static final Minecraft mc = Minecraft.getMinecraft(); private static final Minecraft mc = MCVer.getMinecraft();
private static final int SLOW_PATH_COLOR = 0xffcccc; private static final int SLOW_PATH_COLOR = 0xffcccc;
private static final int FAST_PATH_COLOR = 0x660000; private static final int FAST_PATH_COLOR = 0x660000;
@@ -239,7 +243,7 @@ public class PathPreviewRenderer {
Keyframe keyframe) { Keyframe keyframe) {
BufferBuilder_setTranslation(0, 0, 0); BufferBuilder_setTranslation(0, 0, 0);
mc.renderEngine.bindTexture(TEXTURE); MCVer.bindTexture(TEXTURE);
float posX = 80f / ReplayMod.TEXTURE_SIZE; float posX = 80f / ReplayMod.TEXTURE_SIZE;
float posY = 0f; float posY = 0f;
@@ -286,7 +290,7 @@ public class PathPreviewRenderer {
Triple<Float, Float, Float> rot) { Triple<Float, Float, Float> rot) {
BufferBuilder_setTranslation(0, 0, 0); BufferBuilder_setTranslation(0, 0, 0);
mc.renderEngine.bindTexture(CAMERA_HEAD); MCVer.bindTexture(CAMERA_HEAD);
GL11.glPushMatrix(); GL11.glPushMatrix();

View File

@@ -278,7 +278,6 @@ sourceSets {
exclude 'com/replaymod/extras' exclude 'com/replaymod/extras'
exclude 'com/replaymod/online' exclude 'com/replaymod/online'
exclude 'com/replaymod/restrictions' exclude 'com/replaymod/restrictions'
exclude 'com/replaymod/simplepathing'
} }
} }
} }