Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package games.coob.portals.model;
- import lombok.Getter;
- import lombok.RequiredArgsConstructor;
- import org.bukkit.block.Block;
- import org.mineacademy.fo.ReflectionUtil;
- import java.lang.reflect.Constructor;
- @RequiredArgsConstructor
- public enum PortalType {
- TARGETED(Targeted.class),
- COSMIC(Cosmic.class),
- ROULETTE(Roulette.class);
- @Getter
- private final Class<? extends PortalData> instanceClass;
- protected <T extends PortalData> T instantiate(final String id, final Block block) {
- final Constructor<?> constructor = ReflectionUtil.getConstructor(this.instanceClass, String.class, Block.class, PortalType.class);
- return (T) ReflectionUtil.instantiate(constructor, id, block, this);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement