Advertisement
JackOUT

Untitled

Feb 18th, 2023
446
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.73 KB | None | 0 0
  1. package games.coob.laserturrets.settings;
  2.  
  3. import lombok.Getter;
  4. import lombok.RequiredArgsConstructor;
  5. import org.mineacademy.fo.ReflectionUtil;
  6.  
  7. import java.lang.reflect.Constructor;
  8.  
  9. @RequiredArgsConstructor
  10. public enum TurretType {
  11.  
  12.     ARROW(Arrow.class),
  13.     FIREBALL(Fireball.class),
  14.     BEAM(Beam.class);
  15.     // TODO add particle and bullet
  16.  
  17.     @Getter
  18.     private final Class<? extends TurretSettings> instanceClass;
  19.  
  20.     protected <T extends TurretSettings> T instantiate(final String name) {
  21.         System.out.println("instantiate: " + name);
  22.         final Constructor<?> constructor = ReflectionUtil.getConstructor(this.instanceClass, String.class, TurretType.class);
  23.  
  24.         return (T) ReflectionUtil.instantiate(constructor, name, this);
  25.     }
  26. }
  27.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement