9
0
mirror of https://github.com/Auxilor/Reforges.git synced 2025-12-29 03:49:11 +00:00

Added durable reforge

This commit is contained in:
Auxilor
2021-08-16 03:31:17 +01:00
parent 34456d170c
commit d0516989a2
3 changed files with 62 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableSet;
import com.willfp.eco.core.config.updating.ConfigUpdater;
import com.willfp.reforges.reforges.reforges.ReforgeAerobic;
import com.willfp.reforges.reforges.reforges.ReforgeAffluent;
import com.willfp.reforges.reforges.reforges.ReforgeDurable;
import com.willfp.reforges.reforges.reforges.ReforgeDynamic;
import com.willfp.reforges.reforges.reforges.ReforgeEvasive;
import com.willfp.reforges.reforges.reforges.ReforgeGravitated;
@@ -56,6 +57,7 @@ public class Reforges {
public static final Reforge POINTY = new ReforgePointy();
public static final Reforge VERSATILE = new ReforgeVersatile();
public static final Reforge AFFLUENT = new ReforgeAffluent();
public static final Reforge DURABLE = new ReforgeDurable();
/**
* Get all registered {@link Reforge}s.

View File

@@ -0,0 +1,44 @@
package com.willfp.reforges.reforges.reforges;
import com.willfp.eco.core.events.EntityDeathByEntityEvent;
import com.willfp.eco.util.NumberUtils;
import com.willfp.reforges.reforges.Reforge;
import com.willfp.reforges.reforges.Reforges;
import com.willfp.reforges.reforges.meta.ReforgeTarget;
import com.willfp.reforges.reforges.util.ReforgeUtils;
import com.willfp.reforges.vault.EconomyHandler;
import org.bukkit.entity.Player;
import org.bukkit.entity.Trident;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerItemDamageEvent;
import org.jetbrains.annotations.NotNull;
public class ReforgeDurable extends Reforge {
public ReforgeDurable() {
super("durable");
}
@Override
public ReforgeTarget[] getTarget() {
return new ReforgeTarget[]{
ReforgeTarget.TRIDENT,
ReforgeTarget.ARMOR,
ReforgeTarget.BOW,
ReforgeTarget.MELEE,
ReforgeTarget.PICKAXE
};
}
@EventHandler
public void handle(@NotNull final PlayerItemDamageEvent event) {
Reforge reforge = ReforgeUtils.getReforge(event.getItem());
if (reforge == null || !reforge.equals(this)) {
return;
}
if (NumberUtils.randFloat(0, 100) < this.getConfig().getDouble("percent-less-damage")) {
event.setCancelled(true);
}
}
}

View File

@@ -0,0 +1,16 @@
#
# Durable Reforge
#
name: "<gradient:#FC354C>Durable</gradient:#0ABFBC>"
enabled: true
description: "Take &a15%&r less durability damage"
stone-config:
requires-stone: false
texture: ''
craftable: false
recipe: []
config:
percent-less-damage: 15