Skip to content

Commit

Permalink
Update to 1.15
Browse files Browse the repository at this point in the history
  • Loading branch information
Runemoro committed Dec 11, 2019
1 parent 2bbdab7 commit 80938d9
Show file tree
Hide file tree
Showing 23 changed files with 455 additions and 437 deletions.
33 changes: 12 additions & 21 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,30 @@ buildscript {
jcenter()
maven { url = 'https://maven.fabricmc.net/' }
}

dependencies {
classpath "net.fabricmc:fabric-loom:0.2.5-SNAPSHOT"
classpath 'net.fabricmc:fabric-loom:0.2.6-SNAPSHOT'
}
}

apply plugin: "java"
apply plugin: net.fabricmc.loom.LoomGradlePlugin
apply plugin: "fabric-loom"

sourceCompatibility = 1.8
targetCompatibility = 1.8

dependencies {
minecraft "com.mojang:minecraft:19w35a"
mappings "net.fabricmc:yarn:19w35a+build.1"
modCompile "net.fabricmc:fabric-loader:0.6.1+build.164"
// modCompile "net.fabricmc.fabric-api:fabric-api:0.3.2+build.217-1.15"
repositories {
maven { url = 'https://maven.fabricmc.net/' }
}

def travisBuildNumber = System.getenv("TRAVIS_BUILD_NUMBER")
def versionSuffix = travisBuildNumber != null ? travisBuildNumber : "SNAPSHOT"
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_version}"
modCompile "net.fabricmc:fabric-loader:${project.loader_version}"
}

version "1.0.1"
group "org.dimdev.toomanycrashes"
archivesBaseName = "TooManyCrashes"

sourceCompatibility = 1.8
targetCompatibility = 1.8
version "1.0.2"
archivesBaseName = "too-many-crashes"

processResources {
filesMatching("fabric.mod.json") {
Expand All @@ -39,12 +36,6 @@ processResources {
inputs.property "version", project.version
}

task sourcesJar(type: Jar, dependsOn: classes) {
classifier "sources"
from sourceSets.main.allSource
}

artifacts {
archives jar
archives sourcesJar
}
3 changes: 3 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
minecraft_version=1.15
yarn_version=1.15+build.1
loader_version=0.7.2+build.174
7 changes: 1 addition & 6 deletions src/main/java/org/dimdev/toomanycrashes/CrashScreen.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,10 @@

import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.screen.TitleScreen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.util.SystemUtil;
import net.minecraft.util.crash.CrashReport;
import net.minecraft.util.math.Box;

import java.io.File;

@Environment(EnvType.CLIENT)
public class CrashScreen extends ProblemScreen {
Expand All @@ -23,7 +18,7 @@ public CrashScreen(CrashReport report) {
public void init() {
super.init();
ButtonWidget mainMenuButton = new ButtonWidget(width / 2 - 155, height / 4 + 120 + 12, 150, 20, I18n.translate("gui.toTitle"),
button -> minecraft.openScreen(new TitleScreen()));
button -> minecraft.openScreen(new TitleScreen()));

if (ModConfig.instance().disableReturnToMainMenu) {
mainMenuButton.active = false;
Expand Down
24 changes: 13 additions & 11 deletions src/main/java/org/dimdev/toomanycrashes/CrashUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,27 @@
import org.apache.logging.log4j.Logger;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public final class CrashUtils {

private static final Logger LOGGER = LogManager.getLogger("TMC");
private static boolean isClient;
private static boolean clientSide;

static {
try {
isClient = MinecraftClient.getInstance() != null;
clientSide = MinecraftClient.getInstance() != null;
} catch (NoClassDefFoundError e) {
isClient = false;
clientSide = false;
}
}

public static void outputReport(CrashReport report) {
try {
if (report.getFile() == null) {
String reportName = "crash-";
reportName += new SimpleDateFormat("yyyy-MM-dd_HH.mm.ss").format(new Date());
reportName += isClient && MinecraftClient.getInstance().isOnThread() ? "-client" : "-server";
reportName += LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
reportName += clientSide && MinecraftClient.getInstance().isOnThread() ? "-client" : "-server";
reportName += ".txt";

File reportsDir = new File(FabricLoader.getInstance().getGameDirectory(), "crash-reports");
Expand All @@ -40,8 +39,11 @@ public static void outputReport(CrashReport report) {
LOGGER.fatal("Failed saving report", e);
}

LOGGER.fatal("Minecraft ran into a problem! " + (report.getFile() != null ? "Report saved to: " + report.getFile() :
"Crash report could not be saved.") + "\n" +
report.asString());
LOGGER.fatal(
"Minecraft ran into a problem! " +
(report.getFile() != null ? "Report saved to: " + report.getFile() : "Crash report could not be saved.") +
"\n" +
report.asString()
);
}
}
1 change: 0 additions & 1 deletion src/main/java/org/dimdev/toomanycrashes/ModConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import java.io.IOException;

public class ModConfig {

private static final File CONFIG_FILE = new File(FabricLoader.getInstance().getConfigDirectory(), "toomanycrashes.json");
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
private static ModConfig instance = null;
Expand Down
1 change: 0 additions & 1 deletion src/main/java/org/dimdev/toomanycrashes/PatchedClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,5 @@
import net.minecraft.util.crash.CrashReport;

public interface PatchedClient {

void displayInitErrorScreen(CrashReport report);
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.dimdev.toomanycrashes;

public interface PatchedIntegratedServer {

void setCrashNextTick();
void scheduleCrash();
}
50 changes: 18 additions & 32 deletions src/main/java/org/dimdev/toomanycrashes/ProblemScreen.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,37 +3,32 @@
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.loader.api.metadata.ModMetadata;
import net.minecraft.client.gui.screen.ConfirmChatLinkScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.text.LiteralText;
import net.minecraft.util.SystemUtil;
import net.minecraft.util.Util;
import net.minecraft.util.crash.CrashReport;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.utils.HasteUpload;

import java.io.File;
import java.lang.reflect.Field;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;

@Environment(EnvType.CLIENT)
public abstract class ProblemScreen extends Screen {

private static final Logger LOGGER = LogManager.getLogger();

protected final CrashReport report;
private String hasteLink = null;
private String reportLink = null;
private String modListString = null;
protected int xLeft = Integer.MAX_VALUE;
protected int xRight = Integer.MIN_VALUE;
protected int yTop = Integer.MAX_VALUE;
protected int yBottom = Integer.MIN_VALUE;
protected int fileNameLeft = Integer.MAX_VALUE;
protected int fileNameRight = Integer.MIN_VALUE;
protected int fileNameTop = Integer.MAX_VALUE;
protected int fileNameBottom = Integer.MIN_VALUE;

protected ProblemScreen(CrashReport report) {
super(new LiteralText(""));
Expand All @@ -45,21 +40,11 @@ public void init() {
addButton(new ButtonWidget(width / 2 - 155 + 160, height / 4 + 120 + 12, 150, 20, I18n.translate("toomanycrashes.gui.getLink"),
buttonWidget -> {
try {
if (hasteLink == null) {
hasteLink = HasteUpload.uploadToHaste(ModConfig.instance().hasteURL, "mccrash", report.asString());
if (reportLink == null) {
reportLink = HasteUpload.uploadToHaste(ModConfig.instance().hasteURL, "mccrash", report.asString());
}
Field uriField;
//noinspection JavaReflectionMemberAccess
uriField = Screen.class.getDeclaredField("clickedLink");
uriField.setAccessible(true);
uriField.set(ProblemScreen.this, new URI(hasteLink));
minecraft.openScreen(new ConfirmChatLinkScreen(b -> {
if (b) {
SystemUtil.getOperatingSystem().open(hasteLink);
}

this.minecraft.openScreen(this);
}, hasteLink, false));
Util.getOperatingSystem().open(reportLink);
} catch (Throwable e) {
LOGGER.error("Exception when crash menu button clicked:", e);
buttonWidget.setMessage(I18n.translate("toomanycrashes.gui.failed"));
Expand All @@ -70,10 +55,11 @@ public void init() {

@Override
public boolean mouseClicked(double x, double y, int int_1) {
if (x >= xLeft && x <= xRight && y >= yTop && y <= yBottom) {
if (x >= fileNameLeft && x <= fileNameRight && y >= fileNameTop && y <= fileNameBottom) {
File file = report.getFile();

if (file != null) {
SystemUtil.getOperatingSystem().open(file);
Util.getOperatingSystem().open(file);
}
}
return super.mouseClicked(x, y, int_1);
Expand Down Expand Up @@ -106,11 +92,11 @@ protected String getModListString() {
protected void drawFileNameString(int y) {
String fileNameString =
report.getFile() != null ? "\u00A7n" + report.getFile().getName() : I18n.translate("toomanycrashes.crashscreen.reportSaveFailed");
int stLen = font.getStringWidth(fileNameString);
xLeft = width / 2 - stLen / 2;
xRight = width / 2 + stLen / 2;
drawString(font, fileNameString, xLeft, y += 11, 0x00FF00);
yTop = y;
yBottom = y + 10;
int length = font.getStringWidth(fileNameString);
fileNameLeft = width / 2 - length / 2;
fileNameRight = width / 2 + length / 2;
drawString(font, fileNameString, fileNameLeft, y += 11, 0x00FF00);
fileNameTop = y;
fileNameBottom = y + 10;
}
}
Loading

0 comments on commit 80938d9

Please sign in to comment.