Thanks in advance for the help. I had the 32bit version of Java installed but just downloaded the 64 version and it's correctly in the Program Files location. I updated the path for Java in the launcher but I still can't launch.
It said my log was too long to post so I'm just including the end part that seems to be explaining the error but I don't understand it.
Edit: I included a snip of the log.
[14:12:08.349] --tweakClass
[14:12:08.349] net.minecraftforge.fml.common.launcher.FMLTweaker
[14:12:08.350] =======================
[14:12:09] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[14:12:09] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[14:12:09] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[14:12:10] [main/INFO] [FML]: Forge Mod Loader version 13.20.1.2429 for Minecraft 1.11.2 loading
[14:12:10] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_171, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_171
[14:12:10] [main/WARN] [FML]: The coremod org.blockartistry.DynSurround.asm.TransformLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft
[14:12:10] [main/INFO] [FML]: Loading tweaker optifine.OptiFineForgeTweaker from OptiFine.jar
[14:12:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[14:12:10] [main/INFO] [LaunchWrapper]: Loading tweak class name optifine.OptiFineForgeTweaker
[14:12:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[14:12:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[14:12:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[14:12:10] [main/INFO] [LaunchWrapper]: Calling tweak class optifine.OptiFineForgeTweaker
[14:12:10] [main/INFO] [STDOUT]: [optifine.OptiFineForgeTweaker:dbg:56]: OptiFineForgeTweaker: acceptOptions
[14:12:10] [main/INFO] [STDOUT]: [optifine.OptiFineForgeTweaker:dbg:56]: OptiFineForgeTweaker: injectIntoClassLoader
[14:12:10] [main/INFO] [STDOUT]: [optifine.OptiFineClassTransformer:dbg:221]: OptiFine ClassTransformer
[14:12:10] [main/INFO] [STDOUT]: [optifine.OptiFineClassTransformer:dbg:221]: OptiFine ZIP file: C:\Users\tedbl\AppData\Roaming\WesterosCraft\instances\WesterosCraft-1.11.2\mods\OptiFine.jar
[14:12:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[14:12:11] [main/FATAL] [FML]: Patcher expecting non-empty class data file for net.minecraft.entity.SharedMonsterAttributes, but received empty.
[14:12:11] [main/ERROR] [LaunchWrapper]: Unable to launch
java.lang.RuntimeException: java.lang.RuntimeException: Patcher expecting non-empty class data file for net.minecraft.entity.SharedMonsterAttributes, but received empty, your vanilla jar may be corrupt.
at net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:170) ~[forge.jar:?]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [launchwrapper.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper.jar:?]
Caused by: java.lang.RuntimeException: Patcher expecting non-empty class data file for net.minecraft.entity.SharedMonsterAttributes, but received empty, your vanilla jar may be corrupt.
at net.minecraftforge.fml.common.patcher.ClassPatchManager.applyPatch(ClassPatchManager.java:112) ~[forge.jar:?]
at net.minecraftforge.fml.common.patcher.ClassPatchManager.getPatchedResource(ClassPatchManager.java:75) ~[forge.jar:?]
at net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.getFieldType(FMLDeobfuscatingRemapper.java:220) ~[forge.jar:?]
at net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.parseField(FMLDeobfuscatingRemapper.java:193) ~[forge.jar:?]
at net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.setup(FMLDeobfuscatingRemapper.java:162) ~[forge.jar:?]
at net.minecraftforge.fml.common.asm.FMLSanityChecker.injectData(FMLSanityChecker.java:189) ~[forge.jar:?]
at net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:165) ~[forge.jar:?]
... 2 more
Exception in thread "main" [14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: net.minecraftforge.fml.relauncher.FMLSecurityManager$ExitTrappedException
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraftforge.fml.relauncher.FMLSecurityManager.checkPermission(FMLSecurityManager.java:49)
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.SecurityManager.checkExit(Unknown Source)
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.Runtime.exit(Unknown Source)
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.System.exit(Unknown Source)
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:138)
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
[14:12:08.349] net.minecraftforge.fml.common.launcher.FMLTweaker
[14:12:08.350] =======================
[14:12:09] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[14:12:09] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[14:12:09] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[14:12:10] [main/INFO] [FML]: Forge Mod Loader version 13.20.1.2429 for Minecraft 1.11.2 loading
[14:12:10] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_171, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_171
[14:12:10] [main/WARN] [FML]: The coremod org.blockartistry.DynSurround.asm.TransformLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft
[14:12:10] [main/INFO] [FML]: Loading tweaker optifine.OptiFineForgeTweaker from OptiFine.jar
[14:12:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[14:12:10] [main/INFO] [LaunchWrapper]: Loading tweak class name optifine.OptiFineForgeTweaker
[14:12:10] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[14:12:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[14:12:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[14:12:10] [main/INFO] [LaunchWrapper]: Calling tweak class optifine.OptiFineForgeTweaker
[14:12:10] [main/INFO] [STDOUT]: [optifine.OptiFineForgeTweaker:dbg:56]: OptiFineForgeTweaker: acceptOptions
[14:12:10] [main/INFO] [STDOUT]: [optifine.OptiFineForgeTweaker:dbg:56]: OptiFineForgeTweaker: injectIntoClassLoader
[14:12:10] [main/INFO] [STDOUT]: [optifine.OptiFineClassTransformer:dbg:221]: OptiFine ClassTransformer
[14:12:10] [main/INFO] [STDOUT]: [optifine.OptiFineClassTransformer:dbg:221]: OptiFine ZIP file: C:\Users\tedbl\AppData\Roaming\WesterosCraft\instances\WesterosCraft-1.11.2\mods\OptiFine.jar
[14:12:10] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[14:12:11] [main/FATAL] [FML]: Patcher expecting non-empty class data file for net.minecraft.entity.SharedMonsterAttributes, but received empty.
[14:12:11] [main/ERROR] [LaunchWrapper]: Unable to launch
java.lang.RuntimeException: java.lang.RuntimeException: Patcher expecting non-empty class data file for net.minecraft.entity.SharedMonsterAttributes, but received empty, your vanilla jar may be corrupt.
at net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:170) ~[forge.jar:?]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:115) [launchwrapper.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper.jar:?]
Caused by: java.lang.RuntimeException: Patcher expecting non-empty class data file for net.minecraft.entity.SharedMonsterAttributes, but received empty, your vanilla jar may be corrupt.
at net.minecraftforge.fml.common.patcher.ClassPatchManager.applyPatch(ClassPatchManager.java:112) ~[forge.jar:?]
at net.minecraftforge.fml.common.patcher.ClassPatchManager.getPatchedResource(ClassPatchManager.java:75) ~[forge.jar:?]
at net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.getFieldType(FMLDeobfuscatingRemapper.java:220) ~[forge.jar:?]
at net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.parseField(FMLDeobfuscatingRemapper.java:193) ~[forge.jar:?]
at net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper.setup(FMLDeobfuscatingRemapper.java:162) ~[forge.jar:?]
at net.minecraftforge.fml.common.asm.FMLSanityChecker.injectData(FMLSanityChecker.java:189) ~[forge.jar:?]
at net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper.injectIntoClassLoader(CoreModManager.java:165) ~[forge.jar:?]
... 2 more
Exception in thread "main" [14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: net.minecraftforge.fml.relauncher.FMLSecurityManager$ExitTrappedException
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraftforge.fml.relauncher.FMLSecurityManager.checkPermission(FMLSecurityManager.java:49)
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.SecurityManager.checkExit(Unknown Source)
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.Runtime.exit(Unknown Source)
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.System.exit(Unknown Source)
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:138)
[14:12:11] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
It said my log was too long to post so I'm just including the end part that seems to be explaining the error but I don't understand it.
Edit: I included a snip of the log.