Skip to content

Commit 2994715

Browse files
committed
Improve trinkets rendering
1 parent 3ecb6eb commit 2994715

2 files changed

Lines changed: 20 additions & 23 deletions

File tree

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
package com.oroarmor.netherite_plus.compatibility;
22

33
import com.oroarmor.netherite_plus.client.render.NetheriteElytraFeatureRenderer;
4-
import net.fabricmc.api.EnvType;
5-
import net.fabricmc.api.Environment;
4+
65
import net.minecraft.client.network.AbstractClientPlayerEntity;
76
import net.minecraft.client.render.OverlayTexture;
87
import net.minecraft.client.render.VertexConsumer;
98
import net.minecraft.client.render.VertexConsumerProvider;
109
import net.minecraft.client.render.entity.model.ElytraEntityModel;
1110
import net.minecraft.client.render.item.ItemRenderer;
1211
import net.minecraft.client.util.math.MatrixStack;
13-
import net.minecraft.item.Item;
12+
import net.minecraft.item.ItemStack;
13+
14+
import net.fabricmc.api.EnvType;
15+
import net.fabricmc.api.Environment;
1416

1517
@Environment(EnvType.CLIENT)
1618
public class NetheritePlusTrinketsRenderer {
19+
@Environment(EnvType.CLIENT)
20+
@SuppressWarnings({"unchecked", "rawtypes"})
21+
public final static ElytraEntityModel<AbstractClientPlayerEntity> elytra = new ElytraEntityModel();
1722

18-
@Environment(EnvType.CLIENT)
19-
@SuppressWarnings({ "unchecked", "rawtypes" })
20-
public final static ElytraEntityModel<AbstractClientPlayerEntity> elytra = new ElytraEntityModel();
21-
22-
public static void renderTrinketsElytra(MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int light, AbstractClientPlayerEntity livingEntity, Item item) {
23-
matrixStack.push();
24-
matrixStack.scale(1.5f, 1.5f, 1.5f);
25-
matrixStack.translate(0.0D, -0.775D, 0.125D);
26-
elytra.setAngles(livingEntity, 0f, 0f, 0f, 0f, 0f);
27-
VertexConsumer vertexConsumer = ItemRenderer.getDirectItemGlintConsumer(vertexConsumerProvider, elytra.getLayer(NetheriteElytraFeatureRenderer.NETHERITE_ELYTRA_SKIN), false, item.getDefaultStack().hasGlint());
28-
elytra.render(matrixStack, vertexConsumer, light, OverlayTexture.DEFAULT_UV, 1.0F, 1.0F, 1.0F, 1.0F);
29-
matrixStack.pop();
30-
}
31-
23+
public static void renderTrinketsElytra(MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int light, AbstractClientPlayerEntity livingEntity, ItemStack item) {
24+
matrixStack.push();
25+
matrixStack.scale(2f, 2f, 2f);
26+
matrixStack.translate(0.0D, -0.775D, 0.125D / 2D);
27+
elytra.setAngles(livingEntity, 0f, 0f, 0f, 0f, 0f);
28+
VertexConsumer vertexConsumer = ItemRenderer.getDirectItemGlintConsumer(vertexConsumerProvider, elytra.getLayer(NetheriteElytraFeatureRenderer.NETHERITE_ELYTRA_SKIN), false, item.hasGlint());
29+
elytra.render(matrixStack, vertexConsumer, light, OverlayTexture.DEFAULT_UV, 1.0F, 1.0F, 1.0F, 1.0F);
30+
matrixStack.pop();
31+
}
3232
}

fabric/src/main/java/com/oroarmor/netherite_plus/item/NetheriteElytraItem_Trinkets.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
import java.util.List;
44
import com.oroarmor.netherite_plus.compatibility.NetheritePlusTrinketsRenderer;
55
import com.oroarmor.netherite_plus.config.NetheritePlusConfig;
6-
import dev.emi.trinkets.api.Slots;
7-
import dev.emi.trinkets.api.Trinket;
8-
import dev.emi.trinkets.api.TrinketItem;
6+
import dev.emi.trinkets.api.*;
7+
98
import net.fabricmc.api.EnvType;
109
import net.fabricmc.api.Environment;
1110
import net.minecraft.block.DispenserBlock;
@@ -54,13 +53,11 @@ public void onUnequip(PlayerEntity player, ItemStack stack) {
5453
@Environment(EnvType.CLIENT)
5554
@Override
5655
public void render(String slot, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int light, PlayerEntityModel<AbstractClientPlayerEntity> model, AbstractClientPlayerEntity livingEntity, float headYaw, float headPitch) {
57-
58-
NetheritePlusTrinketsRenderer.renderTrinketsElytra(matrixStack, vertexConsumerProvider, light, livingEntity, this);
56+
NetheritePlusTrinketsRenderer.renderTrinketsElytra(matrixStack, vertexConsumerProvider, light, livingEntity, TrinketsApi.getTrinketComponent(livingEntity).getStack(slot));
5957
}
6058

6159
@Override
6260
public TypedActionResult<ItemStack> use(World world, PlayerEntity player, Hand hand) {
6361
return Trinket.equipTrinket(player, hand);
6462
}
65-
6663
}

0 commit comments

Comments
 (0)