fabric-renderer-api-v1-7.2.3+9be2a36e6f.jar
Download file
package net.fabricmc.fabric.mixin.renderer.client.sprite;
import java.util.Map;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.renderer.v1.model.SpriteFinder;
import net.fabricmc.fabric.api.renderer.v1.sprite.FabricStitchResult;
import net.fabricmc.fabric.impl.renderer.SpriteFinderImpl;
import net.fabricmc.fabric.impl.renderer.StitchResultExtension;
import net.minecraft.class_1058;
import net.minecraft.class_2960;
import net.minecraft.class_7766;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
@Environment(EnvType.CLIENT)
@Mixin({class_7766.class_7767.class})
abstract class SpriteLoaderStitchResultMixin implements FabricStitchResult, StitchResultExtension {
@Shadow
@Final
private class_1058 comp_1043;
@Shadow
@Final
private Map<class_2960, class_1058> comp_1044;
@Unique
private volatile @Nullable SpriteFinder spriteFinder;
public SpriteFinder spriteFinder() {
SpriteFinder result = this.spriteFinder;
if (result == null) {
synchronized(this) {
result = this.spriteFinder;
if (result == null) {
this.spriteFinder = result = new SpriteFinderImpl(this.comp_1044, this.comp_1043);
}
}
}
return result;
}
public @Nullable SpriteFinder fabric_spriteFinderNullable() {
return this.spriteFinder;
}
}
Download file