mirror of
https://github.com/FancyInnovations/FancyPlugins.git
synced 2025-12-06 07:43:36 +00:00
fancyholograms-v3: Implement trait registry
This commit is contained in:
@@ -2,7 +2,7 @@ package de.oliver.fancyholograms.api.trait;
|
||||
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@ApiStatus.Experimental
|
||||
public interface HologramTraitRegistry {
|
||||
@@ -17,5 +17,5 @@ public interface HologramTraitRegistry {
|
||||
boolean isRegistered(Class<? extends HologramTrait> trait);
|
||||
|
||||
@ApiStatus.Experimental
|
||||
List<Class<? extends HologramTrait>> getRegisteredTraits();
|
||||
Set<Class<? extends HologramTrait>> getRegisteredTraits();
|
||||
}
|
||||
|
||||
@@ -189,6 +189,8 @@ public final class FancyHologramsPlugin extends JavaPlugin implements FancyHolog
|
||||
metrics.register();
|
||||
metrics.registerLegacy();
|
||||
|
||||
traitRegistry.register(MultiplePagesTrait.class);
|
||||
|
||||
new StorageMigrator().migrate();
|
||||
|
||||
Collection<HologramData> data = storage.loadAll();
|
||||
@@ -210,8 +212,6 @@ public final class FancyHologramsPlugin extends JavaPlugin implements FancyHolog
|
||||
|
||||
FHConversionRegistry.registerBuiltInConverters();
|
||||
|
||||
traitRegistry.register(MultiplePagesTrait.class);
|
||||
|
||||
fancyLogger.info("Successfully enabled FancyHolograms version %s".formatted(getDescription().getVersion()));
|
||||
}
|
||||
|
||||
|
||||
@@ -3,28 +3,34 @@ package de.oliver.fancyholograms.trait;
|
||||
import de.oliver.fancyholograms.api.trait.HologramTrait;
|
||||
import de.oliver.fancyholograms.api.trait.HologramTraitRegistry;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class HologramTraitRegistryImpl implements HologramTraitRegistry {
|
||||
|
||||
private final Set<Class<? extends HologramTrait>> traits;
|
||||
|
||||
public HologramTraitRegistryImpl() {
|
||||
this.traits = new HashSet<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean register(Class<? extends HologramTrait> trait) {
|
||||
return false;
|
||||
return traits.add(trait);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean unregister(Class<? extends HologramTrait> trait) {
|
||||
return false;
|
||||
return traits.remove(trait);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRegistered(Class<? extends HologramTrait> trait) {
|
||||
return false;
|
||||
return traits.contains(trait);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Class<? extends HologramTrait>> getRegisteredTraits() {
|
||||
return List.of();
|
||||
public Set<Class<? extends HologramTrait>> getRegisteredTraits() {
|
||||
return Set.copyOf(traits);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user