XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

MyDimension-Lord

【我的世界】我的维度附属模组:维度之主

公开
关注 0 Fork 0 Star 0
UTF-8
// Native Minecraft 1.21.11
package com.xfestudio.mydimensionlord.platform;

import net.minecraft.client.renderer.culling.Frustum;
import net.minecraft.resources.Identifier;
import net.minecraft.util.context.ContextKey;
import net.minecraft.world.phys.Vec3;
import net.neoforged.neoforge.client.event.ExtractLevelRenderStateEvent;
import net.neoforged.neoforge.client.event.RenderLevelStageEvent;

public record PreviewFrame(Vec3 camera, Frustum frustum, float partialTick) {
    private static final ContextKey<PreviewFrame> KEY = new ContextKey<>(Identifier.fromNamespaceAndPath("mydimension", "preview_frame"));
    public static void extract(ExtractLevelRenderStateEvent event) {
        event.getRenderState().setRenderData(KEY, new PreviewFrame(event.getCamera().position(),
                new Frustum(event.getFrustum()), event.getDeltaTracker().getGameTimeDeltaPartialTick(false)));
    }
    public static PreviewFrame get(RenderLevelStageEvent event) { return event.getLevelRenderState().getRenderData(KEY); }
}