2018-10-14 17:46:00 +02:00
|
|
|
package de.ellpeck.naturesaura.items;
|
|
|
|
|
2021-12-15 16:24:53 +01:00
|
|
|
import com.mojang.blaze3d.vertex.PoseStack;
|
2023-07-08 12:32:27 +02:00
|
|
|
import com.mojang.math.Axis;
|
2018-11-21 20:36:55 +01:00
|
|
|
import de.ellpeck.naturesaura.api.render.ITrinketItem;
|
2020-01-29 19:04:33 +01:00
|
|
|
import net.minecraft.client.Minecraft;
|
2021-12-15 16:24:53 +01:00
|
|
|
import net.minecraft.client.renderer.MultiBufferSource;
|
2020-01-29 19:04:33 +01:00
|
|
|
import net.minecraft.client.renderer.texture.OverlayTexture;
|
2021-12-15 16:24:53 +01:00
|
|
|
import net.minecraft.world.entity.EquipmentSlot;
|
|
|
|
import net.minecraft.world.entity.player.Player;
|
2023-07-08 12:32:27 +02:00
|
|
|
import net.minecraft.world.item.ItemDisplayContext;
|
2021-12-15 16:24:53 +01:00
|
|
|
import net.minecraft.world.item.ItemStack;
|
2019-10-20 22:30:49 +02:00
|
|
|
import net.minecraftforge.api.distmarker.Dist;
|
|
|
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
2018-10-21 14:42:30 +02:00
|
|
|
|
2020-01-26 01:41:49 +01:00
|
|
|
public class ItemEye extends ItemImpl implements ITrinketItem {
|
2018-10-14 17:46:00 +02:00
|
|
|
|
2020-01-26 01:41:49 +01:00
|
|
|
public ItemEye(String name) {
|
2021-12-15 16:24:53 +01:00
|
|
|
super(name, new Properties().stacksTo(1));
|
2018-10-14 17:46:00 +02:00
|
|
|
}
|
2018-10-21 14:42:30 +02:00
|
|
|
|
|
|
|
@Override
|
2019-10-20 22:30:49 +02:00
|
|
|
@OnlyIn(Dist.CLIENT)
|
2021-12-15 16:24:53 +01:00
|
|
|
public void render(ItemStack stack, Player player, RenderType type, PoseStack matrices, MultiBufferSource buffer, int packedLight, boolean isHolding) {
|
2018-11-02 21:10:53 +01:00
|
|
|
if (type == RenderType.BODY && !isHolding) {
|
2021-12-15 16:30:22 +01:00
|
|
|
var armor = !player.getInventory().armor.get(EquipmentSlot.CHEST.getIndex()).isEmpty();
|
2020-01-29 19:04:33 +01:00
|
|
|
matrices.translate(0.1F, 0.225F, armor ? -0.195F : -0.1475F);
|
|
|
|
matrices.scale(0.3F, 0.3F, 0.3F);
|
2023-07-08 12:32:27 +02:00
|
|
|
matrices.mulPose(Axis.XP.rotationDegrees(180));
|
|
|
|
Minecraft.getInstance().getItemRenderer().renderStatic(stack, ItemDisplayContext.GROUND, packedLight, OverlayTexture.NO_OVERLAY, matrices, buffer, player.level(), 0);
|
2018-10-21 14:42:30 +02:00
|
|
|
}
|
|
|
|
}
|
2018-10-14 17:46:00 +02:00
|
|
|
}
|