diff --git a/plugins/fancyholograms/fh-api/src/main/java/de/oliver/fancyholograms/api/trait/HologramTrait.java b/plugins/fancyholograms/fh-api/src/main/java/de/oliver/fancyholograms/api/trait/HologramTrait.java index 5a6aa130..16e1e4db 100644 --- a/plugins/fancyholograms/fh-api/src/main/java/de/oliver/fancyholograms/api/trait/HologramTrait.java +++ b/plugins/fancyholograms/fh-api/src/main/java/de/oliver/fancyholograms/api/trait/HologramTrait.java @@ -94,6 +94,26 @@ public abstract class HologramTrait { throw new IllegalArgumentException("Trait class " + getClass() + " is not annotated with HologramTraitClass"); } + protected boolean isTraitAttached(Class trait) { + for (HologramTrait hologramTrait : hologram.getTraitTrait().getTraits()) { + if (hologramTrait.getClass().equals(trait)) { + return true; + } + } + + return false; + } + + protected T getTrait(Class trait) { + for (HologramTrait hologramTrait : hologram.getTraitTrait().getTraits()) { + if (hologramTrait.getClass().equals(trait)) { + return (T) hologramTrait; + } + } + + return null; + } + public Hologram getHologram() { return hologram; } diff --git a/plugins/fancyholograms/fh-api/src/main/java/de/oliver/fancyholograms/api/trait/HologramTraitTrait.java b/plugins/fancyholograms/fh-api/src/main/java/de/oliver/fancyholograms/api/trait/HologramTraitTrait.java index 48bc89a1..2ddf741f 100644 --- a/plugins/fancyholograms/fh-api/src/main/java/de/oliver/fancyholograms/api/trait/HologramTraitTrait.java +++ b/plugins/fancyholograms/fh-api/src/main/java/de/oliver/fancyholograms/api/trait/HologramTraitTrait.java @@ -138,7 +138,15 @@ public class HologramTraitTrait extends HologramTrait { } } - record Configuration( + public List getTraits() { + return traits; + } + + public Configuration getConfiguration() { + return configuration; + } + + public record Configuration( List traits ) {