VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.mixin.render.vertex;
import com.mojang.blaze3d.vertex.VertexFormat;
import com.mojang.blaze3d.vertex.VertexFormatElement;
import it.unimi.dsi.fastutil.ints.IntList;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import java.util.List;
import net.vulkanmod.interfaces.VertexFormatMixed;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin({VertexFormat.class})
public class VertexFormatMixin implements VertexFormatMixed {
private int[] offsets;
private ObjectArrayList<VertexFormatElement> fastList;
@Inject(
method = {"<init>"},
at = {@At("RETURN")}
)
private void injectList(List<VertexFormatElement> list, List<String> list2, IntList intList, int i, CallbackInfo ci) {
ObjectArrayList<VertexFormatElement> fList = new ObjectArrayList();
fList.addAll(list);
this.fastList = fList;
this.offsets = intList.toIntArray();
}
public int getOffset(int i) {
return this.offsets[i];
}
public VertexFormatElement getElement(int i) {
return (VertexFormatElement)this.fastList.get(i);
}
public List<VertexFormatElement> getFastList() {
return this.fastList;
}
}
Download file