Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class TestingProcedure {
- @SubscribeEvent
- public static void JBMEaddAttributeModifier(ItemAttributeModifierEvent event) {
- ItemStack item = event.getItemStack();
- Multimap<Attribute,AttributeModifier> multimap = event.getModifiers();
- //Optional<AttributeModifier> ArmorOp = multimap.get(net.minecraft.world.entity.ai.attributes.Attributes.ARMOR).stream().findFirst();
- //Optional<AttributeModifier> ToughnessOp = multimap.get(net.minecraft.world.entity.ai.attributes.Attributes.ARMOR_TOUGHNESS).stream().findFirst();
- //Optional<AttributeModifier> KnockOp = multimap.get(net.minecraft.world.entity.ai.attributes.Attributes.KNOCKBACK_RESISTANCE).stream().findFirst();
- Optional<AttributeModifier> VitalityOp = multimap.get(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).stream().findFirst();
- Optional<AttributeModifier> AgilityOp = multimap.get(net.minecraft.world.entity.ai.attributes.Attributes.MOVEMENT_SPEED).stream().findFirst();
- double VLVL = EnchantmentHelper.getItemEnchantmentLevel(JustABitMoreEnchantmentsModEnchantments.VITALITY.get(), item); //Getting the enchantment vitality level
- double ALVL = EnchantmentHelper.getItemEnchantmentLevel(JustABitMoreEnchantmentsModEnchantments.AGILITY.get(), item); //Getting the enchantment agility level
- UUID Vid = UUID.fromString("14f1441b-fdb8-431b-9d78-dd413ef52ba5"); //Vitality UUID
- UUID Aid = UUID.fromString("43424130-3913-425e-a7f2-3cc0c839d115"); //Agility UUID
- if ((VLVL != 0) && (event.getSlotType() == EquipmentSlot.CHEST) ) {
- if (VitalityOp.isPresent()){
- AttributeModifier VitalityModifier = null;
- Collection<AttributeModifier> modifiers = multimap.get(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH);
- for (AttributeModifier modifier : modifiers) {
- if (modifier.getId().equals(Vid)) {
- VitalityModifier = modifier;
- break; // Stop searching once we find the target modifier
- }
- }
- if (VitalityModifier != null) {
- event.removeModifier(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH, VitalityModifier);
- }
- } else {
- event.removeAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH);
- }
- event.addModifier(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH, new AttributeModifier(Vid, "VITALITY", (float)(4 * VLVL), AttributeModifier.Operation.ADDITION));
- }
- if ((ALVL != 0) && (event.getSlotType() == EquipmentSlot.LEGS)) {
- if (AgilityOp.isPresent()){
- AttributeModifier AgilityModifier = null;
- Collection<AttributeModifier> modifiers = multimap.get(net.minecraft.world.entity.ai.attributes.Attributes.MOVEMENT_SPEED);
- for (AttributeModifier modifier : modifiers) {
- if (modifier.getId().equals(Aid)) {
- AgilityModifier = modifier;
- break; // Stop searching once we find the target modifier
- }
- }
- if (AgilityModifier != null) {
- event.removeModifier(net.minecraft.world.entity.ai.attributes.Attributes.MOVEMENT_SPEED, AgilityModifier);
- }
- } else {
- event.removeAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MOVEMENT_SPEED);
- }
- event.addModifier(net.minecraft.world.entity.ai.attributes.Attributes.MOVEMENT_SPEED, new AttributeModifier(Aid, "AGILITY", (float)(0.01 * ALVL), AttributeModifier.Operation.ADDITION));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement