Skip to content

Commit

Permalink
fix compat with FAPI's core shader API
Browse files Browse the repository at this point in the history
fix #110
  • Loading branch information
TropheusJ committed Nov 27, 2024
1 parent 4e6d728 commit 982f93c
Showing 1 changed file with 2 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,20 @@
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;
import org.spongepowered.asm.mixin.injection.ModifyVariable;

import com.mojang.blaze3d.shaders.Program;

import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.renderer.ShaderInstance;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.resources.ResourceProvider;

@Environment(EnvType.CLIENT)
@Mixin(value = ShaderInstance.class, priority = 500)
@Mixin(value = ShaderInstance.class, priority = 1500) // apply after FAPI so we get the modified ID below. FAPI doesn't have handling for an already fixed one.
public abstract class ShaderInstanceMixin {
@Shadow
@Final
private String name;

// we still need to do this despite FAPI's API since it only checks for FabricShader
@ModifyArg(method = "<init>", at = @At(value = "INVOKE", target = "Lnet/minecraft/resources/ResourceLocation;<init>(Ljava/lang/String;)V", ordinal = 0))
private String fixId(String path) {
if (!path.contains(":")) {
Expand Down

0 comments on commit 982f93c

Please sign in to comment.