Jump to content

[1.12.2] Add effects if full armor is equipped[SOLVED]


supreme marshal

Recommended Posts

So I have no idea why this is not working when it should. I just want to add Resistance III when full dragon armor is equipped.

 

package com.SupremeMarshal.MoreToolsTierMod.objects.armor;

import com.SupremeMarshal.MoreToolsTierMod.Main;
import com.SupremeMarshal.MoreToolsTierMod.init.ModItems;
import com.SupremeMarshal.MoreToolsTierMod.util.interfaces.IHasModel;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;


public class DragonArmorBase extends ItemArmor implements IHasModel
{

	public DragonArmorBase(String name, ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) {
		super(materialIn, renderIndexIn, equipmentSlotIn);
		setUnlocalizedName(name);
		setRegistryName(name);
		setCreativeTab(CreativeTabs.COMBAT);
		

		
		ModItems.ITEMS.add(this);
	}
	@Override
	public void registerModels() 
	{
		Main.proxy.registerItemRenderer(this, 0, "inventory");
	}
	///add potion effect to full set of armor
	@Override
	public void onArmorTick(World world, EntityPlayer player, ItemStack item)
	{
		if(player.inventory.armorItemInSlot(0) != null &&
			player.inventory.armorItemInSlot(1) != null && 
			player.inventory.armorItemInSlot(2) != null &&
			player.inventory.armorItemInSlot(3) != null)
		{
			if(player.inventory.armorItemInSlot(0).getItem() == ModItems.DRAGON_BODY &&
				player.inventory.armorItemInSlot(1).getItem() == ModItems.DRAGON_LEGS && 
				player.inventory.armorItemInSlot(2).getItem() == ModItems.DRAGON_BOOTS &&
				player.inventory.armorItemInSlot(3).getItem() == ModItems.DRAGON_HELM)
			{
				player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 2, 0));
			}
		}
	}
	

}

 

I had also a problem about giving health and regeneration when full armor set is equipped but now it's all solved.

 

Here is my final codes:

package com.SupremeMarshal.MoreToolsTierMod.objects.armor;

import java.util.UUID;

import com.SupremeMarshal.MoreToolsTierMod.Main;
import com.SupremeMarshal.MoreToolsTierMod.init.ItemInit;
import com.SupremeMarshal.MoreToolsTierMod.util.interfaces.IHasModel;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.ai.attributes.BaseAttribute;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.potion.PotionType;
import net.minecraft.world.World;


public class DragonArmorBase extends ItemArmor implements IHasModel
{

	public DragonArmorBase(String name, ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) {
		super(materialIn, renderIndexIn, equipmentSlotIn);
		setUnlocalizedName(name);
		setRegistryName(name);
		setCreativeTab(CreativeTabs.COMBAT);
		

		
		ItemInit.ITEMS.add(this);
	}
	@Override
	public void registerModels() 
	{
		Main.proxy.registerItemRenderer(this, 0, "inventory");
	}
	
//////UUID//////
	//DRAGON ARMOR//
		//HEALTH// -- Total = 40 Health
	protected static final UUID MAX_HEALTH_DFULL_UUID = UUID.fromString("fdd721e0-bcb0-4963-9c03-ace14c6ceae4");
	private static final AttributeModifier HEALTH_BOOST_DFULL = new AttributeModifier (MAX_HEALTH_DFULL_UUID, "MAX_HEALTH_DFULL_UUID", 10, 0); 
	
	protected static final UUID MAX_HEALTH_DHELM_UUID = UUID.fromString("cfb80931-3fc9-4e5a-9760-213aee2dce98");
	private static final AttributeModifier HEALTH_BOOST_DHELM = new AttributeModifier (MAX_HEALTH_DHELM_UUID, "MAX_HEALTH_DHELM_UUID", 5, 0);
	
	protected static final UUID MAX_HEALTH_DBODY_UUID = UUID.fromString("122785ee-9867-4ace-af8b-745932039e73");
	private static final AttributeModifier HEALTH_BOOST_DBODY = new AttributeModifier (MAX_HEALTH_DBODY_UUID, "MAX_HEALTH_DBODY_UUID", 10, 0);
	
	protected static final UUID MAX_HEALTH_DLEGS_UUID = UUID.fromString("a5c77a84-5a15-4752-9f07-599a3a2e4c9f");
	private static final AttributeModifier HEALTH_BOOST_DLEGS = new AttributeModifier (MAX_HEALTH_DLEGS_UUID, "MAX_HEALTH_DLEGS_UUID", 10, 0);
	
	protected static final UUID MAX_HEALTH_DBOOTS_UUID = UUID.fromString("f3fb329d-4923-4aa1-bef8-d0728f4b7abd");
	private static final AttributeModifier HEALTH_BOOST_DBOOTS = new AttributeModifier (MAX_HEALTH_DBOOTS_UUID, "MAX_HEALTH_DBOOTS_UUID", 5, 0);
	
		//KNOCKBACK RESISTANCE -- Total = 80%
	protected static final UUID KNOCKBACK_RESISTANCE_DFULL_UUID = UUID.fromString("a5f4ce17-c5b7-4791-979c-b55018c2e89c");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_DFULL = new AttributeModifier (KNOCKBACK_RESISTANCE_DFULL_UUID, "KNOCKBACK_RESISTANCE_DFULL_UUID", 20, 0); 
	
	protected static final UUID KNOCKBACK_RESISTANCE_DHELM_UUID = UUID.fromString("5619ab81-25e6-43e1-85e8-0a11be2b0bcd");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_DHELM = new AttributeModifier (KNOCKBACK_RESISTANCE_DHELM_UUID, "KNOCKBACK_RESISTANCE_DHELM_UUID", 10, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_DBODY_UUID = UUID.fromString("ecec32f1-c5b5-4921-98ba-e1717a3befa4");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_DBODY = new AttributeModifier (KNOCKBACK_RESISTANCE_DBODY_UUID, "KNOCKBACK_RESISTANCE_DBODY_UUID", 20, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_DLEGS_UUID = UUID.fromString("1726437a-2fba-42b9-a3f7-56a777740037");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_DLEGS = new AttributeModifier (KNOCKBACK_RESISTANCE_DLEGS_UUID, "KNOCKBACK_RESISTANCE_DLEGS_UUID", 20, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_DBOOTS_UUID = UUID.fromString("7ffe2d12-c540-407b-8df6-101450ab8a5b");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_DBOOTS = new AttributeModifier (KNOCKBACK_RESISTANCE_DBOOTS_UUID, "KNOCKBACK_RESISTANCE_DBOOTS_UUID", 10, 0);
	
	//RUNE ARMOR//
		//HEALTH// == Total = 30 Health
	protected static final UUID MAX_HEALTH_RFULL_UUID = UUID.fromString("a0e262b5-076c-44c8-bb79-f78a6d534f91");
	private static final AttributeModifier HEALTH_BOOST_RFULL = new AttributeModifier (MAX_HEALTH_RFULL_UUID, "MAX_HEALTH_RFULL_UUID", 7, 0); 
	
	protected static final UUID MAX_HEALTH_RHELM_UUID = UUID.fromString("0a1676a7-3214-4f76-8c4e-7534c8f13941");
	private static final AttributeModifier HEALTH_BOOST_RHELM = new AttributeModifier (MAX_HEALTH_RHELM_UUID, "MAX_HEALTH_RHELM_UUID", 4, 0);
	
	protected static final UUID MAX_HEALTH_RBODY_UUID = UUID.fromString("55d9df5c-62e7-4723-906f-fb1a71082ffa");
	private static final AttributeModifier HEALTH_BOOST_RBODY = new AttributeModifier (MAX_HEALTH_RBODY_UUID, "MAX_HEALTH_RBODY_UUID", 8, 0);
	
	protected static final UUID MAX_HEALTH_RLEGS_UUID = UUID.fromString("fac0ccb6-401a-4a81-b32d-697e63c60635");
	private static final AttributeModifier HEALTH_BOOST_RLEGS = new AttributeModifier (MAX_HEALTH_RLEGS_UUID, "MAX_HEALTH_RLEGS_UUID", 7, 0);
	
	protected static final UUID MAX_HEALTH_RBOOTS_UUID = UUID.fromString("6a92e0f4-900f-45c8-811c-2f9331a988ae");
	private static final AttributeModifier HEALTH_BOOST_RBOOTS = new AttributeModifier (MAX_HEALTH_RBOOTS_UUID, "MAX_HEALTH_RBOOTS_UUID", 4, 0);
	
		//KNOCKBACK RESISTANCE -- Total = 60%
	protected static final UUID KNOCKBACK_RESISTANCE_RFULL_UUID = UUID.fromString("f8c6fea8-0722-4995-ab3a-dac616080b0b");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_RFULL = new AttributeModifier (KNOCKBACK_RESISTANCE_RFULL_UUID, "KNOCKBACK_RESISTANCE_RFULL_UUID", 15, 0); 
	
	protected static final UUID KNOCKBACK_RESISTANCE_RHELM_UUID = UUID.fromString("f8215f0e-c22a-4c66-af66-94d50b8ed73c");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_RHELM = new AttributeModifier (KNOCKBACK_RESISTANCE_RHELM_UUID, "KNOCKBACK_RESISTANCE_RHELM_UUID", 8, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_RBODY_UUID = UUID.fromString("743d9294-493d-4741-85b0-b469cbd7f5fa");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_RBODY = new AttributeModifier (KNOCKBACK_RESISTANCE_RBODY_UUID, "KNOCKBACK_RESISTANCE_RBODY_UUID", 15, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_RLEGS_UUID = UUID.fromString("448ac581-0bf5-41ac-99ff-152a173cb66c");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_RLEGS = new AttributeModifier (KNOCKBACK_RESISTANCE_RLEGS_UUID, "KNOCKBACK_RESISTANCE_RLEGS_UUID", 14, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_RBOOTS_UUID = UUID.fromString("d084a93a-1d56-4460-92e4-2982ecc0070a");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_RBOOTS = new AttributeModifier (KNOCKBACK_RESISTANCE_RBOOTS_UUID, "KNOCKBACK_RESISTANCE_RBOOTS_UUID", 8, 0);
	
	//ADAMANT ARMOR//
		//HEALTH// == Total = 20 Health
	protected static final UUID MAX_HEALTH_AFULL_UUID = UUID.fromString("d06e64c4-2828-4fde-bef2-7165b566fbe5");
	private static final AttributeModifier HEALTH_BOOST_AFULL = new AttributeModifier (MAX_HEALTH_AFULL_UUID, "MAX_HEALTH_AFULL_UUID", 5, 0); 
	
	protected static final UUID MAX_HEALTH_AHELM_UUID = UUID.fromString("911368e8-e5bd-46ff-a3d3-13685d1493da");
	private static final AttributeModifier HEALTH_BOOST_AHELM = new AttributeModifier (MAX_HEALTH_AHELM_UUID, "MAX_HEALTH_AHELM_UUID", 3, 0);
	
	protected static final UUID MAX_HEALTH_ABODY_UUID = UUID.fromString("8addf34c-882f-4c94-88aa-04e5c78ff2f3");
	private static final AttributeModifier HEALTH_BOOST_ABODY = new AttributeModifier (MAX_HEALTH_ABODY_UUID, "MAX_HEALTH_ABODY_UUID", 5, 0);
	
	protected static final UUID MAX_HEALTH_ALEGS_UUID = UUID.fromString("0a16b40e-aa4a-4be3-abb9-3ea38d7c8c35");
	private static final AttributeModifier HEALTH_BOOST_ALEGS = new AttributeModifier (MAX_HEALTH_ALEGS_UUID, "MAX_HEALTH_ALEGS_UUID", 4, 0);
	
	protected static final UUID MAX_HEALTH_ABOOTS_UUID = UUID.fromString("c3a3b300-d7ad-4bc4-87b6-8cd788975261");
	private static final AttributeModifier HEALTH_BOOST_ABOOTS = new AttributeModifier (MAX_HEALTH_ABOOTS_UUID, "MAX_HEALTH_ABOOTS_UUID", 3, 0);
		
		//KNOCKBACK RESISTANCE -- Total = 40%
	protected static final UUID KNOCKBACK_RESISTANCE_AFULL_UUID = UUID.fromString("772d851e-71cf-4021-9f99-17ae650a230f");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_AFULL = new AttributeModifier (KNOCKBACK_RESISTANCE_AFULL_UUID, "KNOCKBACK_RESISTANCE_AFULL_UUID", 9, 0); 
	
	protected static final UUID KNOCKBACK_RESISTANCE_AHELM_UUID = UUID.fromString("6ffbd625-2a36-49b8-b752-b3c267f63577");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_AHELM = new AttributeModifier (KNOCKBACK_RESISTANCE_AHELM_UUID, "KNOCKBACK_RESISTANCE_AHELM_UUID", 6, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_ABODY_UUID = UUID.fromString("08a7a3d4-456b-482b-ae5c-e832d8749eb0");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_ABODY = new AttributeModifier (KNOCKBACK_RESISTANCE_ABODY_UUID, "KNOCKBACK_RESISTANCE_ABODY_UUID", 10, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_ALEGS_UUID = UUID.fromString("d10b9e4b-0712-4d07-9000-89896b9c8b9d");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_ALEGS = new AttributeModifier (KNOCKBACK_RESISTANCE_ALEGS_UUID, "KNOCKBACK_RESISTANCE_ALEGS_UUID", 9, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_ABOOTS_UUID = UUID.fromString("385650fc-a5c6-4223-8338-ef04ebbfcdd0");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_ABOOTS = new AttributeModifier (KNOCKBACK_RESISTANCE_ABOOTS_UUID, "KNOCKBACK_RESISTANCE_ABOOTS_UUID", 6, 0);
	
	//MITHRIL ARMOR//
		//HEALTH// == Total = 10 Health
	protected static final UUID MAX_HEALTH_MFULL_UUID = UUID.fromString("c089b172-9445-4a3f-b1a9-72ead6d595bb");
	private static final AttributeModifier HEALTH_BOOST_MFULL = new AttributeModifier (MAX_HEALTH_MFULL_UUID, "MAX_HEALTH_MFULL_UUID", 3, 0); 
	
	protected static final UUID MAX_HEALTH_MHELM_UUID = UUID.fromString("fede80f4-36f0-4d6b-aa9b-f19a14562e1f");
	private static final AttributeModifier HEALTH_BOOST_MHELM = new AttributeModifier (MAX_HEALTH_MHELM_UUID, "MAX_HEALTH_MHELM_UUID", 1, 0);
	
	protected static final UUID MAX_HEALTH_MBODY_UUID = UUID.fromString("6e0a9314-c2ea-43af-a186-275001c96c6c");
	private static final AttributeModifier HEALTH_BOOST_MBODY = new AttributeModifier (MAX_HEALTH_MBODY_UUID, "MAX_HEALTH_MBODY_UUID", 3, 0);
	
	protected static final UUID MAX_HEALTH_MLEGS_UUID = UUID.fromString("e65314f2-5b22-4906-8f6e-78e537e63fa6");
	private static final AttributeModifier HEALTH_BOOST_MLEGS = new AttributeModifier (MAX_HEALTH_MLEGS_UUID, "MAX_HEALTH_MLEGS_UUID", 2, 0);
	
	protected static final UUID MAX_HEALTH_MBOOTS_UUID = UUID.fromString("c74f0334-f073-41f2-bfbe-381a8e778278");
	private static final AttributeModifier HEALTH_BOOST_MBOOTS = new AttributeModifier (MAX_HEALTH_MBOOTS_UUID, "MAX_HEALTH_MBOOTS_UUID", 1, 0);
		//KNOCKBACK RESISTANCE -- Total = 20%
	protected static final UUID KNOCKBACK_RESISTANCE_MFULL_UUID = UUID.fromString("8a374b9a-cd6b-4945-8e1b-1e7654ea3205");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_MFULL = new AttributeModifier (KNOCKBACK_RESISTANCE_MFULL_UUID, "KNOCKBACK_RESISTANCE_MFULL_UUID", 5, 0); 
	
	protected static final UUID KNOCKBACK_RESISTANCE_MHELM_UUID = UUID.fromString("551c19fb-99ed-4bfd-88dc-b627f83fe3fa");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_MHELM = new AttributeModifier (KNOCKBACK_RESISTANCE_MHELM_UUID, "KNOCKBACK_RESISTANCE_MHELM_UUID", 3, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_MBODY_UUID = UUID.fromString("8b86e5c0-94ba-44ec-9a60-637e7e8380e0");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_MBODY = new AttributeModifier (KNOCKBACK_RESISTANCE_MBODY_UUID, "KNOCKBACK_RESISTANCE_MBODY_UUID", 5, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_MLEGS_UUID = UUID.fromString("807f3922-1511-40ed-a458-f3b6c57d2718");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_MLEGS = new AttributeModifier (KNOCKBACK_RESISTANCE_MLEGS_UUID, "KNOCKBACK_RESISTANCE_MLEGS_UUID", 4, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_MBOOTS_UUID = UUID.fromString("7a19419a-9c07-4b9b-947c-e87a9a93a627");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_MBOOTS = new AttributeModifier (KNOCKBACK_RESISTANCE_MBOOTS_UUID, "KNOCKBACK_RESISTANCE_MBOOTS_UUID", 3, 0);
	
	//THIRD AGE ARMOR//
		//HEALTH// == Total = 80 Health
	protected static final UUID MAX_HEALTH_3FULL_UUID = UUID.fromString("c089b172-9445-4a3f-b1a9-72ead6d595bb");
	private static final AttributeModifier HEALTH_BOOST_3FULL = new AttributeModifier (MAX_HEALTH_3FULL_UUID, "MAX_HEALTH_3FULL_UUID", 20, 0); 
	
	protected static final UUID MAX_HEALTH_3HELM_UUID = UUID.fromString("fede80f4-36f0-4d6b-aa9b-f19a14562e1f");
	private static final AttributeModifier HEALTH_BOOST_3HELM = new AttributeModifier (MAX_HEALTH_3HELM_UUID, "MAX_HEALTH_3HELM_UUID", 10, 0);
	
	protected static final UUID MAX_HEALTH_3BODY_UUID = UUID.fromString("6e0a9314-c2ea-43af-a186-275001c96c6c");
	private static final AttributeModifier HEALTH_BOOST_3BODY = new AttributeModifier (MAX_HEALTH_3BODY_UUID, "MAX_HEALTH_3BODY_UUID", 20, 0);
	
	protected static final UUID MAX_HEALTH_3LEGS_UUID = UUID.fromString("e65314f2-5b22-4906-8f6e-78e537e63fa6");
	private static final AttributeModifier HEALTH_BOOST_3LEGS = new AttributeModifier (MAX_HEALTH_3LEGS_UUID, "MAX_HEALTH_3LEGS_UUID", 20, 0);
	
	protected static final UUID MAX_HEALTH_3BOOTS_UUID = UUID.fromString("c74f0334-f073-41f2-bfbe-381a8e778278");
	private static final AttributeModifier HEALTH_BOOST_3BOOTS = new AttributeModifier (MAX_HEALTH_3BOOTS_UUID, "MAX_HEALTH_3BOOTS_UUID", 10, 0);
				
		//KNOCKBACK RESISTANCE -- Total = 90%
	protected static final UUID KNOCKBACK_RESISTANCE_3FULL_UUID = UUID.fromString("8a374b9a-cd6b-4945-8e1b-1e7654ea3205");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_3FULL = new AttributeModifier (KNOCKBACK_RESISTANCE_3FULL_UUID, "KNOCKBACK_RESISTANCE_3FULL_UUID", 21, 0); 
	
	protected static final UUID KNOCKBACK_RESISTANCE_3HELM_UUID = UUID.fromString("551c19fb-99ed-4bfd-88dc-b627f83fe3fa");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_3HELM = new AttributeModifier (KNOCKBACK_RESISTANCE_3HELM_UUID, "KNOCKBACK_RESISTANCE_3HELM_UUID", 13, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_3BODY_UUID = UUID.fromString("8b86e5c0-94ba-44ec-9a60-637e7e8380e0");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_3BODY = new AttributeModifier (KNOCKBACK_RESISTANCE_3BODY_UUID, "KNOCKBACK_RESISTANCE_3BODY_UUID", 22, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_3LEGS_UUID = UUID.fromString("807f3922-1511-40ed-a458-f3b6c57d2718");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_3LEGS = new AttributeModifier (KNOCKBACK_RESISTANCE_3LEGS_UUID, "KNOCKBACK_RESISTANCE_3LEGS_UUID", 22, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_3BOOTS_UUID = UUID.fromString("7a19419a-9c07-4b9b-947c-e87a9a93a627");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_3BOOTS = new AttributeModifier (KNOCKBACK_RESISTANCE_3BOOTS_UUID, "KNOCKBACK_RESISTANCE_3BOOTS_UUID", 12, 0);
	
	public static String playerKey(EntityPlayer player)
	{
		return player.getGameProfile().getName() + ":" + player.world.isRemote;
	}
	
	///add effect to set of armor
	@Override
	public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack)
	{
		if(player.inventory.armorItemInSlot(0) != null &&
			player.inventory.armorItemInSlot(1) != null && 
			player.inventory.armorItemInSlot(2) != null &&
			player.inventory.armorItemInSlot(3) != null)
				{
			player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_DFULL);
			player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_DFULL);
			if (player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS &&
				player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS && 
				player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY &&
				player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
			{
				player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_DFULL);
				player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_DFULL);
				player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
				player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 1));
				player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 1));
				{
				if (player.getActivePotionEffect(MobEffects.REGENERATION) == null)
				{
					player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
				}
				if (world.getWorldTime() % 50 > 0)
				{
					return;
				}
					player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
				}
				
				
				
			}
			}
			
		
		
		//check if dragon boots is equipped
		if(player.inventory.armorItemInSlot(0) != null)
			{
			player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_DBOOTS);
			player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_DBOOTS);
			
				if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS)
				{
					player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_DBOOTS);
					player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_DBOOTS);
					player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
					player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 0));
				}
			}
		//check if dragon legs is equipped
				if(player.inventory.armorItemInSlot(1) != null)
					{
					player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_DLEGS);
					player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_DLEGS);
						if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS)
						{
							player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_DLEGS);
							player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_DLEGS);
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if dragon body is equipped
				if(player.inventory.armorItemInSlot(2) != null)
					
					{
					player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_DBODY);
					player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_DBODY);
						if(player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY)
						{
							player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_DBODY);
							player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_DBODY);
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if dragon helm is equipped
				if(player.inventory.armorItemInSlot(3) != null)
					{
					player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_DHELM);
					player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_DHELM);
						if(player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
							player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_DHELM);
							player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_DHELM);
						}
					}
		//check if boots and legs is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(1) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if boots and body is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(2) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if boots and helm is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if legs and body is equipped
				if(player.inventory.armorItemInSlot(1) != null &&
				player.inventory.armorItemInSlot(2) != null)
					{
						if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS && 
						player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if legs and helm is equipped
				if(player.inventory.armorItemInSlot(1) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS && 
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if body and helm is equipped
				if(player.inventory.armorItemInSlot(2) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY && 
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if boots, legs and body is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(1) != null &&
				player.inventory.armorItemInSlot(2) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS &&
						player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
							player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 0));
						}
					}
		//check if legs, body and helm is equipped
				if(player.inventory.armorItemInSlot(1) != null &&
				player.inventory.armorItemInSlot(2) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS && 
						player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY &&
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
							player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 0));
						}
					}
		//check if boots, body and helm is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(2) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY &&
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
							player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 0));
						}
					}
		//check if boots, legs and helm is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(1) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS &&
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
							player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 0));
						}
					}
////// THIRD AGE ///////
				if(player.inventory.armorItemInSlot(0) != null &&
						player.inventory.armorItemInSlot(1) != null && 
						player.inventory.armorItemInSlot(2) != null &&
						player.inventory.armorItemInSlot(3) != null)
					{
					player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_3FULL);
					player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_3FULL);
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.THIRD_AGE_BOOTS &&
							player.inventory.armorItemInSlot(1).getItem() == ItemInit.THIRD_AGE_LEGS && 
							player.inventory.armorItemInSlot(2).getItem() == ItemInit.THIRD_AGE_BODY &&
							player.inventory.armorItemInSlot(3).getItem() == ItemInit.THIRD_AGE_HELM)
						{
							player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_3FULL);
							player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_3FULL);
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 3));
							player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 3));
							player.addPotionEffect(new PotionEffect(MobEffects.LUCK, 0, 3));
							player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 3));
							player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, 0, 3));
							player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 3));
							{
								if (player.getActivePotionEffect(MobEffects.REGENERATION) == null)
								{
									player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 25 , 1));
								}
								if (world.getWorldTime() % 25 > 0)
								{
									return;
								}
									player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 25 , 1));
								}
						}
					}
					
					//check if boots is equipped
					if(player.inventory.armorItemInSlot(0) != null)
						{
						player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_3BOOTS);
						player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_3BOOTS);
							if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.THIRD_AGE_BOOTS)
							{
								player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_3BOOTS);
								player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_3BOOTS);
								player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
								player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 1));
								player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 1));
								{
									if (player.getActivePotionEffect(MobEffects.REGENERATION) == null)
									{
										player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
									}
									if (world.getWorldTime() % 50 > 0)
									{
										return;
									}
										player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
								}
							}
						}
					//check if legs is equipped
							if(player.inventory.armorItemInSlot(1) != null)
								{
								player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_3LEGS);
								player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_3LEGS);
									if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.THIRD_AGE_LEGS)
									{
										player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_3LEGS);
										player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_3LEGS);
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 0));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 1));
										{
											if (player.getActivePotionEffect(MobEffects.REGENERATION) == null)
											{
												player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
											}
											if (world.getWorldTime() % 50 > 0)
											{
												return;
											}
												player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
										}
									}
								}
					//check if body is equipped
							if(player.inventory.armorItemInSlot(2) != null)
								{
								player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_3BODY);
								player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_3BODY);
									if(player.inventory.armorItemInSlot(2).getItem() == ItemInit.THIRD_AGE_BODY)
									{
										player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_3BODY);
										player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_3BODY);
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.LUCK, 0, 0));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 1));
										{
											if (player.getActivePotionEffect(MobEffects.REGENERATION) == null)
											{
												player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
											}
											if (world.getWorldTime() % 50 > 0)
											{
												return;
											}
												player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
										}
									}
								}
					//check if helm is equipped
							if(player.inventory.armorItemInSlot(3) != null)
								{
								player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_3HELM);
								player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_3HELM);
									if(player.inventory.armorItemInSlot(3).getItem() == ItemInit.THIRD_AGE_HELM)
									{
										player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_3HELM);
										player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_3HELM);
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, 0, 1));
										{
											if (player.getActivePotionEffect(MobEffects.REGENERATION) == null)
											{
												player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
											}
											if (world.getWorldTime() % 50 > 0)
											{
												return;
											}
												player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
										}
									}
								}
					//check if boots and legs is equipped
							if(player.inventory.armorItemInSlot(0) != null &&
							player.inventory.armorItemInSlot(1) != null)
								{
								player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_3BOOTS);
								player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_3BOOTS);
									if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.THIRD_AGE_BOOTS && 
									player.inventory.armorItemInSlot(1).getItem() == ItemInit.THIRD_AGE_LEGS)
									{
										player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_3BOOTS);
										player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_3BOOTS);
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 2));
									}
								}
					//check if boots and body is equipped
							if(player.inventory.armorItemInSlot(0) != null &&
							player.inventory.armorItemInSlot(2) != null)
								{
									if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.THIRD_AGE_BOOTS && 
									player.inventory.armorItemInSlot(2).getItem() == ItemInit.THIRD_AGE_BODY)
									{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.LUCK, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 2));
									}
								}
					//check if boots and helm is equipped
							if(player.inventory.armorItemInSlot(0) != null &&
							player.inventory.armorItemInSlot(3) != null)
								{
									if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.THIRD_AGE_BOOTS && 
									player.inventory.armorItemInSlot(3).getItem() == ItemInit.THIRD_AGE_HELM)
									{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 2));
										
										
									}
								}
					//check if legs and body is equipped
							if(player.inventory.armorItemInSlot(1) != null &&
							player.inventory.armorItemInSlot(2) != null)
								{
									if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.THIRD_AGE_LEGS && 
									player.inventory.armorItemInSlot(2).getItem() == ItemInit.THIRD_AGE_BODY)
									{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.LUCK, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 2));
									}
								}
					//check if legs and helm is equipped
							if(player.inventory.armorItemInSlot(1) != null &&
							player.inventory.armorItemInSlot(3) != null)
								{
									if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.THIRD_AGE_LEGS && 
									player.inventory.armorItemInSlot(3).getItem() == ItemInit.THIRD_AGE_HELM)
									{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 2));
									}
								}
					//check if body and helm is equipped
							if(player.inventory.armorItemInSlot(2) != null &&
							player.inventory.armorItemInSlot(3) != null)
								{
									if(player.inventory.armorItemInSlot(2).getItem() == ItemInit.THIRD_AGE_BODY && 
									player.inventory.armorItemInSlot(3).getItem() == ItemInit.THIRD_AGE_HELM)
									{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.LUCK, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, 0, 2));
									}
								}
					//check if boots, legs and body is equipped
							if(player.inventory.armorItemInSlot(0) != null &&
							player.inventory.armorItemInSlot(1) != null &&
							player.inventory.armorItemInSlot(2) != null)
								{
									if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.THIRD_AGE_BOOTS && 
									player.inventory.armorItemInSlot(1).getItem() == ItemInit.THIRD_AGE_LEGS &&
									player.inventory.armorItemInSlot(2).getItem() == ItemInit.THIRD_AGE_BODY)
									{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.LUCK, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 3));
										player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 2));
									}
								}
					//check if legs, body and helm is equipped
							if(player.inventory.armorItemInSlot(1) != null &&
							player.inventory.armorItemInSlot(2) != null &&
							player.inventory.armorItemInSlot(3) != null)
								{
									if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.THIRD_AGE_LEGS && 
									player.inventory.armorItemInSlot(2).getItem() == ItemInit.THIRD_AGE_BODY &&
									player.inventory.armorItemInSlot(3).getItem() == ItemInit.THIRD_AGE_HELM)
									{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.LUCK, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, 0, 2));
										
									}
								}
					//check if boots, body and helm is equipped
							if(player.inventory.armorItemInSlot(0) != null &&
							player.inventory.armorItemInSlot(2) != null &&
							player.inventory.armorItemInSlot(3) != null)
								{
									if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.THIRD_AGE_BOOTS && 
									player.inventory.armorItemInSlot(2).getItem() == ItemInit.THIRD_AGE_BODY &&
									player.inventory.armorItemInSlot(3).getItem() == ItemInit.THIRD_AGE_HELM)
									{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.LUCK, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, 0, 2));
									}
								}
					//check if boots, legs and helm is equipped
							if(player.inventory.armorItemInSlot(0) != null &&
							player.inventory.armorItemInSlot(1) != null &&
							player.inventory.armorItemInSlot(3) != null)
								{
									if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.THIRD_AGE_BOOTS && 
									player.inventory.armorItemInSlot(1).getItem() == ItemInit.THIRD_AGE_LEGS &&
									player.inventory.armorItemInSlot(3).getItem() == ItemInit.THIRD_AGE_HELM)
									{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.NIGHT_VISION, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 2));
										player.addPotionEffect(new PotionEffect(MobEffects.SPEED, 0, 3));
									}
								}
//// RUNE ////
							if(player.inventory.armorItemInSlot(0) != null &&
									player.inventory.armorItemInSlot(1) != null && 
									player.inventory.armorItemInSlot(2) != null &&
									player.inventory.armorItemInSlot(3) != null)
								{
								player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_RFULL);
								player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_RFULL);
									if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.RUNE_BOOTS &&
										player.inventory.armorItemInSlot(1).getItem() == ItemInit.RUNE_LEGS && 
										player.inventory.armorItemInSlot(2).getItem() == ItemInit.RUNE_BODY &&
										player.inventory.armorItemInSlot(3).getItem() == ItemInit.RUNE_HELM)
									{
										player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_RFULL);
										player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_RFULL);
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
										player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 0));
										player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 0));
									}
								}
								
								//check if boots is equipped
								if(player.inventory.armorItemInSlot(0) != null)
									{
									player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_RBOOTS);
									player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_RBOOTS);
										if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.RUNE_BOOTS)
										{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_RBOOTS);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_RBOOTS);
										}
									}
								//check if legs is equipped
								if(player.inventory.armorItemInSlot(1) != null)
									{
									player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_RLEGS);
									player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_RLEGS);
										if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.RUNE_LEGS)
										{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_RBOOTS);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_RBOOTS);
										}
									}
								//check if body is equipped
								if(player.inventory.armorItemInSlot(2) != null)
									{
									player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_RBODY);
									player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_RBODY);
										if(player.inventory.armorItemInSlot(2).getItem() == ItemInit.RUNE_BODY)
										{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_RBODY);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_RBODY);
										}
									}
								//check if helm is equipped
								if(player.inventory.armorItemInSlot(3) != null)
									{
									player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_RHELM);
									player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_RHELM);
										if(player.inventory.armorItemInSlot(3).getItem() == ItemInit.RUNE_HELM)
										{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_RHELM);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_RHELM);
										}
									}
								//check if boots and legs is equipped
								if(player.inventory.armorItemInSlot(0) != null &&
								   player.inventory.armorItemInSlot(1) != null)
									{
										if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.RUNE_BOOTS && 
									       player.inventory.armorItemInSlot(1).getItem() == ItemInit.RUNE_LEGS)
										{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
										}
									}
								//check if boots and body is equipped
								if(player.inventory.armorItemInSlot(0) != null &&
								player.inventory.armorItemInSlot(2) != null)
									{
										if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.RUNE_BOOTS && 
										   player.inventory.armorItemInSlot(2).getItem() == ItemInit.RUNE_BODY)
										{
										player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
										}
									}
								//check if boots and helm is equipped
										if(player.inventory.armorItemInSlot(0) != null &&
										player.inventory.armorItemInSlot(3) != null)
											{
												if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.RUNE_BOOTS && 
												player.inventory.armorItemInSlot(3).getItem() == ItemInit.RUNE_HELM)
												{
													player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
												}
											}
								//check if legs and body is equipped
										if(player.inventory.armorItemInSlot(1) != null &&
										player.inventory.armorItemInSlot(2) != null)
											{
												if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.RUNE_LEGS && 
												player.inventory.armorItemInSlot(2).getItem() == ItemInit.RUNE_BODY)
												{
													player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
												}
											}
								//check if legs and helm is equipped
										if(player.inventory.armorItemInSlot(1) != null &&
										player.inventory.armorItemInSlot(3) != null)
											{
												if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.RUNE_LEGS && 
												player.inventory.armorItemInSlot(3).getItem() == ItemInit.RUNE_HELM)
												{
													player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
												}
											}
								//check if body and helm is equipped
										if(player.inventory.armorItemInSlot(2) != null &&
										player.inventory.armorItemInSlot(3) != null)
											{
												if(player.inventory.armorItemInSlot(2).getItem() == ItemInit.RUNE_BODY && 
												player.inventory.armorItemInSlot(3).getItem() == ItemInit.RUNE_HELM)
												{
													player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
												}
											}
								//check if boots, legs and body is equipped
										if(player.inventory.armorItemInSlot(0) != null &&
										player.inventory.armorItemInSlot(1) != null &&
										player.inventory.armorItemInSlot(2) != null)
											{
												if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.RUNE_BOOTS && 
												player.inventory.armorItemInSlot(1).getItem() == ItemInit.RUNE_LEGS &&
												player.inventory.armorItemInSlot(2).getItem() == ItemInit.RUNE_BODY)
												{
													player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
												}
											}
								//check if legs, body and helm is equipped
										if(player.inventory.armorItemInSlot(1) != null &&
										player.inventory.armorItemInSlot(2) != null &&
										player.inventory.armorItemInSlot(3) != null)
											{
												if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.RUNE_LEGS && 
												player.inventory.armorItemInSlot(2).getItem() == ItemInit.RUNE_BODY &&
												player.inventory.armorItemInSlot(3).getItem() == ItemInit.RUNE_HELM)
												{
													player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
												}
											}
								//check if boots, body and helm is equipped
										if(player.inventory.armorItemInSlot(0) != null &&
										player.inventory.armorItemInSlot(2) != null &&
										player.inventory.armorItemInSlot(3) != null)
											{
												if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.RUNE_BOOTS && 
												player.inventory.armorItemInSlot(2).getItem() == ItemInit.RUNE_BODY &&
												player.inventory.armorItemInSlot(3).getItem() == ItemInit.RUNE_HELM)
												{
													player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
												}
											}
								//check if boots, legs and helm is equipped
										if(player.inventory.armorItemInSlot(0) != null &&
										player.inventory.armorItemInSlot(1) != null &&
										player.inventory.armorItemInSlot(3) != null)
											{
												if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.RUNE_BOOTS && 
												player.inventory.armorItemInSlot(1).getItem() == ItemInit.RUNE_LEGS &&
												player.inventory.armorItemInSlot(3).getItem() == ItemInit.RUNE_HELM)
												{
													player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
												}
											}
///// ADAMANT /////
										if(player.inventory.armorItemInSlot(0) != null &&
												player.inventory.armorItemInSlot(1) != null && 
												player.inventory.armorItemInSlot(2) != null &&
												player.inventory.armorItemInSlot(3) != null)
											{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_AFULL);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_AFULL);
												if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.ADAMANT_BOOTS &&
													player.inventory.armorItemInSlot(1).getItem() == ItemInit.ADAMANT_LEGS && 
													player.inventory.armorItemInSlot(2).getItem() == ItemInit.ADAMANT_BODY &&
													player.inventory.armorItemInSlot(3).getItem() == ItemInit.ADAMANT_HELM)
												{
													player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 0));
													player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_AFULL);
													player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_AFULL);
												}
											}
										//check if boots is equipped
										if(player.inventory.armorItemInSlot(0) != null)
											{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_ABOOTS);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_ABOOTS);
												if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.ADAMANT_BOOTS)
												{
													player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_ABOOTS);
													player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_ABOOTS);
												}
											}
										//check if legs is equipped
										if(player.inventory.armorItemInSlot(1) != null)
											{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_ALEGS);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_ALEGS);
												if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.ADAMANT_LEGS)
												{
													player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_ABOOTS);
													player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_ABOOTS);
												}
											}
										//check if body is equipped
										if(player.inventory.armorItemInSlot(2) != null)
											{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_ABODY);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_ABODY);
												if(player.inventory.armorItemInSlot(2).getItem() == ItemInit.ADAMANT_BODY)
												{
													player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_ABODY);
													player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_ABODY);
												}
											}
										//check if helm is equipped
										if(player.inventory.armorItemInSlot(3) != null)
											{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_AHELM);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_AHELM);
												if(player.inventory.armorItemInSlot(3).getItem() == ItemInit.ADAMANT_HELM)
												{
													player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_AHELM);
													player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_AHELM);
												}
											}
///// MITHRIL /////
										if(player.inventory.armorItemInSlot(0) != null &&
												player.inventory.armorItemInSlot(1) != null && 
												player.inventory.armorItemInSlot(2) != null &&
												player.inventory.armorItemInSlot(3) != null)
											{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_MFULL);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_MFULL);
												if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.MITHRIL_BOOTS &&
													player.inventory.armorItemInSlot(1).getItem() == ItemInit.MITHRIL_LEGS && 
													player.inventory.armorItemInSlot(2).getItem() == ItemInit.MITHRIL_BODY &&
													player.inventory.armorItemInSlot(3).getItem() == ItemInit.MITHRIL_HELM)
												{
													player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_MFULL);
													player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_MFULL);
												}
											}
										//check if boots is equipped
										if(player.inventory.armorItemInSlot(0) != null)
											{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_MBOOTS);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_MBOOTS);
												if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.MITHRIL_BOOTS)
												{
													player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_MBOOTS);
													player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_MBOOTS);
												}
											}
										//check if legs is equipped
										if(player.inventory.armorItemInSlot(1) != null)
											{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_MLEGS);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_MLEGS);
												if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.MITHRIL_LEGS)
												{
													player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_MBOOTS);
													player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_MBOOTS);
												}
											}
										//check if body is equipped
										if(player.inventory.armorItemInSlot(2) != null)
											{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_MBODY);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_MBODY);
												if(player.inventory.armorItemInSlot(2).getItem() == ItemInit.MITHRIL_BODY)
												{
													player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_MBODY);
													player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_MBODY);
												}
											}
										//check if helm is equipped
										if(player.inventory.armorItemInSlot(3) != null)
											{
											player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_MHELM);
											player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_MHELM);
												if(player.inventory.armorItemInSlot(3).getItem() == ItemInit.MITHRIL_HELM)
												{
													player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_MHELM);
													player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_MHELM);
												}
											}
	}
	
	

}

Holy shit...

Edited by supreme marshal
Link to comment
Share on other sites

Well now I have a problem with Health Boost potion effect. It is a very weird problem. It give me empty hearth bonus but my health always go back to 10 hearts maximum. When I try to eat food to restore my health, it's trying to restore the missing health that is over 10 hearts but it's always going back to 10 hearts as if I'm taking damages when I get past 10 hearts. Anyone know of this problem?

Edited by supreme marshal
Link to comment
Share on other sites

1 hour ago, supreme marshal said:

10 hearths

Natural-Fireplace-Hearth-Stone.jpg

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Show your code. I'm not sure what the problem might be

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

package com.SupremeMarshal.MoreToolsTierMod.objects.armor;

import com.SupremeMarshal.MoreToolsTierMod.Main;
import com.SupremeMarshal.MoreToolsTierMod.init.ModItems;
import com.SupremeMarshal.MoreToolsTierMod.util.interfaces.IHasModel;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;


public class DragonArmorBase extends ItemArmor implements IHasModel
{

	public DragonArmorBase(String name, ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) {
		super(materialIn, renderIndexIn, equipmentSlotIn);
		setUnlocalizedName(name);
		setRegistryName(name);
		setCreativeTab(CreativeTabs.COMBAT);
		

		
		ModItems.ITEMS.add(this);
	}
	@Override
	public void registerModels() 
	{
		Main.proxy.registerItemRenderer(this, 0, "inventory");
	}
	///add potion effect to full set of armor
	@Override
	public void onArmorTick(World world, EntityPlayer player, ItemStack item)
	{
		if(player.inventory.armorItemInSlot(0) != null &&
			player.inventory.armorItemInSlot(1) != null && 
			player.inventory.armorItemInSlot(2) != null &&
			player.inventory.armorItemInSlot(3) != null)
		{
			if(player.inventory.armorItemInSlot(0).getItem() == ModItems.DRAGON_BOOTS &&
				player.inventory.armorItemInSlot(1).getItem() == ModItems.DRAGON_LEGS && 
				player.inventory.armorItemInSlot(2).getItem() == ModItems.DRAGON_BODY &&
				player.inventory.armorItemInSlot(3).getItem() == ModItems.DRAGON_HELM)
			{
				player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
				player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 1));
				player.addPotionEffect(new PotionEffect(MobEffects.HEALTH_BOOST,0,3));
			}
		}
	}
}

 

Edited by supreme marshal
Link to comment
Share on other sites

It's because you're passing a duration of 0.

Instead pass in a larger value.

 

You can use getActivePotionEffect and getDuration to determine if the potion is already active, and only apply the duration if either the potion is not active or the duration is <2

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

22 minutes ago, supreme marshal said:

I put 5 seconds instead, it still do the same thing. But now I can see the particle of the effect.

The only way to not have particles is to prevent them from being rendered.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

yes by putting the time of the potion effect to zero, it remove the particle effect. The effect of the potion is still suppose to work, the problem was not the time set too low. I wonder if it's going to work if I try my mod on the original minecraft launcher. Anyways, I don't really need the Health bonus since I can still make my armor powerful. Here a picture of what is actually happening. You can see the Hearts won't go above the normal maximum limit.

MCscreen1.png

Link to comment
Share on other sites

Time 0 -> Potion ticks -> Potion expires -> Max health set to 10

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

45 minutes ago, diesieben07 said:

The PotionEffect constructor has a parameter to hide the particles.

Oh? Is that new (relative to about 1.10)?

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

So I am still trying to solve this issue. The problem that I am applying the health_boost potion effect for every armor ticks, which mean it will be reset every single tick. This conflict the effect because it's always reset to a new effect. This method work for boost speed, strength, vision and some more but for Health boost or Regeneration, it isn't.

Link to comment
Share on other sites

Ok I solved the issue for the Regeneration, here is the codes on Armor tick after checking if full set is equipped:

if (player.getActivePotionEffect(MobEffects.REGENERATION) == null)
				{
					player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
				}
				if (world.getWorldTime() % 50 > 0)
				{
					return;
				}
					player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));

Basically, regeneration 1 regen every 50 ticks so with this method, it won't reset regeneration 1 until 50 ticks is completed. So then it can regenerate one health after 50 ticks and reset the Regeneration effect.

 

But unfortunately I haven't got a solution for Health Boost yet. I tried the same method as regeneration, but my health actually reset to normal every 50 ticks so this method is not working. In other word, every time my health boost effect is being reset, my health is also getting reset. 

 

I'm thinking about just editing player's max health when armor is equipped and resetting it when he get it off. I want this method to be compatible with other mod that modify player's health. So maybe if I check player current health and add (for exemple) 5 health. When I remove my armor, it check player current health again (because if other mod modify player health, it won't be the same as when he equipped the armor) and remove 5 health. I'm just not sure how to put this in codes yet.

Edited by supreme marshal
Link to comment
Share on other sites

public class DragonArmorBase extends ItemArmor implements IHasModel
{

	public DragonArmorBase(String name, ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn) {
		super(materialIn, renderIndexIn, equipmentSlotIn);
		setUnlocalizedName(name);
		setRegistryName(name);
		setCreativeTab(CreativeTabs.COMBAT);
		

		
		ItemInit.ITEMS.add(this);
	}
	@Override
	public void registerModels() 
	{
		Main.proxy.registerItemRenderer(this, 0, "inventory");
	}
	
//////UUID//////
	//DRAGON ARMOR//
		//HEALTH// -- Total = 40 Health
	protected static final UUID MAX_HEALTH_DFULL_UUID = UUID.fromString("fdd721e0-bcb0-4963-9c03-ace14c6ceae4");
	private static final AttributeModifier HEALTH_BOOST_DFULL = new AttributeModifier (MAX_HEALTH_DFULL_UUID, "MAX_HEALTH_DFULL_UUID", 10, 0); 
	
	protected static final UUID MAX_HEALTH_DHELM_UUID = UUID.fromString("cfb80931-3fc9-4e5a-9760-213aee2dce98");
	private static final AttributeModifier HEALTH_BOOST_DHELM = new AttributeModifier (MAX_HEALTH_DHELM_UUID, "MAX_HEALTH_DHELM_UUID", 5, 0);
	
	protected static final UUID MAX_HEALTH_DBODY_UUID = UUID.fromString("122785ee-9867-4ace-af8b-745932039e73");
	private static final AttributeModifier HEALTH_BOOST_DBODY = new AttributeModifier (MAX_HEALTH_DBODY_UUID, "MAX_HEALTH_DBODY_UUID", 10, 0);
	
	protected static final UUID MAX_HEALTH_DLEGS_UUID = UUID.fromString("a5c77a84-5a15-4752-9f07-599a3a2e4c9f");
	private static final AttributeModifier HEALTH_BOOST_DLEGS = new AttributeModifier (MAX_HEALTH_DLEGS_UUID, "MAX_HEALTH_DLEGS_UUID", 10, 0);
	
	protected static final UUID MAX_HEALTH_DBOOTS_UUID = UUID.fromString("f3fb329d-4923-4aa1-bef8-d0728f4b7abd");
	private static final AttributeModifier HEALTH_BOOST_DBOOTS = new AttributeModifier (MAX_HEALTH_DBOOTS_UUID, "MAX_HEALTH_DBOOTS_UUID", 5, 0);
	
		//KNOCKBACK RESISTANCE -- Total = 80%
	protected static final UUID KNOCKBACK_RESISTANCE_DFULL_UUID = UUID.fromString("a5f4ce17-c5b7-4791-979c-b55018c2e89c");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_DFULL = new AttributeModifier (KNOCKBACK_RESISTANCE_DFULL_UUID, "KNOCKBACK_RESISTANCE_DFULL_UUID", 20, 0); 
	
	protected static final UUID KNOCKBACK_RESISTANCE_DHELM_UUID = UUID.fromString("5619ab81-25e6-43e1-85e8-0a11be2b0bcd");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_DHELM = new AttributeModifier (KNOCKBACK_RESISTANCE_DHELM_UUID, "KNOCKBACK_RESISTANCE_DHELM_UUID", 10, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_DBODY_UUID = UUID.fromString("ecec32f1-c5b5-4921-98ba-e1717a3befa4");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_DBODY = new AttributeModifier (KNOCKBACK_RESISTANCE_DBODY_UUID, "KNOCKBACK_RESISTANCE_DBODY_UUID", 20, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_DLEGS_UUID = UUID.fromString("1726437a-2fba-42b9-a3f7-56a777740037");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_DLEGS = new AttributeModifier (KNOCKBACK_RESISTANCE_DLEGS_UUID, "KNOCKBACK_RESISTANCE_DLEGS_UUID", 20, 0);
	
	protected static final UUID KNOCKBACK_RESISTANCE_DBOOTS_UUID = UUID.fromString("7ffe2d12-c540-407b-8df6-101450ab8a5b");
	private static final AttributeModifier KNOCKBACK_RESISTANCE_BOOST_DBOOTS = new AttributeModifier (KNOCKBACK_RESISTANCE_DBOOTS_UUID, "KNOCKBACK_RESISTANCE_DBOOTS_UUID", 10, 0);
	
	//RUNE ARMOR//
		//HEALTH// == Total = 30 Health
	
		//KNOCKBACK RESISTANCE -- Total = 60%
	
	
	//ADAMANT ARMOR//
		//HEALTH// == Total = 20 Health
		
		//KNOCKBACK RESISTANCE -- Total = 40%
	
	
	//MITHRIL ARMOR//
		//HEALTH// == Total = 10 Health
			
		//KNOCKBACK RESISTANCE -- Total = 20%
	
	//THIRD AGE ARMOR//
		//HEALTH// == Total = 50 Health
				
		//KNOCKBACK RESISTANCE -- Total = 90%
	
	public static String playerKey(EntityPlayer player)
	{
		return player.getGameProfile().getName() + ":" + player.world.isRemote;
	}
	
	///add effect to set of armor
	@Override
	public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack)
	{
		if(player.inventory.armorItemInSlot(0) != null &&
			player.inventory.armorItemInSlot(1) != null && 
			player.inventory.armorItemInSlot(2) != null &&
			player.inventory.armorItemInSlot(3) != null)
				{
			player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_DFULL);
			player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_DFULL);
			if (player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS &&
				player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS && 
				player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY &&
				player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
			{
				player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_DFULL);
				player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_DFULL);
				player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
				player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 1));
				player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 1));
				{
				if (player.getActivePotionEffect(MobEffects.REGENERATION) == null)
				{
					player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
				}
				if (world.getWorldTime() % 50 > 0)
				{
					return;
				}
					player.addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 50 , 0));
				}
				
				
				
			}
			}
			
		
		
		//check if dragon boots is equipped
		if(player.inventory.armorItemInSlot(0) != null)
			{
			player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_DBOOTS);
			player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_DBOOTS);
			
				if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS)
				{
					player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_DBOOTS);
					player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_DBOOTS);
					player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
					player.addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 0, 0));
				}
			}
		//check if dragon legs is equipped
				if(player.inventory.armorItemInSlot(1) != null)
					{
					player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_DLEGS);
					player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_DLEGS);
						if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS)
						{
							player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_DLEGS);
							player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_DLEGS);
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if dragon body is equipped
				if(player.inventory.armorItemInSlot(2) != null)
					
					{
					player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_DBODY);
					player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_DBODY);
						if(player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY)
						{
							player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_DBODY);
							player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_DBODY);
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if dragon helm is equipped
				if(player.inventory.armorItemInSlot(3) != null)
					{
					player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).removeModifier(HEALTH_BOOST_DHELM);
					player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).removeModifier(KNOCKBACK_RESISTANCE_BOOST_DHELM);
						if(player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
							player.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).applyModifier(HEALTH_BOOST_DHELM);
							player.getEntityAttribute(SharedMonsterAttributes.KNOCKBACK_RESISTANCE).applyModifier(KNOCKBACK_RESISTANCE_BOOST_DHELM);
						}
					}
		//check if boots and legs is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(1) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if boots and body is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(2) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if boots and helm is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if legs and body is equipped
				if(player.inventory.armorItemInSlot(1) != null &&
				player.inventory.armorItemInSlot(2) != null)
					{
						if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS && 
						player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if legs and helm is equipped
				if(player.inventory.armorItemInSlot(1) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS && 
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if body and helm is equipped
				if(player.inventory.armorItemInSlot(2) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY && 
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 1));
						}
					}
		//check if boots, legs and body is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(1) != null &&
				player.inventory.armorItemInSlot(2) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS &&
						player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
							player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 0));
						}
					}
		//check if legs, body and helm is equipped
				if(player.inventory.armorItemInSlot(1) != null &&
				player.inventory.armorItemInSlot(2) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS && 
						player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY &&
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
							player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 0));
						}
					}
		//check if boots, body and helm is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(2) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(2).getItem() == ItemInit.DRAGON_BODY &&
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
							player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 0));
						}
					}
		//check if boots, legs and helm is equipped
				if(player.inventory.armorItemInSlot(0) != null &&
				player.inventory.armorItemInSlot(1) != null &&
				player.inventory.armorItemInSlot(3) != null)
					{
						if(player.inventory.armorItemInSlot(0).getItem() == ItemInit.DRAGON_BOOTS && 
						player.inventory.armorItemInSlot(1).getItem() == ItemInit.DRAGON_LEGS &&
						player.inventory.armorItemInSlot(3).getItem() == ItemInit.DRAGON_HELM)
						{
							player.addPotionEffect(new PotionEffect(MobEffects.RESISTANCE, 0, 2));
							player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 0, 0));
						}
					}
////// THIRD AGE ///////
      
      //ect.. I won't show the rest because it's pretty much copy-paste for every armor.

 

 

So when I equip a dragon helm, it give me  5 Health and 10% knockback resistance + some potion effect.

Body = 10 health and 20% knockback resistance.

Full set give me 10 extra health and 20% extra knockback resist with Resistance 3, Fire resistance 2 and strength 2.

I tested it and it work 100%.  My mod is almost ready to be published but I still want to add more things in it.

Edited by supreme marshal
Link to comment
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.
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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Sorry, but I would like to ask if anyone else is experiencing the problem: java.lang.ClassCastException: class net.minecraft.client.player.LocalPlayer cannot be cast to class net.minecraft.server.level.ServerPlayer (net.minecraft.client .player.LocalPlayer and net.minecraft.server.level.ServerPlayer are in module [email protected] of loader 'TRANSFORMER' @19a64eae) This problem appeared yesterday, while I was testing parts of my mod, which I had previously tested. I thought I might have messed up somewhere, so today I went back to a previous version, already tested and functional, and it turns out that I ran into the same problem. Someone knows what is due? I can't share the entire code, but I can give you the parts that cause the error, I hope you can help me. Thanks in advance.   DataUtil Class public static void setBooleanOnServerAndSync(Player p, String key, boolean value, boolean temporary) { p.getCapability(PlayerDataProvider.PLAYER_DATA, null).ifPresent(playerData -> { playerData.setBoolean(key, value, temporary); Messages.sendToPlayer(SyncPlayerDataPacket.toClient(key).setBoolean(value), (ServerPlayer) p); //It fails here if (value) { ResearchUtil.markResearchAsUpdated(p, key); } }); } Gui that calls the previous method public void tick() { this.timePassed++; if (this.timePassed > 1000) { this.minecraft.setScreen(null); assert minecraft.level != null; assert minecraft.player != null; DataUtil.setBooleanOnServerAndSync(Objects.requireNonNull(minecraft.level.getPlayerByUUID(minecraft.player.getUUID())),"eldritchDream", true,false); } else if (this.timePassed == 20) { Minecraft.getInstance().player.playSound(Registration.DREAM_ALIENIS.get(), 1, 1); } super.tick(); } Error Log (Website paste.ee)
    • This is the code for my enchantment tags provider for data generation: public final class ModEnchantmentTagsProvider extends EnchantmentTagsProvider { public ModEnchantmentTagsProvider(PackOutput packOutput, CompletableFuture<Provider> lookupProvider) { super(packOutput, lookupProvider); } @Override protected void addTags(Provider provider) { tag(EnchantmentTags.ARMOR_EXCLUSIVE) .add(ArmorEnchantments.FREEZING_PROTECTION) .add(ArmorEnchantments.LIGHTNING_PROTECTION) .add(ArmorEnchantments.MAGIC_PROTECTION) .add(ArmorEnchantments.SONIC_PROTECTION); tag(ModEnchantmentTags.XP_GAIN_EXCLUSIVE) .add(Enchantments.MENDING) .add(ArmorEnchantments.EXPLORATION); } @Override public String getName() { return "Unique Magic Enchantment Tags"; } }   So what am I doing here is: 1) Adding my custom protection enchantments to be ARMOR_EXCLUSIVE so they don't clash with existing protection enchantments 2) Adding tag that makes my custom EXPLORATION enchantment to be exclusive with MENDING enchantment This is then registered in ModDataGenerators: dataGen.addProvider(event.includeServer(), new ModEnchantmentTagsProvider(packOutput, lookupProvider)); When datagen is run, I end up with this error: Caused by: java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Couldn't define tag minecraft:exclusive_set/armor as it is missing following references: uniquemagic:freezing_protection,uniquemagic:lightning_protection,uniquemagic:magic_protection,uniquemagic:sonic_protection Enchantments have been migrated to 1.21 and they work in game as they did in 1.20.6. I also get enchantment JSON files in src/generated/resources so that is working well too. However, I cannot make these tags to work no matter what I try. Is there something that I am missing?  
    • Help me, I deleted the mods that were complained about in loge, but nothing changes Log: java version "19.0.2" 2023-01-17 Java(TM) SE Runtime Environment (build 19.0.2+7-44) Java HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing) Hosting-Minecraft: Проверка файлов сервера на наличие Forge 1.17+  Hosting-Minecraft: Forge не найден, выполняем стандартный запуск jar файла... Hosting-Minecraft: java -Xms128M -XX:MaxRAMPercentage=95.0 -Dsip=65.108.21.152 -Dspt=25630 -XX:ConcGCThreads=2 -XX:ParallelGCThreads=2 -XX:+UseSerialGC -DPaper.IgnoreJavaVersion=true -Dfml.readTimeout=1024 -Dfml.queryResult=confirm -Dlog4j2.formatMsgNoLookups=true -Dterminal.jline=false -Dterminal.ansi=true -DIReallyKnowWhatIAmDoingISwear=true -Duser.timezone=Europe/Moscow -jar -Dfile.encoding=UTF-8 server.jar nogui Starting net.fabricmc.loader.impl.game.minecraft.BundlerClassPathCapture [13:43:46] [main/INFO]: Loading Minecraft 1.19.2 with Fabric Loader 0.15.11 [13:43:46] [ForkJoinPool-1-worker-1/WARN]: The mod "moreculling" contains invalid entries in its mod json: - Unsupported root entry "embedded" at line 35 column 13 [13:43:46] [ForkJoinPool-1-worker-2/WARN]: Mod structory uses the version 1.3.1a which isn't compatible with Loader's extended semantic version format (Could not parse version number component '1a'!), SemVer is recommended for reliably evaluating dependencies and prioritizing newer version [13:43:46] [ForkJoinPool-1-worker-2/WARN]: Mod letmedespawn uses the version fabric-1.0.2 which isn't compatible with Loader's extended semantic version format (Could not parse version number component 'fabric'!), SemVer is recommended for reliably evaluating dependencies and prioritizing newer version [13:43:46] [ForkJoinPool-1-worker-1/WARN]: Mod brewinandchewin uses the version fabric-2.0.0+1.19.2 which isn't compatible with Loader's extended semantic version format (Could not parse version number component 'fabric'!), SemVer is recommended for reliably evaluating dependencies and prioritizing newer version [13:43:46] [ForkJoinPool-1-worker-1/WARN]: Mod booking_it uses the version unversioned which isn't compatible with Loader's extended semantic version format (Could not parse version number component 'unversioned'!), SemVer is recommended for reliably evaluating dependencies and prioritizing newer version [13:43:46] [main/WARN]: Warnings were found!  - Mod 'Trinkets Curios Theme' (trinkets-curios-theme) 0.2.2+1.19 recommends any version of scout, which is missing!          - You should install any version of scout for the optimal experience. [13:43:46] [main/INFO]: Loading 294 mods:         - additionz 1.1.10         - advanced_runtime_resource_pack 0.6.4         - advdebug 2.3.0         - adventurez 1.4.18         - amecs 1.3.8+mc.1.19-rc2            \-- amecsapi 1.3.6+mc22w17a         - another_furniture 2.1.2-1.19.2         - appleskin 2.4.1+mc1.19         - attributefix 17.2.6         - autotag-convention 2.0.0+1.19            \-- autotag 2.0.0+1.19         - backslot 1.2.11            \-- amecsapi 1.3.6+mc22w17a         - backslotaddon 1.0.10         - balm-fabric 4.5.7         - bclib 2.1.7         - beautify 1.1.1+fabric-1.19.2            |-- cardinal-components-base 5.0.2            |-- cardinal-components-entity 5.0.2            \-- cardinal-components-world 5.0.2         - betteradvancements 0.2.2.147         - bettercombat 1.7.1+1.19         - betterdeserttemples 1.19.2-Fabric-2.2.2            \-- org_reflections_reflections 0.10.2         - betterdungeons 1.19.2-Fabric-3.2.1         - betterend 2.1.6         - betterfortresses 1.19.2-Fabric-1.0.5         - betterladdersmod 0.0.1-1.19.2         - bettermineshafts 1.19.2-Fabric-3.2.0         - betternether 7.1.4         - betteroceanmonuments 1.19.2-Fabric-2.1.0         - betterstats 2.8.1+1.19.2            |-- architectury 6.5.77            \-- tcdcommons 2.8+1.19.2         - betterthanmending 1.3.0         - blossom 1.0.7         - bookshelf 16.3.20         - brewinandchewin fabric-2.0.0+1.19.2            |-- booking_it unversioned            |    \-- mm 2.3            \-- mm 2.3         - bushierflowers 0.0.1-1.19.2         - cardinal-components 5.0.2            |-- cardinal-components-base 5.0.2            |-- cardinal-components-block 5.0.2            |-- cardinal-components-chunk 5.0.2            |-- cardinal-components-entity 5.0.2            |-- cardinal-components-item 5.0.2            |-- cardinal-components-level 5.0.2            |-- cardinal-components-scoreboard 5.0.2            \-- cardinal-components-world 5.0.2         - cavedust 1.2.0            \-- kirin 1.11.1-beta.1         - charmofundying 6.2.0+1.19.2         - chipped 2.1.5         - ciif 1.0.0+1.19         - cloth-config 8.2.88            \-- cloth-basic-math 0.6.1         - collective 6.57         - combatroll 1.1.5+1.19         - connectiblechains 2.1.4+1.19.2         - corgilib 1.0.0.34            |-- com_electronwill_night-config_core 3.6.6            \-- com_electronwill_night-config_toml 3.6.6         - couplings 1.9.1+1.19         - crawl 0.11.1            \-- mm 2.3         - creativecore 2.9.3         - creaturesfromthesnow 4.1.0+1.19.2         - creeperoverhaul 2.0.9         - customportals 3.2.0            |-- cardinal-components-base 5.0.2            |-- cardinal-components-world 5.0.2            |-- completeconfig-base 2.1.0            \-- completeconfig-gui-cloth 2.1.0         - customspawns 0.7+1.19         - dawn 3.5.0         - debugify 2.8.0         - defaultoptions 15.0.1         - dehydration 1.3.4         - disenchanter 0.1.7+1.19         - do_a_barrel_roll 2.6.2+1.19.2            |-- cardinal-components-base 5.0.2            |-- cardinal-components-entity 5.0.2            \-- cicada 0.1.2                 \-- langfiles-plus 1.0.0         - dummmmmmy 1.19.2-1.7.2         - dungeonz 1.0.1         - earlystage 1.0.10         - easymagic 4.3.3         - ecologics 2.1.11         - elytraslot 6.1.1+1.19.2         - emi 1.0.2+1.19.2+fabric         - emi_loot 0.6.2+1.19         - emiffect 0.1.5+mc1.19.2         - enchanted-vertical-slabs 1.8         - enderscape 0.3.5-1.19.1         - endrem 5.2.0         - entitycollisionfpsfix 2.0.0.0         - environmentz 2.0.5            \-- satin 1.9.0         - eventmod 1.0.5         - expandeddelight 0.2.5         - experiencebottler 1.19+build.2         - fabric-api 0.76.0+1.19.2            |-- fabric-api-base 0.4.15+8f4e8eb390            |-- fabric-api-lookup-api-v1 1.6.14+93d8cb8290            |-- fabric-biome-api-v1 9.1.1+16f1e31390            |-- fabric-block-api-v1 1.0.2+e415d50e90            |-- fabric-blockrenderlayer-v1 1.1.25+cafc6e8e90            |-- fabric-client-tags-api-v1 1.0.5+b35fea8390            |-- fabric-command-api-v1 1.2.16+f71b366f90            |-- fabric-command-api-v2 2.2.1+413cbbc790            |-- fabric-commands-v0 0.2.33+df3654b390            |-- fabric-containers-v0 0.1.41+df3654b390            |-- fabric-content-registries-v0 3.5.2+7c6cd14d90            |-- fabric-convention-tags-v1 1.3.0+4bc6e26290            |-- fabric-crash-report-info-v1 0.2.8+aeb40ebe90            |-- fabric-data-generation-api-v1 5.3.8+413cbbc790            |-- fabric-dimensions-v1 2.1.35+0d0f210290            |-- fabric-entity-events-v1 1.5.4+9244241690            |-- fabric-events-interaction-v0 0.4.34+562bff6e90            |-- fabric-events-lifecycle-v0 0.2.36+df3654b390            |-- fabric-game-rule-api-v1 1.0.24+b6b6abb490            |-- fabric-item-api-v1 1.6.6+b7d1888890            |-- fabric-item-groups-v0 0.3.39+9244241690            |-- fabric-key-binding-api-v1 1.0.25+5c4fce2890            |-- fabric-keybindings-v0 0.2.23+df3654b390            |-- fabric-lifecycle-events-v1 2.2.4+1b46dc7890            |-- fabric-loot-api-v2 1.1.13+83a8659290            |-- fabric-loot-tables-v1 1.1.16+9e7660c690            |-- fabric-message-api-v1 5.0.7+93d8cb8290            |-- fabric-mining-level-api-v1 2.1.24+33fbc73890            |-- fabric-models-v0 0.3.21+c6af733c90            |-- fabric-networking-api-v1 1.2.11+10eb22f490            |-- fabric-networking-v0 0.3.28+df3654b390            |-- fabric-object-builder-api-v1 4.2.2+d8ef690890            |-- fabric-particles-v1 1.0.14+4d0d570390            |-- fabric-recipe-api-v1 1.0.1+413cbbc790            |-- fabric-registry-sync-v0 0.9.32+9244241690            |-- fabric-renderer-api-v1 1.2.1+1adbf27790            |-- fabric-renderer-indigo 0.8.0+1adbf27790            |-- fabric-renderer-registries-v1 3.2.24+df3654b390            |-- fabric-rendering-data-attachment-v1 0.3.19+6e0787e690            |-- fabric-rendering-fluids-v1 3.0.11+4d0d570390            |-- fabric-rendering-v0 1.1.27+df3654b390            |-- fabric-rendering-v1 1.12.1+d8ef690890            |-- fabric-resource-conditions-api-v1 2.1.2+aae9039d90            |-- fabric-resource-loader-v0 0.8.4+edbdcddb90            |-- fabric-screen-api-v1 1.0.32+4d0d570390            |-- fabric-screen-handler-api-v1 1.3.7+1cc24b1b90            |-- fabric-sound-api-v1 1.0.2+c4f28df590            |-- fabric-textures-v0 1.0.24+aeb40ebe90            |-- fabric-transfer-api-v1 2.1.6+413cbbc790            \-- fabric-transitive-access-wideners-v1 1.3.3+08b73de490         - fabric-language-kotlin 1.9.5+kotlin.1.8.22            |-- org_jetbrains_kotlin_kotlin-reflect 1.8.22            |-- org_jetbrains_kotlin_kotlin-stdlib 1.8.22            |-- org_jetbrains_kotlin_kotlin-stdlib-jdk7 1.8.22            |-- org_jetbrains_kotlin_kotlin-stdlib-jdk8 1.8.22            |-- org_jetbrains_kotlinx_atomicfu-jvm 0.20.2            |-- org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm 1.7.1            |-- org_jetbrains_kotlinx_kotlinx-coroutines-jdk8 1.7.1            |-- org_jetbrains_kotlinx_kotlinx-datetime-jvm 0.4.0            |-- org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm 1.5.1            |-- org_jetbrains_kotlinx_kotlinx-serialization-core-jvm 1.5.1            \-- org_jetbrains_kotlinx_kotlinx-serialization-json-jvm 1.5.1         - fabricloader 0.15.11            \-- mixinextras 0.3.5         - fabricshieldlib 1.7-1.19.2            \-- mm 2.3         - fancymenu 2.14.7         - farmersdelight 1.19.2-1.3.9         - farmersrespite 2.2.4            \-- porting_lib 2.1.656+1.19.2                 |-- forge_tags 3.0                 |-- porting_lib_base 2.1.656+1.19.2                 |    \-- serialization_hooks 0.3.26                 |-- porting_lib_entity 2.1.656+1.19.2                 |-- porting_lib_lazy_registration 2.1.656+1.19.2                 |-- porting_lib_model_generators 2.1.656+1.19.2                 |-- porting_lib_models 2.1.656+1.19.2                 |-- porting_lib_networking 2.1.656+1.19.2                 |-- porting_lib_obj_loader 2.1.656+1.19.2                 |    \-- porting_lib_model_loader 2.1.656+1.19.2                 \-- porting_lib_transfer 2.1.656+1.19.2                      \-- porting_lib_extensions 2.1.656+1.19.2                           |-- porting_lib_accessors 2.1.656+1.19.2                           |-- porting_lib_attributes 2.1.656+1.19.2                           |    \-- porting_lib_constants 2.1.656+1.19.2                           \-- porting_lib_common 2.1.656+1.19.2         - ferritecore 5.0.3         - forgeconfigapiport 4.2.11         - frame 0.26.1+1.19-fabric            |-- frame-api-base 0.2.1+906ebc04a9            |-- frame-blocks-v0 0.1.3+233e7428a9            |-- frame-config-v0 0.3.1+0fa45150a9            |-- frame-content-registries-v0 0.4.0+2876b511a9            |-- frame-enchantments-v0 0.1.0+4093105da9            |    \-- mm 2.3            |-- frame-game-rules-v0 0.2.4+e7ce56a6a9            |-- frame-items-v0 0.1.3+906ebc04a9            |-- frame-loot-tables-v0 0.1.4+4f7341eca9            |-- frame-registries-v0 0.1.1+0e0ec74ea9            |-- frame-rendering-v0 0.1.5+906ebc04a9            |-- frame-tabbed-item-groups-v0 0.2.4+0aca9b56a9            |-- frame-toymaker-v0 0.6.1+b13741c3a9            \-- frame-woods-v0 0.2.1+6a33fbada9         - geckolib3 3.1.40            \-- com_eliotlash_mclib_mclib 20         - geodes 1.7+1.19         - geophilic 1.19-2.0.0b         - go-fish 1.6.0-1.19.1         - guarding 1.19.2+2.2.0         - handcrafted 2.0.6         - herdspanic 1.0.6         - hopobetterunderwaterruins 1.1.1         - horseexpert 4.0.0         - ice_boat_nerf 1.0.14         - iceberg 1.0.46         - immersive_armors 1.5.5+1.19.2         - inmis 2.7.1-1.19            \-- omega-config 1.2.3-1.18.1         - inmisaddon 1.0.4         - interactic 0.1.11+1.19         - java 19         - jobsaddon 1.1.1         - jumpoverfences 1.1.0         - konkrete 1.6.1         - lazydfu 0.1.3         - letmedespawn fabric-1.0.2         - levelz 1.4.9         - libz 1.0.0         - lithium 0.11.1         - logbegone 1.0.6         - lootr 0.4.26.65         - mcwfences 1.0.7         - mcwwindows 2.1.2         - medievalweapons 1.4.5            \-- reach-entity-attributes 2.3.0         - midnightlib 1.0.0         - minecraft 1.19.2         - modernfix 3.7.1            |-- fabric-models-v0 0.3.21+c6af733c90            \-- fabric-screen-api-v1 1.0.32+4d0d570390         - moisturization 1.2.1         - moonlight 1.19.2-2.2.38         - moremobvariants 1.0.1         - musketmod 1.4.6         - nameplate 1.1.3         - naturalist 3.0.2         - nbtcrafting 2.2.3+mc1.19         - netherportalfix 10.0.1         - nethersdelight 1.0.1            \-- disable_custom_worlds_advice 3.0         - nochatreports 1.19.2-v1.13.12            |-- fabric-rendering-v1 1.11.0+73145abb90            \-- fabric-screen-api-v1 1.0.27+93d8cb8290         - numismatic-overhaul 0.2.8+1.19            |-- cardinal-components-base 5.0.2            |-- cardinal-components-entity 5.0.2            \-- stacc 1.3.3         - numismaticclaim 1.0.8         - onsoulfire 1.19-2         - openpartiesandclaims 0.17.3         - overweight_farming 1.19.2-2.0.2-fabric            |-- playerabilitylib 1.6.0            |-- reach-entity-attributes 2.3.0            \-- terraform-wood-api-v1 4.2.0         - owo 0.9.3+1.19            \-- blue_endless_jankson 1.2.1         - partyaddon 1.0.3         - patchouli 1.19.2-77-FABRIC            \-- fiber 0.23.0-2         - patchoulibutton 1.0.2         - paxi 1.19.2-Fabric-3.0.1         - player-animator 1.0.2         - polymorph 0.46.1+1.19.2         - puzzleslib 4.4.0            |-- cardinal-components-base 5.0.2            |-- cardinal-components-block 5.0.2            |-- cardinal-components-chunk 5.0.2            |-- cardinal-components-entity 5.0.2            \-- cardinal-components-world 5.0.2         - realisticfirespread 1.19-2         - reciperemover 1.0.5         - resourcefulconfig 1.0.20         - resourcefullib 1.1.24         - revive 1.0.5         - rotten 1.4.7         - rpgdifficulty 1.3.12         - seasons 2.2.1+1.19         - seasonsextras 1.2-BETA+1.19         - sleepwarp 2.0.0+1.19.2         - sod 22.10.13         - sootychimneys 1.0         - sound_physics_remastered 1.19.2-1.0.18         - spark 1.10.37            \-- fabric-permissions-api-v0 0.1-SNAPSHOT         - spectrelib 0.12.7+1.19.2         - spiceoffabric 1.6.0-beta.4+1.19.2            |-- capsaicin 1.3.1+mc1.19.3            |-- coat 1.0.0-beta.18+mc22w17a            |-- tweed4_annotated 1.3.1+mc22w17a            |-- tweed4_base 1.7.1+mc22w17a            |-- tweed4_data 1.2.1+mc22w17a            |-- tweed4_data_hjson 1.1.1+mc22w17a            |-- tweed4_tailor_coat 1.1.3+mc22w17a            \-- tweed4_tailor_screen 1.1.1+mc22w17a         - spoiledz 1.0.7         - starlight 1.1.1+fabric.ae22326         - starterkit 5.2         - stendhal 1.3.4-1.19            \-- libgui 6.0.0-beta.5+1.19-pre1                 |-- jankson 4.1.1+j1.2.1                 \-- libninepatch 1.1.0         - structory 1.3.1a         - suggestion_tweaker 1.19.1-1.4.1         - t_and_t 1.10         - takesapillage 1.0.4         - tawct 1.4.3+1.19.2         - tiered 1.2.7            \-- reach-entity-attributes 2.3.0         - tlc 1.0.0         - toms_storage 1.5.7         - treechop 0.17.6         - trinkets 3.4.2         - trinkets-curios-theme 0.2.2+1.19         - universal_ores 1.4.2         - villagerfix 1.0.3         - vinery 1.2.3            \-- terraform-wood-api-v1 4.2.0         - voicechat 1.19.2-2.4.9            \-- fabric-key-binding-api-v1 1.0.18+9ff28f4095         - voidz 1.0.9         - waterdripsound 1.19-0.3.0         - wwoo 3.1.9.1         - xaeroworldmap 1.30.3         - yet-another-config-lib 2.2.0-for-1.19.2         - yungsapi 1.19.2-Fabric-3.8.9            \-- org_javassist_javassist 3.28.0-GA [13:43:46] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/home/container/libraries/net/fabricmc/sponge-mixin/0.13.3+mixin.0.8.5/sponge-mixin-0.13.3+mixin.0.8.5.jar Service=Knot/Fabric Env=SERVER [13:43:46] [main/INFO]: Compatibility level set to JAVA_17 [13:43:47] [main/WARN]: Reference map 'dummmmmmy-fabric-refmap.json' for dummmmmmy.mixins.json could not be read. If this is a development environment you can ignore this message [13:43:47] [main/INFO]: Loaded configuration file for Lithium: 114 options available, 1 override(s) found [13:43:47] [main/INFO]: Loaded configuration file for ModernFix: 45 options available, 0 override(s) found [13:43:47] [main/INFO]: Applying Nashorn fix [13:43:47] [main/WARN]: Reference map 'NethersDelight-refmap.json' for nethersdelight.mixins.json could not be read. If this is a development environment you can ignore this message [13:43:47] [main/WARN]: Reference map 'fabric-the-lost-castle-refmap.json' for tlc.mixins.json could not be read. If this is a development environment you can ignore this message [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_459$class_462 (java.lang.ClassNotFoundException: net/minecraft/class_459$class_462) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_459$class_462 was not found amecs.mixins.json:ControlsListWidgetKeyBindingEntryAccessor from mod amecs [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_309 (java.lang.ClassNotFoundException: net/minecraft/class_309) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_309 was not found amecs.mixins.json:MixinKeyboard from mod amecs [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_638$class_5271 (java.lang.ClassNotFoundException: net/minecraft/class_638$class_5271) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_638$class_5271 was not found dust.mixins.json:ClientWorldAccessor from mod cavedust [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_293 (java.lang.ClassNotFoundException: net/minecraft/class_293) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_293 was not found creativecore.fabric.mixins.json:VertexFormatMixin from mod creativecore [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_5684 (java.lang.ClassNotFoundException: net/minecraft/class_5684) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_5684 was not found dehydration.mixins.json:TooltipComponentMixin from mod dehydration [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_906 (java.lang.ClassNotFoundException: net/minecraft/class_906) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_906 was not found go-fish.mixins.json:FishingBobberEntityRendererMixin from mod go-fish [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_702 (java.lang.ClassNotFoundException: net/minecraft/class_702) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_702 was not found go-fish.mixins.json:ParticleManagerMixin from mod go-fish [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_1007 (java.lang.ClassNotFoundException: net/minecraft/class_1007) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_1007 was not found inmis.mixins.json:client.PlayerEntityFeatureMixin from mod inmis [13:43:48] [main/WARN]: Error loading class: com/nhoryzon/mc/farmersdelight/block/TomatoBushCropBlock (java.lang.ClassNotFoundException: com/nhoryzon/mc/farmersdelight/block/TomatoBushCropBlock) [13:43:48] [main/WARN]: @Mixin target com.nhoryzon.mc.farmersdelight.block.TomatoBushCropBlock was not found jobsaddon.mixins.json:compat.TomatoBushCropBlockMixin from mod jobsaddon [13:43:48] [main/WARN]: Force-disabling mixin 'alloc.blockstate.StateMixin' as rule 'mixin.alloc.blockstate' (added by mods [ferritecore]) disables it and children [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_634 (java.lang.ClassNotFoundException: net/minecraft/class_634) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_634 was not found modernfix-fabric.mixins.json:core.ClientPlayNetHandlerMixin from mod modernfix [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_340 (java.lang.ClassNotFoundException: net/minecraft/class_340) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_340 was not found modernfix-fabric.mixins.json:feature.branding.GuiMixin from mod modernfix [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_1043 (java.lang.ClassNotFoundException: net/minecraft/class_1043) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_1043 was not found modernfix-fabric.mixins.json:safety.DynamicTextureMixin from mod modernfix [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_525 (java.lang.ClassNotFoundException: net/minecraft/class_525) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_525 was not found modernfix-common.mixins.json:perf.dedicated_reload_executor.CreateWorldScreenMixin from mod modernfix [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_7196 (java.lang.ClassNotFoundException: net/minecraft/class_7196) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_7196 was not found modernfix-common.mixins.json:perf.dedicated_reload_executor.WorldOpenFlowsMixin from mod modernfix [13:43:48] [main/WARN]: Error loading class: fr/catcore/server/translations/api/resource/language/SystemDelegatedLanguage (java.lang.ClassNotFoundException: fr/catcore/server/translations/api/resource/language/SystemDelegatedLanguage) [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_4224 (java.lang.ClassNotFoundException: net/minecraft/class_4224) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_4224 was not found sound_physics_remastered.mixins.json:ChannelAccessor from mod sound_physics_remastered [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_471 (java.lang.ClassNotFoundException: net/minecraft/class_471) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_471 was not found stendhal.mixins.json:AnvilScreenMixin from mod stendhal [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_473 (java.lang.ClassNotFoundException: net/minecraft/class_473) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_473 was not found stendhal.mixins.json:BookEditScreenMixin from mod stendhal [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_3872 (java.lang.ClassNotFoundException: net/minecraft/class_3872) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_3872 was not found stendhal.mixins.json:BookScreenMixin from mod stendhal [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_408 (java.lang.ClassNotFoundException: net/minecraft/class_408) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_408 was not found stendhal.mixins.json:ChatScreenMixin from mod stendhal [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_498 (java.lang.ClassNotFoundException: net/minecraft/class_498) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_498 was not found stendhal.mixins.json:SignEditScreenMixin from mod stendhal [13:43:48] [main/WARN]: Error loading class: net/minecraft/class_465 (java.lang.ClassNotFoundException: net/minecraft/class_465) [13:43:48] [main/WARN]: @Mixin target net.minecraft.class_465 was not found trinkets-curios-theme.mixins.json:HandledScreenMixin from mod trinkets-curios-theme [13:43:48] [main/WARN]: Error loading class: org/jetbrains/annotations/ApiStatus$Internal (java.lang.ClassNotFoundException: org/jetbrains/annotations/ApiStatus$Internal) [13:43:48] [main/WARN]: Error loading class: org/jetbrains/annotations/ApiStatus$Internal (java.lang.ClassNotFoundException: org/jetbrains/annotations/ApiStatus$Internal) [13:43:48] [main/WARN]: Error loading class: org/jetbrains/annotations/ApiStatus$Internal (java.lang.ClassNotFoundException: org/jetbrains/annotations/ApiStatus$Internal) [13:43:49] [main/INFO]: I used the json to destroy the json [13:43:49] [main/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.5). [13:43:50] [main/INFO]: Mixing server.MixinPlayer from nochatreports.mixins.json into net.minecraft.class_1657 [13:43:50] [main/WARN]: @Final field field_6280:Ljava/util/Map; in vinery.mixins.json:LivingEntityMixin from mod vinery should be final [13:43:51] [main/WARN]: Method overwrite conflict for compatSync in environmentz.mixins.json:ServerPlayerEntityMixin from mod environmentz, previously written by net.dehydration.mixin.ServerPlayerEntityMixin. Skipping method. [13:43:51] [main/WARN]: Method overwrite conflict for method_21740 in modernfix-common.mixins.json:perf.remove_biome_temperature_cache.BiomeMixin from mod modernfix, previously written by me.jellysquid.mods.lithium.mixin.world.temperature_cache.BiomeMixin. Skipping method. [13:43:51] [main/ERROR]: Minecraft has crashed! net.fabricmc.loader.impl.FormattedException: java.lang.NoSuchFieldError: CLIENT_CONFIG         at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:63) ~[fabric-loader-0.15.11.jar:?]         at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:472) ~[fabric-loader-0.15.11.jar:?]         at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.15.11.jar:?]         at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.15.11.jar:?]         at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) [fabric-loader-0.15.11.jar:?]         at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69) [server.jar:1.0.1] Caused by: java.lang.NoSuchFieldError: CLIENT_CONFIG         at org.betterx.bclib.config.Configs.<clinit>(Configs.java:12) ~[bclib-2.1.7.jar:?]         at org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeSettings.applyWithDefaults(BCLBiomeSettings.java:201) ~[bclib-2.1.7.jar:?]         at org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome.<init>(BCLBiome.java:290) ~[bclib-2.1.7.jar:?]         at org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome.<init>(BCLBiome.java:273) ~[bclib-2.1.7.jar:?]         at org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI.wrapNativeBiome(InternalBiomeAPI.java:268) ~[bclib-2.1.7.jar:?]         at org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI.wrapNativeBiome(InternalBiomeAPI.java:232) ~[bclib-2.1.7.jar:?]         at org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI.<clinit>(BiomeAPI.java:254) ~[bclib-2.1.7.jar:?]         at org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeRegistry.bootstrap(BCLBiomeRegistry.java:91) ~[bclib-2.1.7.jar:?]         at net.minecraft.class_5458.method_44104(class_5458.java:98) ~[server-intermediary.jar:?]         at net.minecraft.class_5458.method_30566(class_5458.java:105) ~[server-intermediary.jar:?]         at java.util.LinkedHashMap.forEach(LinkedHashMap.java:729) ~[?:?]         at net.minecraft.class_5458.<clinit>(class_5458.java:104) ~[server-intermediary.jar:?]         at net.minecraft.class_2378.<clinit>(class_2378.java:326) ~[server-intermediary.jar:?]         at net.minecraft.class_2966.method_12851(class_2966.java:50) ~[server-intermediary.jar:?]         at net.minecraft.server.Main.main(Main.java:98) ~[server-intermediary.jar:?]         at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]         ... 4 more
    • i dont know what is cousing this i am creating my own private modpack to play with  a friend but for some reason less then a minute after loading in a world the games freezes becouse my memory is 99% used (the memory i allocated for minecraft to use)   i keep searching in the log but i cant find the couse cen some pls help my find it   i play in minecraft version 1.20.1 and forge version 47.2.32 log: https://drive.google.com/file/d/1HlCl6R_20LwEsgk4Z9Y84IPBUUorxcA9/view?usp=sharing
    • If you want to access Resource from Minecraft, use: ResourceLocation.withDefaultNamespace("potato"); or If you want to access Resource from your mod, use: ResourceLocation.fromNamespaceAndPath("your_mod_id", "your_key");
  • Topics

×
×
  • Create New...

Important Information

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