diff --git a/UML-Diagram.mmd b/UML-Diagram.mmd deleted file mode 100644 index 85b78d1..0000000 --- a/UML-Diagram.mmd +++ /dev/null @@ -1,198 +0,0 @@ -classDiagram - class surgery { - -surgery instance - -SurgeryMenuManager surgeryMenuManager - +onEnable() void - +onDisable() void - +getInstance() surgery - } - - class SurgeryMenuManager { - -JavaPlugin plugin - -SurgeryItemsConfig itemsConfig - -ItemAPI api - -DiagnosisChecker diagnosisChecker - -SurgeryStateManager stateManager - -SurgeryUIUpdater uiUpdater - -SurgeryMenuBuilder menuBuilder - -SurgeryCompletionHandler completionHandler - -SurgeryItemHandler itemHandler - -SurgeryMechanicsManager mechanicsManager - +SurgeryMenuManager(plugin: JavaPlugin, itemsConfig: SurgeryItemsConfig) - +initialize() void - +openSurgeryMenu(surgeon: Player, patient: Player) void - +isSurgeryMenu(title: String) boolean - +handleItemClick(player: Player, clickedItem: ItemStack, slot: int) void - +handleSurgeryAbandonment(player: Player) void - } - - class SurgeryStateManager { - -Map~UUID,Set~Integer~~ playerClickedSlots - -Map~UUID,String~ playerDiagnosis - -Map~UUID,String~ playerPulse - -Map~UUID,String~ playerStatus - -Map~UUID,Double~ playerTemperature - -Map~UUID,String~ playerOperationSite - -Map~UUID,Integer~ playerIncisions - +getClickedSlots(playerId: UUID) Set~Integer~ - +getDiagnosis(playerId: UUID) String - +getPulse(playerId: UUID) String - +getStatus(playerId: UUID) String - +getTemperature(playerId: UUID) double - +addClickedSlot(playerId: UUID, slot: int) void - +setDiagnosis(playerId: UUID, diagnosis: String) void - +cleanup(playerId: UUID) void - } - - class SurgeryUIUpdater { - -JavaPlugin plugin - -SurgeryStateManager stateManager - -DiagnosisChecker diagnosisChecker - -FileConfiguration messages - +SurgeryUIUpdater(plugin: JavaPlugin, stateManager: SurgeryStateManager, diagnosisChecker: DiagnosisChecker) - +createInfoBlock(material: Material, name: String, description: String) ItemStack - +updateIncisionBlock(menu: Inventory, playerId: UUID, incisions: int) void - +updatePulseBlock(menu: Inventory, playerId: UUID) void - +updateStatusBlock(menu: Inventory, playerId: UUID) void - +getMessage(key: String) String - +getMessageList(key: String) List~String~ - } - - class SurgeryMenuBuilder { - -JavaPlugin plugin - -ItemAPI api - -SurgeryStateManager stateManager - -SurgeryUIUpdater uiUpdater - -SurgeryItemsConfig itemsConfig - -Random random - +SurgeryMenuBuilder(plugin: JavaPlugin, api: ItemAPI, stateManager: SurgeryStateManager, uiUpdater: SurgeryUIUpdater, itemsConfig: SurgeryItemsConfig) - +buildAndOpenMenu(player: Player) void - -assignRandomDiagnosis(playerId: UUID) void - -initializeBoneState(playerId: UUID, diagnosis: String) void - } - - class SurgeryItemHandler { - -JavaPlugin plugin - -ItemAPI api - -SurgeryStateManager stateManager - -SurgeryUIUpdater uiUpdater - -SurgeryMechanicsManager mechanicsManager - -SurgeryCompletionHandler completionHandler - -DiagnosisChecker diagnosisChecker - -SurgeryItemsConfig itemsConfig - +SurgeryItemHandler(...) - +initialize() void - +handleItemClick(player: Player, clickedItem: ItemStack, slot: int) void - -handleLabKit(player: Player, slot: int) void - -handleScalpel(player: Player, slot: int) void - -handleStitches(player: Player, slot: int) void - } - - class SurgeryMechanicsManager { - -JavaPlugin plugin - -ItemAPI api - -SurgeryStateManager stateManager - -SurgeryUIUpdater uiUpdater - -SurgeryCompletionHandler completionHandler - -DiagnosisChecker diagnosisChecker - -SurgeryItemsConfig itemsConfig - -Map~String,Integer~ requiredIncisions - +SurgeryMechanicsManager(...) - +initialize() void - +processMoveEffects(player: Player) void - -handleAntibioticsCountdown(playerId: UUID, menu: Inventory) void - -handleDefibCountdown(playerId: UUID, player: Player, menu: Inventory) void - -handleTemperatureChanges(playerId: UUID, menu: Inventory) void - } - - class SurgeryCompletionHandler { - -JavaPlugin plugin - -SurgeryStateManager stateManager - -SurgeryUIUpdater uiUpdater - +SurgeryCompletionHandler(plugin: JavaPlugin, stateManager: SurgeryStateManager, uiUpdater: SurgeryUIUpdater) - +isSurgerySuccessful(playerId: UUID) boolean - +handleSuccess(player: Player) void - +failSurgery(player: Player, message: String) void - } - - class DiagnosisChecker { - -JavaPlugin plugin - -List~String~ fluDiagnoses - +DiagnosisChecker(plugin: JavaPlugin) - +loadConfig() void - +hasBones(diagnosis: String) boolean - +isFlu(diagnosis: String) boolean - } - - class SurgeryItemsConfig { - -JavaPlugin plugin - -FileConfiguration config - -String[] itemPaths - +SurgeryItemsConfig(plugin: JavaPlugin) - -loadConfig() void - +getItemPaths() String[] - +getItemPath(index: int) String - } - - class SurgeryCommand { - -SurgeryMenuManager menuManager - -surgery plugin - -FileConfiguration messages - +SurgeryCommand(menuManager: SurgeryMenuManager, plugin: surgery) - +onCommand(sender: CommandSender, command: Command, label: String, args: String[]) boolean - } - - class PlayerListener { - -SurgeryMenuManager menuManager - +PlayerListener(menuManager: SurgeryMenuManager) - +onPlayerJoin(event: PlayerJoinEvent) void - +onInventoryClick(event: InventoryClickEvent) void - +onInventoryClose(event: InventoryCloseEvent) void - } - - class PluginManager { - -PluginManager instance - +getInstance() PluginManager - +initialize() void - } - - surgery "1" --> "1" SurgeryMenuManager : creates - surgery "1" --> "1" SurgeryItemsConfig : creates - surgery "1" --> "1" SurgeryCommand : creates - surgery "1" --> "1" PlayerListener : registers - surgery "1" --> "1" PluginManager : uses - - SurgeryMenuManager "1" --> "1" SurgeryStateManager : creates - SurgeryMenuManager "1" --> "1" SurgeryUIUpdater : creates - SurgeryMenuManager "1" --> "1" SurgeryMenuBuilder : creates - SurgeryMenuManager "1" --> "1" SurgeryCompletionHandler : creates - SurgeryMenuManager "1" --> "1" SurgeryItemHandler : creates - SurgeryMenuManager "1" --> "1" SurgeryMechanicsManager : creates - SurgeryMenuManager "1" --> "1" DiagnosisChecker : creates - SurgeryMenuManager "1" --> "1" SurgeryItemsConfig : uses - - SurgeryUIUpdater "1" --> "1" SurgeryStateManager : uses - SurgeryUIUpdater "1" --> "1" DiagnosisChecker : uses - - SurgeryMenuBuilder "1" --> "1" SurgeryStateManager : uses - SurgeryMenuBuilder "1" --> "1" SurgeryUIUpdater : uses - SurgeryMenuBuilder "1" --> "1" SurgeryItemsConfig : uses - - SurgeryItemHandler "1" --> "1" SurgeryStateManager : uses - SurgeryItemHandler "1" --> "1" SurgeryUIUpdater : uses - SurgeryItemHandler "1" --> "1" SurgeryMechanicsManager : uses - SurgeryItemHandler "1" --> "1" SurgeryCompletionHandler : uses - SurgeryItemHandler "1" --> "1" DiagnosisChecker : uses - SurgeryItemHandler "1" --> "1" SurgeryItemsConfig : uses - - SurgeryMechanicsManager "1" --> "1" SurgeryStateManager : uses - SurgeryMechanicsManager "1" --> "1" SurgeryUIUpdater : uses - SurgeryMechanicsManager "1" --> "1" SurgeryCompletionHandler : uses - SurgeryMechanicsManager "1" --> "1" DiagnosisChecker : uses - SurgeryMechanicsManager "1" --> "1" SurgeryItemsConfig : uses - - SurgeryCompletionHandler "1" --> "1" SurgeryStateManager : uses - SurgeryCompletionHandler "1" --> "1" SurgeryUIUpdater : uses - - SurgeryCommand "1" --> "1" SurgeryMenuManager : uses - PlayerListener "1" --> "1" SurgeryMenuManager : uses