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 org.jetbrains.annotations.ApiStatus;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.Set;
|
||||||
|
|
||||||
@ApiStatus.Experimental
|
@ApiStatus.Experimental
|
||||||
public interface HologramTraitRegistry {
|
public interface HologramTraitRegistry {
|
||||||
@@ -17,5 +17,5 @@ public interface HologramTraitRegistry {
|
|||||||
boolean isRegistered(Class<? extends HologramTrait> trait);
|
boolean isRegistered(Class<? extends HologramTrait> trait);
|
||||||
|
|
||||||
@ApiStatus.Experimental
|
@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.register();
|
||||||
metrics.registerLegacy();
|
metrics.registerLegacy();
|
||||||
|
|
||||||
|
traitRegistry.register(MultiplePagesTrait.class);
|
||||||
|
|
||||||
new StorageMigrator().migrate();
|
new StorageMigrator().migrate();
|
||||||
|
|
||||||
Collection<HologramData> data = storage.loadAll();
|
Collection<HologramData> data = storage.loadAll();
|
||||||
@@ -210,8 +212,6 @@ public final class FancyHologramsPlugin extends JavaPlugin implements FancyHolog
|
|||||||
|
|
||||||
FHConversionRegistry.registerBuiltInConverters();
|
FHConversionRegistry.registerBuiltInConverters();
|
||||||
|
|
||||||
traitRegistry.register(MultiplePagesTrait.class);
|
|
||||||
|
|
||||||
fancyLogger.info("Successfully enabled FancyHolograms version %s".formatted(getDescription().getVersion()));
|
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.HologramTrait;
|
||||||
import de.oliver.fancyholograms.api.trait.HologramTraitRegistry;
|
import de.oliver.fancyholograms.api.trait.HologramTraitRegistry;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class HologramTraitRegistryImpl implements HologramTraitRegistry {
|
public class HologramTraitRegistryImpl implements HologramTraitRegistry {
|
||||||
|
|
||||||
|
private final Set<Class<? extends HologramTrait>> traits;
|
||||||
|
|
||||||
|
public HologramTraitRegistryImpl() {
|
||||||
|
this.traits = new HashSet<>();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean register(Class<? extends HologramTrait> trait) {
|
public boolean register(Class<? extends HologramTrait> trait) {
|
||||||
return false;
|
return traits.add(trait);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean unregister(Class<? extends HologramTrait> trait) {
|
public boolean unregister(Class<? extends HologramTrait> trait) {
|
||||||
return false;
|
return traits.remove(trait);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isRegistered(Class<? extends HologramTrait> trait) {
|
public boolean isRegistered(Class<? extends HologramTrait> trait) {
|
||||||
return false;
|
return traits.contains(trait);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Class<? extends HologramTrait>> getRegisteredTraits() {
|
public Set<Class<? extends HologramTrait>> getRegisteredTraits() {
|
||||||
return List.of();
|
return Set.copyOf(traits);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user