Added healing talisman/ring/relic

This commit is contained in:
Auxilor
2021-01-03 19:35:03 +00:00
parent 460e934393
commit 1d082e8b72
7 changed files with 213 additions and 0 deletions

View File

@@ -13,6 +13,7 @@ import com.willfp.talismans.talismans.talismans.relic.ExtractionRelic;
import com.willfp.talismans.talismans.talismans.relic.FeatherRelic;
import com.willfp.talismans.talismans.talismans.relic.FlameRelic;
import com.willfp.talismans.talismans.talismans.relic.FluxRelic;
import com.willfp.talismans.talismans.talismans.relic.HealingRelic;
import com.willfp.talismans.talismans.talismans.relic.NetherRelic;
import com.willfp.talismans.talismans.talismans.relic.PoseidonRelic;
import com.willfp.talismans.talismans.talismans.relic.RaidRelic;
@@ -27,6 +28,7 @@ import com.willfp.talismans.talismans.talismans.ring.ExtractionRing;
import com.willfp.talismans.talismans.talismans.ring.FeatherRing;
import com.willfp.talismans.talismans.talismans.ring.FlameRing;
import com.willfp.talismans.talismans.talismans.ring.FluxRing;
import com.willfp.talismans.talismans.talismans.ring.HealingRing;
import com.willfp.talismans.talismans.talismans.ring.NetherRing;
import com.willfp.talismans.talismans.talismans.ring.PoseidonRing;
import com.willfp.talismans.talismans.talismans.ring.RaidRing;
@@ -42,6 +44,7 @@ import com.willfp.talismans.talismans.talismans.talisman.ExtractionTalisman;
import com.willfp.talismans.talismans.talismans.talisman.FeatherTalisman;
import com.willfp.talismans.talismans.talismans.talisman.FlameTalisman;
import com.willfp.talismans.talismans.talismans.talisman.FluxTalisman;
import com.willfp.talismans.talismans.talismans.talisman.HealingTalisman;
import com.willfp.talismans.talismans.talismans.talisman.ImmunityTalisman;
import com.willfp.talismans.talismans.talismans.talisman.NetherTalisman;
import com.willfp.talismans.talismans.talismans.talisman.PoseidonTalisman;
@@ -121,6 +124,9 @@ public class Talismans {
public static final Talisman FLUX_TALISMAN = new FluxTalisman();
public static final Talisman FLUX_RING = new FluxRing();
public static final Talisman FLUX_RELIC = new FluxRelic();
public static final Talisman HEALING_TALISMAN = new HealingTalisman();
public static final Talisman HEALING_RING = new HealingRing();
public static final Talisman HEALING_RELIC = new HealingRelic();
/**

View File

@@ -0,0 +1,42 @@
package com.willfp.talismans.talismans.talismans.relic;
import com.willfp.talismans.talismans.Talisman;
import com.willfp.talismans.talismans.Talismans;
import com.willfp.talismans.talismans.meta.TalismanStrength;
import com.willfp.talismans.talismans.util.TalismanChecks;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.EntityRegainHealthEvent;
import org.jetbrains.annotations.NotNull;
public class HealingRelic extends Talisman {
public HealingRelic() {
super("healing_relic", TalismanStrength.RELIC);
}
@EventHandler
public void onHeal(@NotNull final EntityRegainHealthEvent event) {
if (!(event.getEntity() instanceof Player)) {
return;
}
if (!event.getRegainReason().equals(EntityRegainHealthEvent.RegainReason.SATIATED) && !event.getRegainReason().equals(EntityRegainHealthEvent.RegainReason.REGEN)) {
return;
}
Player player = (Player) event.getEntity();
if (this.getDisabledWorlds().contains(player.getWorld())) {
return;
}
if (!TalismanChecks.hasTalisman(player, this)) {
return;
}
double amount = this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "multiplier");
amount += 1;
event.setAmount(event.getAmount() * amount);
}
}

View File

@@ -0,0 +1,42 @@
package com.willfp.talismans.talismans.talismans.ring;
import com.willfp.talismans.talismans.Talisman;
import com.willfp.talismans.talismans.Talismans;
import com.willfp.talismans.talismans.meta.TalismanStrength;
import com.willfp.talismans.talismans.util.TalismanChecks;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.EntityRegainHealthEvent;
import org.jetbrains.annotations.NotNull;
public class HealingRing extends Talisman {
public HealingRing() {
super("healing_ring", TalismanStrength.RING);
}
@EventHandler
public void onHeal(@NotNull final EntityRegainHealthEvent event) {
if (!(event.getEntity() instanceof Player)) {
return;
}
if (!event.getRegainReason().equals(EntityRegainHealthEvent.RegainReason.SATIATED) && !event.getRegainReason().equals(EntityRegainHealthEvent.RegainReason.REGEN)) {
return;
}
Player player = (Player) event.getEntity();
if (this.getDisabledWorlds().contains(player.getWorld())) {
return;
}
if (!TalismanChecks.hasTalisman(player, this)) {
return;
}
double amount = this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "multiplier");
amount += 1;
event.setAmount(event.getAmount() * amount);
}
}

View File

@@ -0,0 +1,42 @@
package com.willfp.talismans.talismans.talismans.talisman;
import com.willfp.talismans.talismans.Talisman;
import com.willfp.talismans.talismans.Talismans;
import com.willfp.talismans.talismans.meta.TalismanStrength;
import com.willfp.talismans.talismans.util.TalismanChecks;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.entity.EntityRegainHealthEvent;
import org.jetbrains.annotations.NotNull;
public class HealingTalisman extends Talisman {
public HealingTalisman() {
super("healing_talisman", TalismanStrength.TALISMAN);
}
@EventHandler
public void onHeal(@NotNull final EntityRegainHealthEvent event) {
if (!(event.getEntity() instanceof Player)) {
return;
}
if (!event.getRegainReason().equals(EntityRegainHealthEvent.RegainReason.SATIATED) && !event.getRegainReason().equals(EntityRegainHealthEvent.RegainReason.REGEN)) {
return;
}
Player player = (Player) event.getEntity();
if (this.getDisabledWorlds().contains(player.getWorld())) {
return;
}
if (!TalismanChecks.hasTalisman(player, this)) {
return;
}
double amount = this.getConfig().getDouble(Talismans.CONFIG_LOCATION + "multiplier");
amount += 1;
event.setAmount(event.getAmount() * amount);
}
}

View File

@@ -0,0 +1,27 @@
name: "Healing Relic"
description: Heal 25% faster.
enabled: true
obtaining:
# Recipes are left-right, top-bottom
# The first item is the top left, the second is top middle, and so on. The last is bottom right.
recipe:
- talisman:healing_ring
- talisman:healing_ring
- talisman:healing_ring
- talisman:healing_ring
- nether_star
- talisman:healing_ring
- talisman:healing_ring
- talisman:healing_ring
- talisman:healing_ring
general-config:
disabled-in-worlds: []
# Texture is base64, https://minecraft-heads.com has a list of skulls.
texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODc5M2VlZjQ4NDkwNzhkZjRjY2Q0OTgwNTRjNzRlMjE3MWM3NzFmMjczMDk0NDE2NGE4ZWU3YjJkNTYzODMyIn19fQ==
config:
multiplier: 0.25

View File

@@ -0,0 +1,27 @@
name: "Healing Ring"
description: Heal 10% faster.
enabled: true
obtaining:
# Recipes are left-right, top-bottom
# The first item is the top left, the second is top middle, and so on. The last is bottom right.
recipe:
- talisman:healing_talisman
- talisman:healing_talisman
- talisman:healing_talisman
- talisman:healing_talisman
- heart_of_the_sea
- talisman:healing_talisman
- talisman:healing_talisman
- talisman:healing_talisman
- talisman:healing_talisman
general-config:
disabled-in-worlds: []
# Texture is base64, https://minecraft-heads.com has a list of skulls.
texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDY2YTVmN2JjZDNjMWMyMjVhOTM2NmVlZTZkZmFiMWNjNjZhNmJmNzM2M2ZlZDA4NzUxMmU2ZWY0N2ExZCJ9fX0=
config:
multiplier: 0.1

View File

@@ -0,0 +1,27 @@
name: "Healing Talisman"
description: Heal 5% faster.
enabled: true
obtaining:
# Recipes are left-right, top-bottom
# The first item is the top left, the second is top middle, and so on. The last is bottom right.
recipe:
- glistering_melon_slice
- glistering_melon_slice
- glistering_melon_slice
- glistering_melon_slice
- ender_eye
- glistering_melon_slice
- glistering_melon_slice
- glistering_melon_slice
- glistering_melon_slice
general-config:
disabled-in-worlds: []
# Texture is base64, https://minecraft-heads.com has a list of skulls.
texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjUyOGNmNmZhYjhhZTdlZmZiNTFjZDNhYzQyZDJlZTI3NTA0ZTQ0MDAyZmE0ZjYyOWE0NTA5MGZhMTY3YTQ3OCJ9fX0=
config:
multiplier: 0.05