delete old addon system

This commit is contained in:
dfsek
2021-11-18 21:50:41 -07:00
parent 7bf1ba13c8
commit 1028ed0989
11 changed files with 0 additions and 322 deletions

View File

@@ -1,61 +0,0 @@
package com.dfsek.terra.api.addon;
import ca.solostudios.strata.Versions;
import org.jetbrains.annotations.NotNull;
import com.dfsek.terra.api.addon.annotations.Addon;
import com.dfsek.terra.api.addon.annotations.Author;
import com.dfsek.terra.api.addon.annotations.Version;
/**
* Represents an entry point for an com.dfsek.terra.addon. Implementations must be annotated with {@link Addon}.
*/
//todo delete this
public abstract class TerraAddon implements BaseAddon {
/**
* Invoked immediately after an com.dfsek.terra.addon is loaded.
*/
public abstract void initialize();
/**
* Gets the version of this com.dfsek.terra.addon.
*
* @return Addon version.
*/
public final @NotNull ca.solostudios.strata.version.Version getVersion() {
Version version = getClass().getAnnotation(Version.class);
return Versions.getVersion(1, 2, 3);
}
/**
* Gets the author of this com.dfsek.terra.addon.
*
* @return Addon author.
*/
public final @NotNull String getAuthor() {
Author author = getClass().getAnnotation(Author.class);
return author == null ? "Anon Y. Mous" : author.value();
}
/**
* Gets the name (ID) of this com.dfsek.terra.addon.
*
* @return Addon ID.
*/
public final @NotNull String getName() {
Addon addon = getClass().getAnnotation(Addon.class);
if(addon == null)
throw new IllegalStateException(
"Addon annotation not present"); // This should never happen; the presence of this annotation is checked by the com
// .dfsek.terra.addon loader.
return addon.value();
}
@Override
public String getID() {
return getName();
}
}

View File

@@ -1,21 +0,0 @@
package com.dfsek.terra.api.addon.annotations;
import org.jetbrains.annotations.NotNull;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Specifies that the annotated class is an entry point for a Terra com.dfsek.terra.addon.
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Addon {
/**
* @return The ID of the com.dfsek.terra.addon.
*/
@NotNull String value();
}

View File

@@ -1,21 +0,0 @@
package com.dfsek.terra.api.addon.annotations;
import org.jetbrains.annotations.NotNull;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Optional annotation that specifies the author of an com.dfsek.terra.addon.
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Author {
/**
* @return Name of the com.dfsek.terra.addon author.
*/
@NotNull String value();
}

View File

@@ -1,21 +0,0 @@
package com.dfsek.terra.api.addon.annotations;
import org.jetbrains.annotations.NotNull;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Optional annotation that specifies dependencies of an com.dfsek.terra.addon.
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Depends {
/**
* @return All addons this com.dfsek.terra.addon is dependent upon.
*/
@NotNull String[] value();
}

View File

@@ -1,21 +0,0 @@
package com.dfsek.terra.api.addon.annotations;
import org.jetbrains.annotations.NotNull;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Optional annotation that specifies the version of an com.dfsek.terra.addon.
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Version {
/**
* @return Version of the com.dfsek.terra.addon.
*/
@NotNull String value();
}

View File

@@ -3,12 +3,10 @@ package com.dfsek.terra.api.config;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
import java.util.Set;
import ca.solostudios.strata.version.VersionRange;
import com.dfsek.terra.api.addon.BaseAddon;
import com.dfsek.terra.api.addon.TerraAddon;
import com.dfsek.terra.api.registry.CheckedRegistry;
import com.dfsek.terra.api.registry.meta.RegistryFactory;
import com.dfsek.terra.api.registry.meta.RegistryHolder;