WhiskyTangoFawks / Expedition

9 stars 11 forks source link

Game won't load #73

Closed rayzr522 closed 7 years ago

rayzr522 commented 7 years ago

I was just about to check out your mod, but I can't seem to get it to load. With your mod installed (no other mods, so it's not a conflict), it crashes during the loading process at around 5/7.

-- Head --
Thread: Client thread
Stacktrace:
    at com.google.common.collect.ObjectArrays.checkElementNotNull(ObjectArrays.java:240)
    at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:231)
    at com.google.common.collect.ObjectArrays.checkElementsNotNull(ObjectArrays.java:226)
    at com.google.common.collect.ImmutableList.construct(ImmutableList.java:303)
    at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:258)
    at net.minecraft.client.resources.ResourcePackRepository.func_110613_c(SourceFile:176)
    at net.minecraft.client.Minecraft.func_110436_a(Minecraft.java:743)
    at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:340)
    at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:520)

-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:351)
    at net.minecraft.client.main.Main.main(SourceFile:124)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

Full crash report

It's too bad that it doesn't give an error in your code, otherwise I'd be digging through your source code right now.

Thanks in advance!

WhiskyTangoFawks commented 7 years ago

That's the crash associated with the initial resource pack loading. It should be fine after it's crashed the once. If it isn't, disable the automatic resource pack loading in in the master config, and you'll then need to enable it manually (otherwise all the blocks will have null textures).

rayzr522 commented 7 years ago

It does not crash just once, also I can't do anything in the config files because since it's crashing, it doesn't generate any config files. What should I do now?

WhiskyTangoFawks commented 7 years ago

That is odd, not a problem I've run into before, and I'm unable to recreate the issue with a fresh install. Make sure minecraft has been run before, and the options file has been generated in the main config.

Make sure you're on forge 1.10.2 1285 as well, and the latest version of my mod.

rayzr522 commented 7 years ago

Forge version: 2185 MC version: 1.10.2

Mods folder:

Config folder (after running at least 3 times):

I'm really not sure what to do. I'm running the proper versions, no config files are being generated, and this is a fresh install.

Edit: I just want to mention this, I'm a long-time programmer with Java as well as many other languages, a dedicated Minecraft player, and a veteran modder. I'm not doing anything wrong or odd, I'm running the right version of Java, and I have the right version of Forge. Edit 3: Just to be clear, I'm not trying to be rude. I just want to establish that I know what I'm doing :wink:

Edit 2: Just took a second look around the Minecraft folder, no options.txt anywhere. Is this referring to the vanilla Minecraft options.txt file, or a file of your own?

WhiskyTangoFawks commented 7 years ago

Yeah, the vanilla options.txt file. You might try manually editting the loaded resource packs to this in the options.txt file

resourcePacks:["WTFExpedition"]

Might prevent the crash.

The crash log is characteristic of a bug I've not figured out yet. I'm generating the blockstates with a file writer, and writing them into a resource pack. I then insert that resource pack into the arraylist of loaded packs. The problem I thinnk is that I've got something wrong in how I'm doing it, which results in a crash the first time you do it when either another mod or the game iteslf tries to do something (and I'm not entirely sure what that something is). I've only ever seen it with a fresh install, and every time I've been able to recreate it, and everyone else who has reported it, says the issue resolves itself after a single crash. If you're curious, it's in the client proxy, and the github is up to date.

If that doesn't work, you might see if you have the same problem with the earlier 1.3 versions- I believe it was in the final release that the auto-enable code was added. Assuming I'm diagnosing the issue correctly.

rayzr522 commented 7 years ago

I'll try that out shortly, but I'll have to manually create an options.txt file. It isn't even getting to the point that it makes that file. Yay me.

WhiskyTangoFawks commented 7 years ago

If it's not getting that far, then you have other problems. Now that I think about it, my config files should be loaded, saved, and closed long before the resourcepack stuff happens. If the config files aren't being generated, then it's not the resource pack crash I'm thinking of.

Even with WTF-Expedition removed, you're not getting the options file in the primary minecraft directory? Make sure the forge install is fine, and then throw the mod in. If that still has issues, definitely roll back and try different versions.

rayzr522 commented 7 years ago

Well I found the error :\

Turns out it is continually crashing instead of just once because the resource pack isn't actually being generated. After looking more into the log files, I found this (that's just the first few hundred lines, but it goes on for thousands upon thousands of lines). I'm gonna go inspect your code a bit, I have no idea why it isn't generating the files (it didn't even create the WTFExpedition resource pack folder inside resourcepacks/).

Edit 1: Not sure why the folders aren't generating, but for the files you need to do new File(path).createNewFile() I believe. I'll continue digging.

WhiskyTangoFawks commented 7 years ago

It's writing the files correctly in both my dev environment, and in my test pack. If I delete the entire folder, it crashes once, then boots up normally. And I have reports from 10 people who've been helping me beta test that it's working fine in windows, mac, and linux.

Is there anything strange about your minecraft install? Are you using anything non-standard? Have you installed it in a non-default location (shouldn't cause a problem, but it's not something I've tested)? It shouldn't be a security thing, as minecraft already has permission to write files, but maybe try running it in administrator mode? What version of java are you running (this was compied on 1.8.0_92 - I'm a little out of date, as I've been travelling and away from my primary PC and too lazy to update). I know that the code generally works, so I think the issue is that there is something about your setup I've not accounted for. Which, given you're a java programmer, makes sense you might have a setup a little outside the typical user.

rayzr522 commented 7 years ago

Alright, so I've made my setup as "default" as possible: I'm using the bundled Java that comes with the launcher, I'm in the normal .minecraft folder (I'm on a mac so that's located at ~/Library/Application Support/minecraft), I turned off all the extra arguments (like -Xmx4G, -XX:+UseConcMarkSweepGC, etc.), and it's still not generating the resource pack. My resource packs folder is empty. (And just a side note, my options.txt still says resourcePacks:[])

WhiskyTangoFawks commented 7 years ago

Well, I am at a loss as to why it's doing this, but I think the next step is for me to just send you the prehenerated resource pack and see if that lets you load the game. I'll be away from a computer till tomorrow, and on my phone now otherwise I would do it now. If you want, you could try generating the folders for the pack, and a mcmeta file in the meantime, if it's an issue with generating the folders that might solve it.

WhiskyTangoFawks commented 7 years ago

Actually, thinking about it, definitely try making the folders, that is the one obvious reason it would fail to generate the files

WhiskyTangoFawks commented 7 years ago

https://drive.google.com/file/d/0B7DzO_DOMafkTnZsdHVHa2FMUWc/view?usp=sharing

unzip that, and put it in the resoucepack folder, and let me know what happens.

rayzr522 commented 7 years ago

Sorry for the slow response! I recently made a new modpack and I've been a bit distracted lol

So, with the pre-generated resource pack you sent me it loaded up perfectly fine, and the mod was functioning fine in my test world (I had fancy caves, yay!).

I tried making the folders manually, but no luck. I have a feeling that the problem is due to my use of the beta launcher, and I believe it's not accessing the resourcepacks folder relative to the .minecraft folder, so it's trying to access /resourcepacks/WTFExpedition/ (there obviously isn't a resource packs folder at the root of my hard drive :P)

I used to run into problems like this when running servers via Terminal, if I didn't cd into the folder containing the server's JAR file then all server files would be placed, annoyingly, in my home folder (or wherever else my pwd was when I ran the command in Terminal). I have a feeling that something similar is going on with the beta launcher. I guess I can try the old launcher, see if if that works any better.

WhiskyTangoFawks commented 7 years ago

That'd do it.

rayzr522 commented 7 years ago

I'm not sure why you closed this, it's still a definite problem. There are other more reliable ways to get relative directories, so I think this should still be considered an issue with WTF's Expedition. Also I have yet to test it with the older launcher, so closing now it is a bit premature.

WhiskyTangoFawks commented 7 years ago

Fine, have it your way (puts away champagne).

As far as getting a relative directory, I'm not actively doing that, just using a buffered file writer in the default. If you know of a better way of ensuring this sort of issue doesn't occur when using a non standard launcher, I'm all ears.

rayzr522 commented 7 years ago

Honestly I should just report this to Mojang. Go grab your champagne again, sorry for bothering you 🙂