Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.mcreator.jbme.procedures;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.eventbus.api.SubscribeEvent;
- import net.minecraftforge.eventbus.api.Event;
- import net.minecraft.world.item.enchantment.EnchantmentHelper;
- import net.minecraft.world.entity.EquipmentSlot;
- import net.minecraft.world.entity.ai.attributes.Attribute;
- import net.minecraft.world.entity.ai.attributes.RangedAttribute;
- import net.minecraft.world.entity.ai.attributes.AttributeModifier;
- import net.minecraft.world.entity.ai.attributes.AttributeModifier.Operation;
- import net.minecraftforge.event.ItemAttributeModifierEvent;
- import net.minecraft.network.chat.Component;
- import net.minecraft.world.entity.LivingEntity;
- import net.minecraft.world.entity.Entity;
- import net.mcreator.jbme.init.JustABitMoreEnchantmentsModEnchantments;
- import net.mcreator.jbme.JustABitMoreEnchantmentsMod;
- import net.minecraft.world.item.ItemStack;
- import javax.annotation.Nullable;
- import com.google.common.collect.Multimap;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Collection;
- import java.util.UUID;
- import java.util.Optional;
- import java.lang.String;
- @Mod.EventBusSubscriber
- 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(); //This will cause issues in some mods XD
- 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
- double amount = 0;
- String name = "";
- UUID Vid = UUID.fromString("14f1441b-fdb8-431b-9d78-dd413ef52ba5"); //Vitality UUID
- UUID Aid = UUID.fromString("43424130-3913-425e-a7f2-3cc0c839d115"); //Agility UUID
- if ((!VitalityOp.isPresent()) && (VLVL != 0) && (event.getSlotType() == EquipmentSlot.CHEST)) {
- //event.addModifier(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH, (new AttributeModifier(Vid, "VITALITY", (float)(4 * LVL), AttributeModifier.Operation.ADDITION)));
- event.clearModifiers();
- if (ArmorOp.isPresent()) {
- AttributeModifier ArmorModifier = ArmorOp.get();
- amount = ArmorModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.ARMOR, new AttributeModifier(UUID.fromString("2cdedcd4-8680-4ccc-ac73-77d90faa56a1"), "ARMORDEFAULT", (float)amount, AttributeModifier.Operation.ADDITION), event.getSlotType());
- }
- if (ToughnessOp.isPresent()) {
- AttributeModifier ToughnessModifier = ToughnessOp.get();
- amount = ToughnessModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.ARMOR_TOUGHNESS, new AttributeModifier(UUID.fromString("31b2f268-3a78-48c3-bf58-02bbad9c60d3"), "TOUGHNESSDEFAULT", (float)amount, AttributeModifier.Operation.ADDITION), event.getSlotType());
- }
- if (KnockOp.isPresent()) {
- AttributeModifier KnockModifier = KnockOp.get();
- amount = KnockModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.KNOCKBACK_RESISTANCE, new AttributeModifier(UUID.fromString("f899afe7-3608-499d-8839-8f3af7b839b7"), "KNOCKDEFAULT", (float)amount, AttributeModifier.Operation.ADDITION), event.getSlotType());
- }
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH, (new AttributeModifier(Vid, "VITALITY", (float)(4 * VLVL), AttributeModifier.Operation.ADDITION)), EquipmentSlot.CHEST);
- } else if ((VitalityOp.isPresent()) && (VLVL ==0) && (event.getSlotType() == EquipmentSlot.CHEST)) {
- item.removeTagKey("AttributeModifiers");
- if (ArmorOp.isPresent()) {
- AttributeModifier ArmorModifier = ArmorOp.get();
- amount = ArmorModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.ARMOR, ArmorModifier, event.getSlotType());
- }
- if (ToughnessOp.isPresent()) {
- AttributeModifier ToughnessModifier = ToughnessOp.get();
- amount = ToughnessModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.ARMOR_TOUGHNESS, ToughnessModifier, event.getSlotType());
- }
- if (KnockOp.isPresent()) {
- AttributeModifier KnockModifier = KnockOp.get();
- amount = KnockModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.KNOCKBACK_RESISTANCE, KnockModifier, event.getSlotType());
- }
- }
- if ((!AgilityOp.isPresent()) && (ALVL != 0) && (event.getSlotType() == EquipmentSlot.LEGS)) {
- //event.addModifier(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH, (new AttributeModifier(Vid, "VITALITY", (float)(4 * LVL), AttributeModifier.Operation.ADDITION)));
- event.clearModifiers();
- if (ArmorOp.isPresent()) {
- AttributeModifier ArmorModifier = ArmorOp.get();
- amount = ArmorModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.ARMOR, new AttributeModifier(UUID.fromString("2cdedcd4-8680-4ccc-ac73-77d90faa56a1"), "ARMORDEFAULT", (float)amount, AttributeModifier.Operation.ADDITION), event.getSlotType());
- }
- if (ToughnessOp.isPresent()) {
- AttributeModifier ToughnessModifier = ToughnessOp.get();
- amount = ToughnessModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.ARMOR_TOUGHNESS, new AttributeModifier(UUID.fromString("31b2f268-3a78-48c3-bf58-02bbad9c60d3"), "TOUGHNESSDEFAULT", (float)amount, AttributeModifier.Operation.ADDITION), event.getSlotType());
- }
- if (KnockOp.isPresent()) {
- AttributeModifier KnockModifier = KnockOp.get();
- amount = KnockModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.KNOCKBACK_RESISTANCE, new AttributeModifier(UUID.fromString("f899afe7-3608-499d-8839-8f3af7b839b7"), "KNOCKDEFAULT", (float)amount, AttributeModifier.Operation.ADDITION), event.getSlotType());
- }
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.MOVEMENT_SPEED, (new AttributeModifier(Vid, "AGILITY", (float)(0.01 * ALVL), AttributeModifier.Operation.ADDITION)), EquipmentSlot.LEGS);
- } else if ((AgilityOp.isPresent()) && (ALVL ==0) && (event.getSlotType() == EquipmentSlot.LEGS)) {
- item.removeTagKey("AttributeModifiers");
- if (ArmorOp.isPresent()) {
- AttributeModifier ArmorModifier = ArmorOp.get();
- amount = ArmorModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.ARMOR, ArmorModifier, event.getSlotType());
- }
- if (ToughnessOp.isPresent()) {
- AttributeModifier ToughnessModifier = ToughnessOp.get();
- amount = ToughnessModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.ARMOR_TOUGHNESS, ToughnessModifier, event.getSlotType());
- }
- if (KnockOp.isPresent()) {
- AttributeModifier KnockModifier = KnockOp.get();
- amount = KnockModifier.getAmount();
- (item).addAttributeModifier(net.minecraft.world.entity.ai.attributes.Attributes.KNOCKBACK_RESISTANCE, KnockModifier, event.getSlotType());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement