WATERFrAMES: Multimedia Displays

WATERFrAMES: Multimedia Displays

815k Downloads

Valkyrian Skies/VS Eureka support?

Karl-SR opened this issue ยท 6 comments

commented

I was actually really surprised that when I placed a projector inside my airship, I could actually play videos!
Unfortunately the audio doesn't play, would love to see full support if it's something that can be achieved!

commented

Ask to VS eureka to give it support, what i did is calculate the distance between the BE and the display
displays updates the position every tick. so they can easier hack any part

commented
vs2_waterframes_compat.mp4

It seems like I fixed it.

commented

is the new 2.0.11a update?

commented
package io.github.xiewuzhiying.vs_addition.mixin.waterframes.client;

import me.srrapero720.waterframes.client.display.TextureDisplay;
import net.minecraft.client.Minecraft;
import net.minecraft.core.BlockPos;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.valkyrienskies.mod.common.VSGameUtilsKt;

@Mixin(TextureDisplay.class)
public abstract class MixinTextureDisplay {
    @Redirect(
            method = "limitVolume",
            at = @At(
                    value = "INVOKE",
                    target = "Lnet/minecraft/core/BlockPos;m_203202_(DDD)D"
            )
    )
    private static double vs_addition$distToLowCornerSqr(BlockPos instance, double x, double y, double z) {
        return VSGameUtilsKt.squaredDistanceBetweenInclShips(Minecraft.getInstance().level, instance.getX(), instance.getY(), instance.getZ(), x, y, z);
    }
}

A simple mixin.

commented

again, that should be fixed on VS side, rendering distance calculation works, why audio which uses the exact same logic won't?

commented

kotlin is cringe
added native support on 2.0.14a.

thanks to xiewuzhiying for the idea