Update to MC 1.14 / Fabric

This commit is contained in:
Jonas Herzig
2019-05-04 14:37:00 +02:00
parent 17fe5b345f
commit 3d009e45c7
151 changed files with 3963 additions and 1455 deletions

View File

@@ -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();
}

View File

@@ -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) {

View File

@@ -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);