Closed DrakoAlcarus closed 8 years ago
You can find a release containing the PERIODIC emitter here. Give it a try and let me know how it goes.
It works fantastically! All I have to do is integrate tree wind, bird and critter sounds, and other drip particle sounds.
Excellent! If you plan on making this resource pack generally available I can put a link on my CurseForge project page to your site so folks know how to find it. Of course, this would happen once I get the current version to release level, which should be soon.
java.lang.NullPointerException: Unexpected error at net.minecraft.client.audio.SoundManager.func_148594_a(SoundManager.java:394) at net.minecraft.client.audio.SoundManager.func_148605_d(SoundManager.java:203) at net.minecraft.client.audio.SoundHandler.func_73660_a(SourceFile:179) at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2013) at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898) at net.minecraft.client.main.Main.main(SourceFile:148) 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:483) at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Forge version?
Forge10.13.4.1614-1.7.10
I can't remember if walking on rails made a metal sound, but it doesn't seem to do this anymore.
Just tried the rail walk thing and I get the sound. What you can do is turn on debug logging using the dsurround.cfg file. In the launcher output window you will see a trace of the sounds that are played with footsteps. This is what I see:
[17:29:38] [Client thread/INFO] [dsurround]: Playing acoustic grass,rails for event WALK
[17:29:38] [Client thread/INFO] [dsurround]: Playing sound dsurround:fs.metalbar.metalbar_run (v0.01, p1.00)
Ignore that part, we have a bug to fix first.
Can you duplicate this exception at will? Reason is I would like you turn debug on and give me the log. This is all in Minecraft code so it is unclear as to how Dynamic Surroundings is involved. My hope is that the debug trace will give me more context.
EDIT: Also, were you wandering around normally when this happened, or did something special happen? Special like logging in, changing dimensions, etc.
I was in a Mine-shaft when it first happened, and each consecutive crash after that was near a Mine-shaft.
The third time I crashed (just now), it was the rock tumbling noise you have that played right when the game crashed.
Below the sound system counter, it displayed 3-4 items (it flashed by before the crash). Two were EMITTER
and one was DELAYED
.
When it crashes again, I will press PrintScreen
and also give you the log.
Also, the rails are fine, I just had other sounds on my computer that flushed out some game noises.
After a bit of inspection, I noticed that after it displays for a few ticks, it flashes to PLAYING
.
You sure it is PLAYING
and not PENDING
? Reason I ask is that PENDING
is something in my code, PLAYING
is not and would be real strange.
EMITTER
means the sound is a background sound and will play in a loop, with or without a delay between plays.DELAYED
is a spot sound that will play in the future. Right now these are associated with water and lava drop sounds.PENDING
is a spot sound that has been placed in an internal queue because there are a lot of sound channels being used in the Minecraft sound engine and Dynamic Surroundings is trying to avoid overload.EDIT: I am sure it is PENDING
you are seeing. When a drop sound transitions from DELAYED
to PENDING
its real fast, and your brain kinda blends the two strings together to PLAYING
because it is "filling in the blanks" with what you are seeing.
EDIT2: Also, what are the numbers after "SoundSystem" in the debug display? Should look like "xx/yy", where "xx" is the current number of queued sounds in the Minecraft sound system, and "yy" is the max number of channels configured. "xx" should vary quite a bit based on whats going on in game; "yy" is fixed and will not change.
Posted a BETA to CurseForge that has the PERIODIC sound option. I also made some changes internally based on what I can glean from the call stack you provided. At the moment this looks to be a Minecraft derp, but I did alter some of the control flow and behavior to be more defensive and avoid the condition. Give a try and let me know if it helps.
I have been messing with other things lately, such as villager styled fortification, and some other building projects. I haven't been able to get into a cave and see if it crashes. On the other hand, is there a limit to sounds I can block? After the update, it seems any more sounds to the list of blocked sounds I add, they won't get blocked.
No - there isn't a limit. Take a look at your dsurround.cfg file. All the sounds you block should be listed.
They are listed. What I'm saying is that the sounds I added into the .cfg after your mod update won't get blocked.
On Sat, Mar 5, 2016 at 4:58 PM, OreCruncher notifications@github.com wrote:
No - there isn't a limit. Take a look at your dsurround.cfg file. All the sounds you block should be listed.
— Reply to this email directly or view it on GitHub https://github.com/OreCruncher/BetterRain/issues/103#issuecomment-192774748 .
Hmmm...even after a client restart?
Yep. Twice.
On Sat, Mar 5, 2016 at 5:44 PM, OreCruncher notifications@github.com wrote:
Hmmm...even after a client restart?
— Reply to this email directly or view it on GitHub https://github.com/OreCruncher/BetterRain/issues/103#issuecomment-192779525 .
Check the client log to see if an error is being reported.
New issue while being underground near water (that is pouring in from the bottom of a birch forest lake):
java.lang.NullPointerException: Unexpected error
at org.blockartistry.mod.DynSurround.client.sound.SoundManager.getNormalizedVolume(SoundManager.java:203)
at net.minecraft.client.audio.SoundManager.func_148594_a(SoundManager.java)
at net.minecraft.client.audio.SoundManager.func_148605_d(SoundManager.java:203)
at net.minecraft.client.audio.SoundHandler.func_73660_a(SourceFile:179)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2013)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898)
at net.minecraft.client.main.Main.main(SourceFile:148)
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:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
It's the same exception as reported above, though in this particular case it is the latest version of Dynamic Surroundings with the volume hook. Any other exceptions reported during startup? Wondering if there is anything related to blocked sound initialization. Could be something like a Json exception.
I did find something:
[05:52:57] [Client thread/ERROR] [dsurround]: Unable to process biome config file oldmatmos.json
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: java.lang.NullPointerException
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at org.blockartistry.mod.DynSurround.data.BiomeRegistry.process(BiomeRegistry.java:344)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at org.blockartistry.mod.DynSurround.data.BiomeRegistry.processConfig(BiomeRegistry.java:292)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at org.blockartistry.mod.DynSurround.data.BiomeRegistry.initialize(BiomeRegistry.java:187)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at org.blockartistry.mod.DynSurround.proxy.Proxy.postInit(Proxy.java:60)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at org.blockartistry.mod.DynSurround.proxy.ProxyClient.postInit(ProxyClient.java:69)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at org.blockartistry.mod.DynSurround.Module.postInit(Module.java:106)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.reflect.Method.invoke(Method.java:483)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.reflect.Method.invoke(Method.java:483)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.google.common.eventbus.EventBus.post(EventBus.java:275)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.reflect.Method.invoke(Method.java:483)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at com.google.common.eventbus.EventBus.post(EventBus.java:275)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at cpw.mods.fml.common.Loader.initializeMods(Loader.java:742)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:552)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:878)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.client.main.Main.main(SourceFile:148)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at java.lang.reflect.Method.invoke(Method.java:483)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
[05:52:57] [Client thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:748]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
[05:52:57] [Client thread/INFO] [dsurround]: *** DIMENSION REGISTRY (delay init) ***
Anything above that?
EDIT: Also, can you post your oldmatmos.json file?
Also, I have a test binary that has addition trace and exception catching in an attempt to figure out this NPE. So far this is the only report of it occuring so it may be some combination of things on your system. If you could install this version and let me know the results. It should not crash, but if there is an issue a line with the token "getNormalizedVolume" would be in the client log with some additional information.
@DrakoAlcarus I was wondering if you had a chance to use the test JAR in an attempt to identify the issue. My plan is to finish up bug fixing and what not before I release. Thanks!
Here is oldmatmos:
{
"entries":[
{
"biomeName":"(?i)Underground",
"sounds":[
{
"sound":"matmosclassic:caverumble",
"soundType":"periodic",
"volume":0.25,
"repeatDelay":60,
"repeatDelayRandom":30
},
{
"sound":"matmosclassic:caveroar",
"volume":0.6,
"spot":true,
"weight":65
},
]
}
]
}
And no, nothing above it. And now the sounds don't even play since installing your test.jar.
All the sudden, the sounds are playing. Odd... Now I have to wait till' it crashes.
Crash log:
java.lang.NullPointerException: Unexpected error
at net.minecraft.client.audio.SoundManager.func_148606_a(SoundManager.java:389)
at net.minecraft.client.audio.SoundManager.func_148605_d(SoundManager.java:204)
at net.minecraft.client.audio.SoundHandler.func_73660_a(SourceFile:179)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2013)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898)
at net.minecraft.client.main.Main.main(SourceFile:148)
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:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Stacktrace:
at net.minecraft.client.audio.SoundManager.func_148606_a(SoundManager.java:389)
at net.minecraft.client.audio.SoundManager.func_148605_d(SoundManager.java:204)
at net.minecraft.client.audio.SoundHandler.func_73660_a(SourceFile:179)
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:373)
at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2444)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:927)
at net.minecraft.client.main.Main.main(SourceFile:148)
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:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
I split to original up and put the important parts together.
Remove the comma after the } for the last sound entry.
As for the latest call stack I would have expected to see Dynamic Surroundings in it because I hook getNormalizedVolume() (the function func_148606_a in the trace).
Testing it now...
Removing the comma did no jutice:
java.lang.NullPointerException: Unexpected error
at net.minecraft.client.audio.SoundManager.func_148606_a(SoundManager.java:389)
at net.minecraft.client.audio.SoundManager.func_148605_d(SoundManager.java:204)
at net.minecraft.client.audio.SoundHandler.func_73660_a(SourceFile:179)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2013)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898)
at net.minecraft.client.main.Main.main(SourceFile:148)
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:483)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Stacktrace:
at net.minecraft.client.audio.SoundManager.func_148606_a(SoundManager.java:389)
at net.minecraft.client.audio.SoundManager.func_148605_d(SoundManager.java:204)
at net.minecraft.client.audio.SoundHandler.func_73660_a(SourceFile:179)
also, I need to set the height in which the sounds play at y of 48 and below, and when leaving the boundary, I don't want the sound to cut off. Instead, it should finish that current sound it was playing with a fade away.
The comma in the json would have nothing to do with the null pointer. It would, however, could have caused the log trace you posted further up and could have caused the blocked sounds to not work properly.
[05:52:57] [Client thread/ERROR] [dsurround]: Unable to process biome config file oldmatmos.json
The NPE though it strange because the latest BETAs should have a different trace because the mod injects code into the method.
As for the Y of 48 are you referring to the Y value for transitioning from Underground to normal Overworld "surface" biomes?
Well, I ended up installing matmos for the second time... it was everything I wanted. Strong cave rumble, lava sounds, lots of birds, water drips, and some other sounds that stay true to tekkit classic
Update with PERIODIC sound type posted to CurseForge. Matmos behavior still being weighed.
In the 1.7 version I am using, the game keeps clearing the config file of blocked sounds and the config file I made to try to add sounds. It's getting extremely annoying and I even updated the mod today.
Also, the page you linked me doesn't tell me where to add sounds, but I can't find a way to add or run the sounds anyway because of the persistent issue above.