Update to MC 1.14 / Fabric
This commit is contained in:
@@ -3,11 +3,14 @@ package com.replaymod.simplepathing;
|
||||
import com.replaymod.core.KeyBindingRegistry;
|
||||
import com.replaymod.core.Module;
|
||||
import com.replaymod.core.ReplayMod;
|
||||
import com.replaymod.core.events.SettingsChangedEvent;
|
||||
import com.replaymod.core.events.SettingsChangedCallback;
|
||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||
import com.replaymod.core.versions.MCVer.Keyboard;
|
||||
import com.replaymod.replay.ReplayHandler;
|
||||
import com.replaymod.replay.ReplayModReplay;
|
||||
import com.replaymod.replay.events.ReplayCloseEvent;
|
||||
import com.replaymod.replay.events.ReplayOpenEvent;
|
||||
import com.replaymod.replay.events.ReplayClosedCallback;
|
||||
import com.replaymod.replay.events.ReplayClosingCallback;
|
||||
import com.replaymod.replay.events.ReplayOpenedCallback;
|
||||
import com.replaymod.replay.gui.overlay.GuiReplayOverlay;
|
||||
import com.replaymod.replaystudio.pathing.PathingRegistry;
|
||||
import com.replaymod.replaystudio.pathing.change.Change;
|
||||
@@ -21,7 +24,6 @@ import com.replaymod.simplepathing.preview.PathPreview;
|
||||
import lombok.Getter;
|
||||
import net.minecraft.crash.CrashReport;
|
||||
import net.minecraft.crash.ReportedException;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
@@ -33,9 +35,7 @@ import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import static com.replaymod.core.versions.MCVer.FML_BUS;
|
||||
|
||||
public class ReplayModSimplePathing implements Module {
|
||||
public class ReplayModSimplePathing extends EventRegistrations implements Module {
|
||||
{ instance = this; }
|
||||
public static ReplayModSimplePathing instance;
|
||||
|
||||
@@ -50,12 +50,31 @@ public class ReplayModSimplePathing implements Module {
|
||||
this.core = core;
|
||||
|
||||
core.getSettingsRegistry().register(Setting.class);
|
||||
|
||||
on(SettingsChangedCallback.EVENT, (registry, key) -> {
|
||||
if (key == Setting.DEFAULT_INTERPOLATION) {
|
||||
if (currentTimeline != null && guiPathing != null) {
|
||||
updateDefaultInterpolatorType();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register() {
|
||||
super.register();
|
||||
pathPreview.register();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unregister() {
|
||||
super.unregister();
|
||||
pathPreview.unregister();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initClient() {
|
||||
FML_BUS.register(this);
|
||||
pathPreview.register();
|
||||
register();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -75,9 +94,9 @@ public class ReplayModSimplePathing implements Module {
|
||||
});
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void postReplayOpen(ReplayOpenEvent.Post event) {
|
||||
ReplayFile replayFile = event.getReplayHandler().getReplayFile();
|
||||
{ on(ReplayOpenedCallback.EVENT, this::onReplayOpened); }
|
||||
private void onReplayOpened(ReplayHandler replayHandler) {
|
||||
ReplayFile replayFile = replayHandler.getReplayFile();
|
||||
try {
|
||||
synchronized (replayFile) {
|
||||
Timeline timeline = replayFile.getTimelines(new SPTimeline()).get("");
|
||||
@@ -91,7 +110,7 @@ public class ReplayModSimplePathing implements Module {
|
||||
throw new ReportedException(CrashReport.makeCrashReport(e, "Reading timeline"));
|
||||
}
|
||||
|
||||
guiPathing = new GuiPathing(core, this, event.getReplayHandler());
|
||||
guiPathing = new GuiPathing(core, this, replayHandler);
|
||||
|
||||
saveService = Executors.newSingleThreadExecutor();
|
||||
new Runnable() {
|
||||
@@ -105,8 +124,8 @@ public class ReplayModSimplePathing implements Module {
|
||||
}.run();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void preReplayClose(ReplayCloseEvent.Pre event) {
|
||||
{ on(ReplayClosingCallback.EVENT, replayHandler -> onReplayClosing()); }
|
||||
private void onReplayClosing() {
|
||||
saveService.shutdown();
|
||||
try {
|
||||
saveService.awaitTermination(1, TimeUnit.MINUTES);
|
||||
@@ -116,22 +135,13 @@ public class ReplayModSimplePathing implements Module {
|
||||
saveService = null;
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onReplayClose(ReplayCloseEvent.Post event) {
|
||||
{ on(ReplayClosedCallback.EVENT, replayHandler -> onReplayClosed()); }
|
||||
private void onReplayClosed() {
|
||||
currentTimeline = null;
|
||||
guiPathing = null;
|
||||
selectedPath = null;
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onSettingsChanged(SettingsChangedEvent event) {
|
||||
if (event.getKey() == Setting.DEFAULT_INTERPOLATION) {
|
||||
if (currentTimeline != null && guiPathing != null) {
|
||||
updateDefaultInterpolatorType();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private GuiReplayOverlay getReplayOverlay() {
|
||||
return ReplayModReplay.instance.getReplayHandler().getOverlay();
|
||||
}
|
||||
|
||||
@@ -2,27 +2,16 @@ package com.replaymod.simplepathing.preview;
|
||||
|
||||
import com.replaymod.core.KeyBindingRegistry;
|
||||
import com.replaymod.core.SettingsRegistry;
|
||||
import com.replaymod.core.events.SettingsChangedEvent;
|
||||
import com.replaymod.core.events.SettingsChangedCallback;
|
||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||
import com.replaymod.core.versions.MCVer.Keyboard;
|
||||
import com.replaymod.replay.ReplayHandler;
|
||||
import com.replaymod.replay.events.ReplayCloseEvent;
|
||||
import com.replaymod.replay.events.ReplayOpenEvent;
|
||||
import com.replaymod.replay.events.ReplayClosedCallback;
|
||||
import com.replaymod.replay.events.ReplayOpenedCallback;
|
||||
import com.replaymod.simplepathing.ReplayModSimplePathing;
|
||||
import com.replaymod.simplepathing.Setting;
|
||||
|
||||
//#if MC>=11300
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
//#else
|
||||
//$$ import org.lwjgl.input.Keyboard;
|
||||
//#if MC>=10800
|
||||
//$$ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
//#else
|
||||
//$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
//#endif
|
||||
//#endif
|
||||
|
||||
import static com.replaymod.core.versions.MCVer.*;
|
||||
|
||||
public class PathPreview {
|
||||
public class PathPreview extends EventRegistrations {
|
||||
private final ReplayModSimplePathing mod;
|
||||
|
||||
private ReplayHandler replayHandler;
|
||||
@@ -30,10 +19,22 @@ public class PathPreview {
|
||||
|
||||
public PathPreview(ReplayModSimplePathing mod) {
|
||||
this.mod = mod;
|
||||
}
|
||||
|
||||
public void register() {
|
||||
FML_BUS.register(this);
|
||||
on(SettingsChangedCallback.EVENT, (registry, key) -> {
|
||||
if (key == Setting.PATH_PREVIEW) {
|
||||
update();
|
||||
}
|
||||
});
|
||||
|
||||
on(ReplayOpenedCallback.EVENT, replayHandler -> {
|
||||
this.replayHandler = replayHandler;
|
||||
update();
|
||||
});
|
||||
|
||||
on(ReplayClosedCallback.EVENT, replayHandler -> {
|
||||
this.replayHandler = null;
|
||||
update();
|
||||
});
|
||||
}
|
||||
|
||||
public void registerKeyBindings(KeyBindingRegistry registry) {
|
||||
@@ -44,25 +45,6 @@ public class PathPreview {
|
||||
});
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onReplayOpen(ReplayOpenEvent.Post event) {
|
||||
replayHandler = event.getReplayHandler();
|
||||
update();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onReplayClose(ReplayCloseEvent.Pre event) {
|
||||
replayHandler = null;
|
||||
update();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void onSettingsChanged(SettingsChangedEvent event) {
|
||||
if (event.getKey() == Setting.PATH_PREVIEW) {
|
||||
update();
|
||||
}
|
||||
}
|
||||
|
||||
private void update() {
|
||||
if (mod.getCore().getSettingsRegistry().get(Setting.PATH_PREVIEW) && replayHandler != null) {
|
||||
if (renderer == null) {
|
||||
|
||||
@@ -15,25 +15,20 @@ import com.replaymod.replaystudio.util.Location;
|
||||
import com.replaymod.simplepathing.ReplayModSimplePathing;
|
||||
import com.replaymod.simplepathing.SPTimeline;
|
||||
import com.replaymod.simplepathing.gui.GuiPathing;
|
||||
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.event.RenderWorldLastEvent;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.apache.commons.lang3.tuple.Triple;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
//#if MC>=10800
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
//#if MC>=11300
|
||||
//#if MC>=11400
|
||||
//$$ import com.replaymod.core.events.PostRenderWorldCallback;
|
||||
//#else
|
||||
import net.minecraftforge.client.event.RenderWorldLastEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
//#else
|
||||
//$$ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
//#endif
|
||||
//#else
|
||||
//$$ import com.replaymod.core.versions.MCVer.GlStateManager;
|
||||
//$$ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
//#endif
|
||||
|
||||
import java.util.Comparator;
|
||||
@@ -42,7 +37,7 @@ import java.util.Optional;
|
||||
import static com.replaymod.core.ReplayMod.TEXTURE;
|
||||
import static com.replaymod.core.versions.MCVer.*;
|
||||
|
||||
public class PathPreviewRenderer {
|
||||
public class PathPreviewRenderer extends EventRegistrations {
|
||||
private static final ResourceLocation CAMERA_HEAD = new ResourceLocation("replaymod", "camera_head.png");
|
||||
private static final Minecraft mc = MCVer.getMinecraft();
|
||||
|
||||
@@ -58,16 +53,13 @@ public class PathPreviewRenderer {
|
||||
this.replayHandler = replayHandler;
|
||||
}
|
||||
|
||||
public void register() {
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
}
|
||||
|
||||
public void unregister() {
|
||||
MinecraftForge.EVENT_BUS.unregister(this);
|
||||
}
|
||||
|
||||
//#if MC>=11400
|
||||
//$$ { on(PostRenderWorldCallback.EVENT, this::renderCameraPath); }
|
||||
//$$ private void renderCameraPath() {
|
||||
//#else
|
||||
@SubscribeEvent
|
||||
public void renderCameraPath(RenderWorldLastEvent event) {
|
||||
//#endif
|
||||
if (!replayHandler.getReplaySender().isAsyncMode() || mc.gameSettings.hideGUI) return;
|
||||
|
||||
Entity view = getRenderViewEntity(mc);
|
||||
|
||||
Reference in New Issue
Block a user