Made annotation based module system.
This commit is contained in:
parent
bd8c41de18
commit
e8ce550cae
59005
javascript/classes.js
59005
javascript/classes.js
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -4,6 +4,8 @@ import dev.resent.module.base.ModManager;
|
||||||
|
|
||||||
public class Resent {
|
public class Resent {
|
||||||
|
|
||||||
|
public static boolean hasInit = false;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
INSTANCE = new Resent();
|
INSTANCE = new Resent();
|
||||||
}
|
}
|
||||||
|
@ -14,5 +16,6 @@ public class Resent {
|
||||||
|
|
||||||
public void init() {
|
public void init() {
|
||||||
Resent.INSTANCE.modManager = new ModManager();
|
Resent.INSTANCE.modManager = new ModManager();
|
||||||
|
hasInit = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
16
src/main/java/dev/resent/annotation/Module.java
Normal file
16
src/main/java/dev/resent/annotation/Module.java
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
package dev.resent.annotation;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
import dev.resent.module.base.Category;
|
||||||
|
|
||||||
|
@Target(ElementType.TYPE)
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface Module {
|
||||||
|
String name() default "placeholder";
|
||||||
|
Category category() default Category.MISC;
|
||||||
|
boolean hasSetting() default false;
|
||||||
|
}
|
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import dev.resent.annotation.Module;
|
||||||
import dev.resent.module.Theme;
|
import dev.resent.module.Theme;
|
||||||
import dev.resent.module.setting.Setting;
|
import dev.resent.module.setting.Setting;
|
||||||
import dev.resent.util.render.RenderUtils;
|
import dev.resent.util.render.RenderUtils;
|
||||||
|
@ -22,6 +23,16 @@ public class Mod {
|
||||||
|
|
||||||
public List<Setting> settings = new ArrayList<>();
|
public List<Setting> settings = new ArrayList<>();
|
||||||
|
|
||||||
|
public Mod(){
|
||||||
|
Module modInfo;
|
||||||
|
if(getClass().isAnnotationPresent(Module.class)){
|
||||||
|
modInfo = getClass().getAnnotation(Module.class);
|
||||||
|
this.name = modInfo.name();
|
||||||
|
this.category = modInfo.category();
|
||||||
|
this.hasSetting = modInfo.hasSetting();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Mod(String name, Category cat) {
|
public Mod(String name, Category cat) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.category = cat;
|
this.category = cat;
|
||||||
|
|
|
@ -34,6 +34,7 @@ import dev.resent.module.impl.misc.NoRain;
|
||||||
import dev.resent.module.impl.misc.NoSwingDelay;
|
import dev.resent.module.impl.misc.NoSwingDelay;
|
||||||
import dev.resent.module.impl.misc.Scoreboard;
|
import dev.resent.module.impl.misc.Scoreboard;
|
||||||
import dev.resent.module.impl.misc.SelfNametag;
|
import dev.resent.module.impl.misc.SelfNametag;
|
||||||
|
import dev.resent.module.impl.misc.Test;
|
||||||
import dev.resent.module.impl.misc.Tooltips;
|
import dev.resent.module.impl.misc.Tooltips;
|
||||||
import dev.resent.module.impl.movement.Sprint;
|
import dev.resent.module.impl.movement.Sprint;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -43,6 +44,7 @@ public class ModManager {
|
||||||
public List<Mod> modules = new ArrayList<>();
|
public List<Mod> modules = new ArrayList<>();
|
||||||
public Minecraft mc = Minecraft.getMinecraft();
|
public Minecraft mc = Minecraft.getMinecraft();
|
||||||
|
|
||||||
|
public static Test test;
|
||||||
public static Cosmetics cosmetics = new Cosmetics();
|
public static Cosmetics cosmetics = new Cosmetics();
|
||||||
public static Sprint sprint;
|
public static Sprint sprint;
|
||||||
public static CPS cps;
|
public static CPS cps;
|
||||||
|
@ -81,6 +83,7 @@ public class ModManager {
|
||||||
|
|
||||||
public ModManager() {
|
public ModManager() {
|
||||||
//Hud
|
//Hud
|
||||||
|
register(test = new Test());
|
||||||
register(cosmetics);
|
register(cosmetics);
|
||||||
register(hotbar);
|
register(hotbar);
|
||||||
register(crystalOptimizer);
|
register(crystalOptimizer);
|
||||||
|
|
8
src/main/java/dev/resent/module/impl/misc/Test.java
Normal file
8
src/main/java/dev/resent/module/impl/misc/Test.java
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
package dev.resent.module.impl.misc;
|
||||||
|
|
||||||
|
import dev.resent.annotation.Module;
|
||||||
|
import dev.resent.module.base.Category;
|
||||||
|
import dev.resent.module.base.Mod;
|
||||||
|
|
||||||
|
@Module(name = "Test", category = Category.MISC, hasSetting = false)
|
||||||
|
public class Test extends Mod{ }
|
Loading…
Reference in New Issue
Block a user