Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Custom regeneration effect / regen on tick? (1.16.5)


Recommended Posts

So basically I want to give the player a regeneration effect when they're wearing an armour piece I made, but the onArmorTick will rapidly give the player regeneration, disabling the delay and maxing out their health almost instantly. I had this problem with the health boost effect so I made a custom potion effect for that, but the regeneration effect is harder to do. I'm wondering if I need to figure out how to create the custom regeneration effect, or if theres another bypass I can do.

Heres the code I have for it (Only the iron crown and shulker crown I have difficulty with):

	@Override
	public void onArmorTick(ItemStack stack, World world, PlayerEntity player) {
		if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.LEATHER_CROWN.get())
				&& player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.LEATHER_CHESTPLATE)
				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.LEATHER_LEGGINGS)
				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.LEATHER_BOOTS)) {
				player.addPotionEffect(new EffectInstance(Effects.HASTE, 15, 1, false, false));
			}
		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.LEATHER_CROWN.get())) {
			player.addPotionEffect(new EffectInstance(Effects.HASTE, 15, 0, false, false));
		}
		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.CHAINMAIL_CROWN.get())
				&& player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.CHAINMAIL_CHESTPLATE)
				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.CHAINMAIL_LEGGINGS)
				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.CHAINMAIL_BOOTS)) {
				player.addPotionEffect(new EffectInstance(Effects.RESISTANCE, 15, 1, false, false));
			}
		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.CHAINMAIL_CROWN.get())) {
			player.addPotionEffect(new EffectInstance(Effects.RESISTANCE, 15, 0, false, false));
		}
		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.GOLD_CROWN.get())
				&& player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.GOLDEN_CHESTPLATE)
				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.GOLDEN_LEGGINGS)
				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.GOLDEN_BOOTS)) {
				player.addPotionEffect(new EffectInstance(PotionList.MORE_HEALTH_EFFECT.get(), 15, 1, false, false));
				player.addPotionEffect(new EffectInstance(Effects.HERO_OF_THE_VILLAGE, 15, 0, false, false));
			}
		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.GOLD_CROWN.get())) {
			player.addPotionEffect(new EffectInstance(PotionList.MORE_HEALTH_EFFECT.get(), 15, 0, false, false));
		}
		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.IRON_CROWN.get())
				&& player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.IRON_CHESTPLATE)
				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.IRON_LEGGINGS)
				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.IRON_BOOTS)) {
				player.addPotionEffect(new EffectInstance(Effects.REGENERATION, 15, 0, false, false));
				player.addPotionEffect(new EffectInstance(Effects.SPEED, 15, 1, false, false));

			}
		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.IRON_CROWN.get())) {
			player.addPotionEffect(new EffectInstance(Effects.SPEED, 15, 0, false, false));
		}
		else if (player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.DIAMOND_CHESTPLATE)
				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.DIAMOND_LEGGINGS)
				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.DIAMOND_BOOTS)
				&& player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.DIAMOND_CROWN.get())) {
				player.addPotionEffect(new EffectInstance(Effects.CONDUIT_POWER, 15, 0, false, false));
				player.addPotionEffect(new EffectInstance(Effects.DOLPHINS_GRACE, 15, 0, false, false));

			}
		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.DIAMOND_CROWN.get())) {
			player.addPotionEffect(new EffectInstance(Effects.CONDUIT_POWER, 15, 0, false, false));
		}
		else if (player.getItemStackFromSlot(EquipmentSlotType.CHEST).getItem().equals(Items.NETHERITE_CHESTPLATE)
				&& player.getItemStackFromSlot(EquipmentSlotType.LEGS).getItem().equals(Items.NETHERITE_LEGGINGS)
				&& player.getItemStackFromSlot(EquipmentSlotType.FEET).getItem().equals(Items.NETHERITE_BOOTS)
				&& player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.NETHERITE_CROWN.get())) {
				player.addPotionEffect(new EffectInstance(Effects.FIRE_RESISTANCE, 15, 0, false, false));
				player.addPotionEffect(new EffectInstance(Effects.STRENGTH, 15, 0, false, false));
				player.addPotionEffect(new EffectInstance(Effects.NIGHT_VISION, 15, 0, false, false));

			}
		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.NETHERITE_CROWN.get())) {
			player.addPotionEffect(new EffectInstance(Effects.FIRE_RESISTANCE, 15, 0, false, false));
		}
		else if (player.getItemStackFromSlot(EquipmentSlotType.HEAD).getItem().equals(ItemInit.SHULKER_CROWN.get())) {
			player.addPotionEffect(new EffectInstance(Effects.REGENERATION, 15, 1, false, false));
			player.addPotionEffect(new EffectInstance(Effects.LEVITATION, 15, 0, false, false));
		}
	}
}

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.