diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..25bf51c
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,69 @@
+buildscript {
+    repositories {
+        mavenCentral()
+        maven {
+            name = "forge"
+            url = "http://files.minecraftforge.net/maven"
+        }
+        maven {
+            name = "sonatype"
+            url = "https://oss.sonatype.org/content/repositories/snapshots/"
+        }
+    }
+    dependencies {
+        classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
+    }
+}
+
+apply plugin: 'forge'
+
+version = ""
+group= "chylex.java7check" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
+archivesBaseName = "Java7Checker"
+
+minecraft {
+    version = "1.7.10-10.13.0.1184"
+    assetDir = "eclipse/assets"
+}
+
+jar {
+  manifest {
+      attributes 'FMLCorePlugin': 'chylex.java7check.JavaCheckerCoremod'
+  }
+}
+
+dependencies {
+    // you may put jars on which you depend on in ./libs
+    // or you may define them like so..
+    //compile "some.group:artifact:version:classifier"
+    //compile "some.group:artifact:version"
+      
+    // real examples
+    //compile 'com.mod-buildcraft:buildcraft:6.0.8:dev'  // adds buildcraft to the dev env
+    //compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
+
+    // for more info...
+    // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
+    // http://www.gradle.org/docs/current/userguide/dependency_management.html
+
+}
+
+processResources
+{
+    // this will ensure that this task is redone when the versions change.
+    inputs.property "version", project.version
+    inputs.property "mcversion", project.minecraft.version
+
+    // replace stuff in mcmod.info, nothing else
+    from(sourceSets.main.resources.srcDirs) {
+        include 'mcmod.info'
+                
+        // replace version and mcversion
+        expand 'version':project.version, 'mcversion':project.minecraft.version
+    }
+        
+    // copy everything else, thats not the mcmod.info
+    from(sourceSets.main.resources.srcDirs) {
+        exclude 'mcmod.info'
+    }
+}
diff --git a/src/main/java/chylex/java7check/JavaCheckerCoremod.java b/src/main/java/chylex/java7check/JavaCheckerCoremod.java
new file mode 100644
index 0000000..11846bc
--- /dev/null
+++ b/src/main/java/chylex/java7check/JavaCheckerCoremod.java
@@ -0,0 +1,28 @@
+package chylex.java7check;
+import java.util.Map;
+import cpw.mods.fml.relauncher.IFMLLoadingPlugin;
+
+public class JavaCheckerCoremod implements IFMLLoadingPlugin{
+	@Override
+	public String[] getASMTransformerClass(){
+		return null;
+	}
+
+	@Override
+	public String getAccessTransformerClass(){
+		return null;
+	}
+
+	@Override
+	public String getModContainerClass(){
+		return null;
+	}
+
+	@Override
+	public String getSetupClass(){
+		return "chylex.java7check.report.JavaCheckerReporter";
+	}
+
+	@Override
+	public void injectData(Map<String,Object> data){}
+}
diff --git a/src/main/java/chylex/java7check/report/JavaCheckerReporter.java b/src/main/java/chylex/java7check/report/JavaCheckerReporter.java
new file mode 100644
index 0000000..00ce34e
--- /dev/null
+++ b/src/main/java/chylex/java7check/report/JavaCheckerReporter.java
@@ -0,0 +1,41 @@
+package chylex.java7check.report;
+import java.util.Map;
+import javax.swing.JOptionPane;
+import org.apache.commons.lang3.JavaVersion;
+import org.apache.commons.lang3.SystemUtils;
+import cpw.mods.fml.relauncher.FMLRelaunchLog;
+import cpw.mods.fml.relauncher.IFMLCallHook;
+
+public final class JavaCheckerReporter implements IFMLCallHook{
+	@Override
+	public Void call() throws Exception{
+		if (!SystemUtils.isJavaVersionAtLeast(JavaVersion.JAVA_1_7)){
+			FMLRelaunchLog.severe(getConsoleReport());
+			JOptionPane.showMessageDialog(null, "<html>"+getWindowReport()+"</html>","Outdated Java",JOptionPane.ERROR_MESSAGE);
+            throw new OutdatedJavaException();
+		}
+		
+		return null;
+	}
+
+	@Override
+	public void injectData(Map<String,Object> data){}
+	
+	static String getConsoleReport(){
+		return new StringBuilder(242).append("\n")
+		.append("\n!! DO NOT REPORT !!\n\n")
+		.append("One of the mods requires Java 1.7 or newer, you are using ").append(SystemUtils.JAVA_VERSION).append(".\n")
+		.append("Visit https://java.com/download/ for the latest version.\n")
+		.append("Please, uninstall the old version first to prevent further issues.")
+		.append("\n\n!! DO NOT REPORT !!\n")
+		.toString();
+	}
+	
+	static String getWindowReport(){
+		return new StringBuilder(230)
+		.append("One of the mods requires Java 1.7 or newer, you are using ").append(SystemUtils.JAVA_VERSION).append(".<br>")
+		.append("Visit <span style=\"color:red\">https://java.com/download/</span> for the latest version.<br>")
+		.append("Please, uninstall the old version first to prevent further issues.")
+		.toString();
+	}
+}
diff --git a/src/main/java/chylex/java7check/report/OutdatedJavaException.java b/src/main/java/chylex/java7check/report/OutdatedJavaException.java
new file mode 100644
index 0000000..8d976dd
--- /dev/null
+++ b/src/main/java/chylex/java7check/report/OutdatedJavaException.java
@@ -0,0 +1,20 @@
+package chylex.java7check.report;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+
+public class OutdatedJavaException extends RuntimeException{
+	public OutdatedJavaException(){
+		setStackTrace(new StackTraceElement[0]);
+	}
+	
+	@Override
+	public StackTraceElement[] getStackTrace(){
+		return new StackTraceElement[0];
+	}
+	
+	@Override
+	public void printStackTrace(PrintStream s){}
+	
+	@Override
+	public void printStackTrace(PrintWriter w){}
+}
diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info
new file mode 100644
index 0000000..dd9c233
--- /dev/null
+++ b/src/main/resources/mcmod.info
@@ -0,0 +1,14 @@
+[
+{
+  "modid": "Java7Checker",
+  "name": "Java 7 Checker",
+  "description": "If you see this description inside Minecraft, then you're fine!",
+  "version": "1.0",
+  "url": "",
+  "updateUrl": "",
+  "authorList": ["chylex"],
+  "logoFile": "",
+  "screenshots": [],
+  "dependencies": []
+}
+]