
brady131313
Members-
Posts
28 -
Joined
-
Last visited
Everything posted by brady131313
-
After adding a new Packet I get a crash Saying unable to load Proxy into "C:\Program Files\Java\jdk1.7.0_65\bin\java" -Xincgc -Xmx1024M -Xms1024M -Djava.library.path=D:/Users/Documents/Development/Minecraft/SteamReborn\build\natives -Dfml.ignoreInvalidMinecraftCertificates=true -Didea.launcher.port=7539 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 13.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_65\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_65\jre\lib\ext\zipfs.jar;D:\Users\Documents\Development\Minecraft\SteamReborn\out\production\SteamReborn;D:\Users\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.0.1200\start;D:\Users\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.0.1200\forgeSrc-1.7.10-10.13.0.1200.jar;D:\Users\.gradle\caches\modules-2\files-2.1\net.minecraft\launchwrapper\1.9\116f2aad5b0c68353ebed66cd463517db6522f7e\launchwrapper-1.9.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-debug-all\4.1\dd6ba5c392d4102458494e29f54f70ac534ec2a2\asm-debug-all-4.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.typesafe.akka\akka-actor_2.11\2.3.3\ed62e9fc709ca0f2ff1a3220daa8b70a2870078e\akka-actor_2.11-2.3.3.jar;D:\Users\Documents\Development\Minecraft\SteamReborn\idea\mods\CoFHCore-[1.7.10]3.0.0B3-dev-26.jar;D:\Users\Documents\Development\Minecraft\SteamReborn\idea\mods\CoFHLib-[1.7.10]1.0.0B3-dev-20.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.typesafe\config\1.2.1\f771f71fdae3df231bcd54d5ca2d57f0bf93f467\config-1.2.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-actors-migration_2.11\1.1.0\dfa8bc42b181d5b9f1a5dd147f8ae308b893eb6f\scala-actors-migration_2.11-1.1.0.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-compiler\2.11.1\56ea2e6c025e0821f28d73ca271218b8dd04926a\scala-compiler-2.11.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.scala-lang.plugins\scala-continuations-library_2.11\1.0.2\e517c53a7e9acd6b1668c5a35eccbaa3bab9aac\scala-continuations-library_2.11-1.0.2.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.scala-lang.plugins\scala-continuations-plugin_2.11.1\1.0.2\f361a3283452c57fa30c1ee69448995de23c60f7\scala-continuations-plugin_2.11.1-1.0.2.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-library\2.11.1\e11da23da3eabab9f4777b9220e60d44c1aab6a\scala-library-2.11.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.scala-lang.modules\scala-parser-combinators_2.11\1.0.1\f05d7345bf5a58924f2837c6c1f4d73a938e1ff0\scala-parser-combinators_2.11-1.0.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-reflect\2.11.1\6580347e61cc7f8e802941e7fde40fa83b8badeb\scala-reflect-2.11.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-swing_2.11\1.0.1\b1cdd92bd47b1e1837139c1c53020e86bb9112ae\scala-swing_2.11-1.0.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.scala-lang.modules\scala-xml_2.11\1.0.2\820fbca7e524b530fdadc594c39d49a21ea0337e\scala-xml_2.11-1.0.2.jar;D:\Users\.gradle\caches\modules-2\files-2.1\net.sf.jopt-simple\jopt-simple\4.5\6065cc95c661255349c1d0756657be17c29a4fd3\jopt-simple-4.5.jar;D:\Users\.gradle\caches\modules-2\files-2.1\lzma\lzma\0.0.1\521616dc7487b42bef0e803bd2fa3faf668101d7\lzma-0.0.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.mojang\realms\1.3.1\f78f5a841b1cf9d50c3382acdbeb7d3078e454d6\realms-1.3.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-compress\1.8.1\a698750c16740fd5b3871425f4cb3bbaa87f529d\commons-compress-1.8.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpclient\4.3.3\18f4247ff4572a074444572cee34647c43e7c9c7\httpclient-4.3.3.jar;D:\Users\.gradle\caches\modules-2\files-2.1\commons-logging\commons-logging\1.1.3\f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f\commons-logging-1.1.3.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore\4.3.2\31fbbff1ddbf98f3aa7377c94d33b0447c646b6e\httpcore-4.3.2.jar;D:\Users\.gradle\caches\modules-2\files-2.1\java3d\vecmath\1.3.1\a0ae4f51da409fa0c20fa0ca59e6bbc9413ae71d\vecmath-1.3.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\net.sf.trove4j\trove4j\3.0.3\42ccaf4761f0dfdfa805c9e340d99a755907e2dd\trove4j-3.0.3.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.ibm.icu\icu4j-core-mojang\51.2\63d216a9311cca6be337c1e458e587f99d382b84\icu4j-core-mojang-51.2.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.paulscode\codecjorbis\20101023\c73b5636faf089d9f00e8732a829577de25237ee\codecjorbis-20101023.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.paulscode\codecwav\20101023\12f031cfe88fef5c1dd36c563c0a3a69bd7261da\codecwav-20101023.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.paulscode\libraryjavasound\20101123\5c5e304366f75f9eaa2e8cca546a1fb6109348b3\libraryjavasound-20101123.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.paulscode\librarylwjglopenal\20100824\73e80d0794c39665aec3f62eee88ca91676674ef\librarylwjglopenal-20100824.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.paulscode\soundsystem\20120107\419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6\soundsystem-20120107.jar;D:\Users\.gradle\caches\modules-2\files-2.1\io.netty\netty-all\4.0.10.Final\9e50bd52ffe257a0e2cd8d971688d6ce7d174325\netty-all-4.0.10.Final.jar;D:\Users\.gradle\caches\modules-2\files-2.1\commons-io\commons-io\2.4\b1b6ea3b7e4aa4f492509a4952029cd8e48019ad\commons-io-2.4.jar;D:\Users\.gradle\caches\modules-2\files-2.1\commons-codec\commons-codec\1.9\9ce04e34240f674bc72680f8b843b1457383161a\commons-codec-1.9.jar;D:\Users\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput\2.0.5\39c7796b469a600f72380316f6b1f11db6c2c7c4\jinput-2.0.5.jar;D:\Users\.gradle\caches\modules-2\files-2.1\net.java.jutils\jutils\1.0.0\e12fe1fda814bd348c1579329c86943d2cd3c6a6\jutils-1.0.0.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.google.code.gson\gson\2.2.4\a60a5e993c98c864010053cb901b7eab25306568\gson-2.2.4.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.mojang\authlib\1.5.16\ef1582b11fd0943d069cdcb72e99008ac209a283\authlib-1.5.16.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.0-beta9\1dd66e68cccd907880229f9e2de1314bd13ff785\log4j-api-2.0-beta9.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-core\2.0-beta9\678861ba1b2e1fccb594bb0ca03114bb05da9695\log4j-core-2.0-beta9.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl\2.9.1\f58c5aabcef0e41718a564be9f8e412fff8db847\lwjgl-2.9.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl_util\2.9.1\290d7ba8a1bd9566f5ddf16ad06f09af5ec9b20e\lwjgl_util-2.9.1.jar;D:\Users\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch\5.16\1f55f009c61637c10c0acfb8b5ffc600f30044b4\twitch-5.16.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-actors\2.11.0\8ccfb6541de179bb1c4d45cf414acee069b7f78b\scala-actors-2.11.0.jar;D:\Users\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\7ff832a6eb9ab6a767f1ade2b548092d0fa64795\jinput-platform-2.0.5-natives-linux.jar;D:\Users\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\385ee093e01f587f30ee1c8a2ee7d408fd732e16\jinput-platform-2.0.5-natives-windows.jar;D:\Users\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\53f9c919f34d2ca9de8c51fc4e1e8282029a9232\jinput-platform-2.0.5-natives-osx.jar;D:\Users\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch-platform\5.16\7c6affe439099806a4f552da14c42f9d643d8b23\twitch-platform-5.16-natives-windows-32.jar;D:\Users\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch-platform\5.16\39d0c3d363735b4785598e0e7fbf8297c706a9f9\twitch-platform-5.16-natives-windows-64.jar;D:\Users\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch-platform\5.16\62503ee712766cf77f97252e5902786fd834b8c5\twitch-platform-5.16-natives-osx.jar;D:\Users\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch-external-platform\4.5\18215140f010c05b9f86ef6f0f8871954d2ccebf\twitch-external-platform-4.5-natives-windows-32.jar;D:\Users\.gradle\caches\modules-2\files-2.1\tv.twitch\twitch-external-platform\4.5\c3cde57891b935d41b6680a9c5e1502eeab76d86\twitch-external-platform-4.5-natives-windows-64.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl-platform\2.9.1\4c517eca808522457dd95ee8fc1fbcdbb602efbe\lwjgl-platform-2.9.1-natives-windows.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl-platform\2.9.1\aa9aae879af8eb378e22cfc64db56ec2ca9a44d1\lwjgl-platform-2.9.1-natives-linux.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl-platform\2.9.1\2d12c83fdfbc04ecabf02c7bc8cc54d034f0daac\lwjgl-platform-2.9.1-natives-osx.jar;D:\Users\.gradle\caches\modules-2\files-2.1\com.google.guava\guava\17.0\9c6ef172e8de35fd8d4d8783e4821e57cdef7445\guava-17.0.jar;D:\Users\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.3.2\90a3822c38ec8c996e84c16a3477ef632cbc87a3\commons-lang3-3.3.2.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 13.1.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain GradleStart [21:54:21] [main/INFO] [GradleStart]: No arguments specified, assuming client. [21:54:21] [main/INFO] [GradleStart]: Extra: [] [21:54:21] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --username, ForgeDevName, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --accessToken, {REDACTED}, --assetIndex, 1.7.10, --assetsDir, D:/Users/.gradle/caches/minecraft/assets, --version, 1.7.10] [21:54:21] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker [21:54:21] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker [21:54:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker [21:54:21] [main/INFO] [FML]: Forge Mod Loader version 7.10.25.1200 for Minecraft 1.7.10 loading [21:54:21] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.7.0_65, running on Windows 8.1:amd64:6.3, installed at C:\Program Files\Java\jdk1.7.0_65\jre [21:54:21] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [21:54:21] [main/WARN] [FML]: The coremod codechicken.core.launch.CodeChickenCorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [21:54:21] [main/WARN] [FML]: The coremod cofh.asm.LoadingPlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [21:54:21] [main/WARN] [FML]: The coremod codechicken.core.launch.DepLoader does not have a MCVersion annotation, it may cause issues with this version of Minecraft [21:54:21] [main/WARN] [FML]: The coremod codechicken.nei.asm.NEICorePlugin does not have a MCVersion annotation, it may cause issues with this version of Minecraft [21:54:21] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [21:54:21] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker [21:54:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [21:54:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [21:54:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:54:22] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work! [21:54:23] [main/ERROR] [FML]: The minecraft jar file:/D:/Users/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.0.1200/forgeSrc-1.7.10-10.13.0.1200.jar!/net/minecraft/client/ClientBrandRetriever.class appears to be corrupt! There has been CRITICAL TAMPERING WITH MINECRAFT, it is highly unlikely minecraft will work! STOP NOW, get a clean copy and try again! [21:54:23] [main/ERROR] [FML]: FML has been ordered to ignore the invalid or missing minecraft certificate. This is very likely to cause a problem! [21:54:23] [main/ERROR] [FML]: Technical information: ClientBrandRetriever was at jar:file:/D:/Users/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.0.1200/forgeSrc-1.7.10-10.13.0.1200.jar!/net/minecraft/client/ClientBrandRetriever.class, there were 0 certificates for it [21:54:23] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing [21:54:23] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:54:23] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:54:24] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:54:24] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:54:24] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:54:24] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:54:24] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker Adding Accesstransformer map: CoFH_at.cfg [21:54:25] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker [21:54:25] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker [21:54:25] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [21:54:28] [main/INFO]: Setting user: ForgeDevName [21:54:30] [Client thread/INFO]: LWJGL Version: 2.9.1 [21:54:32] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization [21:54:32] [Client thread/INFO] [FML]: MinecraftForge v10.13.0.1200 Initialized [21:54:32] [Client thread/INFO] [FML]: Replaced 182 ore recipies [21:54:32] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization [21:54:32] [Client thread/INFO] [FML]: Searching D:\Users\Documents\Development\Minecraft\SteamReborn\idea\mods for mods [21:54:32] [Client thread/INFO] [FML]: Also searching D:\Users\Documents\Development\Minecraft\SteamReborn\idea\mods\1.7.10 for mods [21:54:35] [Client thread/WARN] [FML]: Zip file rt.jar failed to read properly, it will be ignored java.lang.NullPointerException at cpw.mods.fml.common.discovery.asm.ASMModParser.isBaseMod(ASMModParser.java:130) ~[ASMModParser.class:?] at cpw.mods.fml.common.ModContainerFactory.build(ModContainerFactory.java:34) ~[ModContainerFactory.class:?] at cpw.mods.fml.common.discovery.JarDiscoverer.discover(JarDiscoverer.java:83) [JarDiscoverer.class:?] at cpw.mods.fml.common.discovery.ContainerType.findMods(ContainerType.java:42) [ContainerType.class:?] at cpw.mods.fml.common.discovery.ModCandidate.explore(ModCandidate.java:71) [ModCandidate.class:?] at cpw.mods.fml.common.discovery.ModDiscoverer.identifyMods(ModDiscoverer.java:123) [ModDiscoverer.class:?] at cpw.mods.fml.common.Loader.identifyMods(Loader.java:347) [Loader.class:?] at cpw.mods.fml.common.Loader.loadMods(Loader.java:468) [Loader.class:?] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:941) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at GradleStart.bounce(GradleStart.java:107) [start/:?] at GradleStart.startClient(GradleStart.java:100) [start/:?] at GradleStart.main(GradleStart.java:55) [start/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) [idea_rt.jar:?] [21:54:36] [Client thread/ERROR] [FML]: FML has detected a mod that is using a package name based on 'net.minecraft.src' : net.minecraft.src.FMLRenderAccessLibrary. This is generally a severe programming error. There should be no mod code in the minecraft namespace. MOVE YOUR MOD! If you're in eclipse, select your source code and 'refactor' it into a new package. Go on. DO IT NOW! [21:54:38] [Client thread/WARN] [bluepower]: Mod bluepower is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 0.1.637 [21:54:38] [Client thread/WARN] [ExtraUtilities]: Mod ExtraUtilities is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.0i [21:54:38] [Client thread/WARN] [ForgeMicroblock]: Mod ForgeMicroblock is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.0.300 [21:54:38] [Client thread/WARN] [ForgeMultipart]: Mod ForgeMultipart is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.0.300 [21:54:38] [Client thread/WARN] [McMultipart]: Mod McMultipart is missing the required element 'version' and a version.properties file could not be found. Falling back to metadata version 1.1.0.300 [21:54:38] [Client thread/INFO] [FML]: Forge Mod Loader has identified 21 mods to load [21:54:39] [Client thread/INFO] [FML]: FML has found a non-mod file CoFHLib-[1.7.10]1.0.0B3-dev-20.jar in your mods directory. It will now be injected into your classpath. This could severe stability issues, it should be removed if possible. [21:54:39] [Client thread/INFO] [FML]: FML has found a non-mod file CodeChickenLib-1.7.10-1.1.1.93-dev.jar in your mods directory. It will now be injected into your classpath. This could severe stability issues, it should be removed if possible. [21:54:39] [Client thread/ERROR] [FML]: An error occured trying to load a proxy into {clientSide=com.brady131313.steamreborn.proxy.ClientProxy, serverSide=com.brady131313.steamreborn.proxy.ServerProxy}.com.brady131313.steamreborn.steamreborn java.lang.InstantiationException at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48) ~[?:1.7.0_65] at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[?:1.7.0_65] at java.lang.Class.newInstance(Class.java:374) ~[?:1.7.0_65] at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:59) [ProxyInjector.class:?] at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:492) [FMLModContainer.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) [guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) [LoadController.class:?] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) [LoadController.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) [guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?] at cpw.mods.fml.common.Loader.loadMods(Loader.java:492) [Loader.class:?] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:941) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at GradleStart.bounce(GradleStart.java:107) [start/:?] at GradleStart.startClient(GradleStart.java:100) [start/:?] at GradleStart.main(GradleStart.java:55) [start/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) [idea_rt.jar:?] Aug 25, 2014 9:54:39 PM com.google.common.eventbus.EventBus$LoggingSubscriberExceptionHandler handleException SEVERE: Could not dispatch event: FMLMod:steamreborn{1.7.10-0.1} to public void cpw.mods.fml.common.FMLModContainer.constructMod(cpw.mods.fml.common.event.FMLConstructionEvent) java.lang.InstantiationException at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at java.lang.Class.newInstance(Class.java:374) at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:59) at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:492) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) at cpw.mods.fml.common.Loader.loadMods(Loader.java:492) at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204) at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) at net.minecraft.client.Minecraft.run(Minecraft.java:941) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at GradleStart.bounce(GradleStart.java:107) at GradleStart.startClient(GradleStart.java:100) at GradleStart.main(GradleStart.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) [21:54:40] [Client thread/ERROR] [EE3]: The mod EE3 is expecting signature @FINGERPRINT@ for source EquivalentExchange3-1.7.10-0.2.0.jar, however there is no signature matching that description [21:54:40] [Client thread/INFO] [Equivalent Exchange 3]: The copy of Equivalent Exchange 3 that you are running is a development version of the mod, and as such may be unstable and/or incomplete. [21:54:41] [Client thread/ERROR] [FML]: Fatal errors were detected during the transition from CONSTRUCTING to PREINITIALIZATION. Loading cannot continue [21:54:41] [Client thread/ERROR] [FML]: mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed FML{7.10.25.1200} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.0.1200.jar) Unloaded->Constructed Forge{10.13.0.1200} [Minecraft Forge] (forgeSrc-1.7.10-10.13.0.1200.jar) Unloaded->Constructed CodeChickenCore{1.0.2.9} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed <CoFH ASM>{000} [CoFH ASM Data Initialization] (minecraft.jar) Unloaded->Constructed NotEnoughItems{1.0.2.15} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.2.15-universal.jar) Unloaded->Constructed steamreborn{1.7.10-0.1} [steam Reborn] (SteamReborn) Unloaded->Errored bluepower{0.1.637} [blue Power] (BluePower-1.7.10-0.1.637-universal.jar) Unloaded->Constructed BuildCraft|Core{6.0.17} [buildCraft] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed BuildCraft|Builders{6.0.17} [bC Builders] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed BuildCraft|Energy{6.0.17} [bC Energy] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed BuildCraft|Factory{6.0.17} [bC Factory] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed BuildCraft|Transport{6.0.17} [bC Transport] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed BuildCraft|Silicon{6.0.17} [bC Silicon] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed CoFHCore{1.7.10R3.0.0B3} [CoFH Core] (CoFHCore-[1.7.10]3.0.0B3-dev-26.jar) Unloaded->Constructed EE3{0.2.0} [Equivalent Exchange 3] (EquivalentExchange3-1.7.10-0.2.0.jar) Unloaded->Constructed ForgeMultipart{1.1.0.300} [Forge Multipart] (ForgeMultipart-1.7.10-1.1.0.300-universal.jar) Unloaded->Constructed ExtraUtilities{1.1.0i} [Extra Utilities] (extrautilities-1.1.0i.jar) Unloaded->Constructed McMultipart{1.1.0.300} [Minecraft Multipart Plugin] (ForgeMultipart-1.7.10-1.1.0.300-universal.jar) Unloaded->Constructed Mantle{1.7.10-165.4bc3343} [Mantle] (Mantle_mc1.7.10_0.3.0.jar) Unloaded->Constructed ForgeMicroblock{1.1.0.300} [Forge Microblocks] (ForgeMultipart-1.7.10-1.1.0.300-universal.jar) Unloaded->Constructed [21:54:41] [Client thread/ERROR] [FML]: The following problems were captured during this phase [21:54:41] [Client thread/ERROR] [FML]: Caught exception from steamreborn cpw.mods.fml.common.LoaderException: java.lang.InstantiationException at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:76) ~[forgeSrc-1.7.10-10.13.0.1200.jar:?] at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:492) ~[forgeSrc-1.7.10-10.13.0.1200.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) ~[forgeSrc-1.7.10-10.13.0.1200.jar:?] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) ~[forgeSrc-1.7.10-10.13.0.1200.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?] at cpw.mods.fml.common.Loader.loadMods(Loader.java:492) [Loader.class:?] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:941) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at GradleStart.bounce(GradleStart.java:107) [start/:?] at GradleStart.startClient(GradleStart.java:100) [start/:?] at GradleStart.main(GradleStart.java:55) [start/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_65] at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) [idea_rt.jar:?] Caused by: java.lang.InstantiationException at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48) ~[?:1.7.0_65] at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[?:1.7.0_65] at java.lang.Class.newInstance(Class.java:374) ~[?:1.7.0_65] at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:59) ~[forgeSrc-1.7.10-10.13.0.1200.jar:?] ... 45 more ---- Minecraft Crash Report ---- // This is a token for 1 free hug. Redeem at your nearest Mojangsta: [~~HUG~~] Time: 8/25/14 9:54 PM Description: There was a severe problem during mod loading that has caused the game to fail cpw.mods.fml.common.LoaderException: java.lang.InstantiationException at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:76) at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:492) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) at cpw.mods.fml.common.Loader.loadMods(Loader.java:492) at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:204) at net.minecraft.client.Minecraft.startGame(Minecraft.java:532) at net.minecraft.client.Minecraft.run(Minecraft.java:941) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at GradleStart.bounce(GradleStart.java:107) at GradleStart.startClient(GradleStart.java:100) at GradleStart.main(GradleStart.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) Caused by: java.lang.InstantiationException at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at java.lang.Class.newInstance(Class.java:374) at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:59) ... 45 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 8.1 (amd64) version 6.3 Java Version: 1.7.0_65, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 607018936 bytes (578 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.05 FML v7.10.25.1200 Minecraft Forge 10.13.0.1200 21 mods loaded, 21 mods active mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed FML{7.10.25.1200} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.0.1200.jar) Unloaded->Constructed Forge{10.13.0.1200} [Minecraft Forge] (forgeSrc-1.7.10-10.13.0.1200.jar) Unloaded->Constructed CodeChickenCore{1.0.2.9} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed <CoFH ASM>{000} [CoFH ASM Data Initialization] (minecraft.jar) Unloaded->Constructed NotEnoughItems{1.0.2.15} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.2.15-universal.jar) Unloaded->Constructed steamreborn{1.7.10-0.1} [steam Reborn] (SteamReborn) Unloaded->Errored bluepower{0.1.637} [blue Power] (BluePower-1.7.10-0.1.637-universal.jar) Unloaded->Constructed BuildCraft|Core{6.0.17} [buildCraft] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed BuildCraft|Builders{6.0.17} [bC Builders] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed BuildCraft|Energy{6.0.17} [bC Energy] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed BuildCraft|Factory{6.0.17} [bC Factory] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed BuildCraft|Transport{6.0.17} [bC Transport] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed BuildCraft|Silicon{6.0.17} [bC Silicon] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed CoFHCore{1.7.10R3.0.0B3} [CoFH Core] (CoFHCore-[1.7.10]3.0.0B3-dev-26.jar) Unloaded->Constructed EE3{0.2.0} [Equivalent Exchange 3] (EquivalentExchange3-1.7.10-0.2.0.jar) Unloaded->Constructed ForgeMultipart{1.1.0.300} [Forge Multipart] (ForgeMultipart-1.7.10-1.1.0.300-universal.jar) Unloaded->Constructed ExtraUtilities{1.1.0i} [Extra Utilities] (extrautilities-1.1.0i.jar) Unloaded->Constructed McMultipart{1.1.0.300} [Minecraft Multipart Plugin] (ForgeMultipart-1.7.10-1.1.0.300-universal.jar) Unloaded->Constructed Mantle{1.7.10-165.4bc3343} [Mantle] (Mantle_mc1.7.10_0.3.0.jar) Unloaded->Constructed ForgeMicroblock{1.1.0.300} [Forge Microblocks] (ForgeMultipart-1.7.10-1.1.0.300-universal.jar) Unloaded->Constructed Mantle Environment: Environment healthy. #@!@# Game crashed! Crash report saved to: #@!@# D:\Users\Documents\Development\Minecraft\SteamReborn\idea\.\crash-reports\crash-2014-08-25_21.54.41-client.txt Process finished with exit code -1 Heres the Proxy Classes https://github.com/brady131313/SteamReborn/tree/master/src/main/java/com/brady131313/steamreborn/proxy
-
I want to change my machines face to an active texture when It is active but how would I access that variable in the tile entity, This is what I've tried Block package com.brady131313.steamreborn.block.machines; import com.brady131313.steamreborn.block.BlockSR; import com.brady131313.steamreborn.init.ModBlocks; import com.brady131313.steamreborn.init.ModItems; import com.brady131313.steamreborn.reference.GuiId; import com.brady131313.steamreborn.steamreborn; import com.brady131313.steamreborn.tileentity.TileEntityAlloyCompressor; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import java.util.Random; public class MachineAlloyCompressor extends BlockSR implements ITileEntityProvider { @SideOnly(Side.CLIENT) private static IIcon frontIcon; @SideOnly(Side.CLIENT) private static IIcon sideIcon; @SideOnly(Side.CLIENT) private static IIcon topbotIcon; TileEntityAlloyCompressor alloyCompressor; public MachineAlloyCompressor() { super(Material.iron); this.setBlockName("machineAlloyCompressor"); this.setHardness(3.0f); } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { this.frontIcon = iconRegister.registerIcon(TileEntityAlloyCompressor.isActive ? "steamreborn:AlloyCompressorActive" : "steamreborn:alloyCompressorFront1"); this.sideIcon = iconRegister.registerIcon("steamreborn:steamMachineSide"); this.topbotIcon = iconRegister.registerIcon("steamreborn:steamMachineTop"); } @Override public IIcon getIcon(int side, int meta) { if (side == 3 && meta == 0) { return frontIcon; } else { if (side == 0 || side == 1) { return topbotIcon; } else if (side != meta) { return sideIcon; } else { return frontIcon; } } } @Override public void onBlockAdded(World world, int x, int y, int z) { super.onBlockAdded(world, x, y, z); setDefaultDirection(world, x, y, z); } @Override public TileEntity createNewTileEntity(World world, int metaData) { return new TileEntityAlloyCompressor(); } @Override public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { TileEntityAlloyCompressor tileEntityAlloyCompressor = (TileEntityAlloyCompressor) world.getTileEntity(x, y, z); super.onNeighborBlockChange(world, x, y, z, block); } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int facehit, float par7, float par8, float par9) { TileEntityAlloyCompressor tileEntity = (TileEntityAlloyCompressor) world.getTileEntity(x, y, z); ItemStack playerItem = player.getCurrentEquippedItem(); if (tileEntity == null || player.isSneaking()) { return false; } else { if (!world.isRemote) { if (world.getTileEntity(x, y, z) instanceof TileEntityAlloyCompressor) { player.openGui(steamreborn.instance, GuiId.ALLOY_COMPRESSOR.ordinal(), world, x, y, z); } } } return true; } @Override public boolean onBlockEventReceived(World world, int x, int y, int z, int eventId, int eventData) { super.onBlockEventReceived(world, x, y, z, eventId, eventData); TileEntity tileEntity = world.getTileEntity(x, y, z); return tileEntity != null && tileEntity.receiveClientEvent(eventId, eventData); } @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { super.breakBlock(world, x, y, z, block, meta); } public static void setDefaultDirection(World world, int x, int y, int z) { if (!world.isRemote) { Block zNeg = world.getBlock(x, y, z - 1); Block zPos = world.getBlock(x, y, z + 1); Block xNeg = world.getBlock(x - 1, y, z); Block xPos = world.getBlock(x + 1, y, z); byte meta = 3; if (xNeg.func_149730_j() && !xPos.func_149730_j()) { meta = 5; } if (xPos.func_149730_j() && !xNeg.func_149730_j()) { meta = 4; } if (zNeg.func_149730_j() && !zPos.func_149730_j()) { meta = 3; } if (zPos.func_149730_j() && !zNeg.func_149730_j()) { meta = 2; } world.setBlockMetadataWithNotify(x, y, z, meta, 2); } } @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack itemStack) { int rotation = MathHelper.floor_double((double) (entity.rotationYaw * 4F / 360F) + 0.5D) & 3; if (rotation == 0) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); } if (rotation == 1) { world.setBlockMetadataWithNotify(x, y, z, 5, 2); } if (rotation == 2) { world.setBlockMetadataWithNotify(x, y, z, 3, 2); } if (rotation == 3) { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } } } Tile Entity package com.brady131313.steamreborn.tileentity; import com.brady131313.steamreborn.init.ModFluids; import com.brady131313.steamreborn.inventory.ContainerSR; import com.brady131313.steamreborn.item.crafting.RecipeAlloyCompressor; import com.brady131313.steamreborn.network.PacketHandler; import com.brady131313.steamreborn.network.message.MessageTileEntityAlloyCompressor; import com.brady131313.steamreborn.recipe.RecipesAlloyCompressor; import com.brady131313.steamreborn.reference.Names; import com.brady131313.steamreborn.tileentity.base.TileMachineTank; import com.brady131313.steamreborn.utility.Tank; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ICrafting; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.network.Packet; import net.minecraft.util.ChatComponentText; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; /** * Created by brady on 8/6/2014. */ public class TileEntityAlloyCompressor extends TileMachineTank { public static final int INVENTORY_SIZE = 3; public static final int ITEM1_INVENTORY_INDEX = 0; public static final int ITEM2_INVENTORY_INDEX = 1; public static final int OUTPUT_INVENTORY_INDEX = 2; private int tankSize; public int itemCookTime; //How long the current item has been cooking public int deviceCookTime; //How long the smelter will cook public static boolean isActive = false; public ItemStack outputItemStack; public TileEntityAlloyCompressor() { tank = new Tank(new FluidStack(ModFluids.steamFluid, 0), 10000); inventory = new ItemStack[iNVENTORY_SIZE]; } public void alloyItem() { if (this.canAlloy()) { RecipeAlloyCompressor recipe = RecipesAlloyCompressor.getInstance().getRecipe(inventory[iTEM1_INVENTORY_INDEX], inventory[iTEM2_INVENTORY_INDEX]); if (this.inventory[OUTPUT_INVENTORY_INDEX] == null) { this.inventory[OUTPUT_INVENTORY_INDEX] = recipe.getRecipeOutput().copy(); } else if (this.inventory[OUTPUT_INVENTORY_INDEX].isItemEqual(recipe.getRecipeOutput())) { inventory[OUTPUT_INVENTORY_INDEX].stackSize += recipe.getRecipeOutput().stackSize; } decrStackSize(ITEM1_INVENTORY_INDEX, recipe.getRecipeInputs()[0].getStackSize()); decrStackSize(ITEM2_INVENTORY_INDEX, recipe.getRecipeInputs()[1].getStackSize()); this.tank.drain(100, true); } } @Override public void updateEntity() { boolean isBurning = this.deviceCookTime > 0; boolean sendUpdate = false; isActive = isBurning; //If the smelter still has burn time, decrement it if (this.deviceCookTime > 0) { this.deviceCookTime--; } if (!this.worldObj.isRemote) { //Start cooking new item if we can if (this.deviceCookTime == 0 && this.canAlloy()) { if (this.tank.getFluidAmount() >= 100) { this.deviceCookTime += 1; //Implement fluid decrement } } //Continue cooking the same item if we can if (this.deviceCookTime > 0 && this.canAlloy()) { this.itemCookTime++; if (this.itemCookTime == 200) { this.itemCookTime = 0; this.alloyItem(); sendUpdate = true; } } else { this.itemCookTime = 0; } // If the state has changed catch something has changed if (isBurning != this.deviceCookTime > 0) { sendUpdate = true; } } if (sendUpdate) { this.markDirty(); this.state = this.deviceCookTime > 0 ? (byte) 1 : (byte) 0; this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, this.state); PacketHandler.INSTANCE.sendToAllAround(new MessageTileEntityAlloyCompressor(this, inventory[OUTPUT_INVENTORY_INDEX]), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, (double) this.xCoord, (double) this.yCoord, (double) this.zCoord, 128d)); this.worldObj.notifyBlockChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); } } private boolean canAlloy() { if (inventory[iTEM1_INVENTORY_INDEX] == null || inventory[iTEM2_INVENTORY_INDEX] == null) { return false; } else { ItemStack alloyedItemStack = RecipesAlloyCompressor.getInstance().getResult(inventory[iTEM1_INVENTORY_INDEX], inventory[iTEM2_INVENTORY_INDEX]); if (alloyedItemStack == null) { return false; } if (inventory[OUTPUT_INVENTORY_INDEX] == null) { return true; } else { boolean outputEquals = this.inventory[OUTPUT_INVENTORY_INDEX].isItemEqual(alloyedItemStack); int mergedOutputStackSize = this.inventory[OUTPUT_INVENTORY_INDEX].stackSize + alloyedItemStack.stackSize; if (outputEquals) { return mergedOutputStackSize <= getInventoryStackLimit() && mergedOutputStackSize <= alloyedItemStack.getMaxStackSize(); } } } return false; } @Override public void markDirty() { PacketHandler.INSTANCE.sendToAllAround(new MessageTileEntityAlloyCompressor(this, inventory[OUTPUT_INVENTORY_INDEX]), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, (double) this.xCoord, (double) this.yCoord, (double) this.zCoord, 128d)); worldObj.func_147451_t(xCoord, yCoord, zCoord); } @Override public int[] getAccessibleSlotsFromSide(int side) { return side == ForgeDirection.DOWN.ordinal() ? new int[]{OUTPUT_INVENTORY_INDEX} : new int[]{ITEM1_INVENTORY_INDEX, ITEM2_INVENTORY_INDEX, OUTPUT_INVENTORY_INDEX}; } @Override public boolean canInsertItem(int slotIndex, ItemStack itemStack, int side) { if (worldObj.getTileEntity(xCoord, yCoord, zCoord) instanceof TileEntityAlloyCompressor) { return isItemValidForSlot(slotIndex, itemStack); } else { return false; } } @Override public boolean canExtractItem(int slotIndex, ItemStack itemStack, int side) { return slotIndex == OUTPUT_INVENTORY_INDEX; } @Override public boolean isItemValidForSlot(int slotIndex, ItemStack itemStack) { switch (slotIndex) { case ITEM1_INVENTORY_INDEX: { return true; } case ITEM2_INVENTORY_INDEX: { return true; } default: { return false; } } } @Override public String getInventoryName() { return this.hasCustomName() ? this.getCustomName() : Names.Containers.ALLOY_COMPRESSOR; } @Override public boolean hasCustomInventoryName() { return this.hasCustomName(); } @Override public boolean isUseableByPlayer(EntityPlayer player) { return true; } @SideOnly(Side.CLIENT) public int getCookProgressScaled(int scale) { return this.itemCookTime * scale / 200; } public int getScaledSteamLevel(int scale) { final double steamLevel = tank.getFluid() == null ? 0 : this.tank.getFluidAmount(); return (int) (steamLevel * scale / this.tank.getCapacity()); } public FluidStack getSteam() { return tank.getFluid(); } @Override public void process() { } public void getGUINetworkData(int id, int value) { if (id == 6) tankSize = value; if (id == 7) itemCookTime = value; else super.getGuiNetworkData(id, value); } public void sendGUINetworkData(ContainerSR container, ICrafting crafting) { super.sendGuiNetworkData(container, crafting); crafting.sendProgressBarUpdate(container, 6, tankSize); crafting.sendProgressBarUpdate(container, 7, itemCookTime); } @Override public Packet getDescriptionPacket() { return PacketHandler.INSTANCE.getPacketFrom(new MessageTileEntityAlloyCompressor(this, inventory[OUTPUT_INVENTORY_INDEX])); } @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList tagList = nbt.getTagList(Names.NBT.ITEMS, 10); inventory = new ItemStack[this.getSizeInventory()]; for (int i = 0; i < tagList.tagCount(); ++i) { NBTTagCompound tagCompound = tagList.getCompoundTagAt(i); byte slotIndex = tagCompound.getByte("Slot"); if (slotIndex >= 0 && slotIndex < inventory.length) { inventory[slotIndex] = ItemStack.loadItemStackFromNBT(tagCompound); } } tank.readFromNBT(nbt.getCompoundTag("steamTank")); deviceCookTime = nbt.getInteger("deviceCookTime"); itemCookTime = nbt.getInteger("itemCookTime"); } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); NBTTagList tagList = new NBTTagList(); for (int currentIndex = 0; currentIndex < inventory.length; ++currentIndex) { if (inventory[currentIndex] != null) { NBTTagCompound tagCompound = new NBTTagCompound(); tagCompound.setByte("Slot", (byte) currentIndex); inventory[currentIndex].writeToNBT(tagCompound); tagList.appendTag(tagCompound); } } nbt.setTag("steamTank", tank.writeToNBT(new NBTTagCompound())); nbt.setTag(Names.NBT.ITEMS, tagList); nbt.setInteger("deviceCookTime", deviceCookTime); nbt.setInteger("itemCookTime", itemCookTime); } public void sendChatInfoToPlayer(EntityPlayer player) { player.addChatMessage(new ChatComponentText("Tanks Fluid Amount: " + tank.getFluidAmount())); player.addChatMessage(new ChatComponentText("Tanks Capacity: " + tank.getCapacity())); } }
-
Im trying to have a tile entity which takes in water, and produces steam, I have the tank working fine, holding fluid and syncing between server and client. However I want the steam tank to not be able to filled by pipes, and only allow the water tank to be filled by pipes/other means. Heres the TileEntity http://hastebin.com/dixaxugapa.java
-
Thanks man thats exactly what I was looking for
-
I have a machine thats very much like the furnace where it has different textures for the top, bottom, sides and front. The front shows fine when I place It but in my inventory, and in hand it shows the side of the block and not the front. How would I rotate the block?
-
How would you go about adding a recipe manager like the furnace where you take one item/block, and make another item/block, just one input and output slot
-
How would I draw a Tooltip over a certain area to show the current fluid amount. I tried doing @Override public void addToolTip() { if (mouseX >= 15 && mouseX <= 30 && mouseY >= 18 && mouseY <= 75) { tooltip.add(tile.tank.getFluidAmount() + "/" + tile.tank.getCapacity()); } }
-
I'm using the same methods as the buildcraft drawfluid and draw cut icon, as well as the same texture map as the build craft so I'm unsure as to why this is happening. When I removed tinkers construct it showed the vanilla textures so I know its not another mod causing it
-
Im Working on my Gui, and in the spot where the fluid is supposed to be im getting a weird texture show up. Tile Entity package com.brady131313.steamreborn.tileentity; import com.brady131313.steamreborn.init.ModFluids; import com.brady131313.steamreborn.inventory.ContainerSR; import com.brady131313.steamreborn.utility.Tank; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ICrafting; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ChatComponentText; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; /** * Created by brady on 8/6/2014. */ public class TileEntityAlloyCompressor extends TileMachineTank { public static final int INVENTORY_SIZE = 3; public static final int ITEM1_INVENTORY_INDEX = 0; public static final int ITEM2_INVENTORY_INDEX = 1; public static final int OUTPUT_INVENTORY_INDEX = 2; private int tankSize; public int itemCookTime; //How long the current item has been cooking public ItemStack outputItemStack; public TileEntityAlloyCompressor() { tank = new Tank(new FluidStack(ModFluids.steamFluid, 0), 10000); inventory = new ItemStack[iNVENTORY_SIZE]; } @Override public int[] getAccessibleSlotsFromSide(int side) { return side == ForgeDirection.DOWN.ordinal() ? new int[]{OUTPUT_INVENTORY_INDEX} : new int[]{ITEM1_INVENTORY_INDEX, ITEM2_INVENTORY_INDEX, OUTPUT_INVENTORY_INDEX}; } @Override public boolean canInsertItem(int slotIndex, ItemStack itemStack, int side) { if (worldObj.getTileEntity(xCoord, yCoord, zCoord) instanceof TileEntityAlloyCompressor) { return isItemValidForSlot(slotIndex, itemStack); } else { return false; } } @Override public boolean canExtractItem(int slotIndex, ItemStack itemStack, int side) { return slotIndex == OUTPUT_INVENTORY_INDEX; } @SideOnly(Side.CLIENT) public int getCookProgressScaled(int scale) { return this.itemCookTime * scale / 200; } public int getScaledSteamLevel(int scale) { final double steamLevel = tank.getFluid() == null ? 0 : this.tank.getFluidAmount(); return (int) (steamLevel * scale / this.tank.getCapacity()); } public FluidStack getSteam() { return tank.getFluid(); } @Override public void process() { } public void getGUINetworkData(int id, int value) { if (id == 6) tankSize = value; else super.getGuiNetworkData(id, value); } public void sendGUINetworkData(ContainerSR container, ICrafting crafting) { super.sendGuiNetworkData(container, crafting); crafting.sendProgressBarUpdate(container, 6, tankSize); } @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); tank.readFromNBT(nbt.getCompoundTag("steamTank")); } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setTag("steamTank", tank.writeToNBT(new NBTTagCompound())); } public void sendChatInfoToPlayer(EntityPlayer player) { player.addChatMessage(new ChatComponentText("Tanks Fluid Amount: " + tank.getFluidAmount())); player.addChatMessage(new ChatComponentText("Tanks Capacity: " + tank.getCapacity())); } } Gui package com.brady131313.steamreborn.client.gui.machines; import com.brady131313.steamreborn.inventory.ContainerAlloyCompressor; import com.brady131313.steamreborn.reference.Names; import com.brady131313.steamreborn.reference.Textures; import com.brady131313.steamreborn.tileentity.TileEntityAlloyCompressor; import com.brady131313.steamreborn.utility.LogHelper; import com.brady131313.steamreborn.utility.RenderUtils; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import net.minecraftforge.fluids.FluidStack; import org.lwjgl.opengl.GL11; import java.util.logging.Logger; @SideOnly(Side.CLIENT) public class GuiAlloyCompressor extends GuiContainer { private TileEntityAlloyCompressor tileEntityAlloyCompressor; public GuiAlloyCompressor(InventoryPlayer inventoryPlayer, TileEntityAlloyCompressor tileEntityAlloyCompressor) { super(new ContainerAlloyCompressor(inventoryPlayer, tileEntityAlloyCompressor)); this.tileEntityAlloyCompressor = tileEntityAlloyCompressor; xSize = 176; ySize = 187; } @Override protected void drawGuiContainerForegroundLayer(int x, int y) { String containerName = StatCollector.translateToLocal(tileEntityAlloyCompressor.getInventoryName()); fontRendererObj.drawString(containerName, xSize / 2 - fontRendererObj.getStringWidth(containerName) / 2, 6, 4210752); fontRendererObj.drawString(StatCollector.translateToLocal(Names.Containers.VANNILLA_INVENTORY), 8, ySize - 96 + 2, 4210752); } @Override protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(Textures.Gui.ALLOY_COMPRESSOR); int xStart = (width - xSize) / 2; int yStart = (height - ySize) / 2; this.drawTexturedModalRect(xStart, yStart, 0, 0, xSize, ySize); int scaleAdjustment; /*final int steamLevel = this.tileEntityAlloyCompressor.getScaledSteamLevel(58); this.drawTexturedModalRect(xStart + 15, yStart + 18, 208, 71, 16, steamLevel); LogHelper.info(steamLevel);*/ drawFluid(tileEntityAlloyCompressor.getSteam(), xStart + 15, yStart + 18, 16, 58, tileEntityAlloyCompressor.tank.getCapacity()); //TODO fix weird render issue with fluid in gui scaleAdjustment = this.tileEntityAlloyCompressor.getCookProgressScaled(36); this.drawTexturedModalRect(xStart + 63 , yStart + 32, 176, 34, scaleAdjustment + 1, 30); this.drawTexturedModalRect(xStart + 15, yStart + 23, 180, 73, 16, 49); } public void drawFluid(FluidStack fluid, int x, int y, int width, int height, int maxCapacity) { if (fluid == null || fluid.getFluid() == null) { return; } IIcon icon = fluid.getFluid().getIcon(fluid); LogHelper.info(fluid.getFluid().getIcon(fluid)); mc.renderEngine.bindTexture(TextureMap.locationBlocksTexture); RenderUtils.setGLColorFromInt(fluid.getFluid().getColor(fluid)); int fullX = width / 16; int fullY = height / 16; int lastX = width - fullX * 16; int lastY = height - fullY * 16; int level = fluid.amount * height / maxCapacity; int fullLvl = (height - level) / 16; int lastLvl = (height - level) - fullLvl * 16; for (int i = 0; i < fullX; i++) { for (int j = 0; j < fullY; j++) { if (j >= fullLvl) { drawCutIcon(icon, x + i * 16, y + j * 16, 16, 16, j == fullLvl ? lastLvl : 0); } } } for (int i = 0; i < fullX; i++) { drawCutIcon(icon, x + i * 16, y + fullY * 16, 16, lastY, fullLvl == fullY ? lastLvl : 0); } for (int i = 0; i < fullY; i++) { if (i >= fullLvl) { drawCutIcon(icon, x + fullX * 16, y + i * 16, lastX, 16, i == fullLvl ? lastLvl : 0); } } drawCutIcon(icon, x + fullX * 16, y + fullY * 16, lastX, lastY, fullLvl == fullY ? lastLvl : 0); } private void drawCutIcon(IIcon icon, int x, int y, int width, int height, int cut) { Tessellator tess = Tessellator.instance; tess.startDrawingQuads(); tess.addVertexWithUV(x, y + height, zLevel, icon.getMinU(), icon.getInterpolatedV(height)); tess.addVertexWithUV(x + width, y + height, zLevel, icon.getInterpolatedU(width), icon.getInterpolatedV(height)); tess.addVertexWithUV(x + width, y + cut, zLevel, icon.getInterpolatedU(width), icon.getInterpolatedV(cut)); tess.addVertexWithUV(x, y + cut, zLevel, icon.getMinU(), icon.getInterpolatedV(cut)); tess.draw(); } }
-
Ok that makes sense, So then in my Tile Entity how do I set the fluid, being steam, and only allow that
-
Could you elaborate, how else would I do it then using the variable
-
I Tried checking if the tank was null by doing if (valueType == 3) { if (tileEntityAlloyCompressor.steamTank.getFluid() != null) { this.tileEntityAlloyCompressor.steamTank.getFluid().amount = updatedValue; } else { this.tileEntityAlloyCompressor.steamTank.getFluid().amount = -1; } } but I just got an error and crashed again Starting up SoundSystem... Initializing LWJGL OpenAL (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) OpenAL initialized. [16:50:50] [sound Library Loader/INFO]: Sound engine started [16:50:56] [server thread/INFO]: Starting integrated minecraft server version 1.7.10 [16:50:56] [server thread/INFO]: Generating keypair [16:50:56] [server thread/INFO] [FML]: Injecting existing block and item data into this server instance [16:50:56] [server thread/INFO] [FML]: Applying holder lookups [16:50:56] [server thread/INFO] [FML]: Holder lookups applied [16:50:57] [server thread/INFO] [FML]: Loading dimension 0 (Test) (net.minecraft.server.integrated.IntegratedServer@a61a404) [16:50:57] [server thread/INFO] [FML]: Loading dimension -100 (Test) (net.minecraft.server.integrated.IntegratedServer@a61a404) [16:50:57] [server thread/INFO] [FML]: Loading dimension 1 (Test) (net.minecraft.server.integrated.IntegratedServer@a61a404) [16:50:57] [server thread/INFO] [FML]: Loading dimension -1 (Test) (net.minecraft.server.integrated.IntegratedServer@a61a404) [16:50:57] [server thread/INFO]: Preparing start region for level 0 [16:50:57] [DynamicEV Thread/INFO] [Equivalent Exchange 3]: DynamicEV system initialized after 441 ms [16:50:58] [server thread/INFO]: Preparing spawn area: 83% [16:50:58] [server thread/INFO]: Changing view distance to 12, from 10 [16:50:58] [Netty Client IO #0/INFO] [FML]: Server protocol version 1 [16:50:58] [Netty IO #1/INFO] [FML]: Client protocol version 1 [16:50:58] [Netty IO #1/INFO] [FML]: Client attempting to join with 17 mods : [email protected],BuildCraft|[email protected],[email protected],[email protected],BuildCraft|[email protected],BuildCraft|[email protected],[email protected],[email protected],BuildCraft|[email protected],[email protected],BuildCraft|[email protected],[email protected],[email protected],[email protected],BuildCraft|[email protected],[email protected],[email protected] [16:50:58] [Netty IO #1/INFO] [FML]: Attempting connection with missing mods [] at CLIENT [16:50:58] [Netty Client IO #0/INFO] [FML]: Attempting connection with missing mods [] at SERVER [16:50:59] [server thread/INFO] [FML]: [server thread] Server side modded connection established [16:50:59] [server thread/INFO]: ForgeDevName[local:E:cb64c69d] logged in with entity id 24 at (5.300000011920929, 237.0, -6.748409260851123) [16:50:59] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established [16:50:59] [server thread/INFO]: ForgeDevName joined the game [16:51:03] [Client thread/INFO] [extrautils]: Added NEI integration [16:51:05] [server thread/ERROR]: Encountered an unexpected exception net.minecraft.util.ReportedException: Ticking memory connection at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:198) ~[NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:736) ~[MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:624) ~[MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) ~[integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:495) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762) [MinecraftServer$2.class:?] Caused by: java.lang.NullPointerException at com.brady131313.steamreborn.inventory.ContainerAlloyCompressor.detectAndSendChanges(ContainerAlloyCompressor.java:74) ~[ContainerAlloyCompressor.class:?] at net.minecraft.inventory.Container.addCraftingToCrafters(Container.java:56) ~[Container.class:?] at com.brady131313.steamreborn.inventory.ContainerAlloyCompressor.addCraftingToCrafters(ContainerAlloyCompressor.java:47) ~[ContainerAlloyCompressor.class:?] at cpw.mods.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:88) ~[FMLNetworkHandler.class:?] at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2514) ~[EntityPlayer.class:?] at com.brady131313.steamreborn.block.machines.MachineAlloyCompressor.onBlockActivated(MachineAlloyCompressor.java:56) ~[MachineAlloyCompressor.class:?] at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:409) ~[itemInWorldManager.class:?] at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:591) ~[NetHandlerPlayServer.class:?] at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) ~[C08PacketPlayerBlockPlacement.class:?] at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) ~[C08PacketPlayerBlockPlacement.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:247) ~[NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) ~[NetworkSystem.class:?] ... 5 more [16:51:05] [server thread/ERROR]: This crash report has been saved to: D:\Users\Documents\Development\Minecraft\steamreborn\idea\.\crash-reports\crash-2014-08-03_16.51.05-server.txt [16:51:05] [server thread/INFO]: Stopping server [16:51:05] [server thread/INFO]: Saving players ---- Minecraft Crash Report ---- // Don't do that. Time: 8/3/14 4:51 PM Description: Ticking memory connection java.lang.NullPointerException: Ticking memory connection at com.brady131313.steamreborn.inventory.ContainerAlloyCompressor.detectAndSendChanges(ContainerAlloyCompressor.java:74) at net.minecraft.inventory.Container.addCraftingToCrafters(Container.java:56) at com.brady131313.steamreborn.inventory.ContainerAlloyCompressor.addCraftingToCrafters(ContainerAlloyCompressor.java:47) at cpw.mods.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:88) at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2514) at com.brady131313.steamreborn.block.machines.MachineAlloyCompressor.onBlockActivated(MachineAlloyCompressor.java:56) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:409) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:591) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:247) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:736) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:624) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:495) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at com.brady131313.steamreborn.inventory.ContainerAlloyCompressor.detectAndSendChanges(ContainerAlloyCompressor.java:74) at net.minecraft.inventory.Container.addCraftingToCrafters(Container.java:56) at com.brady131313.steamreborn.inventory.ContainerAlloyCompressor.addCraftingToCrafters(ContainerAlloyCompressor.java:47) at cpw.mods.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:88) at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2514) at com.brady131313.steamreborn.block.machines.MachineAlloyCompressor.onBlockActivated(MachineAlloyCompressor.java:56) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:409) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:591) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:247) -- Ticking connection -- Details: Connection: net.minecraft.network.NetworkManager@3c6c3497 Stacktrace: at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:736) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:624) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:495) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 8.1 (amd64) version 6.3 Java Version: 1.7.0_65, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 369412608 bytes (352 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.05 FML v7.10.25.1194 Minecraft Forge 10.13.0.1194 17 mods loaded, 17 mods active mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{7.10.25.1194} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.0.1194.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{10.13.0.1194} [Minecraft Forge] (forgeSrc-1.7.10-10.13.0.1194.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available CodeChickenCore{1.0.2.9} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available NotEnoughItems{1.0.2.15} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.2.15-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available TConstruct-Preloader{0.1.1} [Tinkers Corestruct] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available steamreborn{1.7.10-0.1} [steam Reborn] (steamreborn) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Core{6.0.17} [buildCraft] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Builders{6.0.17} [bC Builders] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Energy{6.0.17} [bC Energy] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Factory{6.0.17} [bC Factory] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Transport{6.0.17} [bC Transport] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Silicon{6.0.17} [bC Silicon] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available EE3{0.2.280} [Equivalent Exchange 3] (EquivalentExchange3-1.7.10-0.2.280.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available ExtraUtilities{1.1.0e} [Extra Utilities] (extrautilities-1.1.0e.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Mantle{1.7.10-165.4bc3343} [Mantle] (Mantle_mc1.7.10_0.3.0.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available TConstruct{1.7.10-1.6.0.jenkins541} [Tinkers' Construct] (TConstruct_mc1.7.10_1.6.0d35.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Mantle Environment: Environment healthy. TConstruct Environment: Environment healthy. Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Player Count: 1 / 8; [EntityPlayerMP['ForgeDevName'/24, l='Test', x=5.30, y=237.00, z=-6.75]] Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'fml,forge' #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2014-08-03_16.51.05-server.txt [16:51:05] [Client thread/INFO] [FML]: Waiting for the server to terminate/save. [16:51:05] [server thread/INFO]: Saving worlds [16:51:05] [server thread/INFO]: Saving chunks for level 'Test'/Overworld [16:51:05] [server thread/INFO]: Saving chunks for level 'Test'/Nether [16:51:05] [server thread/INFO]: Saving chunks for level 'Test'/The End [16:51:05] [server thread/INFO]: Saving chunks for level 'Test'/Underdark [16:51:05] [server thread/INFO] [FML]: Unloading dimension 0 [16:51:05] [server thread/INFO] [FML]: Unloading dimension -1 [16:51:05] [server thread/INFO] [FML]: Unloading dimension 1 [16:51:05] [server thread/INFO] [FML]: Unloading dimension -100 [16:51:05] [server thread/INFO] [FML]: Applying holder lookups [16:51:05] [server thread/INFO] [FML]: Holder lookups applied [16:51:05] [server thread/INFO] [FML]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded. [16:51:05] [Client thread/INFO] [FML]: Server terminated. AL lib: (EE) alc_cleanup: 1 device not closed Process finished with exit code -1
-
so then what should I use, I tried changing getFluid().amount to getFluidAmount(), how ever on if (valueType == 3) { this.tileEntityAlloyCompressor.steamTank.getFluidAmount() = updatedValue; } It says variable expected. Sorry if I seem like a noob, but I'm just out of ideas on why this isn't working
-
I tried setting cook, and burn time values to 0 in the TE however I am still getting the exact same java.lang.nullpointerexception, which shouldnt happen because the tank im testing on already has a higher value than 0 in it.
-
Thanks for the help, I removed the steamAmount field and accessed the tank directly but know I crash when opening the gui GUI package com.brady131313.steamreborn.client.gui.machines; import com.brady131313.steamreborn.inventory.ContainerAlloyCompressor; import com.brady131313.steamreborn.reference.Names; import com.brady131313.steamreborn.reference.Textures; import com.brady131313.steamreborn.tileentity.TileEntityAlloyCompressor; import com.brady131313.steamreborn.utility.LogHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.StatCollector; import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class GuiAlloyCompressor extends GuiContainer { private TileEntityAlloyCompressor tileEntityAlloyCompressor; public GuiAlloyCompressor(InventoryPlayer inventoryPlayer, TileEntityAlloyCompressor tileEntityAlloyCompressor) { super(new ContainerAlloyCompressor(inventoryPlayer, tileEntityAlloyCompressor)); this.tileEntityAlloyCompressor = tileEntityAlloyCompressor; xSize = 176; ySize = 187; } @Override protected void drawGuiContainerForegroundLayer(int x, int y) { String containerName = StatCollector.translateToLocal(tileEntityAlloyCompressor.getInventoryName()); fontRendererObj.drawString(containerName, xSize / 2 - fontRendererObj.getStringWidth(containerName) / 2, 6, 4210752); fontRendererObj.drawString(StatCollector.translateToLocal(Names.Containers.VANNILLA_INVENTORY), 8, ySize - 96 + 2, 4210752); } @Override protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(Textures.Gui.ALLOY_COMPRESSOR); int xStart = (width - xSize) / 2; int yStart = (height - ySize) / 2; this.drawTexturedModalRect(xStart, yStart, 0, 0, xSize, ySize); int scaleAdjustment; final int steamLevel = this.tileEntityAlloyCompressor.getScaledSteamLevel(125); this.drawTexturedModalRect(xStart + 25, yStart + 83, 2, 191, steamLevel + 1, 9); LogHelper.info(steamLevel); scaleAdjustment = this.tileEntityAlloyCompressor.getCookProgressScaled(36); this.drawTexturedModalRect(xStart + 63 , yStart + 32, 176, 34, scaleAdjustment + 1, 30); } } Container package com.brady131313.steamreborn.inventory; import com.brady131313.steamreborn.tileentity.TileEntityAlloyCompressor; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntityFurnace; public class ContainerAlloyCompressor extends ContainerSR { private TileEntityAlloyCompressor tileEntityAlloyCompressor; private int lastDeviceCookTime; private int lastFuelBurnTime; private int lastItemCookTime; private int lastSteamLevel; public ContainerAlloyCompressor(InventoryPlayer inventoryPlayer, TileEntityAlloyCompressor tileEntityAlloyCompressor) { this.tileEntityAlloyCompressor = tileEntityAlloyCompressor; //this.addSlotToContainer(new Slot(tileEntityAlloyCompressor, TileEntityAlloyCompressor.FUEL_INVENTORY_INDEX, 44, 74)); this.addSlotToContainer(new Slot(tileEntityAlloyCompressor, TileEntityAlloyCompressor.INGOT1_INVENTORY_INXEX, 44, 26)); this.addSlotToContainer(new Slot(tileEntityAlloyCompressor, TileEntityAlloyCompressor.INGOT2_INVENTORY_INDEX, 44, 53)); this.addSlotToContainer(new SlotAlloyCompressorOutput(tileEntityAlloyCompressor, TileEntityAlloyCompressor.OUTPUT_INVENTORY_INDEX, 120, 39)); // Add the players inventory slots to the container for (int inventoryRowIndex = 0; inventoryRowIndex < PLAYER_INVENTORY_ROWS; ++inventoryRowIndex) { for (int inventoryColumnIndex = 0; inventoryColumnIndex < PLAYER_INVENTORY_COLUMNS; ++inventoryColumnIndex) { this.addSlotToContainer(new Slot(inventoryPlayer, inventoryColumnIndex + inventoryRowIndex * 9 + 9, 8 + inventoryColumnIndex * 18, 106 + inventoryRowIndex * 18)); } } // Add the players action bar slots to the container for (int actionBarSlotIndex = 0; actionBarSlotIndex < PLAYER_INVENTORY_COLUMNS; ++actionBarSlotIndex) { this.addSlotToContainer(new Slot(inventoryPlayer, actionBarSlotIndex, 8 + actionBarSlotIndex * 18, 164)); } } @Override public void addCraftingToCrafters(ICrafting iCrafting) { super.addCraftingToCrafters(iCrafting); iCrafting.sendProgressBarUpdate(this, 0, this.tileEntityAlloyCompressor.deviceCookTime); iCrafting.sendProgressBarUpdate(this, 1, this.tileEntityAlloyCompressor.fuelBurnTime ); iCrafting.sendProgressBarUpdate(this, 2, this.tileEntityAlloyCompressor.itemCookTime); iCrafting.sendProgressBarUpdate(this, 3, this.tileEntityAlloyCompressor.steamTank.getFluid().amount); } @Override public void detectAndSendChanges() { super.detectAndSendChanges(); for (Object crafter : this.crafters) { ICrafting iCrafting = (ICrafting) crafter; if (this.lastDeviceCookTime != this.tileEntityAlloyCompressor.deviceCookTime) { iCrafting.sendProgressBarUpdate(this, 0, this.tileEntityAlloyCompressor.deviceCookTime); } if (this.lastFuelBurnTime != this.tileEntityAlloyCompressor.fuelBurnTime) { iCrafting.sendProgressBarUpdate(this, 1, this.tileEntityAlloyCompressor.fuelBurnTime); } if (this.lastItemCookTime != this.tileEntityAlloyCompressor.itemCookTime) { iCrafting.sendProgressBarUpdate(this, 2, this.tileEntityAlloyCompressor.itemCookTime); } if (this.lastSteamLevel != this.tileEntityAlloyCompressor.steamTank.getFluid().amount) { iCrafting.sendProgressBarUpdate(this, 3, this.tileEntityAlloyCompressor.steamTank.getFluid().amount); } } this.lastDeviceCookTime = this.tileEntityAlloyCompressor.deviceCookTime; this.lastFuelBurnTime = this.tileEntityAlloyCompressor.fuelBurnTime; this.lastItemCookTime = this.tileEntityAlloyCompressor.itemCookTime; this.lastSteamLevel = this.tileEntityAlloyCompressor.steamTank.getFluid().amount; } @Override public ItemStack transferStackInSlot(EntityPlayer entityPlayer, int slotIndex) { ItemStack itemStack = null; Slot slot = (Slot) inventorySlots.get(slotIndex); if (slot != null && slot.getHasStack()) { ItemStack slotItemStack = slot.getStack(); itemStack = slotItemStack.copy(); /** * If we are shift-clicking an item out of the alloy compressors container, * attempt to put it in the first available slot in the players * inventory */ if (slotIndex < TileEntityAlloyCompressor.INVENTORY_SIZE) { if (!this.mergeItemStack(slotItemStack, TileEntityAlloyCompressor.INVENTORY_SIZE, inventorySlots.size(), false)) { return null; } } else { /**If the stack being shift-clicked into the alloy compressor container * is a fuel, first try to put it in the fuel slot. * if it cannot be mearged into the fuel slot, try to put it into the imput * slot if (TileEntityFurnace.isItemFuel(slotItemStack)) { if (!this.mergeItemStack(slotItemStack, TileEntityAlloyCompressor.FUEL_INVENTORY_INDEX, TileEntityAlloyCompressor.OUTPUT_INVENTORY_INDEX, false)) { return null; } }*/ /** * if the stack being shift-clicked into the alloy compressors container * is a ingot first try to put it in the ingot1 slot. if it cannot * be merged into the ingot1 slot, try to put it in the input slot */ if (slotItemStack.getItem() instanceof Item) { if (!this.mergeItemStack(slotItemStack, TileEntityAlloyCompressor.INGOT2_INVENTORY_INDEX, TileEntityAlloyCompressor.OUTPUT_INVENTORY_INDEX, false)) { return null; } } /** * finally, attempt to put stack into the input slot */ else if (!this.mergeItemStack(slotItemStack, TileEntityAlloyCompressor.INGOT1_INVENTORY_INXEX, TileEntityAlloyCompressor.INGOT2_INVENTORY_INDEX, false)) { return null; } } if (slotItemStack.stackSize == 0) { slot.putStack(null); } else { slot.onSlotChanged(); } } return itemStack; } @SideOnly(Side.CLIENT) public void updateProgressBar(int valueType, int updatedValue) { if (valueType == 0) { this.tileEntityAlloyCompressor.deviceCookTime = updatedValue; } if (valueType == 1) { this.tileEntityAlloyCompressor.fuelBurnTime = updatedValue; } if (valueType == 2) { this.tileEntityAlloyCompressor.itemCookTime = updatedValue; } if (valueType == 3) { this.tileEntityAlloyCompressor.steamTank.getFluid().amount = updatedValue; } } } TileEntity package com.brady131313.steamreborn.tileentity; import com.brady131313.steamreborn.item.crafting.RecipeAlloyCompressor; import com.brady131313.steamreborn.network.PacketHandler; import com.brady131313.steamreborn.network.message.MessageTileEntityAlloyCompressor; import com.brady131313.steamreborn.recipe.RecipesAlloyCompressor; import com.brady131313.steamreborn.reference.Names; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.network.Packet; import net.minecraft.util.ChatComponentText; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.*; public class TileEntityAlloyCompressor extends TileEntitySR implements ISidedInventory, IFluidHandler { public static final int INVENTORY_SIZE = 3; //public static final int FUEL_INVENTORY_INDEX = 0; public static final int INGOT1_INVENTORY_INXEX = 0; public static final int INGOT2_INVENTORY_INDEX = 1; public static final int OUTPUT_INVENTORY_INDEX = 2; public int deviceCookTime; //How long the smelter will cook public int fuelBurnTime; //the fuel value for the currently burning fuel public int itemCookTime; //How long the current item has been cooking public ItemStack outputItemStack; private ItemStack[] inventory; //FLuids private final int tankCapacity = 10000; public FluidTank steamTank = new FluidTank(this.tankCapacity); public TileEntityAlloyCompressor() { inventory = new ItemStack[iNVENTORY_SIZE]; } @Override public int[] getAccessibleSlotsFromSide(int side) { return side == ForgeDirection.DOWN.ordinal() ? new int[]{OUTPUT_INVENTORY_INDEX} : new int[]{INGOT1_INVENTORY_INXEX, INGOT2_INVENTORY_INDEX, OUTPUT_INVENTORY_INDEX}; } @Override public boolean canInsertItem(int slotIndex, ItemStack itemStack, int side) { if (worldObj.getTileEntity(xCoord, yCoord, zCoord) instanceof TileEntityAlloyCompressor) { return isItemValidForSlot(slotIndex, itemStack); } else { return false; } } @Override public boolean canExtractItem(int slotIndex, ItemStack itemStack, int side) { return slotIndex == OUTPUT_INVENTORY_INDEX; } @Override public void readFromNBT(NBTTagCompound nbtTagCompound) { super.readFromNBT(nbtTagCompound); // read in the itemstacks in the inventory from NBT NBTTagList tagList = nbtTagCompound.getTagList(Names.NBT.ITEMS, 10); inventory = new ItemStack[this.getSizeInventory()]; for (int i = 0; i < tagList.tagCount(); ++i) { NBTTagCompound tagCompound = tagList.getCompoundTagAt(i); byte slotIndex = tagCompound.getByte("Slot"); if (slotIndex >= 0 && slotIndex < inventory.length) { inventory[slotIndex] = ItemStack.loadItemStackFromNBT(tagCompound); } } this.steamTank.readFromNBT(nbtTagCompound.getCompoundTag("steamTank")); deviceCookTime = nbtTagCompound.getInteger("deviceCookTime"); fuelBurnTime = nbtTagCompound.getInteger("fuelBurnTime"); itemCookTime = nbtTagCompound.getInteger("itemCookTime"); //hasGlassbell = nbtTagCompound.getBoolean("hasGlassBell"); } @Override public int getSizeInventory() { return inventory.length; } @Override public ItemStack getStackInSlot(int slotIndex) { return inventory[slotIndex]; } @Override public ItemStack decrStackSize(int slotIndex, int decrementAmount) { ItemStack itemStack = getStackInSlot(slotIndex); if (itemStack != null) { if (itemStack.stackSize <= decrementAmount) { setInventorySlotContents(slotIndex, null); } else { itemStack = itemStack.splitStack(decrementAmount); if (itemStack.stackSize == 0) { setInventorySlotContents(slotIndex, null); } } } return itemStack; } @Override public ItemStack getStackInSlotOnClosing(int slotIndex) { ItemStack itemStack = getStackInSlot(slotIndex); if (itemStack != null) { setInventorySlotContents(slotIndex, null); } return itemStack; } @Override public void setInventorySlotContents(int slotIndex, ItemStack itemStack) { inventory[slotIndex] = itemStack; if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { itemStack.stackSize = getInventoryStackLimit(); } } @Override public String getInventoryName() { return this.hasCustomName() ? this.getCustomName() : Names.Containers.STEAM_SMELTER; } @Override public boolean hasCustomInventoryName() { return this.hasCustomName(); } @Override public int getInventoryStackLimit() { return 64; } @Override public boolean isUseableByPlayer(EntityPlayer var1) { return true; } @Override public void openInventory() { //IDK } @Override public void closeInventory() { //IDK } @Override public boolean isItemValidForSlot(int slotIndex, ItemStack itemStack) { switch (slotIndex) { case INGOT1_INVENTORY_INXEX: { return true; } case INGOT2_INVENTORY_INDEX: { return true; } default: { return false; } } } @Override public void writeToNBT(NBTTagCompound nbtTagCompound) { super.writeToNBT(nbtTagCompound); // Write the Itemstacks in the inventory to NBT NBTTagList tagList = new NBTTagList(); for (int currentIndex = 0; currentIndex < inventory.length; ++currentIndex) { if (inventory[currentIndex] != null) { NBTTagCompound tagCompound = new NBTTagCompound(); tagCompound.setByte("Slot", (byte) currentIndex); inventory[currentIndex].writeToNBT(tagCompound); tagList.appendTag(tagCompound); } } nbtTagCompound.setTag("steamTank", this.steamTank.writeToNBT(new NBTTagCompound())); nbtTagCompound.setTag(Names.NBT.ITEMS, tagList); nbtTagCompound.setInteger("deviceCookTime", deviceCookTime); nbtTagCompound.setInteger("fuelBurnTime", fuelBurnTime); nbtTagCompound.setInteger("itemCookTime", itemCookTime); //nbtTagCompound.setBoolean("hasGlassBell", hasGlassBell); } @Override public Packet getDescriptionPacket() { return PacketHandler.INSTANCE.getPacketFrom(new MessageTileEntityAlloyCompressor(this, inventory[OUTPUT_INVENTORY_INDEX])); } @Override public void updateEntity() { boolean isBurning = this.deviceCookTime > 0; boolean sendUpdate = false; //If the smelter still has burn time, decrement it if (this.deviceCookTime > 0) { this.deviceCookTime--; } if (!this.worldObj.isRemote) { //Start cooking new item, if we can if (this.deviceCookTime == 0 && this.canAlloy()) { if (this.steamTank.getFluidAmount() >= 100) { this.deviceCookTime += 1; //TODO better implementation of steam use } } // Continue cooking the same item if we can if (this.deviceCookTime > 0 && this.canAlloy()) { this.itemCookTime++; if (this.itemCookTime == 200) { this.itemCookTime = 0; this.alloyItem(); sendUpdate = true; } } else { this.itemCookTime = 0; } // If the state has changed, cath something changed if (isBurning != this.deviceCookTime > 0) { sendUpdate = true; } } if (sendUpdate) { this.markDirty(); this.state = this.deviceCookTime > 0 ? (byte) 1 : (byte) 0; this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, this.state); PacketHandler.INSTANCE.sendToAllAround(new MessageTileEntityAlloyCompressor(this, inventory[OUTPUT_INVENTORY_INDEX]), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, (double) this.xCoord, (double) this.yCoord, (double) this.zCoord, 128d)); this.worldObj.notifyBlockChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); } } @Override public void markDirty() { PacketHandler.INSTANCE.sendToAllAround(new MessageTileEntityAlloyCompressor(this, inventory[OUTPUT_INVENTORY_INDEX]), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, (double) this.xCoord, (double) this.yCoord, (double) this.zCoord, 128d)); worldObj.func_147451_t(xCoord, yCoord, zCoord); } private boolean canAlloy() { if (inventory[iNGOT1_INVENTORY_INXEX] == null || inventory[iNGOT2_INVENTORY_INDEX] == null) { return false; } else { ItemStack alloyedItemStack = RecipesAlloyCompressor.getInstance().getResult(inventory[iNGOT1_INVENTORY_INXEX], inventory[iNGOT2_INVENTORY_INDEX]); if (alloyedItemStack == null) { return false; } if (inventory[OUTPUT_INVENTORY_INDEX] == null) { return true; } else { boolean outputEquals = this.inventory[OUTPUT_INVENTORY_INDEX].isItemEqual(alloyedItemStack); int mergedOutputStackSize = this.inventory[OUTPUT_INVENTORY_INDEX].stackSize + alloyedItemStack.stackSize; if (outputEquals) { return mergedOutputStackSize <= getInventoryStackLimit() && mergedOutputStackSize <= alloyedItemStack.getMaxStackSize(); } } } return false; } public void alloyItem() { if (this.canAlloy()) { RecipeAlloyCompressor recipe = RecipesAlloyCompressor.getInstance().getRecipe(inventory[iNGOT1_INVENTORY_INXEX], inventory[iNGOT2_INVENTORY_INDEX]); if (this.inventory[OUTPUT_INVENTORY_INDEX] == null) { this.inventory[OUTPUT_INVENTORY_INDEX] = recipe.getRecipeOutput().copy(); } else if (this.inventory[OUTPUT_INVENTORY_INDEX].isItemEqual(recipe.getRecipeOutput())) { inventory[OUTPUT_INVENTORY_INDEX].stackSize += recipe.getRecipeOutput().stackSize; } decrStackSize(INGOT1_INVENTORY_INXEX, recipe.getRecipeInputs()[0].getStackSize()); decrStackSize(INGOT2_INVENTORY_INDEX, recipe.getRecipeInputs()[1].getStackSize()); this.steamTank.drain(100, true); } } @SideOnly(Side.CLIENT) public int getCookProgressScaled(int scale) { return this.itemCookTime * scale / 200; } @SideOnly(Side.CLIENT) public int getBurnTimeRemainingScaled(int scale) { if (this.fuelBurnTime > 0) { return this.deviceCookTime * scale / this.fuelBurnTime; } return 0; } public int getScaledSteamLevel(int scale) { final double steamLevel = steamTank.getFluid() == null ? 0 : this.steamTank.getFluid().amount; return (int) (steamLevel * scale / this.tankCapacity); } // ITankContainer @Override public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { int used = 0; FluidStack resourceUsing = resource.copy(); used += steamTank.fill(resourceUsing, doFill); resourceUsing.amount -= used; return used; } @Override public FluidStack drain(ForgeDirection from, int maxEmpty, boolean doDrain) { return steamTank.drain(maxEmpty, doDrain); } @Override public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { if (resource == null || !resource.isFluidEqual(steamTank.getFluid())) { return null; } return drain(from, resource.amount, doDrain); } @Override public FluidTankInfo[] getTankInfo(ForgeDirection from) { return new FluidTankInfo[] { new FluidTankInfo(this.steamTank)}; } @Override public boolean canFill(ForgeDirection from, Fluid fluid) { return true; } @Override public boolean canDrain(ForgeDirection from, Fluid fluid) { return false; } public void sendChatInfoToPlayer(EntityPlayer player) { player.addChatMessage(new ChatComponentText("Tanks Fluid Level: " + this.steamTank.getFluidAmount())); player.addChatMessage(new ChatComponentText("Tanks Capacity: " + this.steamTank.getCapacity())); player.addChatMessage(new ChatComponentText("Tank Fluid: " + this.steamTank.getFluid())); } } Crash Log Time: 8/3/14 3:46 PM Description: Unexpected error java.lang.NullPointerException: Unexpected error at com.brady131313.steamreborn.inventory.ContainerAlloyCompressor.updateProgressBar(ContainerAlloyCompressor.java:164) at net.minecraft.client.network.NetHandlerPlayClient.handleWindowProperty(NetHandlerPlayClient.java:1313) at net.minecraft.network.play.server.S31PacketWindowProperty.processPacket(S31PacketWindowProperty.java:32) at net.minecraft.network.play.server.S31PacketWindowProperty.processPacket(S31PacketWindowProperty.java:78) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:247) at net.minecraft.client.multiplayer.PlayerControllerMP.updateController(PlayerControllerMP.java:321) at net.minecraft.client.Minecraft.runTick(Minecraft.java:1692) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1038) at net.minecraft.client.Minecraft.run(Minecraft.java:961) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at GradleStart.bounce(GradleStart.java:108) at GradleStart.startClient(GradleStart.java:101) at GradleStart.main(GradleStart.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at com.brady131313.steamreborn.inventory.ContainerAlloyCompressor.updateProgressBar(ContainerAlloyCompressor.java:164) at net.minecraft.client.network.NetHandlerPlayClient.handleWindowProperty(NetHandlerPlayClient.java:1313) at net.minecraft.network.play.server.S31PacketWindowProperty.processPacket(S31PacketWindowProperty.java:32) at net.minecraft.network.play.server.S31PacketWindowProperty.processPacket(S31PacketWindowProperty.java:78) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:247) at net.minecraft.client.multiplayer.PlayerControllerMP.updateController(PlayerControllerMP.java:321) -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityClientPlayerMP['ForgeDevName'/24, l='MpServer', x=8.62, y=238.62, z=-6.65]] Chunk stats: MultiplayerChunkCache: 623, 623 Level seed: 0 Level generator: ID 01 - flat, ver 0. Features enabled: false Level generator options: Level spawn location: World: (0,4,0), Chunk: (at 0,0,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 71731 game time, 6000 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false Forced entities: 14 total; [EntityCow['Cow'/16, l='MpServer', x=81.40, y=237.00, z=14.06], EntityCow['Cow'/19, l='MpServer', x=80.75, y=237.00, z=62.16], EntitySheep['Sheep'/18, l='MpServer', x=80.84, y=237.00, z=29.09], EntityPig['Pig'/5, l='MpServer', x=-17.94, y=237.00, z=-42.13], EntityChicken['Chicken'/6, l='MpServer', x=-20.47, y=237.00, z=10.47], EntityChicken['Chicken'/7, l='MpServer', x=4.41, y=237.00, z=35.59], EntityClientPlayerMP['ForgeDevName'/24, l='MpServer', x=8.62, y=238.62, z=-6.65], EntityChicken['Chicken'/8, l='MpServer', x=21.53, y=237.00, z=-76.47], EntityPig['Pig'/9, l='MpServer', x=47.69, y=237.00, z=-37.16], EntityChicken['Chicken'/10, l='MpServer', x=45.38, y=237.00, z=-18.44], EntityChicken['Chicken'/11, l='MpServer', x=34.56, y=237.00, z=16.41], EntityChicken['Chicken'/12, l='MpServer', x=42.44, y=237.00, z=39.56], EntitySheep['Sheep'/13, l='MpServer', x=54.28, y=237.00, z=23.25], EntitySheep['Sheep'/15, l='MpServer', x=86.97, y=237.00, z=14.97]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:417) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2567) at net.minecraft.client.Minecraft.run(Minecraft.java:990) at net.minecraft.client.main.Main.main(Main.java:164) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at GradleStart.bounce(GradleStart.java:108) at GradleStart.startClient(GradleStart.java:101) at GradleStart.main(GradleStart.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 8.1 (amd64) version 6.3 Java Version: 1.7.0_65, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 507962584 bytes (484 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.05 FML v7.10.25.1194 Minecraft Forge 10.13.0.1194 17 mods loaded, 17 mods active mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{7.10.25.1194} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.0.1194.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{10.13.0.1194} [Minecraft Forge] (forgeSrc-1.7.10-10.13.0.1194.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available CodeChickenCore{1.0.2.9} [CodeChicken Core] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available NotEnoughItems{1.0.2.15} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.2.15-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available TConstruct-Preloader{0.1.1} [Tinkers Corestruct] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available steamreborn{1.7.10-0.1} [steam Reborn] (steamreborn) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Core{6.0.17} [buildCraft] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Builders{6.0.17} [bC Builders] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Energy{6.0.17} [bC Energy] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Factory{6.0.17} [bC Factory] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Transport{6.0.17} [bC Transport] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available BuildCraft|Silicon{6.0.17} [bC Silicon] (buildcraft-6.0.17 (1).jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available EE3{0.2.280} [Equivalent Exchange 3] (EquivalentExchange3-1.7.10-0.2.280.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available ExtraUtilities{1.1.0e} [Extra Utilities] (extrautilities-1.1.0e.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Mantle{1.7.10-165.4bc3343} [Mantle] (Mantle_mc1.7.10_0.3.0.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available TConstruct{1.7.10-1.6.0.jenkins541} [Tinkers' Construct] (TConstruct_mc1.7.10_1.6.0d35.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Mantle Environment: Environment healthy. TConstruct Environment: Environment healthy. Launched Version: 1.7.10 LWJGL: 2.9.1 OpenGL: GeForce GTX 760/PCIe/SSE2 GL version 4.4.0, NVIDIA Corporation GL Caps: Using GL 1.3 multitexturing. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Anisotropic filtering is supported and maximum anisotropy is 16. Shaders are available because OpenGL 2.1 is supported. Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [] Current Language: English (US) Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Anisotropic Filtering: Off (1) #@!@# Game crashed! Crash report saved to: #@!@# D:\Users\Documents\Development\Minecraft\steamreborn\idea\.\crash-reports\crash-2014-08-03_15.46.37-client.txt AL lib: (EE) alc_cleanup: 1 device not closed Process finished with exit code -1
-
If I may ask how would I go about syncing the value
-
I removed get state and the and the if statement that was using it because that was used to check if the machine was being used, but know i have it set to use a liquid so that was no longer needed, these are the gui and tile entity now package com.brady131313.steamreborn.tileentity; import com.brady131313.steamreborn.item.crafting.RecipeAlloyCompressor; import com.brady131313.steamreborn.network.PacketHandler; import com.brady131313.steamreborn.network.message.MessageTileEntityAlloyCompressor; import com.brady131313.steamreborn.recipe.RecipesAlloyCompressor; import com.brady131313.steamreborn.reference.Names; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.network.Packet; import net.minecraft.util.ChatComponentText; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.*; public class TileEntityAlloyCompressor extends TileEntitySR implements ISidedInventory, IFluidHandler { public static final int INVENTORY_SIZE = 3; //public static final int FUEL_INVENTORY_INDEX = 0; public static final int INGOT1_INVENTORY_INXEX = 0; public static final int INGOT2_INVENTORY_INDEX = 1; public static final int OUTPUT_INVENTORY_INDEX = 2; public int deviceCookTime; //How long the smelter will cook public int fuelBurnTime; //the fuel value for the currently burning fuel public int itemCookTime; //How long the current item has been cooking public ItemStack outputItemStack; private ItemStack[] inventory; //FLuids private final int tankCapacity = 10000; public FluidTank steamTank = new FluidTank(this.tankCapacity); public int steamAmount = this.steamTank.getFluidAmount(); public TileEntityAlloyCompressor() { inventory = new ItemStack[iNVENTORY_SIZE]; } @Override public int[] getAccessibleSlotsFromSide(int side) { return side == ForgeDirection.DOWN.ordinal() ? new int[]{OUTPUT_INVENTORY_INDEX} : new int[]{INGOT1_INVENTORY_INXEX, INGOT2_INVENTORY_INDEX, OUTPUT_INVENTORY_INDEX}; } @Override public boolean canInsertItem(int slotIndex, ItemStack itemStack, int side) { if (worldObj.getTileEntity(xCoord, yCoord, zCoord) instanceof TileEntityAlloyCompressor) { return isItemValidForSlot(slotIndex, itemStack); } else { return false; } } @Override public boolean canExtractItem(int slotIndex, ItemStack itemStack, int side) { return slotIndex == OUTPUT_INVENTORY_INDEX; } @Override public void readFromNBT(NBTTagCompound nbtTagCompound) { super.readFromNBT(nbtTagCompound); // read in the itemstacks in the inventory from NBT NBTTagList tagList = nbtTagCompound.getTagList(Names.NBT.ITEMS, 10); inventory = new ItemStack[this.getSizeInventory()]; for (int i = 0; i < tagList.tagCount(); ++i) { NBTTagCompound tagCompound = tagList.getCompoundTagAt(i); byte slotIndex = tagCompound.getByte("Slot"); if (slotIndex >= 0 && slotIndex < inventory.length) { inventory[slotIndex] = ItemStack.loadItemStackFromNBT(tagCompound); } } this.steamTank.readFromNBT(nbtTagCompound.getCompoundTag("steamTank")); deviceCookTime = nbtTagCompound.getInteger("deviceCookTime"); fuelBurnTime = nbtTagCompound.getInteger("fuelBurnTime"); itemCookTime = nbtTagCompound.getInteger("itemCookTime"); //hasGlassbell = nbtTagCompound.getBoolean("hasGlassBell"); } @Override public int getSizeInventory() { return inventory.length; } @Override public ItemStack getStackInSlot(int slotIndex) { return inventory[slotIndex]; } @Override public ItemStack decrStackSize(int slotIndex, int decrementAmount) { ItemStack itemStack = getStackInSlot(slotIndex); if (itemStack != null) { if (itemStack.stackSize <= decrementAmount) { setInventorySlotContents(slotIndex, null); } else { itemStack = itemStack.splitStack(decrementAmount); if (itemStack.stackSize == 0) { setInventorySlotContents(slotIndex, null); } } } return itemStack; } @Override public ItemStack getStackInSlotOnClosing(int slotIndex) { ItemStack itemStack = getStackInSlot(slotIndex); if (itemStack != null) { setInventorySlotContents(slotIndex, null); } return itemStack; } @Override public void setInventorySlotContents(int slotIndex, ItemStack itemStack) { inventory[slotIndex] = itemStack; if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { itemStack.stackSize = getInventoryStackLimit(); } } @Override public String getInventoryName() { return this.hasCustomName() ? this.getCustomName() : Names.Containers.STEAM_SMELTER; } @Override public boolean hasCustomInventoryName() { return this.hasCustomName(); } @Override public int getInventoryStackLimit() { return 64; } @Override public boolean isUseableByPlayer(EntityPlayer var1) { return true; } @Override public void openInventory() { //IDK } @Override public void closeInventory() { //IDK } @Override public boolean isItemValidForSlot(int slotIndex, ItemStack itemStack) { switch (slotIndex) { case INGOT1_INVENTORY_INXEX: { return true; } case INGOT2_INVENTORY_INDEX: { return true; } default: { return false; } } } @Override public void writeToNBT(NBTTagCompound nbtTagCompound) { super.writeToNBT(nbtTagCompound); // Write the Itemstacks in the inventory to NBT NBTTagList tagList = new NBTTagList(); for (int currentIndex = 0; currentIndex < inventory.length; ++currentIndex) { if (inventory[currentIndex] != null) { NBTTagCompound tagCompound = new NBTTagCompound(); tagCompound.setByte("Slot", (byte) currentIndex); inventory[currentIndex].writeToNBT(tagCompound); tagList.appendTag(tagCompound); } } nbtTagCompound.setTag("steamTank", this.steamTank.writeToNBT(new NBTTagCompound())); nbtTagCompound.setTag(Names.NBT.ITEMS, tagList); nbtTagCompound.setInteger("deviceCookTime", deviceCookTime); nbtTagCompound.setInteger("fuelBurnTime", fuelBurnTime); nbtTagCompound.setInteger("itemCookTime", itemCookTime); //nbtTagCompound.setBoolean("hasGlassBell", hasGlassBell); } @Override public Packet getDescriptionPacket() { return PacketHandler.INSTANCE.getPacketFrom(new MessageTileEntityAlloyCompressor(this, inventory[OUTPUT_INVENTORY_INDEX])); } @Override public void updateEntity() { boolean isBurning = this.deviceCookTime > 0; boolean sendUpdate = false; //If the smelter still has burn time, decrement it if (this.deviceCookTime > 0) { this.deviceCookTime--; } if (!this.worldObj.isRemote) { //Start cooking new item, if we can if (this.deviceCookTime == 0 && this.canAlloy()) { if (this.steamTank.getFluidAmount() >= 100) { this.deviceCookTime += 1; //TODO better implementation of steam use } } // Continue cooking the same item if we can if (this.deviceCookTime > 0 && this.canAlloy()) { this.itemCookTime++; if (this.itemCookTime == 200) { this.itemCookTime = 0; this.alloyItem(); sendUpdate = true; } } else { this.itemCookTime = 0; } // If the state has changed, cath something changed if (isBurning != this.deviceCookTime > 0) { sendUpdate = true; } } if (sendUpdate) { this.markDirty(); this.state = this.deviceCookTime > 0 ? (byte) 1 : (byte) 0; this.worldObj.addBlockEvent(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1, this.state); PacketHandler.INSTANCE.sendToAllAround(new MessageTileEntityAlloyCompressor(this, inventory[OUTPUT_INVENTORY_INDEX]), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, (double) this.xCoord, (double) this.yCoord, (double) this.zCoord, 128d)); this.worldObj.notifyBlockChange(this.xCoord, this.yCoord, this.zCoord, this.getBlockType()); } } @Override public void markDirty() { PacketHandler.INSTANCE.sendToAllAround(new MessageTileEntityAlloyCompressor(this, inventory[OUTPUT_INVENTORY_INDEX]), new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, (double) this.xCoord, (double) this.yCoord, (double) this.zCoord, 128d)); worldObj.func_147451_t(xCoord, yCoord, zCoord); } private boolean canAlloy() { if (inventory[iNGOT1_INVENTORY_INXEX] == null || inventory[iNGOT2_INVENTORY_INDEX] == null) { return false; } else { ItemStack alloyedItemStack = RecipesAlloyCompressor.getInstance().getResult(inventory[iNGOT1_INVENTORY_INXEX], inventory[iNGOT2_INVENTORY_INDEX]); if (alloyedItemStack == null) { return false; } if (inventory[OUTPUT_INVENTORY_INDEX] == null) { return true; } else { boolean outputEquals = this.inventory[OUTPUT_INVENTORY_INDEX].isItemEqual(alloyedItemStack); int mergedOutputStackSize = this.inventory[OUTPUT_INVENTORY_INDEX].stackSize + alloyedItemStack.stackSize; if (outputEquals) { return mergedOutputStackSize <= getInventoryStackLimit() && mergedOutputStackSize <= alloyedItemStack.getMaxStackSize(); } } } return false; } public void alloyItem() { if (this.canAlloy()) { RecipeAlloyCompressor recipe = RecipesAlloyCompressor.getInstance().getRecipe(inventory[iNGOT1_INVENTORY_INXEX], inventory[iNGOT2_INVENTORY_INDEX]); if (this.inventory[OUTPUT_INVENTORY_INDEX] == null) { this.inventory[OUTPUT_INVENTORY_INDEX] = recipe.getRecipeOutput().copy(); } else if (this.inventory[OUTPUT_INVENTORY_INDEX].isItemEqual(recipe.getRecipeOutput())) { inventory[OUTPUT_INVENTORY_INDEX].stackSize += recipe.getRecipeOutput().stackSize; } decrStackSize(INGOT1_INVENTORY_INXEX, recipe.getRecipeInputs()[0].getStackSize()); decrStackSize(INGOT2_INVENTORY_INDEX, recipe.getRecipeInputs()[1].getStackSize()); this.steamTank.drain(100, true); } } @SideOnly(Side.CLIENT) public int getCookProgressScaled(int scale) { return this.itemCookTime * scale / 200; } @SideOnly(Side.CLIENT) public int getBurnTimeRemainingScaled(int scale) { if (this.fuelBurnTime > 0) { return this.deviceCookTime * scale / this.fuelBurnTime; } return 0; } public int getScaledSteamLevel(int scale) { final double steamLevel = this.steamTank.getFluid() == null ? 0 : this.steamTank.getFluid().amount; return (int) (steamLevel * scale / this.tankCapacity); } // ITankContainer @Override public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { int used = 0; FluidStack resourceUsing = resource.copy(); used += steamTank.fill(resourceUsing, doFill); resourceUsing.amount -= used; return used; } @Override public FluidStack drain(ForgeDirection from, int maxEmpty, boolean doDrain) { return steamTank.drain(maxEmpty, doDrain); } @Override public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) { if (resource == null || !resource.isFluidEqual(steamTank.getFluid())) { return null; } return drain(from, resource.amount, doDrain); } @Override public FluidTankInfo[] getTankInfo(ForgeDirection from) { return new FluidTankInfo[] { new FluidTankInfo(this.steamTank)}; } @Override public boolean canFill(ForgeDirection from, Fluid fluid) { return true; } @Override public boolean canDrain(ForgeDirection from, Fluid fluid) { return false; } public void sendChatInfoToPlayer(EntityPlayer player) { player.addChatMessage(new ChatComponentText("Tanks Fluid Level: " + this.steamTank.getFluidAmount())); player.addChatMessage(new ChatComponentText("Tanks Capacity: " + this.steamTank.getCapacity())); player.addChatMessage(new ChatComponentText("Tank Fluid: " + this.steamTank.getFluid())); } } package com.brady131313.steamreborn.client.gui.machines; import com.brady131313.steamreborn.inventory.ContainerAlloyCompressor; import com.brady131313.steamreborn.reference.Names; import com.brady131313.steamreborn.reference.Textures; import com.brady131313.steamreborn.tileentity.TileEntityAlloyCompressor; import com.brady131313.steamreborn.utility.LogHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.StatCollector; import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class GuiAlloyCompressor extends GuiContainer { private TileEntityAlloyCompressor tileEntityAlloyCompressor; public GuiAlloyCompressor(InventoryPlayer inventoryPlayer, TileEntityAlloyCompressor tileEntityAlloyCompressor) { super(new ContainerAlloyCompressor(inventoryPlayer, tileEntityAlloyCompressor)); this.tileEntityAlloyCompressor = tileEntityAlloyCompressor; xSize = 176; ySize = 187; } @Override protected void drawGuiContainerForegroundLayer(int x, int y) { String containerName = StatCollector.translateToLocal(tileEntityAlloyCompressor.getInventoryName()); fontRendererObj.drawString(containerName, xSize / 2 - fontRendererObj.getStringWidth(containerName) / 2, 6, 4210752); fontRendererObj.drawString(StatCollector.translateToLocal(Names.Containers.VANNILLA_INVENTORY), 8, ySize - 96 + 2, 4210752); } @Override protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(Textures.Gui.ALLOY_COMPRESSOR); int xStart = (width - xSize) / 2; int yStart = (height - ySize) / 2; this.drawTexturedModalRect(xStart, yStart, 0, 0, xSize, ySize); int scaleAdjustment; final int steamLevel = this.tileEntityAlloyCompressor.getScaledSteamLevel(125); this.drawTexturedModalRect(xStart + 25, yStart + 83, 2, 191, steamLevel + 1, 9); LogHelper.info(steamLevel); scaleAdjustment = this.tileEntityAlloyCompressor.getCookProgressScaled(36); this.drawTexturedModalRect(xStart + 63 , yStart + 32, 176, 34, scaleAdjustment + 1, 30); } }
-
Get state is letting the GUI know if the machine is processing, and if it is than it updates the fuel time remaining
-
Ya all the methods are called because the fluid one is in the same method I use to update the progress bar and that works fine, and shows up in the gui, but the fluid still doesnt show up
-
So I tried looking at the code for the furnace, and i added a updateProgress bar to my container for the machine, and I have the container however the fluid still does not show up. And when I log the the value, it comes up as 0, when it should be 10000 when filled. package com.brady131313.steamreborn.inventory; import com.brady131313.steamreborn.tileentity.TileEntityAlloyCompressor; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntityFurnace; public class ContainerAlloyCompressor extends ContainerSR { private TileEntityAlloyCompressor tileEntityAlloyCompressor; private int lastDeviceCookTime; private int lastFuelBurnTime; private int lastItemCookTime; private int lastSteamLevel; public ContainerAlloyCompressor(InventoryPlayer inventoryPlayer, TileEntityAlloyCompressor tileEntityAlloyCompressor) { this.tileEntityAlloyCompressor = tileEntityAlloyCompressor; //this.addSlotToContainer(new Slot(tileEntityAlloyCompressor, TileEntityAlloyCompressor.FUEL_INVENTORY_INDEX, 44, 74)); this.addSlotToContainer(new Slot(tileEntityAlloyCompressor, TileEntityAlloyCompressor.INGOT1_INVENTORY_INXEX, 44, 26)); this.addSlotToContainer(new Slot(tileEntityAlloyCompressor, TileEntityAlloyCompressor.INGOT2_INVENTORY_INDEX, 44, 53)); this.addSlotToContainer(new SlotAlloyCompressorOutput(tileEntityAlloyCompressor, TileEntityAlloyCompressor.OUTPUT_INVENTORY_INDEX, 120, 39)); // Add the players inventory slots to the container for (int inventoryRowIndex = 0; inventoryRowIndex < PLAYER_INVENTORY_ROWS; ++inventoryRowIndex) { for (int inventoryColumnIndex = 0; inventoryColumnIndex < PLAYER_INVENTORY_COLUMNS; ++inventoryColumnIndex) { this.addSlotToContainer(new Slot(inventoryPlayer, inventoryColumnIndex + inventoryRowIndex * 9 + 9, 8 + inventoryColumnIndex * 18, 106 + inventoryRowIndex * 18)); } } // Add the players action bar slots to the container for (int actionBarSlotIndex = 0; actionBarSlotIndex < PLAYER_INVENTORY_COLUMNS; ++actionBarSlotIndex) { this.addSlotToContainer(new Slot(inventoryPlayer, actionBarSlotIndex, 8 + actionBarSlotIndex * 18, 164)); } } @Override public void addCraftingToCrafters(ICrafting iCrafting) { super.addCraftingToCrafters(iCrafting); iCrafting.sendProgressBarUpdate(this, 0, this.tileEntityAlloyCompressor.deviceCookTime); iCrafting.sendProgressBarUpdate(this, 1, this.tileEntityAlloyCompressor.fuelBurnTime ); iCrafting.sendProgressBarUpdate(this, 2, this.tileEntityAlloyCompressor.itemCookTime); iCrafting.sendProgressBarUpdate(this, 3, this.tileEntityAlloyCompressor.steamAmount); } @Override public void detectAndSendChanges() { super.detectAndSendChanges(); for (Object crafter : this.crafters) { ICrafting iCrafting = (ICrafting) crafter; if (this.lastDeviceCookTime != this.tileEntityAlloyCompressor.deviceCookTime) { iCrafting.sendProgressBarUpdate(this, 0, this.tileEntityAlloyCompressor.deviceCookTime); } if (this.lastFuelBurnTime != this.tileEntityAlloyCompressor.fuelBurnTime) { iCrafting.sendProgressBarUpdate(this, 1, this.tileEntityAlloyCompressor.fuelBurnTime); } if (this.lastItemCookTime != this.tileEntityAlloyCompressor.itemCookTime) { iCrafting.sendProgressBarUpdate(this, 2, this.tileEntityAlloyCompressor.itemCookTime); } if (this.lastSteamLevel != this.tileEntityAlloyCompressor.steamAmount) { iCrafting.sendProgressBarUpdate(this, 3, this.tileEntityAlloyCompressor.steamAmount); } } this.lastDeviceCookTime = this.tileEntityAlloyCompressor.deviceCookTime; this.lastFuelBurnTime = this.tileEntityAlloyCompressor.fuelBurnTime; this.lastItemCookTime = this.tileEntityAlloyCompressor.itemCookTime; this.lastSteamLevel = this.tileEntityAlloyCompressor.steamAmount; } @Override public ItemStack transferStackInSlot(EntityPlayer entityPlayer, int slotIndex) { ItemStack itemStack = null; Slot slot = (Slot) inventorySlots.get(slotIndex); if (slot != null && slot.getHasStack()) { ItemStack slotItemStack = slot.getStack(); itemStack = slotItemStack.copy(); /** * If we are shift-clicking an item out of the alloy compressors container, * attempt to put it in the first available slot in the players * inventory */ if (slotIndex < TileEntityAlloyCompressor.INVENTORY_SIZE) { if (!this.mergeItemStack(slotItemStack, TileEntityAlloyCompressor.INVENTORY_SIZE, inventorySlots.size(), false)) { return null; } } else { /**If the stack being shift-clicked into the alloy compressor container * is a fuel, first try to put it in the fuel slot. * if it cannot be mearged into the fuel slot, try to put it into the imput * slot if (TileEntityFurnace.isItemFuel(slotItemStack)) { if (!this.mergeItemStack(slotItemStack, TileEntityAlloyCompressor.FUEL_INVENTORY_INDEX, TileEntityAlloyCompressor.OUTPUT_INVENTORY_INDEX, false)) { return null; } }*/ /** * if the stack being shift-clicked into the alloy compressors container * is a ingot first try to put it in the ingot1 slot. if it cannot * be merged into the ingot1 slot, try to put it in the input slot */ if (slotItemStack.getItem() instanceof Item) { if (!this.mergeItemStack(slotItemStack, TileEntityAlloyCompressor.INGOT2_INVENTORY_INDEX, TileEntityAlloyCompressor.OUTPUT_INVENTORY_INDEX, false)) { return null; } } /** * finally, attempt to put stack into the input slot */ else if (!this.mergeItemStack(slotItemStack, TileEntityAlloyCompressor.INGOT1_INVENTORY_INXEX, TileEntityAlloyCompressor.INGOT2_INVENTORY_INDEX, false)) { return null; } } if (slotItemStack.stackSize == 0) { slot.putStack(null); } else { slot.onSlotChanged(); } } return itemStack; } @SideOnly(Side.CLIENT) public void updateProgressBar(int valueType, int updatedValue) { if (valueType == 0) { this.tileEntityAlloyCompressor.deviceCookTime = updatedValue; } if (valueType == 1) { this.tileEntityAlloyCompressor.fuelBurnTime = updatedValue; } if (valueType == 2) { this.tileEntityAlloyCompressor.itemCookTime = updatedValue; } if (valueType == 3) { this.tileEntityAlloyCompressor.steamAmount = updatedValue; } } }
-
So I have what should be a working GUI that shows the current fluid level, However when I call getSteam() it always evaluates to 0 meaning my fluid bar doesn't show up public int getSteam() { return this.internaltank.getFluidAmount(); } package com.brady131313.steamreborn.client.gui.machines; import com.brady131313.steamreborn.inventory.ContainerAlloyCompressor; import com.brady131313.steamreborn.reference.Names; import com.brady131313.steamreborn.reference.Textures; import com.brady131313.steamreborn.tileentity.TileEntityAlloyCompressor; import com.brady131313.steamreborn.utility.LogHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.StatCollector; import org.lwjgl.opengl.GL11; @SideOnly(Side.CLIENT) public class GuiAlloyCompressor extends GuiContainer { private TileEntityAlloyCompressor tileEntityAlloyCompressor; public GuiAlloyCompressor(InventoryPlayer inventoryPlayer, TileEntityAlloyCompressor tileEntityAlloyCompressor) { super(new ContainerAlloyCompressor(inventoryPlayer, tileEntityAlloyCompressor)); this.tileEntityAlloyCompressor = tileEntityAlloyCompressor; xSize = 176; ySize = 187; } @Override protected void drawGuiContainerForegroundLayer(int x, int y) { String containerName = StatCollector.translateToLocal(tileEntityAlloyCompressor.getInventoryName()); fontRendererObj.drawString(containerName, xSize / 2 - fontRendererObj.getStringWidth(containerName) / 2, 6, 4210752); fontRendererObj.drawString(StatCollector.translateToLocal(Names.Containers.VANNILLA_INVENTORY), 8, ySize - 96 + 2, 4210752); } @Override protected void drawGuiContainerBackgroundLayer(float var1, int var2, int var3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); TileEntityAlloyCompressor tileEntity = new TileEntityAlloyCompressor(); this.mc.getTextureManager().bindTexture(Textures.Gui.ALLOY_COMPRESSOR); int xStart = (width - xSize) / 2; int yStart = (height - ySize) / 2; this.drawTexturedModalRect(xStart, yStart, 0, 0, xSize, ySize); int scaleAdjustment; int steamLevel; if (this.tileEntityAlloyCompressor.getState() == 1) { scaleAdjustment = this.tileEntityAlloyCompressor.getBurnTimeRemainingScaled(12); this.drawTexturedModalRect(xStart + 45, yStart + 36 + 34 - scaleAdjustment, 176, 12 - scaleAdjustment, 14, scaleAdjustment + 2); } if (this.tileEntityAlloyCompressor.internaltank.getFluidAmount() > 0) { steamLevel = this.tileEntityAlloyCompressor.getSteam(); LogHelper.info(steamLevel); this.drawTexturedModalRect(xStart + 25, yStart + 83, 2, 191, steamLevel + 1, 9); } scaleAdjustment = this.tileEntityAlloyCompressor.getCookProgressScaled(36); this.drawTexturedModalRect(xStart + 63 , yStart + 32, 176, 34, scaleAdjustment + 1, 30); } }
-
Checkout the buildcraft source code, and look at the refinery, it does exactly what you are looking for, other than the gui. https://github.com/BuildCraft/BuildCraft/blob/6.0.x/common/buildcraft/factory/TileRefinery.java
-
Thanks man, don't know why I didn't think of that earlier.