001package com.ericlam.mc.minigames.core.manager; 002 003import org.bukkit.Color; 004import org.bukkit.Location; 005import org.bukkit.entity.Firework; 006import org.bukkit.entity.Player; 007import org.bukkit.inventory.meta.FireworkMeta; 008 009import java.util.List; 010import java.util.Random; 011 012/** 013 * 煙火管理器 014 */ 015public interface FireWorkManager { 016 017 /** 018 * 獲取煙火設定 019 * 020 * @param firework 煙火 021 * @return 煙火設定 022 */ 023 FireworkMeta getFirework(Firework firework); 024 025 /** 026 * 獲取小煙火設定 027 * 028 * @param firework 煙火 029 * @return 煙火設定 030 */ 031 FireworkMeta getQuickFirework(Firework firework); 032 033 /** 034 * 獲取隨機顏色 035 * 036 * @param random 隨機 037 * @return 顏色 038 */ 039 Color getRandomColor(Random random); 040 041 /** 042 * 生成煙火 043 * 044 * @param player 生成位置 045 */ 046 void spawnFireWork(Player player); 047 048 /** 049 * 生成一連串煙火 050 * 051 * @param locations 一連串的位置 052 */ 053 void spawnFireWork(List<Location> locations); 054 055}