VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.mixin.render.frapi;
import java.util.ArrayList;
import java.util.List;
import net.fabricmc.fabric.api.renderer.v1.mesh.MeshView;
import net.minecraft.class_10444;
import net.minecraft.class_11785;
import net.minecraft.class_11788;
import net.minecraft.class_1921;
import net.minecraft.class_4587;
import net.minecraft.class_777;
import net.minecraft.class_811;
import net.vulkanmod.render.chunk.build.frapi.accessor.AccessBatchingRenderCommandQueue;
import net.vulkanmod.render.chunk.build.frapi.accessor.AccessRenderCommandQueue;
import net.vulkanmod.render.chunk.build.frapi.render.MeshItemCommand;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin({class_11788.class})
abstract class BatchingRenderCommandQueueM implements class_11785, AccessRenderCommandQueue, AccessBatchingRenderCommandQueue {
@Shadow
private boolean field_62243;
@Unique
private final List<MeshItemCommand> meshItemCommands = new ArrayList();
@Inject(
method = {"method_73527"},
at = {@At("RETURN")}
)
public void clear(CallbackInfo ci) {
this.meshItemCommands.clear();
}
public void submitItem(class_4587 matrices, class_811 displayContext, int light, int overlay, int outlineColors, int[] tintLayers, List<class_777> quads, class_1921 renderLayer, class_10444.class_10445 glintType, MeshView mesh) {
this.field_62243 = true;
this.meshItemCommands.add(new MeshItemCommand(matrices.method_23760().method_56822(), displayContext, light, overlay, outlineColors, tintLayers, quads, renderLayer, glintType, mesh));
}
public List<MeshItemCommand> getMeshItemCommands() {
return this.meshItemCommands;
}
}
Download file