Jump to content

[1.16.4] Check if player wear Armor


Luis_ST

Recommended Posts

Is there a better way to ckeck if a player wears a full armor

i just use this:

 

	private static boolean hasSaphireArmor(PlayerEntity player) {
		
		ItemStack itemHead = player.getItemStackFromSlot(EquipmentSlotType.HEAD);
		ItemStack itemChest = player.getItemStackFromSlot(EquipmentSlotType.CHEST);
		ItemStack itemLegs = player.getItemStackFromSlot(EquipmentSlotType.LEGS);
		ItemStack itemFeet = player.getItemStackFromSlot(EquipmentSlotType.FEET);
		
		ItemStack hasitemHead = new ItemStack(CaveArmor.SAPHIRE_HELMET.get());
		ItemStack hasitemChest = new ItemStack(CaveArmor.SAPHIRE_CHESTPLATE.get());
		ItemStack hasitemLegs = new ItemStack(CaveArmor.SAPHIRE_LEGGINS.get());
		ItemStack hasitemFeet = new ItemStack(CaveArmor.SAPHIRE_BOOTS.get());
		
		if (itemHead.equals(hasitemHead, true)) {
			
			if (itemChest.equals(hasitemChest, true)) {
				
				if (itemLegs.equals(hasitemLegs, true)) {
					
					if (itemFeet.equals(hasitemFeet, true)) {
						
						return true;
						
					} else {
						
						return false;
						
					}
					
				} else {
					
					return false;
					
				}
				
			} else {
				
				return false;
				
			}
			
		} else {
			
			return false;
			
		}
		
	}

 

Link to comment
Share on other sites

41 minutes ago, diesieben07 said:

How about just getting the worn stack's item and comparing it against yours, instead of constructing new item stacks every time?

Also, you should learn about the && operator.

I know my code isn't the shortest, but I mean is there a method like player.wearArmor or something like this

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.