Added Day + Night crystals
This commit is contained in:
@@ -9,6 +9,7 @@ import com.willfp.talismans.talismans.talismans.ArcheryTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.AttackSpeedTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.BossTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.CreeperTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.DayCrystal;
|
||||
import com.willfp.talismans.talismans.talismans.EndTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.ExperienceTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.ExtractionTalisman;
|
||||
@@ -19,6 +20,7 @@ import com.willfp.talismans.talismans.talismans.GravityTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.HealingTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.ImmunityTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.NetherTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.NightCrystal;
|
||||
import com.willfp.talismans.talismans.talismans.PoseidonTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.RaidTalisman;
|
||||
import com.willfp.talismans.talismans.talismans.ResistanceTalisman;
|
||||
@@ -74,6 +76,8 @@ public class Talismans {
|
||||
public static final Talisman BOSS_TALISMAN = new BossTalisman();
|
||||
public static final Talisman GRAVITY_TALISMAN = new GravityTalisman();
|
||||
public static final Talisman ATTACK_SPEED_TALISMAN = new AttackSpeedTalisman();
|
||||
public static final Talisman DAY_CRYSTAL = new DayCrystal();
|
||||
public static final Talisman NIGHT_CRYSTAL = new NightCrystal();
|
||||
|
||||
/**
|
||||
* Get all registered {@link Talisman}s.
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.willfp.talismans.talismans.talismans;
|
||||
|
||||
import com.willfp.talismans.talismans.Talisman;
|
||||
import com.willfp.talismans.talismans.TalismanLevel;
|
||||
import com.willfp.talismans.talismans.Talismans;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Arrow;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Trident;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class DayCrystal extends Talisman {
|
||||
public DayCrystal() {
|
||||
super("day");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMeleeAttack(@NotNull final TalismanLevel level,
|
||||
@NotNull final Player attacker,
|
||||
@NotNull final LivingEntity victim,
|
||||
@NotNull final EntityDamageByEntityEvent event) {
|
||||
if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(attacker.getWorld().getTime() < 12300 && attacker.getWorld().getTime() > 23850)) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onArrowDamage(@NotNull final TalismanLevel level,
|
||||
@NotNull final Player attacker,
|
||||
@NotNull final LivingEntity victim,
|
||||
@NotNull final Arrow arrow,
|
||||
@NotNull final EntityDamageByEntityEvent event) {
|
||||
if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(attacker.getWorld().getTime() < 12300 && attacker.getWorld().getTime() > 23850)) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTridentDamage(@NotNull final TalismanLevel level,
|
||||
@NotNull final Player attacker,
|
||||
@NotNull final LivingEntity victim,
|
||||
@NotNull final Trident trident,
|
||||
@NotNull final EntityDamageByEntityEvent event) {
|
||||
if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(attacker.getWorld().getTime() < 12300 && attacker.getWorld().getTime() > 23850)) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.willfp.talismans.talismans.talismans;
|
||||
|
||||
import com.willfp.talismans.talismans.Talisman;
|
||||
import com.willfp.talismans.talismans.TalismanLevel;
|
||||
import com.willfp.talismans.talismans.Talismans;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Arrow;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Trident;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class NightCrystal extends Talisman {
|
||||
public NightCrystal() {
|
||||
super("night");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMeleeAttack(@NotNull final TalismanLevel level,
|
||||
@NotNull final Player attacker,
|
||||
@NotNull final LivingEntity victim,
|
||||
@NotNull final EntityDamageByEntityEvent event) {
|
||||
if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(attacker.getWorld().getTime() > 12300 && attacker.getWorld().getTime() < 23850)) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onArrowDamage(@NotNull final TalismanLevel level,
|
||||
@NotNull final Player attacker,
|
||||
@NotNull final LivingEntity victim,
|
||||
@NotNull final Arrow arrow,
|
||||
@NotNull final EntityDamageByEntityEvent event) {
|
||||
if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(attacker.getWorld().getTime() > 12300 && attacker.getWorld().getTime() < 23850)) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTridentDamage(@NotNull final TalismanLevel level,
|
||||
@NotNull final Player attacker,
|
||||
@NotNull final LivingEntity victim,
|
||||
@NotNull final Trident trident,
|
||||
@NotNull final EntityDamageByEntityEvent event) {
|
||||
if (!attacker.getWorld().getEnvironment().equals(World.Environment.NORMAL)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(attacker.getWorld().getTime() > 12300 && attacker.getWorld().getTime() < 23850)) {
|
||||
return;
|
||||
}
|
||||
|
||||
event.setDamage(event.getDamage() * (1 + (level.getConfig().getDouble(Talismans.CONFIG_LOCATION + "percent-more-damage")) / 100));
|
||||
}
|
||||
}
|
||||
28
eco-core/core-plugin/src/main/resources/talismans/day.yml
Normal file
28
eco-core/core-plugin/src/main/resources/talismans/day.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
enabled: true
|
||||
disabled-in-worlds: [ ]
|
||||
|
||||
levels:
|
||||
1:
|
||||
name: "&aDay Crystal"
|
||||
description: Deal 10% more damage at daytime.
|
||||
|
||||
obtaining:
|
||||
craftable: true
|
||||
recipe:
|
||||
- daylight_sensor
|
||||
- netherite_sword
|
||||
- daylight_sensor
|
||||
|
||||
- netherite_sword
|
||||
- ender_eye
|
||||
- netherite_sword
|
||||
|
||||
- daylight_sensor
|
||||
- netherite_sword
|
||||
- daylight_sensor
|
||||
|
||||
general-config:
|
||||
material: nether_star
|
||||
|
||||
config:
|
||||
percent-more-damage: 10
|
||||
28
eco-core/core-plugin/src/main/resources/talismans/night.yml
Normal file
28
eco-core/core-plugin/src/main/resources/talismans/night.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
enabled: true
|
||||
disabled-in-worlds: [ ]
|
||||
|
||||
levels:
|
||||
1:
|
||||
name: "&aNight Crystal"
|
||||
description: Deal 10% more damage at daytime.
|
||||
|
||||
obtaining:
|
||||
craftable: true
|
||||
recipe:
|
||||
- clock
|
||||
- netherite_sword
|
||||
- clock
|
||||
|
||||
- netherite_sword
|
||||
- ender_eye
|
||||
- netherite_sword
|
||||
|
||||
- clock
|
||||
- netherite_sword
|
||||
- clock
|
||||
|
||||
general-config:
|
||||
material: nether_star
|
||||
|
||||
config:
|
||||
percent-more-damage: 10
|
||||
Reference in New Issue
Block a user