11package dev .overgrown .thaumaturge .item ;
22
33import net .minecraft .client .item .TooltipContext ;
4- import net .minecraft .entity .Entity ;
54import net .minecraft .entity .EquipmentSlot ;
65import net .minecraft .entity .player .PlayerEntity ;
7- import net .minecraft .item .ArmorItem ;
8- import net .minecraft .item .ArmorMaterial ;
6+ import net .minecraft .item .Equipment ;
7+ import net .minecraft .item .Item ;
98import net .minecraft .item .ItemStack ;
9+ import net .minecraft .sound .SoundEvent ;
10+ import net .minecraft .sound .SoundEvents ;
1011import net .minecraft .text .Text ;
1112import net .minecraft .util .Formatting ;
1213import net .minecraft .world .World ;
1314import org .jetbrains .annotations .Nullable ;
1415
1516import java .util .List ;
1617
17- public class AethericGogglesItem extends ArmorItem {
18- // Custom armor material with zero protection
19- private static final ArmorMaterial AETHERIC_MATERIAL = new SimpleArmorMaterial ("aetheric" , 0 , new int []{0 , 0 , 0 , 0 }, 0 , 0 , 0 );
20-
18+ public class AethericGogglesItem extends Item implements Equipment {
2119 public AethericGogglesItem () {
22- super (AETHERIC_MATERIAL , Type . HELMET , new Settings ().maxCount (1 ));
20+ super (new Settings ().maxCount (1 ));
2321 }
2422
2523 @ Override
@@ -28,20 +26,19 @@ public void appendTooltip(ItemStack stack, @Nullable World world, List<Text> too
2826 tooltip .add (Text .translatable ("item.thaumaturge.aetheric_goggles.tooltip" ).formatted (Formatting .GRAY ));
2927 }
3028
31- @ Override
32- public void inventoryTick (ItemStack stack , World world , Entity entity , int slot , boolean selected ) {
33- super .inventoryTick (stack , world , entity , slot , selected );
34-
35- // Only update when worn in helmet slot
36- if (entity instanceof PlayerEntity player &&
37- player .getEquippedStack (EquipmentSlot .HEAD ).getItem () == this ) {
38- // Add any special effects when worn
39- }
40- }
41-
4229 public static boolean isWearingGoggles (PlayerEntity player ) {
4330 if (player == null ) return false ;
4431 ItemStack headStack = player .getEquippedStack (EquipmentSlot .HEAD );
4532 return headStack .getItem () instanceof AethericGogglesItem ;
4633 }
34+
35+ @ Override
36+ public EquipmentSlot getSlotType () {
37+ return EquipmentSlot .HEAD ;
38+ }
39+
40+ @ Override
41+ public SoundEvent getEquipSound () {
42+ return SoundEvents .ITEM_ARMOR_EQUIP_LEATHER ;
43+ }
4744}
0 commit comments