mirror of
https://github.com/Auxilor/Reforges.git
synced 2025-12-30 20:39:13 +00:00
Added strong reforg
This commit is contained in:
@@ -8,6 +8,7 @@ import com.willfp.reforges.reforges.reforges.ReforgeDynamic;
|
||||
import com.willfp.reforges.reforges.reforges.ReforgeGravitated;
|
||||
import com.willfp.reforges.reforges.reforges.ReforgeLight;
|
||||
import com.willfp.reforges.reforges.reforges.ReforgeSharp;
|
||||
import com.willfp.reforges.reforges.reforges.ReforgeStrong;
|
||||
import com.willfp.reforges.reforges.reforges.ReforgeWise;
|
||||
import lombok.experimental.UtilityClass;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -28,6 +29,7 @@ public class Reforges {
|
||||
public static final Reforge WISE = new ReforgeWise();
|
||||
public static final Reforge DYNAMIC = new ReforgeDynamic();
|
||||
public static final Reforge GRAVITATED = new ReforgeGravitated();
|
||||
public static final Reforge STRONG = new ReforgeStrong();
|
||||
|
||||
/**
|
||||
* Get all registered {@link Reforge}s.
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.willfp.reforges.reforges.reforges;
|
||||
|
||||
import com.willfp.reforges.reforges.Reforge;
|
||||
import com.willfp.reforges.reforges.Reforges;
|
||||
import com.willfp.reforges.reforges.meta.ReforgeTarget;
|
||||
import org.bukkit.attribute.Attribute;
|
||||
import org.bukkit.attribute.AttributeModifier;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class ReforgeStrong extends Reforge {
|
||||
private AttributeModifier kbModifier;
|
||||
|
||||
public ReforgeStrong() {
|
||||
super("strong");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ReforgeTarget getTarget() {
|
||||
return ReforgeTarget.MELEE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void postUpdate() {
|
||||
this.kbModifier = new AttributeModifier(
|
||||
UUID.nameUUIDFromBytes("strong-kb".getBytes()),
|
||||
"strong-kb",
|
||||
this.getConfig().getDouble(Reforges.CONFIG_LOCATION + "knockback-multiplier") - 1,
|
||||
AttributeModifier.Operation.MULTIPLY_SCALAR_1,
|
||||
EquipmentSlot.HAND
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMeleeAttack(@NotNull final LivingEntity attacker,
|
||||
@NotNull final LivingEntity victim,
|
||||
@NotNull final EntityDamageByEntityEvent event) {
|
||||
event.setDamage(event.getDamage() * this.getConfig().getDouble(Reforges.CONFIG_LOCATION + "multiplier"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleApplication(@NotNull final ItemStack itemStack) {
|
||||
ItemMeta meta = itemStack.getItemMeta();
|
||||
assert meta != null;
|
||||
|
||||
meta.addAttributeModifier(Attribute.GENERIC_ATTACK_KNOCKBACK, kbModifier);
|
||||
meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
itemStack.setItemMeta(meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleRemoval(@NotNull final ItemStack itemStack) {
|
||||
ItemMeta meta = itemStack.getItemMeta();
|
||||
assert meta != null;
|
||||
|
||||
meta.removeAttributeModifier(Attribute.GENERIC_ATTACK_KNOCKBACK, kbModifier);
|
||||
itemStack.setItemMeta(meta);
|
||||
}
|
||||
}
|
||||
11
eco-core/core-plugin/src/main/resources/reforges/strong.yml
Normal file
11
eco-core/core-plugin/src/main/resources/reforges/strong.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
#
|
||||
# Strong Reforge
|
||||
#
|
||||
|
||||
name: "<gradient:#ED213A>Strong</gradient:#93291E>"
|
||||
enabled: true
|
||||
description: "Deal &a2%&r more damage and &a10%&r more knockback"
|
||||
|
||||
config:
|
||||
multiplier: 1.03 # Damage multiplier
|
||||
knockback-multiplier: 1.1
|
||||
Reference in New Issue
Block a user