// 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); }
}
// 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); }
}