diff options
61 files changed, 686 insertions, 130 deletions
diff --git a/.classpath b/.classpath index 580a8e91c4..14cfcfbb21 100644 --- a/.classpath +++ b/.classpath @@ -4,10 +4,10 @@ <classpathentry kind="src" path="src/main/resources"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry combineaccessrules="false" kind="src" path="/Forge"/> - <classpathentry kind="lib" path="lib/gregtech-5.09.32-dev.jar" sourcepath="lib/gregtech-5.09.32-dev-src.zip"/> - <classpathentry kind="lib" path="lib/industrialcraft-2-2.2.828a-experimental-deobf.jar"/> - <classpathentry kind="lib" path="lib/NotEnoughItems-1.7.10-1.0.5.120-dev.jar"/> - <classpathentry kind="lib" path="lib/CodeChickenCore-1.7.10-1.0.7.47-dev.jar"/> - <classpathentry kind="lib" path="lib/CodeChickenLib-1.7.10-1.1.3.140-dev.jar"/> + <classpathentry kind="lib" path="E:/Development/KekzTech/libs/CodeChickenCore-1.7.10-1.0.7.47-dev.jar"/> + <classpathentry kind="lib" path="libs/CodeChickenLib-1.7.10-1.1.3.140-dev.jar"/> + <classpathentry kind="lib" path="libs/gregtech-5.09.32-dev.jar"/> + <classpathentry kind="lib" path="libs/industrialcraft-2-2.2.828a-experimental-deobf.jar"/> + <classpathentry kind="lib" path="libs/NotEnoughItems-1.7.10-1.0.5.120-dev.jar"/> <classpathentry kind="output" path="bin"/> </classpath> diff --git a/.gradle/2.0/taskArtifacts/cache.properties b/.gradle/2.0/taskArtifacts/cache.properties new file mode 100644 index 0000000000..0a27f00048 --- /dev/null +++ b/.gradle/2.0/taskArtifacts/cache.properties @@ -0,0 +1 @@ +#Sun Jun 09 22:52:57 CEST 2019 diff --git a/.gradle/2.0/taskArtifacts/cache.properties.lock b/.gradle/2.0/taskArtifacts/cache.properties.lock Binary files differnew file mode 100644 index 0000000000..ca3bbae07a --- /dev/null +++ b/.gradle/2.0/taskArtifacts/cache.properties.lock diff --git a/.gradle/2.0/taskArtifacts/fileHashes.bin b/.gradle/2.0/taskArtifacts/fileHashes.bin Binary files differnew file mode 100644 index 0000000000..c297a16654 --- /dev/null +++ b/.gradle/2.0/taskArtifacts/fileHashes.bin diff --git a/.gradle/2.0/taskArtifacts/fileSnapshots.bin b/.gradle/2.0/taskArtifacts/fileSnapshots.bin Binary files differnew file mode 100644 index 0000000000..07f121e479 --- /dev/null +++ b/.gradle/2.0/taskArtifacts/fileSnapshots.bin diff --git a/.gradle/2.0/taskArtifacts/outputFileStates.bin b/.gradle/2.0/taskArtifacts/outputFileStates.bin Binary files differnew file mode 100644 index 0000000000..33e592204a --- /dev/null +++ b/.gradle/2.0/taskArtifacts/outputFileStates.bin diff --git a/.gradle/2.0/taskArtifacts/taskArtifacts.bin b/.gradle/2.0/taskArtifacts/taskArtifacts.bin Binary files differnew file mode 100644 index 0000000000..38ef8749f4 --- /dev/null +++ b/.gradle/2.0/taskArtifacts/taskArtifacts.bin diff --git a/build.gradle b/build.gradle index 0306dde268..1a154c453c 100644 --- a/build.gradle +++ b/build.gradle @@ -16,6 +16,8 @@ buildscript { } apply plugin: 'forge' +sourceCompatibility = 1.8 +targetCompatibility = 1.8 version = "0.1" group= "kekztech" // http://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/config/GregTech/Recipes.cfg b/config/GregTech/Recipes.cfg index 9033b90669..25bb16c96b 100644 --- a/config/GregTech/Recipes.cfg +++ b/config/GregTech/Recipes.cfg @@ -323,6 +323,7 @@ alloysmelting { I:ingotYttrium_200=200 I:ingotZinc_130=130 I:ingotZinc_200=200 + I:item.kekztech_crafting_item.14_400=400 I:nuggetAluminium_100=100 I:nuggetAluminium_130=130 I:nuggetAmericium_100=100 @@ -4630,6 +4631,9 @@ assembling { I:tile.furnace_400=400 I:tile.hopper_800=800 I:tile.jukebox_400=400 + I:tile.kekztech_gdcceramicelectrolyteunit_block_2400=2400 + I:tile.kekztech_yszceramicelectrolyteunit_block_1200=1200 + I:tile.kekztech_yszceramicelectrolyteunit_block_2400=2400 I:tile.lever_400=400 I:tile.musicBlock_200=200 I:tile.netherFence_100=100 @@ -4994,6 +4998,8 @@ autoclave { I:gt.metaitem.02.32540_19200=19200 I:ic2.itemDustenergium_250=250 I:ic2.itemDustenergium_500=500 + I:item.kekztech_crafting_item.5_2400=2400 + I:item.kekztech_crafting_item.5_7680=7680 } @@ -6880,6 +6886,12 @@ chemicalreactor { I:isoprene_120=120 I:item.appleGold_50=50 I:item.carrotGolden_50=50 + I:item.kekztech_crafting_item.11_400=400 + I:item.kekztech_crafting_item.12_400=400 + I:item.kekztech_crafting_item.13_400=400 + I:item.kekztech_crafting_item.5_1=1 + I:item.kekztech_crafting_item.5_1200=1200 + I:item.kekztech_crafting_item.6_400=400 I:item.magmaCream_50=50 I:item.speckledMelon_50=50 I:leadzincsolution_50=50 @@ -20671,6 +20683,9 @@ mixer { I:ic2biomass_400=400 I:ic2coolant_256=256 I:item.fermentedSpiderEye_100=100 + I:item.kekztech_crafting_item.10_400=400 + I:item.kekztech_crafting_item.4_100=100 + I:item.kekztech_crafting_item.9_400=400 I:liquid_drillingfluid_64=64 I:liquid_nitrationmixture_480=480 I:molten.concrete_20=20 @@ -21085,6 +21100,8 @@ press { I:gt.metaitem.02.32563_384=384 I:gt.metaitem.02.32569_384=384 I:ic2.itemCoin_100=100 + I:item.kekztech_crafting_item.14_800=800 + I:item.kekztech_crafting_item.15_800=800 } diff --git a/config/IC2.ini b/config/IC2.ini index 6af543ae7f..25985da584 100644 --- a/config/IC2.ini +++ b/config/IC2.ini @@ -1,5 +1,5 @@ ; ic2 general config
-; created Jun 8, 2019 9:40:58 PM
+; created Jun 9, 2019 10:23:53 PM
;---
[worldgen]
diff --git a/config/splash.properties b/config/splash.properties index 6b7594e1ce..9f6df603f4 100644 --- a/config/splash.properties +++ b/config/splash.properties @@ -1,5 +1,5 @@ #Splash screen properties -#Sat Jun 08 21:40:49 CEST 2019 +#Sun Jun 09 22:23:42 CEST 2019 logoTexture=textures/gui/title/mojang.png background=0xFFFFFF font=0x0 diff --git a/crash-reports/crash-2019-06-09_18.36.52-client.txt b/crash-reports/crash-2019-06-09_18.36.52-client.txt new file mode 100644 index 0000000000..d7f5e9b6cf --- /dev/null +++ b/crash-reports/crash-2019-06-09_18.36.52-client.txt @@ -0,0 +1,139 @@ +---- Minecraft Crash Report ---- +// Shall we play a game? + +Time: 6/9/19 6:36 PM +Description: Initializing game + +java.lang.ClassCastException: net.minecraft.item.ItemStack cannot be cast to java.lang.Character + at net.minecraft.item.crafting.CraftingManager.addRecipe(CraftingManager.java:209) + at cpw.mods.fml.common.registry.GameRegistry.addShapedRecipe(GameRegistry.java:250) + at kekztech.KekzCore.postInit(KekzCore.java:64) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) + at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + 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:212) + at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + 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:119) + at cpw.mods.fml.common.Loader.initializeMods(Loader.java:742) + at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) + at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) + at net.minecraft.client.Minecraft.run(Minecraft.java:942) + at net.minecraft.client.main.Main.main(Main.java:164) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) + at net.minecraft.launchwrapper.Launch.main(Launch.java:28) + at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) + at GradleStart.main(Unknown Source) + + +A detailed walkthrough of the error, its code path and all known details is as follows: +--------------------------------------------------------------------------------------- + +-- Head -- +Stacktrace: + at net.minecraft.item.crafting.CraftingManager.addRecipe(CraftingManager.java:209) + at cpw.mods.fml.common.registry.GameRegistry.addShapedRecipe(GameRegistry.java:250) + at kekztech.KekzCore.postInit(KekzCore.java:64) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) + at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + 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:212) + at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + 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:119) + at cpw.mods.fml.common.Loader.initializeMods(Loader.java:742) + at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) + at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) + +-- Initialization -- +Details: +Stacktrace: + at net.minecraft.client.Minecraft.run(Minecraft.java:942) + at net.minecraft.client.main.Main.main(Main.java:164) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) + at net.minecraft.launchwrapper.Launch.main(Launch.java:28) + at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) + at GradleStart.main(Unknown Source) + +-- System Details -- +Details: + Minecraft Version: 1.7.10 + Operating System: Windows 10 (amd64) version 10.0 + Java Version: 1.8.0_211, Oracle Corporation + Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation + Memory: 1162024768 bytes (1108 MB) / 1618477056 bytes (1543 MB) up to 3799515136 bytes (3623 MB) + JVM Flags: 0 total; + 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.99.99 Minecraft Forge 10.13.4.1614 10 mods loaded, 10 mods active + States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored + UCHIJ mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) + UCHIJ FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) + UCHIJ Forge{10.13.4.1614} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) + UCHIJ NotEnoughItems{1.0.5.120} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.5.120-dev.jar) + UCHIJ CodeChickenCore{1.0.7.47} [CodeChicken Core] (minecraft.jar) + UCHIJ IC2{2.2.828-experimental} [IndustrialCraft 2] (industrialcraft-2-2.2.828a-experimental-deobf.jar) + UCHIJ gregtech{MC1710} [GregTech] (gregtech-5.09.32-dev.jar) + UCHIE kekztech{0.1a} [KekzTech] (bin) + UCHIJ examplemod{1.0} [Example Mod] (bin) + UCHIJ devtips{1.1} [DevTooltips] (devtips-1.1.jar) + GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 398.36' Renderer: 'GeForce GTX 970/PCIe/SSE2' + Launched Version: 1.7.10 + LWJGL: 2.9.1 + OpenGL: GeForce GTX 970/PCIe/SSE2 GL version 4.6.0 NVIDIA 398.36, 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)
\ No newline at end of file diff --git a/crash-reports/crash-2019-06-09_18.40.05-client.txt b/crash-reports/crash-2019-06-09_18.40.05-client.txt new file mode 100644 index 0000000000..422255c54d --- /dev/null +++ b/crash-reports/crash-2019-06-09_18.40.05-client.txt @@ -0,0 +1,139 @@ +---- Minecraft Crash Report ---- +// My bad. + +Time: 6/9/19 6:40 PM +Description: Initializing game + +java.lang.ClassCastException: net.minecraft.item.ItemStack cannot be cast to java.lang.Character + at net.minecraft.item.crafting.CraftingManager.addRecipe(CraftingManager.java:209) + at cpw.mods.fml.common.registry.GameRegistry.addShapedRecipe(GameRegistry.java:250) + at kekztech.KekzCore.postInit(KekzCore.java:64) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) + at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + 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:212) + at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + 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:119) + at cpw.mods.fml.common.Loader.initializeMods(Loader.java:742) + at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) + at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) + at net.minecraft.client.Minecraft.run(Minecraft.java:942) + at net.minecraft.client.main.Main.main(Main.java:164) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) + at net.minecraft.launchwrapper.Launch.main(Launch.java:28) + at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) + at GradleStart.main(Unknown Source) + + +A detailed walkthrough of the error, its code path and all known details is as follows: +--------------------------------------------------------------------------------------- + +-- Head -- +Stacktrace: + at net.minecraft.item.crafting.CraftingManager.addRecipe(CraftingManager.java:209) + at cpw.mods.fml.common.registry.GameRegistry.addShapedRecipe(GameRegistry.java:250) + at kekztech.KekzCore.postInit(KekzCore.java:64) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) + at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + 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:212) + at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + 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:119) + at cpw.mods.fml.common.Loader.initializeMods(Loader.java:742) + at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) + at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) + +-- Initialization -- +Details: +Stacktrace: + at net.minecraft.client.Minecraft.run(Minecraft.java:942) + at net.minecraft.client.main.Main.main(Main.java:164) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) + at java.lang.reflect.Method.invoke(Unknown Source) + at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) + at net.minecraft.launchwrapper.Launch.main(Launch.java:28) + at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) + at GradleStart.main(Unknown Source) + +-- System Details -- +Details: + Minecraft Version: 1.7.10 + Operating System: Windows 10 (amd64) version 10.0 + Java Version: 1.8.0_211, Oracle Corporation + Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation + Memory: 924043544 bytes (881 MB) / 1652031488 bytes (1575 MB) up to 3799515136 bytes (3623 MB) + JVM Flags: 0 total; + 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.99.99 Minecraft Forge 10.13.4.1614 10 mods loaded, 10 mods active + States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored + UCHIJ mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) + UCHIJ FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) + UCHIJ Forge{10.13.4.1614} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) + UCHIJ NotEnoughItems{1.0.5.120} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.5.120-dev.jar) + UCHIJ CodeChickenCore{1.0.7.47} [CodeChicken Core] (minecraft.jar) + UCHIJ IC2{2.2.828-experimental} [IndustrialCraft 2] (industrialcraft-2-2.2.828a-experimental-deobf.jar) + UCHIJ gregtech{MC1710} [GregTech] (gregtech-5.09.32-dev.jar) + UCHIE kekztech{0.1a} [KekzTech] (bin) + UCHIJ examplemod{1.0} [Example Mod] (bin) + UCHIJ devtips{1.1} [DevTooltips] (devtips-1.1.jar) + GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 398.36' Renderer: 'GeForce GTX 970/PCIe/SSE2' + Launched Version: 1.7.10 + LWJGL: 2.9.1 + OpenGL: GeForce GTX 970/PCIe/SSE2 GL version 4.6.0 NVIDIA 398.36, 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)
\ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..678d9d8de3 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Jul 02 15:54:47 CDT 2014 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-bin.zip diff --git a/lib/MACHINE_CASING_VENT.png b/lib/MACHINE_CASING_VENT.png Binary files differdeleted file mode 100644 index 6d9fb32d7e..0000000000 --- a/lib/MACHINE_CASING_VENT.png +++ /dev/null diff --git a/logs/2019-06-08-1.log.gz b/logs/2019-06-08-1.log.gz Binary files differindex 0c7f2f3cad..1b3dc7304d 100644 --- a/logs/2019-06-08-1.log.gz +++ b/logs/2019-06-08-1.log.gz diff --git a/logs/2019-06-08-2.log.gz b/logs/2019-06-08-2.log.gz Binary files differindex c768eb63ff..46c003444c 100644 --- a/logs/2019-06-08-2.log.gz +++ b/logs/2019-06-08-2.log.gz diff --git a/logs/2019-06-08-3.log.gz b/logs/2019-06-08-3.log.gz Binary files differindex dac783178f..60ea60d661 100644 --- a/logs/2019-06-08-3.log.gz +++ b/logs/2019-06-08-3.log.gz diff --git a/logs/2019-06-08-4.log.gz b/logs/2019-06-08-4.log.gz Binary files differindex 1b3dc7304d..4af0292995 100644 --- a/logs/2019-06-08-4.log.gz +++ b/logs/2019-06-08-4.log.gz diff --git a/logs/2019-06-08-5.log.gz b/logs/2019-06-08-5.log.gz Binary files differindex 46c003444c..587f29e5b7 100644 --- a/logs/2019-06-08-5.log.gz +++ b/logs/2019-06-08-5.log.gz diff --git a/logs/2019-06-08-6.log.gz b/logs/2019-06-08-6.log.gz Binary files differindex 60ea60d661..b5f0576dc9 100644 --- a/logs/2019-06-08-6.log.gz +++ b/logs/2019-06-08-6.log.gz diff --git a/logs/2019-06-08-7.log.gz b/logs/2019-06-08-7.log.gz Binary files differindex 4af0292995..08d49fa2e9 100644 --- a/logs/2019-06-08-7.log.gz +++ b/logs/2019-06-08-7.log.gz diff --git a/logs/2019-06-09-1.log.gz b/logs/2019-06-09-1.log.gz Binary files differnew file mode 100644 index 0000000000..543151b65c --- /dev/null +++ b/logs/2019-06-09-1.log.gz diff --git a/logs/2019-06-09-2.log.gz b/logs/2019-06-09-2.log.gz Binary files differnew file mode 100644 index 0000000000..e4ac076134 --- /dev/null +++ b/logs/2019-06-09-2.log.gz diff --git a/logs/2019-06-09-3.log.gz b/logs/2019-06-09-3.log.gz Binary files differnew file mode 100644 index 0000000000..90b204a53f --- /dev/null +++ b/logs/2019-06-09-3.log.gz diff --git a/logs/2019-06-09-4.log.gz b/logs/2019-06-09-4.log.gz Binary files differnew file mode 100644 index 0000000000..a32627c915 --- /dev/null +++ b/logs/2019-06-09-4.log.gz diff --git a/logs/2019-06-09-5.log.gz b/logs/2019-06-09-5.log.gz Binary files differnew file mode 100644 index 0000000000..525ac02f16 --- /dev/null +++ b/logs/2019-06-09-5.log.gz diff --git a/logs/2019-06-09-6.log.gz b/logs/2019-06-09-6.log.gz Binary files differnew file mode 100644 index 0000000000..e5f2d4cc1a --- /dev/null +++ b/logs/2019-06-09-6.log.gz diff --git a/logs/2019-06-09-7.log.gz b/logs/2019-06-09-7.log.gz Binary files differnew file mode 100644 index 0000000000..69d1687129 --- /dev/null +++ b/logs/2019-06-09-7.log.gz diff --git a/options.txt b/options.txt index 15bd4c3fa1..8c305b8fca 100644 --- a/options.txt +++ b/options.txt @@ -63,7 +63,7 @@ key_key.jump:57 key_key.sneak:42 key_key.drop:16 key_key.inventory:18 -key_key.chat:20 +key_key.chat:28 key_key.playerlist:15 key_key.pickItem:-98 key_key.command:53 diff --git a/saves/NEI/local/New World/NEI.dat b/saves/NEI/local/New World/NEI.dat Binary files differindex 78398249ba..b3ccd4a6d1 100644 --- a/saves/NEI/local/New World/NEI.dat +++ b/saves/NEI/local/New World/NEI.dat diff --git a/saves/New World/DIM-1/data/villages.dat b/saves/New World/DIM-1/data/villages.dat Binary files differindex 5d76e45ff5..4ed56e2a59 100644 --- a/saves/New World/DIM-1/data/villages.dat +++ b/saves/New World/DIM-1/data/villages.dat diff --git a/saves/New World/DIM1/data/villages.dat b/saves/New World/DIM1/data/villages.dat Binary files differindex 5d76e45ff5..4ed56e2a59 100644 --- a/saves/New World/DIM1/data/villages.dat +++ b/saves/New World/DIM1/data/villages.dat diff --git a/saves/New World/data/villages.dat b/saves/New World/data/villages.dat Binary files differindex 5d76e45ff5..4ed56e2a59 100644 --- a/saves/New World/data/villages.dat +++ b/saves/New World/data/villages.dat diff --git a/saves/New World/level.dat b/saves/New World/level.dat Binary files differindex ba932fedde..feb43f13c9 100644 --- a/saves/New World/level.dat +++ b/saves/New World/level.dat diff --git a/saves/New World/level.dat_old b/saves/New World/level.dat_old Binary files differindex a57d9f0822..10f912a565 100644 --- a/saves/New World/level.dat_old +++ b/saves/New World/level.dat_old diff --git a/saves/New World/playerdata/ddc68fe4-0789-360b-a837-3dcbb936da65.dat b/saves/New World/playerdata/ddc68fe4-0789-360b-a837-3dcbb936da65.dat Binary files differindex 626bfb821a..e25471937d 100644 --- a/saves/New World/playerdata/ddc68fe4-0789-360b-a837-3dcbb936da65.dat +++ b/saves/New World/playerdata/ddc68fe4-0789-360b-a837-3dcbb936da65.dat diff --git a/saves/New World/region/r.0.-1.mca b/saves/New World/region/r.0.-1.mca Binary files differindex 63d250f81e..d22e6a9d68 100644 --- a/saves/New World/region/r.0.-1.mca +++ b/saves/New World/region/r.0.-1.mca diff --git a/saves/New World/region/r.0.0.mca b/saves/New World/region/r.0.0.mca Binary files differindex 1d982b8af4..8b85498855 100644 --- a/saves/New World/region/r.0.0.mca +++ b/saves/New World/region/r.0.0.mca diff --git a/saves/New World/session.lock b/saves/New World/session.lock Binary files differindex 618a7fd07a..8344b49a8d 100644 --- a/saves/New World/session.lock +++ b/saves/New World/session.lock diff --git a/saves/New World/stats/ddc68fe4-0789-360b-a837-3dcbb936da65.json b/saves/New World/stats/ddc68fe4-0789-360b-a837-3dcbb936da65.json index 4e6e96c4e1..4c6b06441c 100644 --- a/saves/New World/stats/ddc68fe4-0789-360b-a837-3dcbb936da65.json +++ b/saves/New World/stats/ddc68fe4-0789-360b-a837-3dcbb936da65.json @@ -1 +1 @@ -{"stat.flyOneCm":21194,"stat.walkOneCm":75824,"stat.jump":106,"stat.playOneMinute":323993,"achievement.openInventory":102,"stat.climbOneCm":1022,"stat.leaveGame":1,"stat.useItem.3":29,"achievement.exploreAllBiomes":{"value":0,"progress":["Swampland"]}}
\ No newline at end of file +{"stat.flyOneCm":36091,"stat.walkOneCm":164961,"stat.jump":230,"stat.playOneMinute":402943,"achievement.openInventory":169,"stat.climbOneCm":1022,"stat.leaveGame":1,"stat.useItem.3":43,"achievement.exploreAllBiomes":{"value":0,"progress":["Swampland"]}}
\ No newline at end of file diff --git a/src/main/java/fuelcell/Block_GDCUnit.java b/src/main/java/blocks/Block_GDCUnit.java index 6107e017a1..d11681b1d6 100644 --- a/src/main/java/fuelcell/Block_GDCUnit.java +++ b/src/main/java/blocks/Block_GDCUnit.java @@ -1,4 +1,4 @@ -package fuelcell; +package blocks; import cpw.mods.fml.common.registry.GameRegistry; import kekztech.KekzCore; diff --git a/src/main/java/fuelcell/Block_YSZUnit.java b/src/main/java/blocks/Block_YSZUnit.java index c93f6f374a..1e4df40c67 100644 --- a/src/main/java/fuelcell/Block_YSZUnit.java +++ b/src/main/java/blocks/Block_YSZUnit.java @@ -1,4 +1,4 @@ -package fuelcell; +package blocks; import cpw.mods.fml.common.registry.GameRegistry; import kekztech.KekzCore; diff --git a/src/main/java/reactor/Container_ModularNuclearReactor.java b/src/main/java/container/Container_ModularNuclearReactor.java index 4ecfe61836..41b686c901 100644 --- a/src/main/java/reactor/Container_ModularNuclearReactor.java +++ b/src/main/java/container/Container_ModularNuclearReactor.java @@ -1,4 +1,4 @@ -package reactor; +package container; import gregtech.api.gui.GT_Container_MultiMachine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -6,6 +6,8 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; +import reactor.ButtonSlot; +import tileentities.GTMTE_ModularNuclearReactor; public class Container_ModularNuclearReactor extends GT_Container_MultiMachine { diff --git a/src/main/java/reactor/GUIContainer_ModularNuclearReactor.java b/src/main/java/container/GUIContainer_ModularNuclearReactor.java index 1f8248e5bb..58a9ff6caf 100644 --- a/src/main/java/reactor/GUIContainer_ModularNuclearReactor.java +++ b/src/main/java/container/GUIContainer_ModularNuclearReactor.java @@ -1,4 +1,4 @@ -package reactor; +package container; import org.lwjgl.opengl.GL11; diff --git a/src/main/java/kekztech/ErrorItem.java b/src/main/java/items/ErrorItem.java index 7047d3f057..5694b4e800 100644 --- a/src/main/java/kekztech/ErrorItem.java +++ b/src/main/java/items/ErrorItem.java @@ -1,8 +1,9 @@ -package kekztech; +package items; import java.util.List; import cpw.mods.fml.common.registry.GameRegistry; +import kekztech.KekzCore; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; diff --git a/src/main/java/kekztech/MetaItem_CraftingComponent.java b/src/main/java/items/MetaItem_CraftingComponent.java index 89a015998f..29b8e8ac1f 100644 --- a/src/main/java/kekztech/MetaItem_CraftingComponent.java +++ b/src/main/java/items/MetaItem_CraftingComponent.java @@ -1,15 +1,15 @@ -package kekztech; +package items; import java.util.List; import cpw.mods.fml.common.registry.GameRegistry; +import kekztech.KekzCore; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import reactor.items.HeatPipe; public class MetaItem_CraftingComponent extends Item { @@ -37,10 +37,10 @@ public class MetaItem_CraftingComponent extends Item { public void registerIcons(IIconRegister reg) { int counter = 0; // Raw heat pipes - icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + HeatPipe.RESOURCE_NAMES[0]); - icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + HeatPipe.RESOURCE_NAMES[1]); - icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + HeatPipe.RESOURCE_NAMES[2]); - icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + HeatPipe.RESOURCE_NAMES[3]); + icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "CopperHeatPipe"); + icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "SilverHeatPipe"); + icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "BoronArsenideHeatPipe"); + icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "DiamondHeatPipe"); // Dust icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "BoronArsenideDust"); icons[counter++] = reg.registerIcon(KekzCore.MODID + ":" + "IsotopicallyPureDiamondDust"); diff --git a/src/main/java/kekztech/MetaItem_ReactorComponent.java b/src/main/java/items/MetaItem_ReactorComponent.java index 16f3f1403f..458de48a00 100644 --- a/src/main/java/kekztech/MetaItem_ReactorComponent.java +++ b/src/main/java/items/MetaItem_ReactorComponent.java @@ -1,8 +1,9 @@ -package kekztech; +package items; import java.util.List; import cpw.mods.fml.common.registry.GameRegistry; +import kekztech.KekzCore; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/kekztech/GTMultiController.java b/src/main/java/kekztech/GTMultiController.java index e27c2c39bd..d824077201 100644 --- a/src/main/java/kekztech/GTMultiController.java +++ b/src/main/java/kekztech/GTMultiController.java @@ -17,6 +17,11 @@ import gregtech.api.util.GT_Utility; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; +/** + * Only purpose of this class is to make me learn about GT multis :) + * @author Kekzdealer + * + */ public abstract class GTMultiController { private final GTRecipe GT_RECIPE = new GTRecipe(); diff --git a/src/main/java/kekztech/Items.java b/src/main/java/kekztech/Items.java index f7ce2e883a..47708971c7 100644 --- a/src/main/java/kekztech/Items.java +++ b/src/main/java/kekztech/Items.java @@ -23,12 +23,17 @@ public enum Items { T1NeutronReflector(46), T2NeutronReflector(47), // Coolant Cells HeliumCoolantCell360k(48), NaKCoolantCell360k(49), + // Heat Pipes CopperHeatPipe(0), SilverHeatPipe(1), BoronArsenideHeatPipe(2), DiamondHeatPipe(3), BoronArsenideDust(4), IsotopicallyPureDiamondDust(5), AmineCarbamiteDust(6), BoronArsenideCrystal(7), IsotopicallyPureDiamondCrystal(8), + // Ceramics + YSZCeramicDust(9), GDCCeramicDust(10), + YttriaDust(11), ZirconiaDust(12), CeriaDust(13), + YSZCeramicPlate(14), GDCCeramicPlate(15), // Error Item - Error(9); + Error(0); private final int metaID; diff --git a/src/main/java/kekztech/KekzCore.java b/src/main/java/kekztech/KekzCore.java index bfcd382577..bb65090625 100644 --- a/src/main/java/kekztech/KekzCore.java +++ b/src/main/java/kekztech/KekzCore.java @@ -1,20 +1,24 @@ package kekztech; +import blocks.Block_GDCUnit; +import blocks.Block_YSZUnit; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import fuelcell.Block_GDCUnit; -import fuelcell.Block_YSZUnit; -import fuelcell.GTMTE_SOFuelCellMK1; -import fuelcell.GTMTE_SOFuelCellMK2; +import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.util.GT_Utility; +import items.ErrorItem; +import items.MetaItem_CraftingComponent; +import items.MetaItem_ReactorComponent; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; -import reactor.GTMTE_ModularNuclearReactor; -import reactor.items.HeatExchanger; -import reactor.items.HeatPipe; +import tileentities.GTMTE_ModularNuclearReactor; +import tileentities.GTMTE_SOFuelCellMK1; +import tileentities.GTMTE_SOFuelCellMK2; @Mod(modid = KekzCore.MODID, name = KekzCore.NAME, version = KekzCore.VERSION, dependencies = "required-after:IC2; " @@ -25,6 +29,10 @@ public class KekzCore { public static final String NAME = "KekzTech"; public static final String MODID = "kekztech"; public static final String VERSION = "0.1a"; + + private GTMTE_SOFuelCellMK1 sofc1; + private GTMTE_SOFuelCellMK2 sofc2; + private GTMTE_ModularNuclearReactor mdr; @Mod.Instance("kekztech") public static KekzCore instance; @@ -42,38 +50,186 @@ public class KekzCore { @Mod.EventHandler public void init(FMLInitializationEvent event ) { - final GTMTE_SOFuelCellMK1 sofc1 = new GTMTE_SOFuelCellMK1(5000, "multimachine.fuelcellmk1", "Solid-Oxide Fuel Cell Mk I"); - final GTMTE_SOFuelCellMK2 sofc2 = new GTMTE_SOFuelCellMK2(5001, "multimachine.fuelcellmk2", "Solid-Oxide Fuel Cell Mk II"); - final GTMTE_ModularNuclearReactor mdr = new GTMTE_ModularNuclearReactor(5002, "multimachine.nuclearreactor", "Nuclear Reactor"); + sofc1 = new GTMTE_SOFuelCellMK1(5000, "multimachine.fuelcellmk1", "Solid-Oxide Fuel Cell Mk I"); + sofc2 = new GTMTE_SOFuelCellMK2(5001, "multimachine.fuelcellmk2", "Solid-Oxide Fuel Cell Mk II"); + mdr = new GTMTE_ModularNuclearReactor(5002, "multimachine.nuclearreactor", "Nuclear Reactor"); } @Mod.EventHandler public void postInit(FMLPostInitializationEvent event) { - for(GTRecipe recipe : HeatPipe.RECIPE) { - GT_Values.RA.addLatheRecipe(recipe.getInputItem(), recipe.getOutputItem(), null, recipe.getDuration(), recipe.getEuPerTick()); - } + System.out.println("Registering KekzTech recipes..."); + + final MetaItem_CraftingComponent craftingItem = MetaItem_CraftingComponent.getInstance(); + final MetaItem_ReactorComponent reactorItem = MetaItem_ReactorComponent.getInstance(); + + // Multiblock Controllers + GameRegistry.addShapedRecipe(sofc1.getStackForm(1), + "CCC", "PHP", "FBL", + 'C', Util.getStackofAmountFromOreDict("circuitAdvanced", 1), + 'P', ItemList.Electric_Pump_HV.get(1L, (Object[]) null), + 'H', ItemList.Hull_HV.get(1L, (Object[]) null), + 'F', Util.getStackofAmountFromOreDict("pipeSmallStainlessSteel", 1), + 'B', Util.getStackofAmountFromOreDict("cableGt02Gold", 1), + 'L', Util.getStackofAmountFromOreDict("pipeLargeStainlessSteel", 1)); + GameRegistry.addShapedRecipe(sofc2.getStackForm(1), + "CCC", "PHP", "FBL", + 'C', Util.getStackofAmountFromOreDict("circuitMaster", 1), + 'P', ItemList.Electric_Pump_IV.get(1L, (Object[]) null), + 'H', ItemList.Hull_IV.get(1L, (Object[]) null), + 'F', Util.getStackofAmountFromOreDict("pipeSmallUltimate", 1), + 'B', Util.getStackofAmountFromOreDict("wireGt04SuperconductorEV", 1), + 'L', Util.getStackofAmountFromOreDict("pipeMediumUltimate", 1)); + + // Ceramic Electrolyte Units + final ItemStack[] yszUnit = { + GT_Utility.getIntegratedCircuit(6), + craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicPlate.getMetaID(), 4), + Util.getStackofAmountFromOreDict("frameGtYttrium", 1), + Util.getStackofAmountFromOreDict("rotorStainlessSteel", 1), + ItemList.Electric_Motor_HV.get(1L, (Object[]) null), + }; + GT_Values.RA.addAssemblerRecipe( + yszUnit, + Materials.Hydrogen.getGas(4000), + new ItemStack(Block_YSZUnit.getInstance(), 1), + 1200, 480); + final ItemStack[] gdcUnit = { + GT_Utility.getIntegratedCircuit(6), + craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicPlate.getMetaID(), 8), + Util.getStackofAmountFromOreDict("frameGtGadolinium", 1), + Util.getStackofAmountFromOreDict("rotorDesh", 1), + ItemList.Electric_Motor_IV.get(1L, (Object[]) null), + }; + GT_Values.RA.addAssemblerRecipe( + gdcUnit, + Materials.Hydrogen.getGas(16000), + new ItemStack(Block_GDCUnit.getInstance(), 1), + 2400, 1920); + + // Ceramic plates + GT_Values.RA.addAlloySmelterRecipe( + craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicDust.getMetaID(), 10), + ItemList.Shape_Mold_Plate.get(1, (Object[]) null), + craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicPlate.getMetaID(), 1), + 400, 480); + GT_Values.RA.addFormingPressRecipe( + craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicDust.getMetaID(), 10), + ItemList.Shape_Mold_Plate.get(1, (Object[]) null), + craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicPlate.getMetaID(), 1), + 800, 480); + + // Dusts + GT_Values.RA.addMixerRecipe(Materials.Boron.getDust(1), Materials.Arsenic.getDust(1), GT_Utility.getIntegratedCircuit(6), null, + null, null, craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideDust.getMetaID(), 2), + 100, 1920); + GT_Values.RA.addChemicalRecipe( + Materials.Ammonia.getCells(2), + Materials.CarbonDioxide.getCells(1), + null, + null, + craftingItem.getStackOfAmountFromDamage(Items.AmineCarbamiteDust.getMetaID(), 1), + Util.getStackofAmountFromOreDict("cellEmpty", 3), + 400, 30); + GT_Values.RA.addChemicalRecipe( + craftingItem.getStackOfAmountFromDamage(Items.AmineCarbamiteDust.getMetaID(), 1), + Materials.Diamond.getDust(16), + Materials.CarbonDioxide.getGas(1000), + null, + craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondDust.getMetaID(), 1), + null, 1200, 480); + GT_Values.RA.addAutoclaveRecipe( + craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondDust.getMetaID(), 4), + Materials.CarbonDioxide.getGas(16000), + craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondCrystal.getMetaID(), 1), 10000, 2400, 7680); + GT_Values.RA.addChemicalRecipe( + Materials.Yttrium.getDust(1), GT_Utility.getIntegratedCircuit(6), Materials.Oxygen.getGas(3000), + null, craftingItem.getStackOfAmountFromDamage(Items.YttriaDust.getMetaID(), 1), null, + 400, 30); + GT_Values.RA.addChemicalRecipe( + Util.getStackofAmountFromOreDict("dustZirconium", 1), GT_Utility.getIntegratedCircuit(6), Materials.Oxygen.getGas(2000), + null, craftingItem.getStackOfAmountFromDamage(Items.ZirconiaDust.getMetaID(), 1), null, + 400, 30); + GT_Values.RA.addChemicalRecipe( + Materials.Cerium.getDust(2), GT_Utility.getIntegratedCircuit(6), Materials.Oxygen.getGas(3000), + null, craftingItem.getStackOfAmountFromDamage(Items.CeriaDust.getMetaID(), 2), null, + 400, 30); + GT_Values.RA.addMixerRecipe( + craftingItem.getStackOfAmountFromDamage(Items.YttriaDust.getMetaID(), 1), + craftingItem.getStackOfAmountFromDamage(Items.ZirconiaDust.getMetaID(), 5), + GT_Utility.getIntegratedCircuit(6), null, null, null, + craftingItem.getStackOfAmountFromDamage(Items.YSZCeramicDust.getMetaID(), 6), + 400, 96); + GT_Values.RA.addMixerRecipe( + Util.getStackofAmountFromOreDict("dustGadolinium", 1), + craftingItem.getStackOfAmountFromDamage(Items.CeriaDust.getMetaID(), 9), + GT_Utility.getIntegratedCircuit(6), null, null, null, + craftingItem.getStackOfAmountFromDamage(Items.GDCCeramicDust.getMetaID(), 10), + 400, 1920); - for(GTRecipe recipe : HeatExchanger.RECIPE) { - GT_Values.RA.addAssemblerRecipe( - recipe.getInputItems(), recipe.getInputFluid(), recipe.getOutputItem(), recipe.getDuration(), recipe.getEuPerTick()); - } + // Heat Pipes + GT_Values.RA.addLatheRecipe( + Util.getStackofAmountFromOreDict("stickCopper", 1), + craftingItem.getStackFromDamage(Items.CopperHeatPipe.getMetaID()), + null, 120, 120); + GT_Values.RA.addLatheRecipe( + Util.getStackofAmountFromOreDict("stickSilver", 1), + craftingItem.getStackFromDamage(Items.SilverHeatPipe.getMetaID()), + null, 120, 480); + GT_Values.RA.addLatheRecipe( + craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideCrystal.getMetaID(), 4), + craftingItem.getStackFromDamage(Items.BoronArsenideHeatPipe.getMetaID()), + null, 1200, 1920); + GT_Values.RA.addLatheRecipe( + craftingItem.getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondCrystal.getMetaID(), 4), + craftingItem.getStackFromDamage(Items.DiamondHeatPipe.getMetaID()), + null, 1200, 7680); // Heat Vents final ItemStack[] t1HeatVent = { - MetaItem_CraftingComponent.getInstance().getStackOfAmountFromDamage(Items.CopperHeatPipe.getMetaID(), 2), + craftingItem.getStackOfAmountFromDamage(Items.CopperHeatPipe.getMetaID(), 2), ItemList.Electric_Motor_MV.get(1L, (Object[]) null), Util.getStackofAmountFromOreDict("rotorSteel", 1), Util.getStackofAmountFromOreDict("plateDoubleSteel", 2), Util.getStackofAmountFromOreDict("screwSteel", 8), - Util.getStackofAmountFromOreDict("circuitGood", 1) + Util.getStackofAmountFromOreDict("circuitGood", 1), + GT_Utility.getIntegratedCircuit(6) }; - GT_Values.RA.addAssemblerRecipe(t1HeatVent, + GT_Values.RA.addAssemblerRecipe( + t1HeatVent, FluidRegistry.getFluidStack("molten.copper", 144), - MetaItem_ReactorComponent.getInstance().getStackFromDamage(Items.T1HeatVent.getMetaID()), - 200, 120 - ); + reactorItem.getStackFromDamage(Items.T1HeatVent.getMetaID()), + 200, 120); + final ItemStack[] t2HeatVent = { + craftingItem.getStackOfAmountFromDamage(Items.SilverHeatPipe.getMetaID(), 2), + ItemList.Electric_Motor_HV.get(1L, (Object[]) null), + Util.getStackofAmountFromOreDict("rotorAluminium", 1), + Util.getStackofAmountFromOreDict("plateDoubleAluminium", 2), + Util.getStackofAmountFromOreDict("screwAluminium", 8), + Util.getStackofAmountFromOreDict("circuitAdvanced", 1), + GT_Utility.getIntegratedCircuit(6) + }; + GT_Values.RA.addAssemblerRecipe( + t2HeatVent, + FluidRegistry.getFluidStack("molten.silver", 144), + reactorItem.getStackFromDamage(Items.T2HeatVent.getMetaID()), + 400, 480); + final ItemStack[] t3HeatVent = { + craftingItem.getStackOfAmountFromDamage(Items.BoronArsenideHeatPipe.getMetaID(), 2), + ItemList.Electric_Motor_IV.get(1L, (Object[]) null), + Util.getStackofAmountFromOreDict("rotorTungstenSteel", 1), + Util.getStackofAmountFromOreDict("plateDoubleTungstenSteel", 2), + Util.getStackofAmountFromOreDict("screwTungsten", 8), + Util.getStackofAmountFromOreDict("circuitData", 1), + GT_Utility.getIntegratedCircuit(6) + }; + GT_Values.RA.addAssemblerRecipe( + t3HeatVent, + FluidRegistry.getFluidStack("molten.gallium", 576), + reactorItem.getStackFromDamage(Items.T3HeatVent.getMetaID()), + 800, 7680); + System.out.println("...done"); } diff --git a/src/main/java/kekztech/Util.java b/src/main/java/kekztech/Util.java index c1243cadd8..ccbcc799e6 100644 --- a/src/main/java/kekztech/Util.java +++ b/src/main/java/kekztech/Util.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import items.ErrorItem; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; diff --git a/src/main/java/reactor/items/CoolantCell.java b/src/main/java/reactor/items/CoolantCell.java index 64b979acc4..04122fef33 100644 --- a/src/main/java/reactor/items/CoolantCell.java +++ b/src/main/java/reactor/items/CoolantCell.java @@ -1,8 +1,8 @@ package reactor.items; +import items.MetaItem_ReactorComponent; import kekztech.GTRecipe; import kekztech.Items; -import kekztech.MetaItem_ReactorComponent; public class CoolantCell { diff --git a/src/main/java/reactor/items/FuelRod.java b/src/main/java/reactor/items/FuelRod.java index adef6f3409..d0f9cb5e17 100644 --- a/src/main/java/reactor/items/FuelRod.java +++ b/src/main/java/reactor/items/FuelRod.java @@ -1,8 +1,8 @@ package reactor.items; +import items.MetaItem_ReactorComponent; import kekztech.GTRecipe; import kekztech.Items; -import kekztech.MetaItem_ReactorComponent; public class FuelRod { diff --git a/src/main/java/reactor/items/HeatExchanger.java b/src/main/java/reactor/items/HeatExchanger.java index b34baf25cf..33825b7ac6 100644 --- a/src/main/java/reactor/items/HeatExchanger.java +++ b/src/main/java/reactor/items/HeatExchanger.java @@ -1,9 +1,9 @@ package reactor.items; +import items.MetaItem_CraftingComponent; +import items.MetaItem_ReactorComponent; import kekztech.GTRecipe; import kekztech.Items; -import kekztech.MetaItem_CraftingComponent; -import kekztech.MetaItem_ReactorComponent; import kekztech.Util; import net.minecraftforge.fluids.FluidRegistry; diff --git a/src/main/java/reactor/items/HeatPipe.java b/src/main/java/reactor/items/HeatPipe.java deleted file mode 100644 index 5f907b02fc..0000000000 --- a/src/main/java/reactor/items/HeatPipe.java +++ /dev/null @@ -1,29 +0,0 @@ -package reactor.items; - -import kekztech.GTRecipe; -import kekztech.Items; -import kekztech.MetaItem_CraftingComponent; -import kekztech.Util; - -public class HeatPipe { - - public static String[] RESOURCE_NAMES = { - "CopperHeatPipe", "SilverHeatPipe", "BoronArsenideHeatPipe", "DiamondHeatPipe" - }; - - public static final GTRecipe[] RECIPE = { - new GTRecipe().setEUPerTick(120).setDuration(120) - .addInputItem(Util.getStackofAmountFromOreDict("stickCopper", 1)) - .addOutputItem(MetaItem_CraftingComponent.getInstance().getStackFromDamage(Items.CopperHeatPipe.getMetaID())), - new GTRecipe().setEUPerTick(480).setDuration(120) - .addInputItem(Util.getStackofAmountFromOreDict("stickSilver", 1)) - .addOutputItem(MetaItem_CraftingComponent.getInstance().getStackFromDamage(Items.SilverHeatPipe.getMetaID())), - new GTRecipe().setEUPerTick(1920).setDuration(1200) - .addInputItem(MetaItem_CraftingComponent.getInstance().getStackOfAmountFromDamage(Items.BoronArsenideCrystal.getMetaID(), 4)) - .addOutputItem(MetaItem_CraftingComponent.getInstance().getStackFromDamage(Items.BoronArsenideHeatPipe.getMetaID())), - new GTRecipe().setEUPerTick(7680).setDuration(1200) - .addInputItem(MetaItem_CraftingComponent.getInstance().getStackOfAmountFromDamage(Items.IsotopicallyPureDiamondCrystal.getMetaID(), 4)) - .addOutputItem(MetaItem_CraftingComponent.getInstance().getStackFromDamage(Items.DiamondHeatPipe.getMetaID())) - }; - -} diff --git a/src/main/java/reactor/items/HeatVent.java b/src/main/java/reactor/items/HeatVent.java index e6ad50fb95..670efaeb86 100644 --- a/src/main/java/reactor/items/HeatVent.java +++ b/src/main/java/reactor/items/HeatVent.java @@ -1,9 +1,9 @@ package reactor.items; +import items.MetaItem_CraftingComponent; +import items.MetaItem_ReactorComponent; import kekztech.GTRecipe; import kekztech.Items; -import kekztech.MetaItem_CraftingComponent; -import kekztech.MetaItem_ReactorComponent; import kekztech.Util; import net.minecraftforge.fluids.FluidRegistry; diff --git a/src/main/java/reactor/items/NeutronReflector.java b/src/main/java/reactor/items/NeutronReflector.java index 0066a93917..5766cb41e9 100644 --- a/src/main/java/reactor/items/NeutronReflector.java +++ b/src/main/java/reactor/items/NeutronReflector.java @@ -1,8 +1,8 @@ package reactor.items; +import items.MetaItem_ReactorComponent; import kekztech.GTRecipe; import kekztech.Items; -import kekztech.MetaItem_ReactorComponent; public class NeutronReflector { diff --git a/src/main/java/reactor/GTMTE_ModularNuclearReactor.java b/src/main/java/tileentities/GTMTE_ModularNuclearReactor.java index f7572d589b..c4a54ec472 100644 --- a/src/main/java/reactor/GTMTE_ModularNuclearReactor.java +++ b/src/main/java/tileentities/GTMTE_ModularNuclearReactor.java @@ -1,5 +1,6 @@ -package reactor; +package tileentities; +import container.GUIContainer_ModularNuclearReactor; import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; @@ -38,15 +39,15 @@ public class GTMTE_ModularNuclearReactor extends GT_MetaTileEntity_MultiBlockBas @Override public String[] getDescription() { return new String[] { - "does things", + "I'm not quite finished yet", "------------------------------------------", "Dimensions: 5x5x5 (WxHxL)", "Structure:", + " Controller: Front center", " 80x Radiation Proof Machine Casing (at least)", - " Controller front center", - " Dynamo Hatch (ONLY in EU-mode, at least one)", - " Input Bus, Output Bus (optional)", - " Input Hatch, Output Hatch (ONLY in Coolant-Mode, at least one each)" + " Dynamo Hatch: ONLY in EU-mode, at least one", + " Input Bus, Output Bus: Optional but required for automation", + " Input Hatch, Output Hatch: ONLY in Coolant-Mode, at least one each" }; } @@ -61,6 +62,7 @@ public class GTMTE_ModularNuclearReactor extends GT_MetaTileEntity_MultiBlockBas : new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[CASING_TEXTURE_ID]}; } + // TODO: Opening UI crashes server. Controller isn't craftable right now. public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GUIContainer_ModularNuclearReactor(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), "MultiblockDisplay.png"); diff --git a/src/main/java/fuelcell/GTMTE_SOFuelCellMK1.java b/src/main/java/tileentities/GTMTE_SOFuelCellMK1.java index c99f4e7dbc..f5fa228392 100644 --- a/src/main/java/fuelcell/GTMTE_SOFuelCellMK1.java +++ b/src/main/java/tileentities/GTMTE_SOFuelCellMK1.java @@ -1,6 +1,12 @@ -package fuelcell; +package tileentities; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +import blocks.Block_YSZUnit; import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; import gregtech.api.gui.GT_GUIContainer_MultiMachine; import gregtech.api.interfaces.ITexture; @@ -8,17 +14,25 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import net.minecraft.block.Block; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; -import reactor.GUIContainer_ModularNuclearReactor; +import net.minecraftforge.fluids.FluidStack; public class GTMTE_SOFuelCellMK1 extends GT_MetaTileEntity_MultiBlockBase { - final Block CASING = GregTech_API.sBlockCasings4; - final int CASING_META = 1; - final int CASING_TEXTURE_ID = 49; + private final Block CASING = GregTech_API.sBlockCasings4; + private final int CASING_META = 1; + private final int CASING_TEXTURE_ID = 49; + + private final int OXYGEN_PER_TICK = 20; + private final int EU_PER_TICK = 1024; + private final int STEAM_PER_TICK = 900; public GTMTE_SOFuelCellMK1(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -39,21 +53,22 @@ public class GTMTE_SOFuelCellMK1 extends GT_MetaTileEntity_MultiBlockBase { public String[] getDescription() { return new String[] { "Oxidizes gas fuels to generate electricity without polluting the environment", - "29,480EU worth of fuel are consumed each second", - "Outputs 1024EU/t and 18,000L/s Steam", - "Additionally requires 360L/s Oxygen gas", + "Consumes 29,480EU worth of fuel with up to 97% efficiency each second", + "Steam production requires the SOFC to heat up completely first", + "Outputs " + EU_PER_TICK + "EU/t and " + STEAM_PER_TICK + "L/t Steam", + "Additionally requires " + OXYGEN_PER_TICK + "L/t Oxygen gas", "------------------------------------------", "Dimensions: 3x3x5 (WxHxL)", "Structure:", - " 3x YSZ Ceramic Electrolyte Unit (center 1x1x3)", + " Controller: Front center", + " Dynamo Hatch: Back center", + " 3x YSZ Ceramic Electrolyte Unit: Center 1x1x3", " 12x Clean Stainless Steel Machine Casing (at least)", - " Controller front center", - " Dynamo Hatch back center", - " Maintenance Hatch, Input Hatches, Output Hatches" + " 6x Reinforced Glass: Touching the Electrolyte Units on the horizontal sides", + " Maintenance Hatch, Input Hatches, Output Hatches: Instead of any casing" }; } - //TODO @Override public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing, final byte aColorIndex, final boolean aActive, final boolean aRedstone) { @@ -65,10 +80,9 @@ public class GTMTE_SOFuelCellMK1 extends GT_MetaTileEntity_MultiBlockBase { : new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[CASING_TEXTURE_ID]}; } - //TODO public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), - "LargeTurbine.png"); + "MultiblockDisplay.png"); } @Override @@ -78,10 +92,52 @@ public class GTMTE_SOFuelCellMK1 extends GT_MetaTileEntity_MultiBlockBase { @Override public boolean checkRecipe(ItemStack stack) { + final ArrayList<FluidStack> storedFluids = super.getStoredFluids(); + Collection<GT_Recipe> recipeList = GT_Recipe_Map.sTurbineFuels.mRecipeList; + + if((storedFluids.size() > 0 && recipeList != null)) { + + final Iterator<FluidStack> fluidsIterator = storedFluids.iterator(); + while(fluidsIterator.hasNext()) { + + final FluidStack hatchFluid = fluidsIterator.next(); + final Iterator<GT_Recipe> recipeIterator = recipeList.iterator(); + while(recipeIterator.hasNext()) { + + final GT_Recipe aFuel = recipeIterator.next(); + FluidStack liquid; + if((liquid = GT_Utility.getFluidForFilledItem(aFuel.getRepresentativeInput(0), true)) != null + && hatchFluid.isFluidEqual(liquid)) { + + liquid.amount = EU_PER_TICK / aFuel.mSpecialValue; + + if(super.depleteInput(liquid)) { + + if(!super.depleteInput(Materials.Oxygen.getGas(OXYGEN_PER_TICK))) { + super.mEUt = 0; + super.mEfficiency = 0; + return false; + } + + super.mEUt = EU_PER_TICK; + super.mProgresstime = 1; + super.mMaxProgresstime = 1; + super.mEfficiencyIncrease = 5; + if(super.mEfficiency == getMaxEfficiency(null)) { + super.addOutput(GT_ModHandler.getSteam(STEAM_PER_TICK)); + } + return true; + } + } + } + } + } + + super.mEUt = 0; + super.mEfficiency = 0; return false; } - //TODO @Override public boolean checkMachine(IGregTechTileEntity thisController, ItemStack guiSlotItem) { @@ -119,7 +175,6 @@ public class GTMTE_SOFuelCellMK1 extends GT_MetaTileEntity_MultiBlockBase { } } } - System.out.println("Front slice status: " +checklist +" / casings left of 12: " +minCasingAmount); // Middle three slices for(int X = -1; X <= 1; X++) { @@ -129,17 +184,15 @@ public class GTMTE_SOFuelCellMK1 extends GT_MetaTileEntity_MultiBlockBase { final int THIS_Z = ZDIR_BACKFACE + Z; if(X == 0 && Y == 0) { if(!thisController.getBlockOffset(THIS_X, 0, THIS_Z).getUnlocalizedName() - .equals("kekztech_yszceramicelectrolyteunit_block")) { + .equals(Block_YSZUnit.getInstance().getUnlocalizedName())) { checklist = false; - System.out.println("Expected YSZ Ceramic"); } continue; } if(Y == 0 && (X == -1 || X == 1)) { - if(!thisController.getBlockOffset(XDIR_BACKFACE, 0, ZDIR_BACKFACE * Z).getUnlocalizedName() + if(!thisController.getBlockOffset(THIS_X, 0, THIS_Z).getUnlocalizedName() .equals("blockAlloyGlass")) { checklist = false; - System.out.println("Expected Reinforced Glass"); } continue; } @@ -164,7 +217,6 @@ public class GTMTE_SOFuelCellMK1 extends GT_MetaTileEntity_MultiBlockBase { } } } - System.out.println("Middle slices status: " +checklist); // Back slice for(int X = -1; X <= 1; X++) { @@ -192,14 +244,13 @@ public class GTMTE_SOFuelCellMK1 extends GT_MetaTileEntity_MultiBlockBase { } } } - System.out.println("Back slice status: " +checklist); if(minCasingAmount > 0) { checklist = false; } - if(this.mDynamoHatches.size() < 1) { - System.out.println("At least one dynamo hatch is required!"); + if(this.mDynamoHatches.size() != 1) { + System.out.println("Exactly one dynamo hatch is required!"); checklist = false; } if(this.mInputHatches.size() < 2) { diff --git a/src/main/java/fuelcell/GTMTE_SOFuelCellMK2.java b/src/main/java/tileentities/GTMTE_SOFuelCellMK2.java index 030e926867..b3cee6da6a 100644 --- a/src/main/java/fuelcell/GTMTE_SOFuelCellMK2.java +++ b/src/main/java/tileentities/GTMTE_SOFuelCellMK2.java @@ -1,6 +1,12 @@ -package fuelcell; +package tileentities; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +import blocks.Block_GDCUnit; import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; import gregtech.api.gui.GT_GUIContainer_MultiMachine; import gregtech.api.interfaces.ITexture; @@ -8,11 +14,15 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import net.minecraft.block.Block; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; -import reactor.GUIContainer_ModularNuclearReactor; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; public class GTMTE_SOFuelCellMK2 extends GT_MetaTileEntity_MultiBlockBase { @@ -20,6 +30,10 @@ public class GTMTE_SOFuelCellMK2 extends GT_MetaTileEntity_MultiBlockBase { final int CASING_META = 0; final int CASING_TEXTURE_ID = 48; + private final int OXYGEN_PER_TICK = 100; + private final int EU_PER_TICK = 24576; // 100% Efficiency, 3A IV + private final int STEAM_PER_TICK = 4800; // SH Steam (10,800EU/t @ 150% Efficiency) + public GTMTE_SOFuelCellMK2(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -39,9 +53,10 @@ public class GTMTE_SOFuelCellMK2 extends GT_MetaTileEntity_MultiBlockBase { public String[] getDescription() { return new String[] { "Oxidizes gas fuels to generate electricity without polluting the environment", - "375,680EU worth of fuel are consumed each second", - "Outputs 16,384EU/t and 96,000L/s Steam", - "Additionally requires 1920L/s Oxygen gas", + "Consumes 442,200EU worth of fuel with up to 160% efficiency each second", + "Steam production requires the SOFC to heat up completely first", + "Outputs " + EU_PER_TICK + "EU/t and " + STEAM_PER_TICK + "L/t Superheated Steam", + "Additionally requires " + OXYGEN_PER_TICK + "L/t Oxygen gas", "------------------------------------------", "Dimensions: 3x3x5 (WxHxL)", "Structure:", @@ -53,7 +68,6 @@ public class GTMTE_SOFuelCellMK2 extends GT_MetaTileEntity_MultiBlockBase { }; } - //TODO @Override public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final byte aSide, final byte aFacing, final byte aColorIndex, final boolean aActive, final boolean aRedstone) { @@ -65,10 +79,9 @@ public class GTMTE_SOFuelCellMK2 extends GT_MetaTileEntity_MultiBlockBase { : new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[CASING_TEXTURE_ID]}; } - //TODO public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), - "LargeTurbine.png"); + "MultiblockDisplay.png"); } @Override @@ -78,13 +91,55 @@ public class GTMTE_SOFuelCellMK2 extends GT_MetaTileEntity_MultiBlockBase { @Override public boolean checkRecipe(ItemStack stack) { + final ArrayList<FluidStack> storedFluids = super.getStoredFluids(); + Collection<GT_Recipe> recipeList = GT_Recipe_Map.sTurbineFuels.mRecipeList; + + if((storedFluids.size() > 0 && recipeList != null)) { + + final Iterator<FluidStack> fluidsIterator = storedFluids.iterator(); + while(fluidsIterator.hasNext()) { + + final FluidStack hatchFluid = fluidsIterator.next(); + final Iterator<GT_Recipe> recipeIterator = recipeList.iterator(); + while(recipeIterator.hasNext()) { + + final GT_Recipe aFuel = recipeIterator.next(); + FluidStack liquid; + if((liquid = GT_Utility.getFluidForFilledItem(aFuel.getRepresentativeInput(0), true)) != null + && hatchFluid.isFluidEqual(liquid)) { + + liquid.amount = EU_PER_TICK / aFuel.mSpecialValue; + + if(super.depleteInput(liquid)) { + + if(!super.depleteInput(Materials.Oxygen.getGas(OXYGEN_PER_TICK))) { + super.mEUt = 0; + super.mEfficiency = 0; + return false; + } + + super.mEUt = EU_PER_TICK; + super.mProgresstime = 1; + super.mMaxProgresstime = 1; + super.mEfficiencyIncrease = 20; + if(super.mEfficiency == getMaxEfficiency(null)) { + super.addOutput(FluidRegistry.getFluidStack("ic2superheatedsteam", STEAM_PER_TICK)); + } + return true; + } + } + } + } + } + + super.mEUt = 0; + super.mEfficiency = 0; return false; } - //TODO @Override public boolean checkMachine(IGregTechTileEntity thisController, ItemStack guiSlotItem) { - + final int XDIR_BACKFACE = ForgeDirection.getOrientation(thisController.getBackFacing()).offsetX; final int ZDIR_BACKFACE = ForgeDirection.getOrientation(thisController.getBackFacing()).offsetZ; @@ -99,7 +154,7 @@ public class GTMTE_SOFuelCellMK2 extends GT_MetaTileEntity_MultiBlockBase { } // Get next TE final int THIS_X = XDIR_BACKFACE + X; - final int THIS_Z = ZDIR_BACKFACE + 0; + final int THIS_Z = ZDIR_BACKFACE + -1; IGregTechTileEntity currentTE = thisController.getIGregTechTileEntityOffset(THIS_X, Y, THIS_Z);// x, y ,z @@ -123,22 +178,24 @@ public class GTMTE_SOFuelCellMK2 extends GT_MetaTileEntity_MultiBlockBase { // Middle three slices for(int X = -1; X <= 1; X++) { for(int Y = -1; Y <= 1; Y++) { - for(int Z = 1; Z <= 3; Z++) { + for(int Z = 0; Z < 3; Z++) { + final int THIS_X = XDIR_BACKFACE + X; + final int THIS_Z = ZDIR_BACKFACE + Z; if(X == 0 && Y == 0) { - if(!thisController.getBlockOffset(XDIR_BACKFACE, 0, ZDIR_BACKFACE * Z).getUnlocalizedName() - .equals("kekztech_yszceramicelectrolyteunit_block")) { + if(!thisController.getBlockOffset(THIS_X, 0, THIS_Z).getUnlocalizedName() + .equals(Block_GDCUnit.getInstance().getUnlocalizedName())) { checklist = false; } + continue; } if(Y == 0 && (X == -1 || X == 1)) { - if(!thisController.getBlockOffset(XDIR_BACKFACE, 0, ZDIR_BACKFACE * Z).getUnlocalizedName() + if(!thisController.getBlockOffset(THIS_X, 0, THIS_Z).getUnlocalizedName() .equals("blockAlloyGlass")) { checklist = false; } + continue; } // Get next TE - final int THIS_X = XDIR_BACKFACE + X; - final int THIS_Z = ZDIR_BACKFACE + Z; IGregTechTileEntity currentTE = thisController.getIGregTechTileEntityOffset(THIS_X, Y, THIS_Z);// x, y ,z @@ -165,7 +222,7 @@ public class GTMTE_SOFuelCellMK2 extends GT_MetaTileEntity_MultiBlockBase { for(int Y = -1; Y <= 1; Y++) { // Get next TE final int THIS_X = XDIR_BACKFACE + X; - final int THIS_Z = ZDIR_BACKFACE + 0; + final int THIS_Z = ZDIR_BACKFACE + 3; IGregTechTileEntity currentTE = thisController.getIGregTechTileEntityOffset(THIS_X, Y, THIS_Z);// x, y ,z |