Jump to content

Custom regeneration effect / regen on tick? (1.16.5)


djofox

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 comment
Share on other sites

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

Announcements



×
×
  • Create New...

Important Information

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