VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.mixin.texture.update;
import com.mojang.blaze3d.textures.GpuTexture;
import net.minecraft.class_7764;
import net.vulkanmod.render.engine.VkGpuTexture;
import net.vulkanmod.render.texture.SpriteUpdateUtil;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin({class_7764.class_7765.class})
public class MSpriteContents {
@Shadow
int field_40545;
@Shadow
int field_40544;
@Shadow
@Final
class_7764.class_5790 field_40546;
@Inject(
method = {"method_45824"},
at = {@At("HEAD")},
cancellable = true
)
private void checkUpload(int i, int j, GpuTexture gpuTexture, CallbackInfo ci) {
if (!SpriteUpdateUtil.doUploadFrame()) {
++this.field_40545;
class_7764.class_5791 frameInfo = (class_7764.class_5791)this.field_40546.field_28472.get(this.field_40544);
if (this.field_40545 >= frameInfo.comp_3446) {
this.field_40544 = (this.field_40544 + 1) % this.field_40546.field_28472.size();
this.field_40545 = 0;
}
ci.cancel();
} else {
SpriteUpdateUtil.addTransitionedLayout(((VkGpuTexture)gpuTexture).getVulkanImage());
}
}
}
Download file