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 e6bd62eb..9b5dfd66 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 @@ -49,7 +49,7 @@ public abstract class HologramTrait { } this.hologram = hologram; - this.storage = new JDB("plugins/FancyHolograms/data/traits/" + name + "/" + hologram.getData().getName()); + this.storage = new JDB("plugins/FancyHolograms/data/traits/" + name); } /** 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 cb4b9362..0f9dddc5 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 @@ -5,6 +5,7 @@ import org.bukkit.entity.Player; import java.util.ArrayList; import java.util.List; +import java.util.Set; public class HologramTraitTrait extends HologramTrait { @@ -12,8 +13,9 @@ public class HologramTraitTrait extends HologramTrait { public HologramTraitTrait(Hologram hologram) { super("trait"); - attachHologram(hologram); this.traits = new ArrayList<>(); + attachHologram(hologram); + onAttach(); } public void addTrait(HologramTrait trait) { @@ -24,7 +26,7 @@ public class HologramTraitTrait extends HologramTrait { @Override public void onAttach() { - List> registeredTraits = api.getTraitRegistry().getRegisteredTraits(); + Set> registeredTraits = api.getTraitRegistry().getRegisteredTraits(); for (Class traitClass : registeredTraits) { if (!traitClass.isAnnotationPresent(DefaultTrait.class)) { continue; @@ -32,13 +34,15 @@ public class HologramTraitTrait extends HologramTrait { try { HologramTrait trait = traitClass.getConstructor().newInstance(); - this.traits.add(trait); - logger.debug("Attached default trait " + traitClass.getName() + " to hologram " + hologram.getData().getName()); + trait.attachHologram(hologram); trait.onAttach(); + this.traits.add(trait); } catch (Exception e) { logger.error("Failed to instantiate trait " + traitClass.getName()); logger.error(e); } + + logger.debug("Attached default trait " + traitClass.getName() + " to hologram " + hologram.getData().getName()); } }