Sacred realms
This commit is contained in:
commit
aa1c13c74c
28 changed files with 1651 additions and 0 deletions
|
@ -0,0 +1,11 @@
|
|||
package me.unurled.sacredrealms.sr.utils;
|
||||
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
|
||||
public class Component {
|
||||
|
||||
public static net.kyori.adventure.text.Component comp(String msg) {
|
||||
MiniMessage mm = MiniMessage.miniMessage();
|
||||
return mm.deserialize(msg);
|
||||
}
|
||||
}
|
56
src/main/java/me/unurled/sacredrealms/sr/utils/Items.java
Normal file
56
src/main/java/me/unurled/sacredrealms/sr/utils/Items.java
Normal file
|
@ -0,0 +1,56 @@
|
|||
package me.unurled.sacredrealms.sr.utils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import me.unurled.sacredrealms.sr.components.attributes.Attribute;
|
||||
import me.unurled.sacredrealms.sr.components.item.Item;
|
||||
import me.unurled.sacredrealms.sr.components.item.ItemManager;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.EntityEquipment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.persistence.PersistentDataContainer;
|
||||
import org.bukkit.persistence.PersistentDataType;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class Items {
|
||||
public static @NotNull Double getTotalAttribute(Player player, Attribute attribute) {
|
||||
return getTotalAttribute(player.getEquipment(), attribute);
|
||||
}
|
||||
|
||||
public static @NotNull Double getTotalAttribute(EntityEquipment inv, Attribute attribute) {
|
||||
ItemManager im = (ItemManager) ItemManager.getInstance(ItemManager.class);
|
||||
if (im == null) return 0.0;
|
||||
|
||||
AtomicReference<Double> total = new AtomicReference<>(0.0);
|
||||
|
||||
Arrays.stream(inv.getArmorContents()).toList().forEach(item ->
|
||||
total.updateAndGet(
|
||||
v -> (v + getAttribute(item,
|
||||
attribute))));
|
||||
|
||||
total.updateAndGet(
|
||||
v -> (v + getAttribute(inv.getItemInMainHand(),
|
||||
attribute)));
|
||||
total.updateAndGet(
|
||||
v -> (v + getAttribute(inv.getItemInOffHand(),
|
||||
attribute)));
|
||||
|
||||
return total.get();
|
||||
}
|
||||
|
||||
public static Double getAttribute(ItemStack item, Attribute attribute) {
|
||||
ItemManager im = (ItemManager) ItemManager.getInstance(ItemManager.class);
|
||||
if (im == null) return 0.0;
|
||||
if (item == null) return 0.0;
|
||||
if (item.getType().equals(Material.AIR)) return 0.0;
|
||||
PersistentDataContainer p = item.getItemMeta().getPersistentDataContainer();
|
||||
if (p.has(ItemManager.ID, PersistentDataType.STRING)) {
|
||||
Item i = im.getItem(p.get(ItemManager.ID, PersistentDataType.STRING));
|
||||
if (i != null) {
|
||||
return i.getAttribute(attribute);
|
||||
}
|
||||
}
|
||||
return 0.0;
|
||||
}
|
||||
}
|
31
src/main/java/me/unurled/sacredrealms/sr/utils/Logger.java
Normal file
31
src/main/java/me/unurled/sacredrealms/sr/utils/Logger.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
package me.unurled.sacredrealms.sr.utils;
|
||||
|
||||
import me.unurled.sacredrealms.sr.SR;
|
||||
import net.kyori.adventure.text.Component;
|
||||
|
||||
public class Logger {
|
||||
|
||||
public static void log(String message) {
|
||||
SR.getInstance().getLogger().info(message);
|
||||
}
|
||||
|
||||
public static void warn(String message) {
|
||||
SR.getInstance().getLogger().warning(message);
|
||||
}
|
||||
|
||||
public static void error(String message) {
|
||||
SR.getInstance().getLogger().severe(message);
|
||||
}
|
||||
|
||||
public static void log(Component message) {
|
||||
SR.getInstance().getComponentLogger().info(message);
|
||||
}
|
||||
|
||||
public static void warn(Component message) {
|
||||
SR.getInstance().getComponentLogger().warn(message);
|
||||
}
|
||||
|
||||
public static void error(Component message) {
|
||||
SR.getInstance().getComponentLogger().error(message);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue