---
description: >-
  Benutze die Admin-Panel API um verschiedene Events zu verwenden und Sachen zu
  machen
---

# Developer API

## Implement the API

Admin-Panel kann man mit Maven oder Gradle oder als Library hinzufügen zu seinem Projekt.

### Maven

VERSION mit der Version deiner Version ersetzen. [List of Versions!](https://search.maven.org/artifact/io.github.happybavarian07/Admin-Panel/3.2/jar)

```
<repository>
  <id>sonatype</id>
  <url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
... 
<dependency>
  <groupId>io.github.happybavarian07</groupId>
  <artifactId>Admin-Panel</artifactId>
  <version>VERSION</version>
  <scope>provided</scope>
</dependency>
```

### Gradle

```
dependencies {
    implementation 'io.github.happybavarian07:Admin-Panel:VERSION'
}
```

### Library

#### Eclipse

Rechts Klick auf Projekt Ordner, dann Preferences > Java > Build Path > Libraries >> Add External Jar

Jar Datei des Plugins auswählen!

#### InteliJ

Strg + Alt + Shift + S (Project Structure) > Libraries > + > Java

Jar Datei auswählen!

## API Methods

### Introduction

```java
// Getting the API
// AdminPanelAPI
AdminPanelAPI api = de.happybavarian07.adminpanel.main.AdminPanelMain.getAPI();
api.<method>(<params>);
// oder
de.happybavarian07.adminpanel.main.AdminPanelMain.getAPI().<method>(<params>);
// Events Example
@EventHandler
public void onEvent(<de.happybavarian07.adminpanel.events.AdminPanelEvent> event) {
    event.setCancelled(true);
}
```

### API Methods

Die ganzen Methoden sind auch in den Java Docs genauer erklärt!

| Method                                                                                                | Returns                         | Description                                                                                                                                                                                                                                                                                                                |
| ----------------------------------------------------------------------------------------------------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| api.openPanel(Menu menu)                                                                              | -                               | Öffnet das angegebene Panel.                                                                                                                                                                                                                                                                                               |
| api.getPlayerMenuUtilityMap()                                                                         | Map\<Player, PlayerMenuUtility> | Gibt die Liste von allen PlayerMenuUtilities zurück.                                                                                                                                                                                                                                                                       |
| api.getPlayerMenuUtility(Player player)                                                               | PlayerMenuUtility               | Gibt die PlayerMenuUtility vom angegebenen Spieler zurück.                                                                                                                                                                                                                                                                 |
| api.createSkull(String headTexture,  String name)                                                     | ItemStack                       | Gibt den Kopf mit der Texture zurück (das Value von einem der Custom Heads auf [minecraft-heads.com](https://minecraft-heads.com) ist die Head Texture).                                                                                                                                                                   |
| api.createSkull(Head headTexture,  String name)                                                       | ItemStack                       | Gibt den Kopf mit der Texture zurück (die Full Texture (prefix + texture) von einem der Elemente aus dem Head Enum).                                                                                                                                                                                                       |
| api.loadPlugin(File pluginFile)                                                                       | -                               | Lädt ein Plugin aus einem File aber wirft Exceptions wenn irgendwas schiefläuft!                                                                                                                                                                                                                                           |
| api.reloadPlugin(Plugin plugin)                                                                       | -                               | Reloaded ein Plugin                                                                                                                                                                                                                                                                                                        |
| api.reloadPlugin(String pluginName)                                                                   | -                               | Reloaded ein Plugin nach dem Name                                                                                                                                                                                                                                                                                          |
| api.unloadPlugin(Plugin plugin)                                                                       | -                               | Entlädt ein Plugin komplett während der Server läuft und man kann nur noch die Datei wieder laden nicht das Plugin!                                                                                                                                                                                                        |
| api.unloadPlugin(String pluginName)                                                                   | -                               | Entlädt das Plugin nach dem dem Namen komplett während der Server läuft und man kann nur noch die Datei wieder laden nicht das Plugin!                                                                                                                                                                                     |
| api.getPluginNames(boolean fullName)                                                                  | List\<String>                   | Gibt eine Liste aller Plugin Namen zurück entweder mit vollem Name oder nicht (boolean fullName)                                                                                                                                                                                                                           |
| api.getAllPlugins()                                                                                   | List\<Plugin>                   | Gibt eine Liste aller geladenen Plugins zurück                                                                                                                                                                                                                                                                             |
| api.getPluginByName(String pluginName)                                                                | Plugin                          | Gibt das Plugin das den Namen hat zurück wenn gefunden sonst gibt es eine NullPointerException                                                                                                                                                                                                                             |
| api.downloadPluginFromSpigot(int resourceID, String fileName, boolean enableAfterInstall)             | Plugin                          | Downloaded ein Plugin von [spiget.org](https://spiget.org) und tut es in den Plugin Ordner unter dem String fileName + .jar und wenn enableAfterInstall aktiviert ist dann wird es auch gleich aktiviert.                                                                                                                  |
| api.clearChat(int lines, boolean broadcastChatClear, Player player)                                   | -                               | Cleart den Chat und wenn broadcastChatClear aktiviert ist gibt es eine Nachricht aus die den Spieler enthält oder nicht je nachdem was der Server Owner eingestellt hat!                                                                                                                                                   |
| api.reloadServer(int time)                                                                            | -                               | Reloaded den Server und time ist die Zeit zwischen den Aktionen.                                                                                                                                                                                                                                                           |
| api.stopServer(int time, int time2)                                                                   | -                               | Stoppt den Server und time ist die Zeit zwischen Aktionen und time2 ist die Zeit zwischen Broadcast und Server Stop.                                                                                                                                                                                                       |
| api.addLanguage(LanguageFile languageFile, String languageName)                                       | -                               | Fügt eine Sprache dem System hinzu unter dem Namen languageName.                                                                                                                                                                                                                                                           |
| api.getLanguage(String name, boolean throwexception)                                                  | LanguageFile                    | Gibt eine Sprache zurück die unter dem Namen registriert ist oder wenn nicht wirft das System eine NullPointerException (Wenn throwexception auf false ist wird null zurückgegeben).                                                                                                                                       |
| api.getRegisteredLanguages()                                                                          | Map\<String, LanguageFile>      | Gibt die Map in der alle Registrierten Sprachen drin sind zurück (Format: Map\<Name, Sprache>).                                                                                                                                                                                                                            |
| api.removeLanguage(String languageFile)                                                               | -                               | Entfernt eine Sprache mit dem Namen languageFile aus dem System.                                                                                                                                                                                                                                                           |
| api.setCurrentLanguage(LanguageFile languageFile)                                                     | -                               | Setzt die System Sprache auf die angegebene Sprache.                                                                                                                                                                                                                                                                       |
| api.getMessage(String path, Player player, boolean resetAfter)                                        | String                          | Gibt dir eine Nachricht aus der gerade ausgewählten Sprache zurück mit Placeholdern. Wenn resetAfter werden alle Placeholder die benutzt wurden aus der Liste entfernt.                                                                                                                                                    |
| api.getMessage(String path, Player player, String langName, boolean resetAfter)                       | String                          | Gibt dir eine Nachricht aus der in dem langName Parameter angegebenen Sprache zurück mit Placeholdern. Wenn resetAfter werden alle Placeholder die benutzt wurden aus der Liste entfernt.                                                                                                                                  |
| addPlaceholder(PlaceholderType type, String key, Object value, boolean resetBefore)                   | -                               | Fügt einen neuen Placeholder unter dem angegebenen typen hinzu.  Wenn resetBefore auf true ist wird davor aus der Placeholder Liste der Placeholder Type entfernt.                                                                                                                                                         |
| addPlaceholders(Map\<String, Placeholder> placeholders, boolean resetBefore)                          | -                               | Fügt eine Liste an Placeholders hinzu. Wenn resetBefore auf true ist wird davor aus der Placeholder Liste der Placeholder Type entfernt.                                                                                                                                                                                   |
| removePlaceholder(PlaceholderType type, String key)                                                   | -                               | Entfernt einen Placeholder von einem bestimmten Typen.                                                                                                                                                                                                                                                                     |
| removePlaceholders(PlaceholderType type, List\<String> keys)                                          | -                               | Entfernt eine Liste an Placeholders von einem bestimmten Typen.                                                                                                                                                                                                                                                            |
| resetPlaceholders(PlaceholderType type, @Nullable List\<String> excludeKeys)                          | -                               | Setzt alle Placeholder von einem Typen zurück (und lässt die aus, die in der Liste angegeben sind).                                                                                                                                                                                                                        |
| resetSpecificPlaceholders(PlaceholderType type, @Nullable List\<String> includeKeys)                  | -                               | Setzt bestimmte Placeholder von einem Typen zurück (die in der Liste angegeben sind als Keys).                                                                                                                                                                                                                             |
| getPlaceholders()                                                                                     | Map\<String, Placeholder>       | Gibt die Liste aller aktiven Placeholder zurück.                                                                                                                                                                                                                                                                           |
| replacePlaceholders(PlaceholderType type, String message)                                             | String                          | Ersetzt in dem String die Placeholder von dem speziellen Typen aus der großen Liste.                                                                                                                                                                                                                                       |
| replacePlaceholders(String message, Map\<String, Placeholder> placeholders)                           | String                          | Ersetzt in dem String die Placeholder aus der angegebenen Map.                                                                                                                                                                                                                                                             |
| getNewPlaceholderMap()                                                                                | Map\<String, Placeholder>       | Gibt eine neue Map in Form von einer Placeholder Liste zurück.                                                                                                                                                                                                                                                             |
| api.getItem(String path, Player player, boolean resetAfter)                                           | String                          | Gibt dir ein Item aus der gerade ausgewählten Sprache zurück mit Placeholdern. Wenn resetAfter werden alle Placeholder die benutzt wurden aus der Liste entfernt.                                                                                                                                                          |
| api.getItem(String path, Player player, String langName, boolean resetAfter)                          | String                          | Gibt dir ein Item aus der in dem langName Parameter angegebenen Sprache zurück mit Placeholdern. Wenn resetAfter werden alle Placeholder die benutzt wurden aus der Liste entfernt.                                                                                                                                        |
| api.getMenuTitle(String path, Player player, boolean resetAfter)                                      | String                          | Gibt dir eine Menü Titel aus der gerade ausgewählten Sprache zurück mit Placeholdern. Wenn resetAfter werden alle Placeholder die benutzt wurden aus der Liste entfernt.                                                                                                                                                   |
| api.getMenuTitle(String path, Player player, String langName, boolean resetAfter)                     | String                          | Gibt dir einen Menü Titel aus der in dem langName Parameter angegebenen Sprache zurück mit Placeholdern. Wenn resetAfter werden alle Placeholder die benutzt wurden aus der Liste entfernt.                                                                                                                                |
| \<T> getCustomObject(String path, Player player, T defaultValue, boolean resetAfter)                  |                                 | Gibt dir ein Custom Objekt (Wenn es ein String ist wird der Player für PlaceholderAPI verwendet) aus der aktiven Sprach Config aus und wenn es nicht existiert gibt es ein Default value zurück. Wenn resetAfter werden alle Placeholder die benutzt wurden aus der Liste entfernt. T steht für das Objekt                 |
| \<T> getCustomObject(String path, Player player, String langName, T defaultValue, boolean resetAfter) |                                 | Gibt dir ein Custom Objekt (Wenn es ein String ist wird der Player für PlaceholderAPI verwendet) aus der in langName angegebenen Sprach Config aus und wenn es nicht existiert gibt es ein Default value zurück. Wenn resetAfter werden alle Placeholder die benutzt wurden aus der Liste entfernt. T steht für das Objekt |
| reloadConfigurationFiles(Player messageRecevier)                                                      | -                               | Reloaded alle Configuration Files (config.yml, Sprach Files, etc) und schickt dem angegebenen Spieler eine Nachricht                                                                                                                                                                                                       |
| api.callAdminPanelEvent(Event event)                                                                  | AdminPanelEvent                 | Ruft ein Admin Panel Event auf ([Events](#events)) und gibt es wieder zurück                                                                                                                                                                                                                                               |
| registerCommandManager(CommandManager commandManager)                                                 | -                               | Registriert einen Command Manager (mehr Infos: [command-manager-api](command-manager-api "mention"))                                                                                                                                                                                                                       |

### Events

#### General

#### PanelOpenEvent

Wird getriggert wenn ein das Panel geöffnet wird

#### Player

#### SelectPlayerEvent

Wird getriggert wenn jemand einen Spieler im Player Manager auswählt und übergibt den Spieler der angeklickt hat und den ausgewählten

#### GiveEffectToPlayerEvent (under development)

Wird getriggert wenn ein Spieler einem anderen einen Effect über den Player Manager gibt

#### MoneyGiveEvent

Wird getriggert wenn jemand einem Spieler Geld gibt (Vault required)

#### MoneyTakeEvent

Wird getriggert wenn jemand einem Spieler Geld wegnimmt (Vault required)

#### Plugins

#### PluginDisableEvent

Wird getriggert wenn ein Plugin (über den Plugin Manager) disabled wird

#### PluginEnableEvent

Wird getriggert wenn ein Plugin enabledwird

#### PluginReloadEvent

Wird getriggert wenn ein Plugin reloaded wird

#### PluginRestartEvent

Wird getriggert wenn ein Plugin restartet wird

#### PluginLoadEvent

Wird getriggert wenn ein Plugin geladen wird

#### PluginUnloadEvent

Wird getriggert wenn ein Plugin entladen wird

#### PluginInstallEvent

Wird getriggert wenn ein Plugin installiert wird

#### World

#### AutoSaveToggleEvent

Wird getriggert wenn Auto Save in einer Welt getoggled wird

#### TimeChangeEvent

Wird getriggert wenn die Zeit geändert wird in einer Welt

#### WeatherChangeEvent

Wird getriggert wenn das Wetter geändert wird in einer Welt

#### WorldCreateEvent

Wird getriggert wenn eine Welt erstellt wird

#### WorldDeleteEvent

Wird getriggert wenn eine Welt gelöscht wird

#### WorldLoadEvent

Wird getriggert wenn eine Welt geladen wird

#### WorldSaveEvent

Wird getriggert wenn eine Welt gespeichert wird

#### WorldSelectEvent

Wird getriggert wenn eine Welt ausgewählt wird im World Manager

#### WorldUnloadEvent

Wird getriggert wenn eine Welt entladen wird

#### MenuGameruleChangeEvent

Wird getriggert sobald eine Gamerule über das World Menu geändert wird

#### GlobalPVPToggleEvent

Wird getriggert sobald Global PVP an oder aus geschaltet wird

#### Server

#### MaintenanceModeToggleEvent

Wird getriggert wenn der Maintenance Mode aktiviert oder deaktiviert wird

#### KickAllPlayersEvent

Wird getriggert wenn alle Spieler gekickt werden

#### ClearChatEvent

Wird getriggert wenn der Chat gecleared wird

#### MuteChatEvent

Wird getriggert wenn der Chat gemuted/geunmuted wird

#### Troll

#### TrollTNTSpawnEvent

Wird getriggert wenn ein Troll TNT gespawnt wird

#### VillagerSoundsToggleEvent

Wird getriggert wenn Villager Sounds getoggled werden

#### BlockBreakPreventEvent

Wird getriggert wenn Block Break Prevent getoggled werden

#### PlayerChatMuteEvent

Wird getriggert wenn ein Spieler im Chat gemuted wird

#### PlayerChatUnMuteEvent

Wird getriggert wenn ein Spieler im Chat geunmuted wird

#### MobDupeOnKillEvent (under development)

Wird getriggert wenn MobDupe On Kill für einen Spieler angeschaltet wird

#### PlayerKickBecauseErrorEvent

Wird getriggert wenn ein Spieler gekickt wird wegen Error (gibt den Error mit an)

#### PlayerFakeOpEvent

Wird getriggert wenn ein Spieler fake opped wird

#### PlayerFakeDeopEvent

Wird getriggert wenn ein Spieler fake deopped wird

#### PlayerDropInvEvent

Wird getriggert wenn der Spieler das inventar geleert bekommt
