Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7fa0ecf26 | ||
|
|
a65f16cfac | ||
|
|
49965c091b | ||
|
|
c240e94a6b | ||
|
|
9da28a1dff |
@@ -2,6 +2,7 @@ package com.willfp.eco.util;
|
|||||||
|
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@@ -10,18 +11,37 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
*/
|
*/
|
||||||
@UtilityClass
|
@UtilityClass
|
||||||
public class LightningUtils {
|
public class LightningUtils {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Strike lightning on player without fire.
|
* Strike lightning on player without fire.
|
||||||
*
|
*
|
||||||
* @param victim The entity to smite.
|
* @param victim The entity to smite.
|
||||||
* @param damage The damage to deal.
|
* @param damage The damage to deal.
|
||||||
|
* @param silent If the lightning sound should be played locally
|
||||||
|
*/
|
||||||
|
public void strike(@NotNull final LivingEntity victim,
|
||||||
|
final double damage,
|
||||||
|
final boolean silent) {
|
||||||
|
Location loc = victim.getLocation();
|
||||||
|
|
||||||
|
if (silent) {
|
||||||
|
victim.getWorld().spigot().strikeLightningEffect(loc, true);
|
||||||
|
victim.getWorld().playSound(loc, Sound.ENTITY_LIGHTNING_BOLT_IMPACT, 1, 1);
|
||||||
|
} else {
|
||||||
|
victim.getWorld().strikeLightningEffect(loc);
|
||||||
|
}
|
||||||
|
|
||||||
|
victim.damage(damage);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Strike lightning on a victim without fire.
|
||||||
|
*
|
||||||
|
* @param victim The entity to smite.
|
||||||
|
* @param damage The damage to deal.
|
||||||
*/
|
*/
|
||||||
public void strike(@NotNull final LivingEntity victim,
|
public void strike(@NotNull final LivingEntity victim,
|
||||||
final double damage) {
|
final double damage) {
|
||||||
Location loc = victim.getLocation();
|
strike(victim, damage, false);
|
||||||
|
|
||||||
victim.getWorld().strikeLightningEffect(loc);
|
|
||||||
|
|
||||||
victim.damage(damage);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,13 +6,15 @@ import com.willfp.eco.util.NamespacedKeyUtils
|
|||||||
import io.th0rgal.oraxen.items.OraxenItems
|
import io.th0rgal.oraxen.items.OraxenItems
|
||||||
import org.bukkit.NamespacedKey
|
import org.bukkit.NamespacedKey
|
||||||
import org.bukkit.inventory.ItemStack
|
import org.bukkit.inventory.ItemStack
|
||||||
|
import java.util.*
|
||||||
import java.util.function.Predicate
|
import java.util.function.Predicate
|
||||||
|
|
||||||
class CustomItemsOraxen : CustomItemsWrapper {
|
class CustomItemsOraxen : CustomItemsWrapper {
|
||||||
override fun registerAllItems() {
|
override fun registerAllItems() {
|
||||||
for (item in OraxenItems.getItems()) {
|
for (item in OraxenItems.getItems()) {
|
||||||
val stack = item.build()
|
val stack = item.build()
|
||||||
val id: String = OraxenItems.getIdByItem(item)
|
val id: String = Objects.requireNonNullElse(OraxenItems.getIdByItem(item), "")
|
||||||
|
if (id.isEmpty()) continue
|
||||||
val key: NamespacedKey = NamespacedKeyUtils.create("oraxen", id.lowercase())
|
val key: NamespacedKey = NamespacedKeyUtils.create("oraxen", id.lowercase())
|
||||||
CustomItem(
|
CustomItem(
|
||||||
key, Predicate { test: ItemStack ->
|
key, Predicate { test: ItemStack ->
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
version = 6.7.4
|
version = 6.7.5
|
||||||
plugin-name = eco
|
plugin-name = eco
|
||||||
Reference in New Issue
Block a user