/*
 * Derived from Epic Fight (https://github.com/Epic-Fight/epicfight)
 * by the Epic Fight Team, licensed under GPLv3.
 * Modifications © 2026 TiedUp! Remake Contributors, distributed under GPLv3.
 */

package com.tiedup.remake.rig.event;

import com.mojang.blaze3d.vertex.PoseStack;

import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraftforge.eventbus.api.Event;
import com.tiedup.remake.rig.mesh.SkinnedMesh;
import com.tiedup.remake.rig.render.PatchedEntityRenderer;
import com.tiedup.remake.rig.patch.LivingEntityPatch;

public class PrepareModelEvent extends Event {
	private final SkinnedMesh mesh;
	private final LivingEntityPatch<?> entitypatch;
	private final MultiBufferSource buffer;
	private final PoseStack poseStack;
	private final int packedLight;
	private final float partialTicks;
	
	private final PatchedEntityRenderer<?, ?, ?, ?> renderer;
	
	public PrepareModelEvent(PatchedEntityRenderer<?, ?, ?, ?> renderer, SkinnedMesh mesh, LivingEntityPatch<?> entitypatch, MultiBufferSource buffer, PoseStack poseStack, int packedLight, float partialTicks) {
		this.renderer = renderer;
		this.mesh = mesh;
		this.entitypatch = entitypatch;
		this.buffer = buffer;
		this.poseStack = poseStack;
		this.packedLight = packedLight;
		this.partialTicks = partialTicks;
	}

	public SkinnedMesh getMesh() {
		return this.mesh;
	}
	
	public LivingEntityPatch<?> getEntityPatch() {
		return this.entitypatch;
	}

	public MultiBufferSource getBuffer() {
		return this.buffer;
	}

	public PoseStack getPoseStack() {
		return this.poseStack;
	}

	public int getPackedLight() {
		return this.packedLight;
	}

	public float getPartialTicks() {
		return this.partialTicks;
	}

	public PatchedEntityRenderer<?, ?, ?, ?> getRenderer() {
		return this.renderer;
	}
}
