Remove Java 8 warnings now that Minecraft requires it

This commit is contained in:
Ben Staddon authored and mezz committed 2017-06-23 23:31:50 -07:00
1 parent 286f6a910b
commit b0dfaa2b81
9 files changed
+2 -309

No files matched your search

@@ -29,7 +29,6 @@ import java.awt.image.BufferedImage;
import java.io.File;
import java.nio.ByteBuffer;
import java.nio.FloatBuffer;
import java.util.Collections;
import java.util.Map;
import javax.annotation.Nonnull;
@@ -115,12 +114,8 @@ import net.minecraftforge.common.model.IModelPart;
import net.minecraftforge.common.model.ITransformation;
import net.minecraftforge.common.model.TRSRTransformation;
import net.minecraftforge.fml.client.FMLClientHandler;
import net.minecraftforge.fml.client.GuiJava8Error;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.common.FMLLog;
import net.minecraftforge.fml.common.Java8VersionException;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.ModContainer;
import org.apache.commons.lang3.tuple.Pair;
import org.lwjgl.BufferUtils;
@@ -314,17 +309,6 @@ public class ForgeHooksClient
gui.drawString(font, line, (width - font.getStringWidth(line)) / 2, 4 + (1 * (font.FONT_HEIGHT + 1)), -1);
}
if (!Loader.instance().java8)
{
String line = I18n.format("fml.messages.java8warning.1", TextFormatting.RED, TextFormatting.RESET);
gui.drawString(font, line, (width - font.getStringWidth(line)) / 2, 4 + (8 * (font.FONT_HEIGHT + 1)), -1);
line = I18n.format("fml.messages.java8warning.2");
gui.drawString(font, line, (width - font.getStringWidth(line)) / 2, 4 + (9 * (font.FONT_HEIGHT + 1)), -1);
splashText = updatescrollcounter < 50 ? "UPDATE!" : "JAVA!";
updatescrollcounter+=1;
updatescrollcounter%=100;
}
String line = null;
switch(status)
{
@@ -345,22 +329,6 @@ public class ForgeHooksClient
return splashText;
}
public static void mainMenuMouseClick(int mouseX, int mouseY, int mouseButton, FontRenderer font, int width)
{
if (!Loader.instance().java8)
{
if (mouseY >= (4 + (8 * 10)) && mouseY < (4 + (10 * 10)))
{
int w = font.getStringWidth(I18n.format("fml.messages.java8warning.1", TextFormatting.RED, TextFormatting.RESET));
w = Math.max(w, font.getStringWidth(I18n.format("fml.messages.java8warning.2")));
if (mouseX >= ((width - w) / 2) && mouseX <= ((width + w) / 2))
{
FMLClientHandler.instance().showGuiScreen(new GuiJava8Error(new Java8VersionException(Collections.<ModContainer>emptyList())));
}
}
}
}
public static ISound playSound(SoundManager manager, ISound sound)
{
PlaySoundEvent e = new PlaySoundEvent(manager, sound);
@@ -36,7 +36,6 @@ import java.security.cert.Certificate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -121,7 +120,6 @@ public class ForgeModContainer extends DummyModContainer implements WorldAccessC
public static boolean forgeLightPipelineEnabled = true;
public static boolean replaceVanillaBucketModel = true;
public static boolean zoomInMissingModelTextInGui = false;
public static long java8Reminder = 0;
public static boolean disableStairSlabCulling = false; // Also known as the "DontCullStairsBecauseIUseACrappyTexturePackThatBreaksBasicBlockShapesSoICantTrustBasicBlockCulling" flag
public static boolean alwaysSetupTerrainOffThread = false; // In RenderGlobal.setupTerrain, always force the chunk render updates to be queued to the thread
public static int dimensionUnloadQueueDelay = 0;
@@ -322,12 +320,6 @@ public class ForgeModContainer extends DummyModContainer implements WorldAccessC
prop.setLanguageKey("forge.configgui.zoomInMissingModelTextInGui");
propOrder.add(prop.getName());
prop = config.get(Configuration.CATEGORY_CLIENT, "java8Reminder", 0,
"The timestamp of the last reminder to update to Java 8 in number of milliseconds since January 1, 1970, 00:00:00 GMT. Nag will show only once every 24 hours. To disable it set this to some really high number.");
java8Reminder = prop.getLong(0);
prop.setLanguageKey("forge.configgui.java8Reminder");
propOrder.add(prop.getName());
prop = config.get(Configuration.CATEGORY_CLIENT, "disableStairSlabCulling", false,
"Disable culling of hidden faces next to stairs and slabs. Causes extra rendering, but may fix some resource packs that exploit this vanilla mechanic.");
disableStairSlabCulling = prop.getBoolean(false);
@@ -349,13 +341,6 @@ public class ForgeModContainer extends DummyModContainer implements WorldAccessC
}
}
public static void updateNag()
{
Property prop = config.get(Configuration.CATEGORY_CLIENT, "java8Reminder", java8Reminder);
prop.set((new Date()).getTime());
config.save();
}
/**
* By subscribing to the OnConfigChangedEvent we are able to execute code when our config screens are closed.
* This implementation uses the optional configID string to handle multiple Configurations using one event handler.
@@ -26,7 +26,6 @@ import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -81,7 +80,6 @@ import net.minecraft.world.WorldSettings;
import net.minecraft.world.storage.WorldSummary;
import net.minecraft.world.storage.SaveFormatOld;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.common.ForgeModContainer;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.ConfigManager;
import net.minecraftforge.common.util.CompoundDataFixer;
@@ -92,7 +90,6 @@ import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.FMLContainerHolder;
import net.minecraftforge.fml.common.FMLLog;
import net.minecraftforge.fml.common.IFMLSidedHandler;
import net.minecraftforge.fml.common.Java8VersionException;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.LoaderException;
import net.minecraftforge.fml.common.MetadataCollection;
@@ -179,8 +176,6 @@ public class FMLClientHandler implements IFMLSidedHandler
private boolean loading = true;
private Java8VersionException j8onlymods;
private WrongMinecraftVersionException wrongMC;
private CustomModLoadingErrorDisplayException customError;
@@ -240,10 +235,6 @@ public class FMLClientHandler implements IFMLSidedHandler
{
dupesFound = dupes;
}
catch (Java8VersionException j8mods)
{
j8onlymods = j8mods;
}
catch (MissingModsException missing)
{
modsMissing = missing;
@@ -338,7 +329,7 @@ public class FMLClientHandler implements IFMLSidedHandler
public boolean hasError()
{
return modsMissing != null || wrongMC != null || customError != null || dupesFound != null || modSorting != null || j8onlymods != null || multipleModsErrored != null;
return modsMissing != null || wrongMC != null || customError != null || dupesFound != null || modSorting != null || multipleModsErrored != null;
}
/**
@@ -440,10 +431,6 @@ public class FMLClientHandler implements IFMLSidedHandler
{
showGuiScreen(new GuiWrongMinecraft(wrongMC));
}
else if (j8onlymods != null)
{
showGuiScreen(new GuiJava8Error(j8onlymods));
}
else if (modsMissing != null)
{
showGuiScreen(new GuiModsMissing(modsMissing));
@@ -467,14 +454,6 @@ public class FMLClientHandler implements IFMLSidedHandler
else
{
logMissingTextureErrors();
if (!Loader.instance().java8)
{
if ((new Date()).getTime() >= ForgeModContainer.java8Reminder + (1000 * 60 * 60 * 24))
{
showGuiScreen(new GuiJava8Error(new Java8VersionException(Collections.<ModContainer>emptyList())));
ForgeModContainer.updateNag();
}
}
}
}
/**
@@ -1,136 +0,0 @@
/*
* Minecraft Forge
* Copyright (c) 2016.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package net.minecraftforge.fml.client;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.resources.I18n;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.FMLLog;
import net.minecraftforge.fml.common.Java8VersionException;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.ModContainer;
import org.apache.logging.log4j.Level;
import com.google.common.collect.Lists;
import java.awt.Desktop;
import java.net.URI;
import java.util.List;
public class GuiJava8Error extends GuiErrorBase
{
private Java8VersionException java8VersionException;
public GuiJava8Error(Java8VersionException java8VersionException)
{
this.java8VersionException = java8VersionException;
}
@Override
public void initGui()
{
super.initGui();
this.buttonList.remove(1);
if (java8VersionException.getMods().isEmpty())
{
this.buttonList.remove(0);
this.buttonList.add(new GuiButton(1, 50, this.height -38, this.width / 2 - 55, 20, I18n.format("fml.button.continue")));
}
this.buttonList.add(new GuiButton(2, this.width / 2 + 5, this.height -38, this.width/2 -55, 20, I18n.format("fml.button.visitjavadownloads")));
}
@Override
protected void actionPerformed(GuiButton button)
{
if (button.id == 1)
{
FMLClientHandler.instance().showGuiScreen(null);
}
else if (button.id == 2)
{
try
{
Desktop.getDesktop().browse(new URI("http://www.oracle.com/technetwork/java/javase/downloads/index.html"));
}
catch (Exception e)
{
FMLLog.log.error("Problem launching browser", e);
}
}
else
{
super.actionPerformed(button);
}
}
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks)
{
this.drawDefaultBackground();
int offset = 25;
if (!java8VersionException.getMods().isEmpty())
{
this.drawCenteredString(this.fontRenderer, I18n.format("fml.messages.java8problem", TextFormatting.RED, TextFormatting.BOLD, TextFormatting.RESET), this.width / 2, offset, 0xFFFFFF);
}
else
{
this.drawCenteredString(this.fontRenderer, I18n.format("fml.messages.java8recommended", TextFormatting.RED, TextFormatting.BOLD, TextFormatting.RESET), this.width / 2, offset, 0xFFFFFF);
}
offset+=15;
this.drawCenteredString(this.fontRenderer, I18n.format("fml.messages.javaversion", System.getProperty("java.version").split("\\.")[1], System.getProperty("java.version")), this.width / 2, offset, 0xFFFFFF);
offset += 10;
if (!java8VersionException.getMods().isEmpty())
{
this.drawCenteredString(this.fontRenderer, I18n.format("fml.messages.upgradejavaorremove", TextFormatting.RED,TextFormatting.BOLD, TextFormatting.RESET), this.width / 2, offset, 0xFFFFFF);
offset += 15;
this.drawCenteredString(this.fontRenderer, I18n.format("fml.messages.modslistedbelow", I18n.format("fml.messages.requirejava8")), this.width / 2, offset, 0xFFFFFF);
offset += 10;
this.drawCenteredString(this.fontRenderer, I18n.format("fml.messages.countbadandgood", java8VersionException.getMods().size(), Loader.instance().getActiveModList().size()), this.width / 2, offset, 0xFFFFFF);
offset += 5;
for (ModContainer mc : java8VersionException.getMods())
{
offset += 10;
this.drawCenteredString(this.fontRenderer, String.format("%s (%s)", mc.getName(), mc.getModId()), this.width / 2, offset, 0xEEEEEE);
}
}
else
{
String text = I18n.format("fml.messages.upgradejava", TextFormatting.RED,TextFormatting.BOLD, TextFormatting.RESET).replaceAll("\\\\n", "\n");
List<String> lines = Lists.newArrayList();
for (String line : text.split("\n"))
{
lines.addAll(this.fontRenderer.listFormattedStringToWidth(line, this.width - this.fontRenderer.FONT_HEIGHT * 4));
}
int maxWidth = 0;
for (String line : lines)
{
maxWidth = Math.max(maxWidth, this.fontRenderer.getStringWidth(line));
}
for (String line : lines)
{
this.drawString(this.fontRenderer, line, (this.width - maxWidth) / 2, offset, 0xFFFFFF);
offset += this.fontRenderer.FONT_HEIGHT + 2;
}
}
super.drawScreen(mouseX, mouseY, partialTicks);
}
}
@@ -1,50 +0,0 @@
/*
* Minecraft Forge
* Copyright (c) 2016.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package net.minecraftforge.fml.common;
import java.util.List;
public class Java8VersionException extends EnhancedRuntimeException
{
private static final long serialVersionUID = 1L;
private final List<ModContainer> mods;
public Java8VersionException(List<ModContainer> mods)
{
super("Mods require Java 8");
this.mods = mods;
}
@Override
protected void printStackTrace(WrappedPrintStream stream)
{
stream.println("Mods requiring Java 8:");
for (ModContainer mc : mods)
{
stream.println(String.format("\t%s : %s", mc.getName(), mc.getModId()));
}
stream.println("");
}
public List<ModContainer> getMods()
{
return mods;
}
}
@@ -174,7 +174,6 @@ public class Loader
private File forcedModFile;
private ModDiscoverer discoverer;
private ProgressBar progressBar;
public final boolean java8;
public static Loader instance()
{
@@ -201,14 +200,6 @@ public class Loader
private Loader()
{
String[] ver = System.getProperty("java.version").split("\\.");
int major = Integer.parseInt(ver[1]);
java8 = major > 7;
if (!java8)
{
FMLLog.log.fatal("The game is not running with Java 8. Forge recommends Java 8 for maximum compatibility with mods");
}
modClassLoader = new ModClassLoader(getClass().getClassLoader());
if (mccversion !=null && !mccversion.equals(MC_VERSION))
{
@@ -555,7 +546,6 @@ public class Loader
ModAPIManager.INSTANCE.manageAPI(modClassLoader, discoverer);
disableRequestedMods();
modController.distributeStateMessage(FMLLoadEvent.class);
checkJavaCompatibility();
sortModList();
ModAPIManager.INSTANCE.cleanupAPIContainers(modController.getActiveModList());
ModAPIManager.INSTANCE.cleanupAPIContainers(mods);
@@ -613,24 +603,6 @@ public class Loader
modController.transition(LoaderState.PREINITIALIZATION, false);
}
private void checkJavaCompatibility()
{
if (java8) return;
List<ModContainer> j8mods = Lists.newArrayList();
for (ModContainer mc : getActiveModList())
{
if (mc.getClassVersion() >= 52)
{
j8mods.add(mc);
}
}
if (!j8mods.isEmpty())
{
throw new Java8VersionException(j8mods);
}
}
public void preinitializeMods()
{
if (!modController.isInState(LoaderState.PREINITIALIZATION))
@@ -131,11 +131,7 @@ public class ASMModParser
public void validate()
{
// if (classVersion > 50.0)
// {
//
// throw new LoaderException(new RuntimeException("Mod compiled for Java 7 detected"));
// }
}
public boolean isBaseMod(List<String> rememberedTypes)