Simple Parts Pack for Flan's Mod

Simple Parts Pack for Flan's Mod

903k Downloads

FlansMod Apocalypse: NoSuchMethodError when nuking world on server

SebiderSushi opened this issue ยท 15 comments

commented

Whenever i try to enter the apocalypse by placing the Titan, my server crashes.
What could be the error in my server installation? Is this a FlansMod bug?
What else did i overlook?

To Reproduce
Steps to reproduce the crash:

  1. Set up Debian 10 server; install openjdk-8-jdk
  2. cd /opt/mincraft; Run Forge 1.12.2 - 14.23.5.2768 installer; Unzip FlansMod 5.5.2
  3. Launch forge-universal.jar server
  4. Join the server using a local client running the same forge and mod version
    (the next steps work as expected when executed in a local world using the same local installation)
  5. In creative mode, craft the Titan with AI Chip and Place it
  6. Server crashes because of a NoSuchMethodError about method "func_184227_b" from the EntityNukeDrop class

Screenshots

Versions (please complete the following information)

  • Forge: 1.12.2 - 14.23.5.2768
  • Flan's Mod: 5.5.2

Crash Log

https://gist.github.com/SebiderSushi/2d29cab1e4e9b834542c697a244b9e73

Additional context

commented

Apparently the same error as in the incomplete issue #1082

commented

@SebiderSushi Please try the latest version from https://github.com/FlansMods/FlansMod/releases and let me know if you still have the issue.

commented

Oh, thanks a lot! I totally hadn't thought of the github release page!

I have now tried beta 5 and beta 6, but the titan with ai chip does not move when being placed - in multi player as well as in single player mode. In FlansMod 5.5.2 there was no additional step required to start the apocalypse. What am i doing wrong?

commented

First off, thank you very much for your effort and for taking your time!
The issue is not very pressing though, so don't feel compelled to spend more time than you want to, especially over the holidays :)

Ok, now here's what i just did on my local Desktop running Ubuntu 16.04:

  • Clear the ~/.minecraft folder
  • Start the minecraft launcher, sign in and close it again
  • Run the Forge 1.12.2 - 14.23.5.2768 installer and install for client
  • Place the FlansMod beta 6 jar file into my ~/.minecraft/mods folder
  • Place the content pack jar files from beta 6 into my ~/.minecraft/Flan folder
  • Restart the minecraft launcher and launch Forge 1.12.2 - 14.23.5.2768
  • Fix an upcoming error message about unexpected content in file "https://libraries.minecraft.net/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar" by manually downloading it [1]
  • After a successful launch, create a new single player world in creative mode
  • Search the inventory and pick a regular crafting table, 6 iron bars and 3 bowls (i'm manually crafting the vehicle crafting table as i could not find it by searching), the AI Chip and the remaining listed ingredients for the orange Proto Titan
  • Craft, Inventory popup reads: "Proto Titan" and "Artificial Intelligence Chip"
  • Place the titan anywhere on ground
  • Titan does not start to move and no nukes explode, whereas when repeating the same steps on my setup but with FlansMod 5.5.2 the titan starts moving at this point, triggering the nukes and loading the apocalypse.

[1] Looks like a bug in Minecraft Launcher.
This does not seem in any way related to this bug, but i thought i'd mention it for completeness

commented

Oh, thanks a lot! I totally hadn't thought of the github release page!

I have now tried beta 5 and beta 6, but the titan with ai chip does not move when being placed - in multi player as well as in single player mode. In FlansMod 5.5.2 there was no additional step required to start the apocalypse. What am i doing wrong?

I don't have a computer available at the moment but I'll look into this in a a few days. It doesn't sound like you're doing anything wrong.

Have you tried manually crafting the AI chip and titan from its vanilla items since updating your mod version?

commented

Very weird issue. I can confirm that when using the provided v5.6-beta.6 of Github the Apocalypse does not start. But i can also confirm this bug is not reproduceable (from a bug fixing standpoint) as this is not a code problem (at least in my testing). When building the v5.6-beta.6 tag myself and using the result, everything works as expected.
I also ran a diff which confirms there are changes in the bytecode of the FlansMod.class between my build version and the downloadable version at Github

@ChrisLane i would like to know how you are creating the FlansMod.jar as the default grandle build scripts includes all content pack related model class files into the FlansMod.jar

commented

Thank you very much! Issuing ./gradlew runClient brought up a minecraft instance where placing the Proto Titan triggered the apocalypse as it should, while the minecraft instance brought up by the Minecraft launcher still does not behave as expected.
 As i just noticed by comparing the data in the bottom left corner of the main menu of the two instances, the one brought up by the Minecraft Launcher fails to load the Apocalypse mod pack (i.e. it does not appear as a seperate entry to the mod list as in the working instance), even though
(cd ~/.minecraft/; md5sum mods/* Flan/*) | (cd ~/FlansMod/build/output/; md5sum -c)
and vice versa do not report any mismatches or missing files.

commented

Okay, i have now noticed that the build process generates two distinct Flan's Mod-1.12.2-5.6.0-beta.6.jar files - one in build/libs/ and one in build/output/mods/, while all remaining .jar files under build/libs/ and build/output/Flan are equal. Using the jar file from libs on both client and server i can get an all working apocalypse in both single and multi player mode. ๐ŸŽ‰

Now i only want to know why the build even ends up with two distinct files and what the difference between those files would be.

commented

And skimming for issues about the Apocalypse mod not laoding instead of the NoSuchMethodError that i initially encountered, i stumbled upon #995, which also seems to be related.

commented
commented

I just cloned the project and built with ./gradlew build (but from master)
Using the resulting .jar files on my setup, the apocalypse does not start when placing the Titan.

commented

Please try using all content packs of the latest version. Or alternatively try lauching a minecraft instance with ./grandlew runClient
And please also specify the content packs which were/are installed while you are trying to start the apocalypse

commented

If anyone is still having this problem, please comment with a crash log using the latest version of the mod on the GitHub releases page.

commented

When building from the v5.6-beta.7 tag & launching via ./gradlew runClient, the Apocalypse mod gets loaded and placing the titan immediately triggers the apocalypse as expected.

When building from the v5.6-beta.8 tag & launching via ./gradlew runClient, the Apocalypse mod gets loaded but placing the titan does nothing as described earlier.

commented

The problem still exists. When using the jar files provided on the release page as v5.6-beta.10, the Apocalypse content pack is not recognized as a separate mod and when placing the titan with AI Chip, it won't start moving and nothing else happens.

When i build locally from the v5.6-beta.10 tag via ./gradlew build, the files build/libs/Flan's Mod-1.12.2-5.6.0-beta.10.jar and build/output/mods/Flan's Mod-1.12.2-5.6.0-beta.10.jar still differ.

  • Launching with build/libs/Flan's Mod-1.12.2-5.6.0-beta.10.jar:
    • Apocalypse mod loaded
    • When placing and then accessing the Vehicle crafting table there is a crash
  • Launching with build/libs/Flan's Mod-1.12.2-5.6.0-beta.10-all.jar
    • Apocalypse mod loaded
    • When placing the titan, nothing happens
  • Launching with build/output/mods/Flan's Mod-1.12.2-5.6.0-beta.10.jar
    • Apocalypse mod not loaded
    • When placing the titan, nothing happens
  • Launching via ./gradlew runClient
    • Apocalypse mod loaded
    • When placing the titan, nothing happens

I made all of these tests with the content packs i locally build and i created a new creative world for each test.
I ran the tests with Minecraft 12.2.2 & Minecraft Forge 1.12.2-14.23.5.2854