57 lines
2.6 KiB
Java
57 lines
2.6 KiB
Java
package b;
|
|
|
|
import defpackage.*;
|
|
import com.mojang.blaze3d.vertex.PoseStack;
|
|
import net.minecraft.client.model.Model;
|
|
import net.minecraft.client.renderer.SubmitNodeCollector;
|
|
import net.minecraft.client.renderer.entity.layers.EquipmentLayerRenderer;
|
|
import net.minecraft.client.resources.model.EquipmentClientInfo.LayerType;
|
|
import net.minecraft.resources.Identifier;
|
|
import net.minecraft.resources.ResourceKey;
|
|
import net.minecraft.world.item.ItemStack;
|
|
import net.minecraft.world.item.equipment.EquipmentAsset;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
import org.spongepowered.asm.mixin.Unique;
|
|
import org.spongepowered.asm.mixin.injection.At;
|
|
import org.spongepowered.asm.mixin.injection.Inject;
|
|
import org.spongepowered.asm.mixin.injection.ModifyArg;
|
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
|
|
@Mixin(EquipmentLayerRenderer.class)
|
|
public abstract class ce {
|
|
@Unique
|
|
private int evo$durabilityTint = 0;
|
|
|
|
@Inject(
|
|
method = "renderLayers(Lnet/minecraft/client/resources/model/EquipmentClientInfo$LayerType;Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/client/model/Model;Ljava/lang/Object;Lnet/minecraft/world/item/ItemStack;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/resources/Identifier;II)V",
|
|
at = @At("HEAD")
|
|
)
|
|
private void evo$captureDurabilityTint(
|
|
LayerType layerType,
|
|
ResourceKey<EquipmentAsset> asset,
|
|
Model<?> model,
|
|
Object renderState,
|
|
ItemStack stack,
|
|
PoseStack matrices,
|
|
SubmitNodeCollector queue,
|
|
int light,
|
|
Identifier texture,
|
|
int outlineColor,
|
|
int order,
|
|
CallbackInfo ci
|
|
) {
|
|
this.evo$durabilityTint = to.INSTANCE.tintFor(stack, renderState);
|
|
}
|
|
|
|
@ModifyArg(
|
|
method = "renderLayers(Lnet/minecraft/client/resources/model/EquipmentClientInfo$LayerType;Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/client/model/Model;Ljava/lang/Object;Lnet/minecraft/world/item/ItemStack;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/resources/Identifier;II)V",
|
|
at = @At(
|
|
value = "INVOKE",
|
|
target = "Lnet/minecraft/client/renderer/OrderedSubmitNodeCollector;submitModel(Lnet/minecraft/client/model/Model;Ljava/lang/Object;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;IIILnet/minecraft/client/renderer/texture/TextureAtlasSprite;ILnet/minecraft/client/renderer/feature/ModelFeatureRenderer$CrumblingOverlay;)V"
|
|
),
|
|
index = 6
|
|
)
|
|
private int evo$tintArmorLayer(int color) {
|
|
return to.applyTint(color, this.evo$durabilityTint);
|
|
}
|
|
}
|