Advertisement
JackOUT

Untitled

May 21st, 2023
932
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.71 KB | None | 0 0
  1. package games.coob.portals.model;
  2.  
  3. import lombok.Getter;
  4. import lombok.RequiredArgsConstructor;
  5. import org.bukkit.block.Block;
  6. import org.mineacademy.fo.ReflectionUtil;
  7.  
  8. import java.lang.reflect.Constructor;
  9.  
  10. @RequiredArgsConstructor
  11. public enum PortalType {
  12.  
  13.     TARGETED(Targeted.class),
  14.     COSMIC(Cosmic.class),
  15.     ROULETTE(Roulette.class);
  16.  
  17.     @Getter
  18.     private final Class<? extends PortalData> instanceClass;
  19.  
  20.     protected <T extends PortalData> T instantiate(final String id, final Block block) {
  21.         final Constructor<?> constructor = ReflectionUtil.getConstructor(this.instanceClass, String.class, Block.class, PortalType.class);
  22.  
  23.         return (T) ReflectionUtil.instantiate(constructor, id, block, this);
  24.     }
  25. }
  26.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement