MultiMine incompatibility with BetterPortals
Johni0702 opened this issue ยท 2 comments
- Build nether portal
- Go into nether
- Dig block
- Crash:
---- Minecraft Crash Report ----
WARNING: coremods are present:
ForgelinPlugin (Forgelin-1.8.3.jar)
MMFMLCorePlugin (MultiMine-1.12.2.jar)
Contact their authors BEFORE contacting forge
// Oh - I know what I did wrong!
Time: 7/21/19 10:31 AM
Description: Unexpected error
java.lang.NullPointerException: Unexpected error
at atomicstryker.multimine.client.MultiMineClient.updateCloudTickReading(MultiMineClient.java:336)
at atomicstryker.multimine.client.MultiMineClient.updateLocalPartialBlock(MultiMineClient.java:181)
at atomicstryker.multimine.client.MultiMineClient.eventPlayerDamageBlock(MultiMineClient.java:131)
at net.minecraft.client.multiplayer.PlayerControllerMP.func_180512_c(PlayerControllerMP.java:318)
at net.minecraft.client.Minecraft.func_147115_a(Minecraft.java:1480)
at net.minecraft.client.Minecraft.func_184117_aA(Minecraft.java:2268)
at net.minecraft.client.Minecraft.func_184118_az(Minecraft.java:2020)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1808)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1098)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:398)
at net.minecraft.client.main.Main.main(SourceFile:123)
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)
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 org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Client thread
Stacktrace:
at atomicstryker.multimine.client.MultiMineClient.updateCloudTickReading(MultiMineClient.java:336)
at atomicstryker.multimine.client.MultiMineClient.updateLocalPartialBlock(MultiMineClient.java:181)
at atomicstryker.multimine.client.MultiMineClient.eventPlayerDamageBlock(MultiMineClient.java:131)
at net.minecraft.client.multiplayer.PlayerControllerMP.func_180512_c(PlayerControllerMP.java:318)
at net.minecraft.client.Minecraft.func_147115_a(Minecraft.java:1480)
at net.minecraft.client.Minecraft.func_184117_aA(Minecraft.java:2268)
at net.minecraft.client.Minecraft.func_184118_az(Minecraft.java:2020)
-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityPlayerSP['Johni0702'/94, l='MpServer', x=67.94, y=50.00, z=-13.50]]
Chunk stats: MultiplayerChunkCache: 576, 576
Level seed: 0
Level generator: ID 01 - flat, ver 0. Features enabled: false
Level generator options:
Level spawn location: World: (624,4,400), Chunk: (at 0,0,0 in 39,25; contains blocks 624,0,400 to 639,255,415), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
Level time: 3844 game time, 3844 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 2 total; [NetherPortalEntity['entity.nether_portal.name'/261, l='MpServer', x=55.50, y=47.50, z=-12.50], EntityPlayerSP['Johni0702'/94, l='MpServer', x=67.94, y=50.00, z=-13.50]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:420)
at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2741)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:427)
at net.minecraft.client.main.Main.main(SourceFile:123)
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)
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 org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)
-- System Details --
Details:
Minecraft Version: 1.12.2
Operating System: Linux (amd64) version 4.14.67-1.pvops.qubes.x86_64
Java Version: 1.8.0_212, Oracle Corporation
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 221357304 bytes (211 MB) / 702021632 bytes (669 MB) up to 1219493888 bytes (1163 MB)
JVM Flags: 2 total; -Xms512m -Xmx1308m
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.42 Powered by Forge 14.23.5.2838 7 mods loaded, 7 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
| State | ID | Version | Source | Signature |
|:------ |:------------- |:------------ |:--------------------------------------- |:---------------------------------------- |
| LCHIJA | minecraft | 1.12.2 | minecraft.jar | None |
| LCHIJA | mcp | 9.42 | minecraft.jar | None |
| LCHIJA | FML | 8.0.99.99 | forge-1.12.2-14.23.5.2838-universal.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| LCHIJA | forge | 14.23.5.2838 | forge-1.12.2-14.23.5.2838-universal.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| LCHIJA | forgelin | 1.8.3 | Forgelin-1.8.3.jar | None |
| LCHIJA | betterportals | 0.2.3 | betterportals-0.2.3.jar | None |
| LCHIJA | multimine | 1.6.0 | MultiMine-1.12.2.jar | None |
Loaded coremods (and transformers):
ForgelinPlugin (Forgelin-1.8.3.jar)
MMFMLCorePlugin (MultiMine-1.12.2.jar)
atomicstryker.multimine.common.fmlmagic.MMTransformer
GL info: ' Vendor: 'X.Org' Version: '4.4 (Compatibility Profile) Mesa 18.2.8' Renderer: 'AMD Radeon (TM) R9 380 Series (TONGA, DRM 3.19.0, 4.14.67-1.pvops.qubes.x86_64, LLVM 6.0.0)'
Launched Version: MultiMC5
LWJGL: 2.9.4
OpenGL: AMD Radeon (TM) R9 380 Series (TONGA, DRM 3.19.0, 4.14.67-1.pvops.qubes.x86_64, LLVM 6.0.0) GL version 4.4 (Compatibility Profile) Mesa 18.2.8, X.Org
GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.
Using VBOs: Yes
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)
CPU: 4x Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
With BP, different dimensions have different RenderGlobal
instances which will cause your vanillaDestroyBlockProgressMap
reference to link to a different one than mc.renderGlobal
.
Simplest way to fix this is to store the Field
, not its value, and then just fetch it whenever required instead of just once at the beginning. Performance impact of that should be negligible but if you're concerned, you can also update your reference on demand whenever the mc.renderGlobal has changed.
Should be resolved with 535f606
Thanks for the quick response.
While this does fix the crash, the reference will unfortunately still become outdated if the player leaves the world while having break progress on any block (i.e. if they leave the world while vanillaDestroyBlockProgressMap.get(0) != null
).
To reproduce:
- Build portal
- Partially break block (
vanillaDestroyBlockProgressMap.get(0) == null
will now be false until the progress is earsed) - Use portal before progress is erased
- Hit block
- Progress will show while you hit it but the moment you stop hitting it, it'll stop showing the progress