
Fluid rendering does not work with MI 0.5.6 and megane 5.2.0
Azercoco opened this issue · 8 comments
Here it is :
`08/04/2021 - 15:59:21
class mcp.mobius.waila.plugin.core.BlockComponent
java.lang.NullPointerException: Cannot invoke "net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant.toNbt()" because "fluid" is null
at aztech.modern_industrialization.util.NbtHelper.putFluid(NbtHelper.java:46)
at aztech.modern_industrialization.blocks.storage.tank.TankBlockEntity.toClientTag(TankBlockEntity.java:65)
at aztech.modern_industrialization.blocks.storage.AbstractStorageBlockEntity.writeNbt(AbstractStorageBlockEntity.java:43)
at mcp.mobius.waila.overlay.DataAccessor.getServerData(DataAccessor.java:100)
at mcp.mobius.waila.plugin.core.BlockComponent.appendHead(BlockComponent.java:39)
at mcp.mobius.waila.overlay.ComponentProvider.handleBlock(ComponentProvider.java:42)
at mcp.mobius.waila.overlay.ComponentProvider.gatherBlock(ComponentProvider.java:32)
at mcp.mobius.waila.overlay.TickHandler.tickClient(TickHandler.java:80)
at mcp.mobius.waila.WailaClient.onClientTick(WailaClient.java:53)
at mcp.mobius.waila.fabric.FabricWailaClient.lambda$onInitializeClient$1(FabricWailaClient.java:32)
at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$2(ClientTickEvents.java:65)
at net.minecraft.client.MinecraftClient.handler$zif000$onEndTick(MinecraftClient.java:4573)
at net.minecraft.client.MinecraftClient.tick(MinecraftClient.java:1806)
at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1081)
at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:728)
at net.minecraft.client.main.Main.main(Main.java:217)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)
08/04/2021 - 22:55:07
class mcp.mobius.waila.plugin.core.BlockComponent
java.lang.NullPointerException: Cannot invoke "net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant.toNbt()" because "fluid" is null
at aztech.modern_industrialization.util.NbtHelper.putFluid(NbtHelper.java:46)
at aztech.modern_industrialization.blocks.storage.tank.TankBlockEntity.toClientTag(TankBlockEntity.java:65)
at aztech.modern_industrialization.blocks.storage.AbstractStorageBlockEntity.writeNbt(AbstractStorageBlockEntity.java:42)
at mcp.mobius.waila.overlay.DataAccessor.getServerData(DataAccessor.java:100)
at mcp.mobius.waila.plugin.core.BlockComponent.appendHead(BlockComponent.java:39)
at mcp.mobius.waila.overlay.ComponentProvider.handleBlock(ComponentProvider.java:42)
at mcp.mobius.waila.overlay.ComponentProvider.gatherBlock(ComponentProvider.java:32)
at mcp.mobius.waila.overlay.TickHandler.tickClient(TickHandler.java:80)
at mcp.mobius.waila.WailaClient.onClientTick(WailaClient.java:53)
at mcp.mobius.waila.fabric.FabricWailaClient.lambda$onInitializeClient$1(FabricWailaClient.java:32)
at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$2(ClientTickEvents.java:65)
at net.minecraft.client.MinecraftClient.handler$zif000$onEndTick(MinecraftClient.java:4573)
at net.minecraft.client.MinecraftClient.tick(MinecraftClient.java:1806)
at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1081)
at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:728)
at net.minecraft.client.main.Main.main(Main.java:217)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)
08/09/2021 - 21:33:50
class badasintended.megane.runtime.component.block.FluidComponent
java.lang.NoSuchMethodError: 'net.minecraft.text.MutableText aztech.modern_industrialization.fluid.CraftingFluidBlock.method_9518()'
at badasintended.megane.impl.ModernIndustrialization.lambda$registerClient$26(ModernIndustrialization.java:196)
at badasintended.megane.api.provider.FluidInfoProvider$1.getName(FluidInfoProvider.java:35)
at badasintended.megane.runtime.component.block.FluidComponent.addFluid(FluidComponent.java:76)
at badasintended.megane.runtime.component.block.FluidComponent.append(FluidComponent.java:96)
at badasintended.megane.runtime.component.block.BlockComponent.appendInternal(BlockComponent.java:25)
at badasintended.megane.runtime.component.block.BlockComponent.appendHead(BlockComponent.java:36)
at mcp.mobius.waila.overlay.ComponentProvider.handleBlock(ComponentProvider.java:42)
at mcp.mobius.waila.overlay.ComponentProvider.gatherBlock(ComponentProvider.java:32)
at mcp.mobius.waila.overlay.TickHandler.tickClient(TickHandler.java:80)
at mcp.mobius.waila.WailaClient.onClientTick(WailaClient.java:53)
at mcp.mobius.waila.fabric.FabricWailaClient.lambda$onInitializeClient$1(FabricWailaClient.java:32)
at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$2(ClientTickEvents.java:65)
at net.minecraft.client.MinecraftClient.handler$zif000$onEndTick(MinecraftClient.java:4573)
at net.minecraft.client.MinecraftClient.tick(MinecraftClient.java:1806)
at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1081)
at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:728)
at net.minecraft.client.main.Main.main(Main.java:217)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)
08/10/2021 - 10:24:43
class badasintended.megane.runtime.component.block.FluidComponent
java.lang.NoSuchMethodError: 'net.minecraft.text.MutableText aztech.modern_industrialization.fluid.CraftingFluidBlock.method_9518()'
at badasintended.megane.impl.ModernIndustrialization.lambda$registerClient$26(ModernIndustrialization.java:196)
at badasintended.megane.api.provider.FluidInfoProvider$1.getName(FluidInfoProvider.java:35)
at badasintended.megane.runtime.component.block.FluidComponent.addFluid(FluidComponent.java:76)
at badasintended.megane.runtime.component.block.FluidComponent.append(FluidComponent.java:96)
at badasintended.megane.runtime.component.block.BlockComponent.appendInternal(BlockComponent.java:25)
at badasintended.megane.runtime.component.block.BlockComponent.appendHead(BlockComponent.java:36)
at mcp.mobius.waila.overlay.ComponentProvider.handleBlock(ComponentProvider.java:42)
at mcp.mobius.waila.overlay.ComponentProvider.gatherBlock(ComponentProvider.java:32)
at mcp.mobius.waila.overlay.TickHandler.tickClient(TickHandler.java:80)
at mcp.mobius.waila.WailaClient.onClientTick(WailaClient.java:53)
at mcp.mobius.waila.fabric.FabricWailaClient.lambda$onInitializeClient$1(FabricWailaClient.java:32)
at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$2(ClientTickEvents.java:65)
at net.minecraft.client.MinecraftClient.handler$zif000$onEndTick(MinecraftClient.java:4573)
at net.minecraft.client.MinecraftClient.tick(MinecraftClient.java:1806)
at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1081)
at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:728)
at net.minecraft.client.main.Main.main(Main.java:217)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:234)
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:153)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)`
NoSuchMethodError method_9518
devlaunchinjector
Did you put megane jar on the mods folder or via gradle dependency?
This might be a loom/loader not remapping the method call as it should be CraftingFluidBlock#getName
🤷
I tried using gradle deps myself (both in MI env and my own) and it doesn't get remapped either
public void registerClient(MeganeClientRegistrar registrar) {
registrar.fluid(ACraftingFluid.class, FluidInfoProvider.of((f) -> {
return f.getBlock().getColor();
}, (f) -> {
return f.getBlock().method_9518();
})).energy("modern_industrialization", 11993088, "EU");
}
For some reason only method_9518
that erroring
The dev jar works however, probably because both MI and megane has same yarn version. You can get it here
Use the individual modules (base
, modern-industrialization
, and runtime
) and use the -dev.jar
.