Update mappings
This commit is contained in:
@@ -36,7 +36,7 @@ minecraft {
|
|||||||
coreMod = 'com.replaymod.core.LoadingPlugin'
|
coreMod = 'com.replaymod.core.LoadingPlugin'
|
||||||
version = '1.12-14.21.0.2327'
|
version = '1.12-14.21.0.2327'
|
||||||
runDir = "eclipse"
|
runDir = "eclipse"
|
||||||
mappings = "snapshot_20161220"
|
mappings = "snapshot_20170615"
|
||||||
replace '@MOD_VERSION@', project.version
|
replace '@MOD_VERSION@', project.version
|
||||||
replace '@MC_VERSION@', project.minecraft.version
|
replace '@MC_VERSION@', project.minecraft.version
|
||||||
}
|
}
|
||||||
|
|||||||
2
jGui
2
jGui
Submodule jGui updated: 78ebb77aed...e5fcc65032
@@ -299,7 +299,7 @@ public abstract class AbstractTask implements Task {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
clickNow(button.xPosition + 5, button.yPosition + 5);
|
clickNow(button.x + 5, button.y + 5);
|
||||||
} catch (IllegalAccessException | NoSuchFieldException e) {
|
} catch (IllegalAccessException | NoSuchFieldException e) {
|
||||||
future.setException(e);
|
future.setException(e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class ShaderBeginRender {
|
|||||||
// check if Shaders are enabled
|
// check if Shaders are enabled
|
||||||
if (!(boolean) (ShaderReflection.config_isShaders.invoke(null))) return;
|
if (!(boolean) (ShaderReflection.config_isShaders.invoke(null))) return;
|
||||||
|
|
||||||
ShaderReflection.shaders_beginRender.invoke(null, mc, mc.timer.field_194147_b, 0);
|
ShaderReflection.shaders_beginRender.invoke(null, mc, mc.timer.renderPartialTicks, 0);
|
||||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ public class KeyBindingRegistry {
|
|||||||
CrashReport crashReport = CrashReport.makeCrashReport(cause, "Handling Key Binding");
|
CrashReport crashReport = CrashReport.makeCrashReport(cause, "Handling Key Binding");
|
||||||
CrashReportCategory category = crashReport.makeCategory("Key Binding");
|
CrashReportCategory category = crashReport.makeCategory("Key Binding");
|
||||||
category.addCrashSection("Key Binding", keyBinding);
|
category.addCrashSection("Key Binding", keyBinding);
|
||||||
category.setDetail("Handler", runnable::toString);
|
category.addDetail("Handler", runnable::toString);
|
||||||
throw new ReportedException(crashReport);
|
throw new ReportedException(crashReport);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -100,7 +100,7 @@ public class KeyBindingRegistry {
|
|||||||
CrashReport crashReport = CrashReport.makeCrashReport(cause, "Handling Raw Key Binding");
|
CrashReport crashReport = CrashReport.makeCrashReport(cause, "Handling Raw Key Binding");
|
||||||
CrashReportCategory category = crashReport.makeCategory("Key Binding");
|
CrashReportCategory category = crashReport.makeCategory("Key Binding");
|
||||||
category.addCrashSection("Key Code", keyCode);
|
category.addCrashSection("Key Code", keyCode);
|
||||||
category.setDetail("Handler", runnable::toString);
|
category.addDetail("Handler", runnable::toString);
|
||||||
throw new ReportedException(crashReport);
|
throw new ReportedException(crashReport);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,12 +19,12 @@ public class MainMenuHandler {
|
|||||||
if (event.getGui() instanceof GuiMainMenu) {
|
if (event.getGui() instanceof GuiMainMenu) {
|
||||||
for (GuiButton button : event.getButtonList()) {
|
for (GuiButton button : event.getButtonList()) {
|
||||||
// Buttons that aren't in a rectangle directly above our space don't need moving
|
// Buttons that aren't in a rectangle directly above our space don't need moving
|
||||||
if (button.xPosition + button.width < event.getGui().width / 2 - 100
|
if (button.x + button.width < event.getGui().width / 2 - 100
|
||||||
|| button.xPosition > event.getGui().width / 2 + 100
|
|| button.x > event.getGui().width / 2 + 100
|
||||||
|| button.yPosition > event.getGui().height / 4 + 10 + 4 * 24) continue;
|
|| button.y > event.getGui().height / 4 + 10 + 4 * 24) continue;
|
||||||
// Move button up to make space for two rows of buttons
|
// Move button up to make space for two rows of buttons
|
||||||
// and then move back down by 10 to compensate for the space to the exit button that was already there
|
// and then move back down by 10 to compensate for the space to the exit button that was already there
|
||||||
button.yPosition -= 2 * 24 - 10;
|
button.y -= 2 * 24 - 10;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ public class WrappedTimer extends Timer {
|
|||||||
|
|
||||||
protected void copy(Timer from, Timer to) {
|
protected void copy(Timer from, Timer to) {
|
||||||
to.elapsedTicks = from.elapsedTicks;
|
to.elapsedTicks = from.elapsedTicks;
|
||||||
to.field_194147_b = from.field_194147_b; // elapsedPartialTicks
|
to.renderPartialTicks = from.renderPartialTicks;
|
||||||
to.lastSyncSysClock = from.lastSyncSysClock;
|
to.lastSyncSysClock = from.lastSyncSysClock;
|
||||||
to.field_194148_c = from.field_194148_c; // lastTickDiff
|
to.elapsedPartialTicks = from.elapsedPartialTicks;
|
||||||
to.field_194149_e = from.field_194149_e; // msPerTick
|
to.tickLength = from.tickLength;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class GuiRegister extends AbstractGuiScreen<GuiRegister> {
|
|||||||
pos(cancelButton, width / 2 + 2, 170);
|
pos(cancelButton, width / 2 + 2, 170);
|
||||||
pos(statusLabel, width / 2 - statusLabel.getMinSize().getWidth() / 2, 152);
|
pos(statusLabel, width / 2 - statusLabel.getMinSize().getWidth() / 2, 152);
|
||||||
|
|
||||||
FontRenderer font = getMinecraft().fontRendererObj;
|
FontRenderer font = getMinecraft().fontRenderer;
|
||||||
int lineCount = font.listFormattedStringToWidth(disclaimerLabel.getText(), width - 10).size();
|
int lineCount = font.listFormattedStringToWidth(disclaimerLabel.getText(), width - 10).size();
|
||||||
Dimension dim = new Dimension(width - 10, font.FONT_HEIGHT * lineCount);
|
Dimension dim = new Dimension(width - 10, font.FONT_HEIGHT * lineCount);
|
||||||
disclaimerLabel.setSize(dim);
|
disclaimerLabel.setSize(dim);
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ public abstract class AbstractTimelinePlayer {
|
|||||||
MinecraftForge.EVENT_BUS.register(this);
|
MinecraftForge.EVENT_BUS.register(this);
|
||||||
lastTime = 0;
|
lastTime = 0;
|
||||||
mc.timer = new ReplayTimer(mc.timer);
|
mc.timer = new ReplayTimer(mc.timer);
|
||||||
mc.timer.field_194149_e = WrappedTimer.DEFAULT_MS_PER_TICK;
|
mc.timer.tickLength = WrappedTimer.DEFAULT_MS_PER_TICK;
|
||||||
mc.timer.field_194147_b = mc.timer.elapsedTicks = 0;
|
mc.timer.renderPartialTicks = mc.timer.elapsedTicks = 0;
|
||||||
return future = settableFuture = SettableFuture.create();
|
return future = settableFuture = SettableFuture.create();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,9 +108,9 @@ public abstract class AbstractTimelinePlayer {
|
|||||||
float timeInTicks = replayTime / 50f;
|
float timeInTicks = replayTime / 50f;
|
||||||
float previousTimeInTicks = lastTime / 50f;
|
float previousTimeInTicks = lastTime / 50f;
|
||||||
float passedTicks = timeInTicks - previousTimeInTicks;
|
float passedTicks = timeInTicks - previousTimeInTicks;
|
||||||
mc.timer.field_194147_b += passedTicks;
|
mc.timer.renderPartialTicks += passedTicks;
|
||||||
mc.timer.elapsedTicks = (int) mc.timer.field_194147_b;
|
mc.timer.elapsedTicks = (int) mc.timer.renderPartialTicks;
|
||||||
mc.timer.field_194147_b -= mc.timer.elapsedTicks;
|
mc.timer.renderPartialTicks -= mc.timer.elapsedTicks;
|
||||||
|
|
||||||
lastTime = replayTime;
|
lastTime = replayTime;
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public class GuiRecordingOverlay {
|
|||||||
public void renderRecordingIndicator(RenderGameOverlayEvent.Post event) {
|
public void renderRecordingIndicator(RenderGameOverlayEvent.Post event) {
|
||||||
if (event.getType() != RenderGameOverlayEvent.ElementType.ALL) return;
|
if (event.getType() != RenderGameOverlayEvent.ElementType.ALL) return;
|
||||||
if (settingsRegistry.get(Setting.INDICATOR)) {
|
if (settingsRegistry.get(Setting.INDICATOR)) {
|
||||||
FontRenderer fontRenderer = mc.fontRendererObj;
|
FontRenderer fontRenderer = mc.fontRenderer;
|
||||||
fontRenderer.drawString(I18n.format("replaymod.gui.recording").toUpperCase(), 30, 18 - (fontRenderer.FONT_HEIGHT / 2), 0xffffffff);
|
fontRenderer.drawString(I18n.format("replaymod.gui.recording").toUpperCase(), 30, 18 - (fontRenderer.FONT_HEIGHT / 2), 0xffffffff);
|
||||||
mc.renderEngine.bindTexture(TEXTURE);
|
mc.renderEngine.bindTexture(TEXTURE);
|
||||||
GlStateManager.resetColor();
|
GlStateManager.resetColor();
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ public class ConnectionEventHandler {
|
|||||||
try {
|
try {
|
||||||
boolean local = networkManager.isLocalChannel();
|
boolean local = networkManager.isLocalChannel();
|
||||||
if (local) {
|
if (local) {
|
||||||
if (mc.getIntegratedServer().getEntityWorld().getWorldType() == WorldType.DEBUG_WORLD) {
|
if (mc.getIntegratedServer().getEntityWorld().getWorldType() == WorldType.DEBUG_ALL_BLOCK_STATES) {
|
||||||
logger.info("Debug World recording is not supported.");
|
logger.info("Debug World recording is not supported.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ public class RecordingEventHandler {
|
|||||||
public void onPickupItem(ItemPickupEvent event) {
|
public void onPickupItem(ItemPickupEvent event) {
|
||||||
try {
|
try {
|
||||||
packetListener.save(new SPacketCollectItem(event.pickedUp.getEntityId(), event.player.getEntityId(),
|
packetListener.save(new SPacketCollectItem(event.pickedUp.getEntityId(), event.player.getEntityId(),
|
||||||
event.pickedUp.getEntityItem().getMaxStackSize()));
|
event.pickedUp.getItem().getMaxStackSize()));
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ public class ResourcePackRecorder {
|
|||||||
|
|
||||||
if (levelDir.isFile()) {
|
if (levelDir.isFile()) {
|
||||||
netManager.sendPacket(new CPacketResourcePackStatus(CPacketResourcePackStatus.Action.ACCEPTED));
|
netManager.sendPacket(new CPacketResourcePackStatus(CPacketResourcePackStatus.Action.ACCEPTED));
|
||||||
Futures.addCallback(mc.getResourcePackRepository().setResourcePackInstance(levelDir), new FutureCallback<Object>() {
|
Futures.addCallback(mc.getResourcePackRepository().setServerResourcePack(levelDir), new FutureCallback<Object>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(Object result) {
|
public void onSuccess(Object result) {
|
||||||
recordResourcePack(levelDir, requestId);
|
recordResourcePack(levelDir, requestId);
|
||||||
@@ -174,7 +174,7 @@ public class ResourcePackRecorder {
|
|||||||
String fileHash = Hashing.sha1().hashBytes(Files.toByteArray(file)).toString();
|
String fileHash = Hashing.sha1().hashBytes(Files.toByteArray(file)).toString();
|
||||||
if (fileHash.equals(hash)) {
|
if (fileHash.equals(hash)) {
|
||||||
recordResourcePack(file, requestId);
|
recordResourcePack(file, requestId);
|
||||||
return repo.setResourcePackInstance(file);
|
return repo.setServerResourcePack(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.warn("File " + file + " had wrong hash (expected " + hash + ", found " + fileHash + "). Deleting it.");
|
logger.warn("File " + file + " had wrong hash (expected " + hash + ", found " + fileHash + "). Deleting it.");
|
||||||
@@ -196,7 +196,7 @@ public class ResourcePackRecorder {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(Object value) {
|
public void onSuccess(Object value) {
|
||||||
recordResourcePack(file, requestId);
|
recordResourcePack(file, requestId);
|
||||||
repo.setResourcePackInstance(file);
|
repo.setServerResourcePack(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -112,8 +112,8 @@ public class VideoRenderer implements RenderInfo {
|
|||||||
|
|
||||||
if (videoStart > 1000) {
|
if (videoStart > 1000) {
|
||||||
int replayTime = videoStart - 1000;
|
int replayTime = videoStart - 1000;
|
||||||
timer.field_194147_b = 0;
|
timer.renderPartialTicks = 0;
|
||||||
timer.field_194149_e = WrappedTimer.DEFAULT_MS_PER_TICK;
|
timer.tickLength = WrappedTimer.DEFAULT_MS_PER_TICK;
|
||||||
while (replayTime < videoStart) {
|
while (replayTime < videoStart) {
|
||||||
timer.elapsedTicks = 1;
|
timer.elapsedTicks = 1;
|
||||||
replayTime += 50;
|
replayTime += 50;
|
||||||
@@ -168,7 +168,7 @@ public class VideoRenderer implements RenderInfo {
|
|||||||
mc.displayHeight = displayHeightBefore;
|
mc.displayHeight = displayHeightBefore;
|
||||||
|
|
||||||
framesDone++;
|
framesDone++;
|
||||||
return mc.timer.field_194147_b;
|
return mc.timer.renderPartialTicks;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public class NoGuiScreenshot {
|
|||||||
mc.getFramebuffer().bindFramebuffer(true);
|
mc.getFramebuffer().bindFramebuffer(true);
|
||||||
GlStateManager.enableTexture2D();
|
GlStateManager.enableTexture2D();
|
||||||
|
|
||||||
mc.entityRenderer.updateCameraAndRender(mc.timer.field_194147_b, System.nanoTime());
|
mc.entityRenderer.updateCameraAndRender(mc.timer.renderPartialTicks, System.nanoTime());
|
||||||
|
|
||||||
mc.getFramebuffer().unbindFramebuffer();
|
mc.getFramebuffer().unbindFramebuffer();
|
||||||
GlStateManager.popMatrix();
|
GlStateManager.popMatrix();
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ public class ReplayHandler {
|
|||||||
mc.loadWorld(null);
|
mc.loadWorld(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
mc.timer.field_194149_e = WrappedTimer.DEFAULT_MS_PER_TICK;
|
mc.timer.tickLength = WrappedTimer.DEFAULT_MS_PER_TICK;
|
||||||
overlay.setVisible(false);
|
overlay.setVisible(false);
|
||||||
|
|
||||||
ReplayModReplay.instance.replayHandler = null;
|
ReplayModReplay.instance.replayHandler = null;
|
||||||
@@ -301,7 +301,7 @@ public class ReplayHandler {
|
|||||||
@Override
|
@Override
|
||||||
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
|
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
|
||||||
drawBackground(0);
|
drawBackground(0);
|
||||||
drawCenteredString(fontRendererObj, I18n.format("replaymod.gui.pleasewait"),
|
drawCenteredString(fontRenderer, I18n.format("replaymod.gui.pleasewait"),
|
||||||
width / 2, height / 2, 0xffffffff);
|
width / 2, height / 2, 0xffffffff);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -397,7 +397,7 @@ public class ReplaySender extends ChannelInboundHandlerAdapter {
|
|||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
IOUtils.copy(replayFile.getResourcePack(hash).get(), new FileOutputStream(file));
|
IOUtils.copy(replayFile.getResourcePack(hash).get(), new FileOutputStream(file));
|
||||||
}
|
}
|
||||||
mc.getResourcePackRepository().setResourcePackInstance(file);
|
mc.getResourcePackRepository().setServerResourcePack(file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@@ -519,7 +519,7 @@ public class ReplaySender extends ChannelInboundHandlerAdapter {
|
|||||||
* @return {@code true} if it is paused, {@code false} otherwise
|
* @return {@code true} if it is paused, {@code false} otherwise
|
||||||
*/
|
*/
|
||||||
public boolean paused() {
|
public boolean paused() {
|
||||||
return mc.timer.field_194149_e == Float.POSITIVE_INFINITY;
|
return mc.timer.tickLength == Float.POSITIVE_INFINITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -539,7 +539,7 @@ public class ReplaySender extends ChannelInboundHandlerAdapter {
|
|||||||
*/
|
*/
|
||||||
public void setReplaySpeed(final double d) {
|
public void setReplaySpeed(final double d) {
|
||||||
if(d != 0) this.replaySpeed = d;
|
if(d != 0) this.replaySpeed = d;
|
||||||
mc.timer.field_194149_e = WrappedTimer.DEFAULT_MS_PER_TICK / (float) d;
|
mc.timer.tickLength = WrappedTimer.DEFAULT_MS_PER_TICK / (float) d;
|
||||||
}
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ public class ClassicCameraController implements CameraController {
|
|||||||
Vec3d movement = direction.normalize();
|
Vec3d movement = direction.normalize();
|
||||||
double factor = motion * (frac / 1000D);
|
double factor = motion * (frac / 1000D);
|
||||||
|
|
||||||
camera.moveCamera(movement.xCoord * factor, movement.yCoord * factor, movement.zCoord * factor);
|
camera.moveCamera(movement.x * factor, movement.y * factor, movement.z * factor);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setMovement(MoveDirection dir) {
|
private void setMovement(MoveDirection dir) {
|
||||||
|
|||||||
@@ -68,12 +68,12 @@ public class GuiHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (achievements != null && stats != null) {
|
if (achievements != null && stats != null) {
|
||||||
moveAllButtonsDirectlyBelowUpwards(buttonList, achievements.yPosition,
|
moveAllButtonsDirectlyBelowUpwards(buttonList, achievements.y,
|
||||||
achievements.xPosition, stats.xPosition + stats.width);
|
achievements.x, stats.x + stats.width);
|
||||||
}
|
}
|
||||||
if (openToLan != null) {
|
if (openToLan != null) {
|
||||||
moveAllButtonsDirectlyBelowUpwards(buttonList, openToLan.yPosition,
|
moveAllButtonsDirectlyBelowUpwards(buttonList, openToLan.y,
|
||||||
openToLan.xPosition, openToLan.xPosition + openToLan.width);
|
openToLan.x, openToLan.x + openToLan.width);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -87,8 +87,8 @@ public class GuiHandler {
|
|||||||
*/
|
*/
|
||||||
private void moveAllButtonsDirectlyBelowUpwards(List<GuiButton> buttons, int belowY, int xStart, int xEnd) {
|
private void moveAllButtonsDirectlyBelowUpwards(List<GuiButton> buttons, int belowY, int xStart, int xEnd) {
|
||||||
for (GuiButton button : buttons) {
|
for (GuiButton button : buttons) {
|
||||||
if (button.yPosition >= belowY && button.xPosition <= xEnd && button.xPosition + button.width >= xStart) {
|
if (button.y >= belowY && button.x <= xEnd && button.x + button.width >= xStart) {
|
||||||
button.yPosition -= 24;
|
button.y -= 24;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.Redirect;
|
|||||||
|
|
||||||
@Mixin(RenderItem.class)
|
@Mixin(RenderItem.class)
|
||||||
public class MixinRenderItem {
|
public class MixinRenderItem {
|
||||||
@Redirect(method = "func_191966_a", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J"))
|
@Redirect(method = "renderEffect", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J"))
|
||||||
private long getEnchantmentTime() {
|
private long getEnchantmentTime() {
|
||||||
ReplayHandler replayHandler = ReplayModReplay.instance.getReplayHandler();
|
ReplayHandler replayHandler = ReplayModReplay.instance.getReplayHandler();
|
||||||
if (replayHandler != null) {
|
if (replayHandler != null) {
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import org.spongepowered.asm.mixin.injection.Redirect;
|
|||||||
|
|
||||||
@Mixin(TileEntityEndPortalRenderer.class)
|
@Mixin(TileEntityEndPortalRenderer.class)
|
||||||
public class MixinTileEntityEndPortalRenderer {
|
public class MixinTileEntityEndPortalRenderer {
|
||||||
@Redirect(method = "func_192841_a", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J"))
|
@Redirect(method = "renderTileEntityAt", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Minecraft;getSystemTime()J"))
|
||||||
private long replayModReplay_getEnchantmentTime() {
|
private long replayModReplay_getEnchantmentTime() {
|
||||||
ReplayHandler replayHandler = ReplayModReplay.instance.getReplayHandler();
|
ReplayHandler replayHandler = ReplayModReplay.instance.getReplayHandler();
|
||||||
if (replayHandler != null) {
|
if (replayHandler != null) {
|
||||||
|
|||||||
@@ -658,7 +658,7 @@ public class SPTimeline implements PathingRegistry {
|
|||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
CrashReport crash = CrashReport.makeCrashReport(e, "Serializing interpolator");
|
CrashReport crash = CrashReport.makeCrashReport(e, "Serializing interpolator");
|
||||||
CrashReportCategory category = crash.makeCategory("Serializing interpolator");
|
CrashReportCategory category = crash.makeCategory("Serializing interpolator");
|
||||||
category.setDetail("Interpolator", interpolator::toString);
|
category.addDetail("Interpolator", interpolator::toString);
|
||||||
throw new ReportedException(crash);
|
throw new ReportedException(crash);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user