Megane: Fabric

Megane: Fabric

6M Downloads

Fluid rendering does not work with MI 0.5.6 and megane 5.2.0

Azercoco opened this issue · 8 comments

commented

Bug

Megane does not correctly display the fluid with MI container, either machined or tanks and instead shows <ERROR>

image

commented

After further testing, this only occurs whith non-vanilla (MI) fluids.

commented

Can you send the .minecraft/WailaErrorOutput.txt? This is strange because it works here:
2021-08-10_06 04 39

commented

I did used it in the mod folder. Should I try with gradle ?

commented
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)`
commented

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🤷

commented

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

commented

Use the individual modules (base, modern-industrialization, and runtime) and use the -dev.jar.

commented

I tried with the dev jar and had the same issue ...