Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class PluginModule {
- private final ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
- private String name;
- private String version;
- private String description;
- private transient boolean enabled;
- private List<Listener> events = new ArrayList<>();
- private List<BukkitCommand> commands = new ArrayList<>();
- private List<BukkitTask> tasks = new ArrayList<>();
- public void disable() {
- for (Listener l : events) {
- HandlerList.unregisterAll(l);
- }
- for (BukkitCommand command : commands) {
- CommandUtil.unregisterCommand(command);
- }
- for (BukkitTask task : tasks) {
- task.cancel();
- }
- events.clear();
- commands.clear();
- tasks.clear();
- onDisable();
- }
- public void onEnable() {
- }
- public void onDisable() {
- }
- public final void registerCommand(String cmd, BukkitCommand executor) {
- CommandUtil.registerCommand(cmd, executor);
- this.commands.add(executor);
- }
- public final void registerEvent(Listener listener) {
- Bukkit.getPluginManager().registerEvents(listener, API.getPlugin());
- }
- public final void registerTask(final Task task, long delay) {
- delay *= 50;
- service.scheduleAtFixedRate(task, delay, delay, TimeUnit.MILLISECONDS);
- }
- public final void callTask(final Task task, long delay) {
- delay *= 50;
- service.schedule(task, delay, TimeUnit.MILLISECONDS);
- }
- public String getName() {
- return name;
- }
- public String getVersion() {
- return version;
- }
- public boolean isEnabled() {
- return enabled;
- }
- public void setEnabled(boolean enabled) {
- this.enabled = enabled;
- }
- public Path getModuleDir() {
- return new File(API.getModulesDir() + File.separator + name).toPath();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement