001package com.ericlam.mc.minigames.core.main; 002 003import com.ericlam.mc.minigames.core.MinigamesAPI; 004import com.ericlam.mc.minigames.core.Properties; 005import com.ericlam.mc.minigames.core.factory.GameFactory; 006import com.ericlam.mc.minigames.core.manager.*; 007import com.ericlam.mc.minigames.core.registable.Compulsory; 008import com.ericlam.mc.minigames.core.registable.Registration; 009import com.ericlam.mc.minigames.core.registable.Voluntary; 010import com.hypernite.mc.hnmc.core.config.MessageGetter; 011 012import java.util.Optional; 013 014/** 015 * 所有 API 的集中獲取器 016 */ 017public final class MinigamesCore implements MinigamesAPI, Registration, Properties { 018 019 /** 020 * 獲取 遊戲 API 021 * <p> 022 * 注意,當必要內容尚未註冊成功時,將可能無法成功獲取API 023 * </p> 024 * 025 * @return 遊戲內 API 026 */ 027 public static MinigamesAPI getApi() { 028 throw new RuntimeException(); 029 } 030 031 /** 032 * 安全地獲取 API 033 * 034 * @return 遊戲內 API 035 */ 036 public static Optional<MinigamesAPI> getApiSafe() { 037 throw new RuntimeException(); 038 } 039 040 /** 041 * 獲取註冊管理器 042 * 043 * @return 註冊管理器 044 */ 045 public static Registration getRegistration() { 046 throw new RuntimeException(); 047 } 048 049 /** 050 * 獲取其他設定, 包括 Config 和 工廠等等 051 * 052 * @return 設定 053 */ 054 public static Properties getProperties() { 055 throw new RuntimeException(); 056 } 057 058 059 @Override 060 public MessageGetter getMessageGetter() { 061 throw new RuntimeException(); 062 } 063 064 @Override 065 public GameFactory getGameFactory() { 066 return null; 067 } 068 069 @Override 070 public FireWorkManager getFireWorkManager() { 071 return null; 072 } 073 074 @Override 075 public ArenaManager getArenaManager() { 076 return null; 077 } 078 079 @Override 080 public LobbyManager getLobbyManager() { 081 return null; 082 } 083 084 @Override 085 public ScheduleManager getScheduleManager() { 086 return null; 087 } 088 089 @Override 090 public GameItemManager getGameItemManager() { 091 return null; 092 } 093 094 @Override 095 public ArenaCreateManager getArenaCreateManager() { 096 return null; 097 } 098 099 @Override 100 public GameStatsManager getGameStatsManager() { 101 return null; 102 } 103 104 @Override 105 public PlayerManager getPlayerManager() { 106 return null; 107 } 108 109 @Override 110 public GameManager getGameManager() { 111 return null; 112 } 113 114 @Override 115 public GameUtils getGameUtils() { 116 return null; 117 } 118 119 @Override 120 public Compulsory getCompulsory() { 121 return null; 122 } 123 124 @Override 125 public Voluntary getVoluntary() { 126 return null; 127 } 128}