fabric-rendering-v1-16.2.0+bee81f016f.jar
Download file
package net.fabricmc.fabric.mixin.client.rendering;
import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap;
import java.util.Map;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.rendering.v1.FabricRenderState;
import net.fabricmc.fabric.api.client.rendering.v1.RenderStateDataKey;
import net.minecraft.class_10017;
import net.minecraft.class_10090;
import net.minecraft.class_10444;
import net.minecraft.class_11658;
import net.minecraft.class_11791;
import net.minecraft.class_11954;
import net.minecraft.class_12074;
import net.minecraft.class_12075;
import net.minecraft.class_12076;
import net.minecraft.class_12077;
import net.minecraft.class_12078;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
@Environment(EnvType.CLIENT)
@Mixin({class_10017.class, class_11954.class, class_10444.class, class_10444.class_10446.class, class_10090.class, class_10090.class_10091.class, class_11791.class, class_11658.class, class_12075.class, class_12074.class, class_12077.class, class_12078.class, class_12076.class})
public abstract class RenderStateMixin implements FabricRenderState {
@Unique
private @Nullable Map<RenderStateDataKey<?>, Object> renderStateData;
public <T> @Nullable T getData(RenderStateDataKey<T> key) {
return (T)(this.renderStateData == null ? null : this.renderStateData.get(key));
}
public <T> T getDataOrDefault(RenderStateDataKey<T> key, T defaultValue) {
return (T)(this.renderStateData == null ? defaultValue : this.renderStateData.getOrDefault(key, defaultValue));
}
public <T> void setData(RenderStateDataKey<T> key, T value) {
if (this.renderStateData == null) {
this.renderStateData = new Reference2ObjectOpenHashMap();
}
this.renderStateData.put(key, value);
}
public void clearExtraData() {
if (this.renderStateData != null) {
this.renderStateData.clear();
}
}
}
Download file