SteamWar/SpigotCore
Archiviert
13
0

Simplify
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Dieser Commit ist enthalten in:
Chaos 2022-01-28 15:55:18 +01:00
Ursprung 4e801ea4eb
Commit c593e23b80

Datei anzeigen

@ -1,59 +1,50 @@
/*
This file is a part of the SteamWar software.
Copyright (C) 2020 SteamWar.de-Serverteam
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.steamwar.providers;
import de.steamwar.sql.SteamwarUser;
import org.bukkit.Bukkit;
import java.util.UUID;
import java.util.function.Supplier;
import java.util.logging.Level;
public class BauServerInfo {
private static boolean isBauserver;
private static int bauOwner;
private static Integer bauOwner = null;
static {
isBauserver = Bukkit.getPluginManager().getPlugin("BauSystem") != null;
if(isBauserver) {
try {
bauOwner = Integer.parseInt(Bukkit.getWorlds().get(0).getName());
} catch (NumberFormatException e) {
try {
bauOwner = Integer.parseInt(Bukkit.getWorlds().get(0).getName());
if(SteamwarUser.get(bauOwner) == null) {
Bukkit.getLogger().log(Level.SEVERE, "World name is not a UserID", new IllegalStateException("World name is not a UserID"));
}
} catch (NumberFormatException e) {
isBauserver = false;
Bukkit.getLogger().log(Level.SEVERE, "World name is not a Integer", new IllegalStateException("World name is not a Integer"));
bauOwner = SteamwarUser.get(UUID.fromString(Bukkit.getWorlds().get(0).getName())).getId();
} catch (IllegalArgumentException exception) {
Bukkit.getLogger().log(Level.SEVERE, "World name is not a user", new IllegalStateException("World name is not a user"));
}
} else {
bauOwner = -1;
}
}
public static UUID getOwner() {
if(isBauserver) {
return SteamwarUser.get(bauOwner).getUUID();
} else {
throw new IllegalStateException("This is not a BauServer");
}
}
public static int getOwnerId() {
if(isBauserver) {
return bauOwner;
} else {
throw new IllegalStateException("This is not a BauServer");
}
public static Integer getOwnerId() {
return bauOwner;
}
public static boolean isBauServer() {
return isBauserver;
}
public static <T> T runWithBauServerInfo(Supplier<T> supplier, T defaults) {
if(isBauserver) {
return supplier.get();
} else {
return defaults;
}
return bauOwner != null;
}
}