Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
864fee66fa | ||
|
|
3c810d7ed3 | ||
|
|
e24806694e | ||
|
|
fa7effe8f3 | ||
|
|
26802cbe1a | ||
|
|
1cb35abccb | ||
|
|
1f2d0bba2a | ||
|
|
a7e577554c | ||
|
|
c0b3ea22b9 | ||
|
|
0adf767b5e | ||
|
|
3cc21504f0 | ||
|
|
cdebac351f | ||
|
|
8941b55362 | ||
|
|
fa225ad5f0 | ||
|
|
dea7fc9032 | ||
|
|
ced1651c05 | ||
|
|
6be27d05bb | ||
|
|
c39bb44e42 | ||
|
|
b71e1ce25d | ||
|
|
b5cfc47524 | ||
|
|
c32698fc76 | ||
|
|
b177c5e2f8 | ||
|
|
d0e0aff78e | ||
|
|
9f5ecd590e | ||
|
|
bc93f1f36d | ||
|
|
3c1c1e48fb | ||
|
|
c8e14e1d74 | ||
|
|
29300d5fe2 | ||
|
|
7da9365e23 | ||
|
|
ded84cd1c9 | ||
|
|
62cc71675b | ||
|
|
0752d3dc93 | ||
|
|
d352e44e50 | ||
|
|
83877a6c3a |
No files matched your search
@@ -1,6 +1,26 @@
|
||||
# Maintenance Changelog
|
||||
This file contains update logs for this project. The top may contain a `Unreleased` section, gathering update logs for a future update during development.
|
||||
|
||||
---
|
||||
## 4.2.1 - May 17th 2024
|
||||
### Changed
|
||||
* The proxied maintenance status is now also shown for forced hosts (thanks to alec-jensen)
|
||||
* Offline player fetching improvements (thanks to EpicPlayerA10)
|
||||
* Added the setting `fallback-to-offline-uuid` to use offline player uuids in maintenance whitelist commands (defaults to false)
|
||||
* Maintenance now skips the plugin remapping process on 1.20.5+ Paper servers
|
||||
* Small optimizations
|
||||
* Updated language files from [Crowdin](https://crowdin.com/translate/maintenance)
|
||||
* Massive thank you to all the contributors! These include: vortix22, xdalul, CodeZhangBorui, jesusskye, Doc94,
|
||||
Texider_, marvin2k0, leonard.bausenwein, pro.timeo.kerjean, meviper, troev5, Murka124, jhqwqmc, Pryzinho,
|
||||
raysetratyboy, Kolja07, and rikunightcore
|
||||
---
|
||||
## 4.2.0 - September 17th 2023
|
||||
### Changed
|
||||
* Velocity/Bungee: Added `commands-on-single-maintenance-enable` and `commands-on-single-maintenance-disable` config options to define commands to be executed after maintenance has been toggled on a proxied server
|
||||
* Commands inside the `all` list will be executed for any proxied server, but you can also define commands for specific servers by adding arrays with the server names as keys
|
||||
* You can use the placeholder `%SERVER%` in commands to be replaced with the server name
|
||||
* Start-, end-, and schedule timers for proxied servers now also include the server in the feedback message
|
||||
* Updated language files from [Crowdin](https://crowdin.com/translate/maintenance) (including new language files for Danish, Japanese, Korean, and Hungarian)
|
||||
---
|
||||
## 4.1.0 - April 17th 2023
|
||||
### Changed
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
plugins {
|
||||
`java-library`
|
||||
`maven-publish`
|
||||
signing
|
||||
}
|
||||
|
||||
tasks {
|
||||
@@ -28,10 +29,43 @@ java {
|
||||
withSourcesJar()
|
||||
}
|
||||
|
||||
signing {
|
||||
useGpgCmd()
|
||||
sign(publishing.publications)
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications.create<MavenPublication>("mavenJava") {
|
||||
groupId = rootProject.group as String
|
||||
artifactId = project.name
|
||||
version = rootProject.version as String
|
||||
pom {
|
||||
name.set("Maintenance")
|
||||
description.set("Paper plugin to enable maintenance mode on your Minecraft server.")
|
||||
url.set("https://github.com/kennytv/Maintenance")
|
||||
licenses {
|
||||
license {
|
||||
name.set("GNU GPLv3")
|
||||
url.set("https://www.gnu.org/licenses/gpl-3.0.html")
|
||||
}
|
||||
}
|
||||
developers {
|
||||
developer {
|
||||
id.set("kennytv")
|
||||
name.set("Nassim Jahnke")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!name.startsWith("adventure")) {
|
||||
repositories.maven {
|
||||
name = "OSSRH"
|
||||
url = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")
|
||||
credentials {
|
||||
username = System.getenv("OSSRH_USERNAME")
|
||||
password = System.getenv("OSSRH_PASSWORD")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -61,8 +61,8 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -176,28 +176,26 @@ public final class MaintenanceBungeePlugin extends MaintenanceProxyPlugin {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getOfflinePlayer(final String name, final Consumer<@Nullable SenderInfo> consumer) {
|
||||
public CompletableFuture<@Nullable SenderInfo> getOfflinePlayer(final String name) {
|
||||
final ProxiedPlayer player = getProxy().getPlayer(name);
|
||||
if (player != null) {
|
||||
consumer.accept(new BungeeSenderInfo(player));
|
||||
return;
|
||||
return CompletableFuture.completedFuture(new BungeeSenderInfo(player));
|
||||
}
|
||||
|
||||
getProxy().getScheduler().runAsync(plugin, () -> {
|
||||
return CompletableFuture.supplyAsync(() -> {
|
||||
try {
|
||||
final ProfileLookup profile = doUUIDLookup(name);
|
||||
consumer.accept(new ProxyOfflineSenderInfo(profile.getUuid(), profile.getName()));
|
||||
} catch (final IOException e) {
|
||||
e.printStackTrace();
|
||||
consumer.accept(null);
|
||||
return new ProxyOfflineSenderInfo(profile.getUuid(), profile.getName());
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getOfflinePlayer(final UUID uuid, final Consumer<@Nullable SenderInfo> consumer) {
|
||||
public CompletableFuture<@Nullable SenderInfo> getOfflinePlayer(final UUID uuid) {
|
||||
final ProxiedPlayer player = getProxy().getPlayer(uuid);
|
||||
consumer.accept(player != null ? new BungeeSenderInfo(player) : null);
|
||||
return CompletableFuture.completedFuture(player != null ? new BungeeSenderInfo(player) : null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -42,7 +42,7 @@ public final class ProxyPingListener implements Listener {
|
||||
|
||||
final ServerPing ping = event.getResponse();
|
||||
if (settings.hasCustomPlayerCountMessage()) {
|
||||
ping.setVersion(new ServerPing.Protocol(settings.getPlayerCountMessage(), 1));
|
||||
ping.setVersion(new ServerPing.Protocol(settings.getLegacyParsedPlayerCountMessage(), 1));
|
||||
}
|
||||
|
||||
if (settings.isEnablePingMessages()) {
|
||||
@@ -56,7 +56,7 @@ public final class ProxyPingListener implements Listener {
|
||||
ping.setPlayers(players);
|
||||
}
|
||||
|
||||
final String[] lines = settings.getPlayerCountHoverLines();
|
||||
final String[] lines = settings.getLegacyParsedPlayerCountHoverLines();
|
||||
final ServerPing.PlayerInfo[] samplePlayers = new ServerPing.PlayerInfo[lines.length];
|
||||
for (int i = 0; i < lines.length; i++) {
|
||||
samplePlayers[i] = new ServerPing.PlayerInfo(lines[i], "");
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+84
-4
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -28,9 +28,11 @@ import eu.kennytv.maintenance.core.proxy.runnable.SingleMaintenanceRunnable;
|
||||
import eu.kennytv.maintenance.core.proxy.runnable.SingleMaintenanceScheduleRunnable;
|
||||
import eu.kennytv.maintenance.core.proxy.util.ProfileLookup;
|
||||
import eu.kennytv.maintenance.core.runnable.MaintenanceRunnableBase;
|
||||
import eu.kennytv.maintenance.core.util.RateLimitedException;
|
||||
import eu.kennytv.maintenance.core.util.SenderInfo;
|
||||
import eu.kennytv.maintenance.core.util.ServerType;
|
||||
import eu.kennytv.maintenance.core.util.Task;
|
||||
import org.jetbrains.annotations.Blocking;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -38,6 +40,7 @@ import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
@@ -83,11 +86,23 @@ public abstract class MaintenanceProxyPlugin extends MaintenancePlugin implement
|
||||
@Override
|
||||
public boolean setMaintenanceToServer(final Server server, final boolean maintenance) {
|
||||
if (maintenance) {
|
||||
if (!settingsProxy.addMaintenanceServer(server.getName())) return false;
|
||||
} else {
|
||||
if (!settingsProxy.removeMaintenanceServer(server.getName())) return false;
|
||||
if (!settingsProxy.addMaintenanceServer(server.getName())) {
|
||||
return false;
|
||||
}
|
||||
} else if (!settingsProxy.removeMaintenanceServer(server.getName())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
serverActions(server, maintenance);
|
||||
|
||||
for (final String command : (maintenance ? settingsProxy.getCommandsOnMaintenanceEnable(server) : settingsProxy.getCommandsOnMaintenanceDisable(server))) {
|
||||
try {
|
||||
executeConsoleCommand(command.replace("%SERVER%", server.getName()));
|
||||
} catch (final Exception e) {
|
||||
getLogger().severe("Error while executing extra maintenance " + (maintenance ? "enable" : "disable") + " command: " + command);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -175,9 +190,66 @@ public abstract class MaintenanceProxyPlugin extends MaintenancePlugin implement
|
||||
kickPlayersFromProxy();
|
||||
}
|
||||
|
||||
@Blocking
|
||||
@Nullable
|
||||
protected ProfileLookup doUUIDLookup(final String name) throws IOException {
|
||||
ProfileLookup profileLookup;
|
||||
try {
|
||||
profileLookup = doUUIDLookupMojangAPI(name);
|
||||
} catch (RateLimitedException e) {
|
||||
// Use fallback API if rate limit is reached
|
||||
profileLookup = doUUIDLookupAshconAPI(name);
|
||||
}
|
||||
|
||||
if (settingsProxy.isFallbackToOfflineUUID() && profileLookup == null) {
|
||||
// Use offline uuid
|
||||
return new ProfileLookup(UUID.nameUUIDFromBytes(("OfflinePlayer:" + name).getBytes(StandardCharsets.UTF_8)), name);
|
||||
}
|
||||
|
||||
return profileLookup;
|
||||
}
|
||||
|
||||
/**
|
||||
* Official Mojang API
|
||||
*/
|
||||
@Nullable
|
||||
private ProfileLookup doUUIDLookupMojangAPI(final String name) throws IOException {
|
||||
final URL url = new URL("https://api.mojang.com/users/profiles/minecraft/" + name);
|
||||
final HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setRequestMethod("GET");
|
||||
|
||||
int status = connection.getResponseCode();
|
||||
if (status == 429) {
|
||||
throw new RateLimitedException();
|
||||
}
|
||||
if (status == 404) {
|
||||
// Return null if profile not found
|
||||
return null;
|
||||
}
|
||||
|
||||
try (final InputStream in = connection.getInputStream()) {
|
||||
final String output = CharStreams.toString(new InputStreamReader(in));
|
||||
final JsonObject json = GSON.fromJson(output, JsonObject.class);
|
||||
|
||||
final UUID uuid = fromStringUUIDWithoutDashes(json.getAsJsonPrimitive("id").getAsString());
|
||||
final String username = json.getAsJsonPrimitive("name").getAsString();
|
||||
return new ProfileLookup(uuid, username);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fallback API (Ashcon API)
|
||||
*/
|
||||
@Nullable
|
||||
private ProfileLookup doUUIDLookupAshconAPI(final String name) throws IOException {
|
||||
final URL url = new URL("https://api.ashcon.app/mojang/v2/user/" + name);
|
||||
final HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
|
||||
if (connection.getResponseCode() == 403) {
|
||||
// Return null if profile not found
|
||||
return null;
|
||||
}
|
||||
|
||||
try (final InputStream in = connection.getInputStream()) {
|
||||
final String output = CharStreams.toString(new InputStreamReader(in));
|
||||
final JsonObject json = GSON.fromJson(output, JsonObject.class);
|
||||
@@ -188,6 +260,14 @@ public abstract class MaintenanceProxyPlugin extends MaintenancePlugin implement
|
||||
}
|
||||
}
|
||||
|
||||
private UUID fromStringUUIDWithoutDashes(String undashedUUID) {
|
||||
return UUID.fromString(
|
||||
undashedUUID.substring(0, 8) + "-" + undashedUUID.substring(8, 12) + "-" +
|
||||
undashedUUID.substring(12, 16) + "-" + undashedUUID.substring(16, 20) + "-" +
|
||||
undashedUUID.substring(20, 32)
|
||||
);
|
||||
}
|
||||
|
||||
public SettingsProxy getSettingsProxy() {
|
||||
return settingsProxy;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -27,8 +27,11 @@ import org.jetbrains.annotations.Nullable;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
public final class SettingsProxy extends Settings {
|
||||
@@ -36,7 +39,10 @@ public final class SettingsProxy extends Settings {
|
||||
private Set<String> maintenanceServers;
|
||||
private List<String> fallbackServers;
|
||||
private String waitingServer;
|
||||
private boolean fallbackToOfflineUUID;
|
||||
|
||||
private Map<String, List<String>> commandsOnMaintenanceEnable;
|
||||
private Map<String, List<String>> commandsOnMaintenanceDisable;
|
||||
private String mySQLTable;
|
||||
private String serverTable;
|
||||
private String maintenanceQuery;
|
||||
@@ -98,6 +104,19 @@ public final class SettingsProxy extends Settings {
|
||||
if (waitingServer.isEmpty() || waitingServer.equalsIgnoreCase("none")) {
|
||||
waitingServer = null;
|
||||
}
|
||||
fallbackToOfflineUUID = config.getBoolean("fallback-to-offline-uuid", false);
|
||||
|
||||
commandsOnMaintenanceEnable = new HashMap<>();
|
||||
final ConfigSection enableCommandsSection = config.getSection("commands-on-single-maintenance-enable");
|
||||
for (final String key : enableCommandsSection.getKeys()) {
|
||||
commandsOnMaintenanceEnable.put(key.toLowerCase(Locale.ROOT), enableCommandsSection.getStringList(key));
|
||||
}
|
||||
|
||||
commandsOnMaintenanceDisable = new HashMap<>();
|
||||
final ConfigSection disableCommandsSection = config.getSection("commands-on-single-maintenance-disable");
|
||||
for (final String key : disableCommandsSection.getKeys()) {
|
||||
commandsOnMaintenanceDisable.put(key.toLowerCase(Locale.ROOT), disableCommandsSection.getStringList(key));
|
||||
}
|
||||
|
||||
if (hasMySQL()) {
|
||||
maintenance = loadMaintenance();
|
||||
@@ -262,6 +281,28 @@ public final class SettingsProxy extends Settings {
|
||||
return waitingServer;
|
||||
}
|
||||
|
||||
public boolean isFallbackToOfflineUUID() {
|
||||
return fallbackToOfflineUUID;
|
||||
}
|
||||
|
||||
public List<String> getCommandsOnMaintenanceEnable(final Server server) {
|
||||
final List<String> enableCommands = commandsOnMaintenanceEnable.getOrDefault("all", new ArrayList<>());
|
||||
final List<String> serverEnableCommands = commandsOnMaintenanceEnable.get(server.getName().toLowerCase(Locale.ROOT));
|
||||
if (serverEnableCommands != null) {
|
||||
enableCommands.addAll(serverEnableCommands);
|
||||
}
|
||||
return enableCommands;
|
||||
}
|
||||
|
||||
public List<String> getCommandsOnMaintenanceDisable(final Server server) {
|
||||
final List<String> disableCommands = commandsOnMaintenanceDisable.getOrDefault("all", new ArrayList<>());
|
||||
final List<String> serverDisableCommands = commandsOnMaintenanceDisable.get(server.getName().toLowerCase(Locale.ROOT));
|
||||
if (serverDisableCommands != null) {
|
||||
disableCommands.addAll(serverDisableCommands);
|
||||
}
|
||||
return disableCommands;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
MySQL getMySQL() {
|
||||
return mySQL;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+6
-3
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -22,7 +22,6 @@ import eu.kennytv.maintenance.core.proxy.MaintenanceProxyPlugin;
|
||||
import eu.kennytv.maintenance.core.proxy.command.ProxyCommandInfo;
|
||||
import eu.kennytv.maintenance.core.runnable.MaintenanceRunnableBase;
|
||||
import eu.kennytv.maintenance.core.util.SenderInfo;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -68,7 +67,11 @@ public final class SingleEndtimerCommand extends ProxyCommandInfo {
|
||||
}
|
||||
|
||||
final MaintenanceRunnableBase runnable = plugin.startSingleMaintenanceRunnable(server, Integer.parseInt(args[2]), TimeUnit.MINUTES, false);
|
||||
sender.send(getMessage("endtimerStarted", "%TIME%", runnable.getTime()));
|
||||
sender.send(getMessage(
|
||||
"singleEndtimerStarted",
|
||||
"%TIME%", runnable.getTime(),
|
||||
"%SERVER%", server.getName()
|
||||
));
|
||||
} else {
|
||||
sender.send(getHelpMessage());
|
||||
}
|
||||
|
||||
+16
-6
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -22,7 +22,6 @@ import eu.kennytv.maintenance.core.proxy.MaintenanceProxyPlugin;
|
||||
import eu.kennytv.maintenance.core.proxy.command.ProxyCommandInfo;
|
||||
import eu.kennytv.maintenance.core.runnable.MaintenanceRunnableBase;
|
||||
import eu.kennytv.maintenance.core.util.SenderInfo;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -52,8 +51,13 @@ public final class SingleScheduleTimerCommand extends ProxyCommandInfo {
|
||||
return;
|
||||
}
|
||||
|
||||
plugin.scheduleMaintenanceRunnable(Integer.parseInt(args[1]), Integer.parseInt(args[2]), TimeUnit.MINUTES);
|
||||
sender.send(getMessage("starttimerStarted", "%TIME%", plugin.getRunnable().getTime()));
|
||||
final int duration = Integer.parseInt(args[2]);
|
||||
plugin.scheduleMaintenanceRunnable(Integer.parseInt(args[1]), duration, TimeUnit.MINUTES);
|
||||
sender.send(getMessage(
|
||||
"scheduletimerStarted",
|
||||
"%TIME%", plugin.getRunnable().getTime(),
|
||||
"%DURATION%", plugin.getFormattedTime(duration * 60)
|
||||
));
|
||||
} else if (args.length == 4) {
|
||||
if (checkPermission(sender, "singleserver.timer")) return;
|
||||
if (plugin.getCommandManager().checkTimerArgs(sender, args[2], false)
|
||||
@@ -69,8 +73,14 @@ public final class SingleScheduleTimerCommand extends ProxyCommandInfo {
|
||||
return;
|
||||
}
|
||||
|
||||
final MaintenanceRunnableBase runnable = plugin.scheduleSingleMaintenanceRunnable(server, Integer.parseInt(args[2]), Integer.parseInt(args[3]), TimeUnit.MINUTES);
|
||||
sender.send(getMessage("starttimerStarted", "%TIME%", runnable.getTime()));
|
||||
final int duration = Integer.parseInt(args[3]);
|
||||
final MaintenanceRunnableBase runnable = plugin.scheduleSingleMaintenanceRunnable(server, Integer.parseInt(args[2]), duration, TimeUnit.MINUTES);
|
||||
sender.send(getMessage(
|
||||
"singleScheduletimerStarted",
|
||||
"%TIME%", runnable.getTime(),
|
||||
"%DURATION%", plugin.getFormattedTime(duration * 60),
|
||||
"%SERVER%", server.getName()
|
||||
));
|
||||
} else {
|
||||
sender.send(getHelpMessage());
|
||||
}
|
||||
|
||||
+6
-3
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -22,7 +22,6 @@ import eu.kennytv.maintenance.core.proxy.MaintenanceProxyPlugin;
|
||||
import eu.kennytv.maintenance.core.proxy.command.ProxyCommandInfo;
|
||||
import eu.kennytv.maintenance.core.runnable.MaintenanceRunnableBase;
|
||||
import eu.kennytv.maintenance.core.util.SenderInfo;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -68,7 +67,11 @@ public final class SingleStarttimerCommand extends ProxyCommandInfo {
|
||||
}
|
||||
|
||||
final MaintenanceRunnableBase runnable = plugin.startSingleMaintenanceRunnable(server, Integer.parseInt(args[2]), TimeUnit.MINUTES, true);
|
||||
sender.send(getMessage("starttimerStarted", "%TIME%", runnable.getTime()));
|
||||
sender.send(getMessage(
|
||||
"singleStarttimerStarted",
|
||||
"%TIME%", runnable.getTime(),
|
||||
"%SERVER%", server.getName()
|
||||
));
|
||||
} else {
|
||||
sender.send(getHelpMessage());
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+10
-3
@@ -1,10 +1,17 @@
|
||||
plugins {
|
||||
id("net.kyori.blossom")
|
||||
id("org.jetbrains.gradle.plugin.idea-ext")
|
||||
}
|
||||
|
||||
blossom {
|
||||
replaceToken("\$VERSION", project.version)
|
||||
replaceToken("\$IMPL_VERSION", "git-Maintenance-${project.version}:${rootProject.latestCommitHash()}")
|
||||
sourceSets {
|
||||
main {
|
||||
blossom {
|
||||
javaSources {
|
||||
property("version", project.version.toString())
|
||||
property("impl_version", "git-Maintenance-${project.version}:${rootProject.latestCommitHash()}")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion
|
||||
* Copyright (C) 2016-2023 ViaVersion and contributors
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
package eu.kennytv.maintenance.core.util;
|
||||
|
||||
public final class MaintenanceVersion {
|
||||
|
||||
public static final String VERSION = "{{ version }}";
|
||||
private static final String IMPLEMENTATION_VERSION = "{{ impl_version }}";
|
||||
|
||||
public static String getVersion() {
|
||||
return VERSION;
|
||||
}
|
||||
|
||||
public static String getImplementationVersion() {
|
||||
return IMPLEMENTATION_VERSION;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -37,6 +37,8 @@ import eu.kennytv.maintenance.core.util.ServerType;
|
||||
import eu.kennytv.maintenance.core.util.Task;
|
||||
import eu.kennytv.maintenance.core.util.Version;
|
||||
import eu.kennytv.maintenance.lib.kyori.adventure.text.Component;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.BufferedReader;
|
||||
@@ -55,16 +57,15 @@ import java.nio.file.Paths;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public abstract class MaintenancePlugin implements Maintenance {
|
||||
public static final Gson GSON = new GsonBuilder().create();
|
||||
public static final String HANGAR_URL = "https://hangar.papermc.io/kennytv/Maintenance";
|
||||
protected final eu.kennytv.maintenance.core.event.EventManager eventManager;
|
||||
protected final EventManager eventManager;
|
||||
protected final Version version;
|
||||
protected Settings settings;
|
||||
protected ServerListPlusHook serverListPlusHook;
|
||||
@@ -266,7 +267,8 @@ public abstract class MaintenancePlugin implements Maintenance {
|
||||
}
|
||||
|
||||
private void checkNewestVersion() throws Exception {
|
||||
final HttpURLConnection connection = (HttpURLConnection) new URL("https://hangar.papermc.io/api/v1/projects/kennytv/Maintenance/latestrelease").openConnection();
|
||||
final URLConnection connection = new URL("https://hangar.papermc.io/api/v1/projects/kennytv/Maintenance/latestrelease").openConnection();
|
||||
connection.setRequestProperty("User-Agent", "Maintenance/" + getVersion());
|
||||
try (final BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
|
||||
final String newVersionString = reader.readLine();
|
||||
final Version newVersion = new Version(newVersionString);
|
||||
@@ -445,9 +447,9 @@ public abstract class MaintenancePlugin implements Maintenance {
|
||||
*
|
||||
* @param name name of the player
|
||||
*/
|
||||
public abstract void getOfflinePlayer(String name, Consumer<@Nullable SenderInfo> consumer);
|
||||
public abstract CompletableFuture<@Nullable SenderInfo> getOfflinePlayer(String name);
|
||||
|
||||
public abstract void getOfflinePlayer(UUID uuid, Consumer<@Nullable SenderInfo> consumer);
|
||||
public abstract CompletableFuture<@Nullable SenderInfo> getOfflinePlayer(UUID uuid);
|
||||
|
||||
public abstract File getDataFolder();
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -30,7 +30,6 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
@@ -42,8 +41,8 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class Settings implements eu.kennytv.maintenance.api.Settings {
|
||||
public static final String NEW_LINE_REPLACEMENT = "<br>";
|
||||
private static final int CONFIG_VERSION = 6;
|
||||
private static final int LANGUAGE_VERSION = 1;
|
||||
private static final int CONFIG_VERSION = 8;
|
||||
private static final int LANGUAGE_VERSION = 2;
|
||||
private static final Random RANDOM = new Random();
|
||||
protected final MaintenancePlugin plugin;
|
||||
private final Map<UUID, String> whitelistedPlayers = new HashMap<>();
|
||||
@@ -54,8 +53,8 @@ public class Settings implements eu.kennytv.maintenance.api.Settings {
|
||||
private List<String> timerSpecificPingMessages;
|
||||
private List<String> commandsOnMaintenanceEnable;
|
||||
private List<String> commandsOnMaintenanceDisable;
|
||||
private String playerCountMessage;
|
||||
private List<String> playerCountHoverLines;
|
||||
private String legacyParsedPlayerCountMessage;
|
||||
private List<String> legacyParsedPlayerCountHoverLines;
|
||||
private String prefixString;
|
||||
private String languageName;
|
||||
private boolean enablePingMessages;
|
||||
@@ -175,6 +174,7 @@ public class Settings implements eu.kennytv.maintenance.api.Settings {
|
||||
updateConfig();
|
||||
|
||||
enablePingMessages = config.getBoolean("enable-pingmessages", true);
|
||||
// Can't store these two already parsed as components because gradients will break replacements
|
||||
pingMessages = loadPingMessages("pingmessages");
|
||||
if (config.getBoolean("enable-timerspecific-messages")) {
|
||||
timerSpecificPingMessages = loadPingMessages("timerspecific-pingmessages");
|
||||
@@ -187,13 +187,16 @@ public class Settings implements eu.kennytv.maintenance.api.Settings {
|
||||
customMaintenanceIcon = config.getBoolean("custom-maintenance-icon");
|
||||
joinNotifications = config.getBoolean("send-join-notification");
|
||||
broadcastIntervals = new HashSet<>(config.getIntList("timer-broadcast-for-seconds"));
|
||||
|
||||
// Player count and player count hover messages are only accepted and rendered as legacy chat
|
||||
if (plugin.getServerType() != ServerType.SPONGE) {
|
||||
playerCountMessage = getConfigMessage("playercountmessage");
|
||||
legacyParsedPlayerCountMessage = toLegacy(parse(getConfigMessage("playercountmessage")));
|
||||
}
|
||||
|
||||
playerCountHoverLines = new ArrayList<>();
|
||||
final String playerHoverMessage = config.getString("playercounthovermessage");
|
||||
Collections.addAll(playerCountHoverLines, playerHoverMessage.split("<br>"));
|
||||
legacyParsedPlayerCountHoverLines = new ArrayList<>();
|
||||
for (final String line : config.getString("playercounthovermessage").split("<br>")) {
|
||||
legacyParsedPlayerCountHoverLines.add(toLegacy(parse(line)));
|
||||
}
|
||||
|
||||
languageName = config.getString("language").toLowerCase();
|
||||
kickOnlinePlayers = config.getBoolean("kick-online-players", true);
|
||||
@@ -247,8 +250,8 @@ public class Settings implements eu.kennytv.maintenance.api.Settings {
|
||||
plugin.getLogger().info("Updating config to the latest version...");
|
||||
if (version < 6) {
|
||||
// Legacy text to MiniMessage
|
||||
legacyToMinimessage(config.getStringList("pingmessages"));
|
||||
legacyToMinimessage(config.getStringList("timerspecific-pingmessages"));
|
||||
config.getStringList("pingmessages").replaceAll(this::legacyToMinimessage);
|
||||
config.getStringList("timerspecific-pingmessages").replaceAll(this::legacyToMinimessage);
|
||||
config.set("playercounthovermessage", legacyToMinimessage(config.getString("playercounthovermessage")));
|
||||
config.set("playercountmessage", legacyToMinimessage(config.getString("playercountmessage")));
|
||||
}
|
||||
@@ -321,10 +324,6 @@ public class Settings implements eu.kennytv.maintenance.api.Settings {
|
||||
return serialized.replaceAll("</[a-z_]+>", "");
|
||||
}
|
||||
|
||||
private void legacyToMinimessage(final List<String> list) {
|
||||
list.replaceAll(this::legacyToMinimessage);
|
||||
}
|
||||
|
||||
public String getConfigMessage(final String path) {
|
||||
final String s = config.getString(path);
|
||||
if (s == null) {
|
||||
@@ -361,6 +360,7 @@ public class Settings implements eu.kennytv.maintenance.api.Settings {
|
||||
return parse(getLanguageString(path, replacements));
|
||||
}
|
||||
|
||||
// TODO Cache platform components if there are no replacements
|
||||
public Component getRandomPingMessage() {
|
||||
if (plugin.isTaskRunning() && !plugin.getRunnable().shouldEnable()
|
||||
&& hasTimerSpecificPingMessages() && !timerSpecificPingMessages.isEmpty()) {
|
||||
@@ -482,7 +482,10 @@ public class Settings implements eu.kennytv.maintenance.api.Settings {
|
||||
}
|
||||
|
||||
public void setSavedEndtimer(final long millis) {
|
||||
if (savedEndtimer == millis) return;
|
||||
if (savedEndtimer == millis) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.savedEndtimer = millis;
|
||||
config.getSection("continue-endtimer-after-restart").set("end", millis);
|
||||
saveConfig();
|
||||
@@ -513,17 +516,14 @@ public class Settings implements eu.kennytv.maintenance.api.Settings {
|
||||
return broadcastIntervals;
|
||||
}
|
||||
|
||||
// Yikeseroo
|
||||
public String getPlayerCountMessage() {
|
||||
return LegacyComponentSerializer.legacySection().serialize(parse(plugin.replacePingVariables(playerCountMessage)));
|
||||
public String getLegacyParsedPlayerCountMessage() {
|
||||
return plugin.replacePingVariables(legacyParsedPlayerCountMessage);
|
||||
}
|
||||
|
||||
// Yikeseroo x2
|
||||
public String[] getPlayerCountHoverLines() {
|
||||
final String[] lines = new String[playerCountHoverLines.size()];
|
||||
for (int i = 0; i < playerCountHoverLines.size(); i++) {
|
||||
final String component = plugin.replacePingVariables(playerCountHoverLines.get(i));
|
||||
lines[i] = LegacyComponentSerializer.legacySection().serialize(parse(component));
|
||||
public String[] getLegacyParsedPlayerCountHoverLines() {
|
||||
final String[] lines = new String[legacyParsedPlayerCountHoverLines.size()];
|
||||
for (int i = 0; i < legacyParsedPlayerCountHoverLines.size(); i++) {
|
||||
lines[i] = plugin.replacePingVariables(legacyParsedPlayerCountHoverLines.get(i));
|
||||
}
|
||||
return lines;
|
||||
}
|
||||
@@ -548,6 +548,10 @@ public class Settings implements eu.kennytv.maintenance.api.Settings {
|
||||
return MiniMessage.miniMessage().deserialize(s);
|
||||
}
|
||||
|
||||
protected String toLegacy(final Component component) {
|
||||
return LegacyComponentSerializer.legacySection().serialize(component);
|
||||
}
|
||||
|
||||
/*
|
||||
* Note on why this even exists: Yaml will force save all strings containing line breaks '\n' in this rather chunky format:
|
||||
* key: |-
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+8
-4
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -20,7 +20,6 @@ package eu.kennytv.maintenance.core.command.subcommand;
|
||||
import eu.kennytv.maintenance.core.MaintenancePlugin;
|
||||
import eu.kennytv.maintenance.core.command.CommandInfo;
|
||||
import eu.kennytv.maintenance.core.util.SenderInfo;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public final class ScheduleTimerCommand extends CommandInfo {
|
||||
@@ -42,7 +41,12 @@ public final class ScheduleTimerCommand extends CommandInfo {
|
||||
return;
|
||||
}
|
||||
|
||||
plugin.scheduleMaintenanceRunnable(Integer.parseInt(args[1]), Integer.parseInt(args[2]), TimeUnit.MINUTES);
|
||||
sender.send(getMessage("starttimerStarted", "%TIME%", plugin.getRunnable().getTime()));
|
||||
final int duration = Integer.parseInt(args[2]);
|
||||
plugin.scheduleMaintenanceRunnable(Integer.parseInt(args[1]), duration, TimeUnit.MINUTES);
|
||||
sender.send(getMessage(
|
||||
"scheduletimerStarted",
|
||||
"%TIME%", plugin.getRunnable().getTime(),
|
||||
"%DURATION%", plugin.getFormattedTime(duration * 60)
|
||||
));
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+16
-3
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -25,6 +25,7 @@ import eu.kennytv.maintenance.core.util.SenderInfo;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.logging.Level;
|
||||
|
||||
public final class WhitelistAddCommand extends CommandInfo {
|
||||
|
||||
@@ -64,7 +65,13 @@ public final class WhitelistAddCommand extends CommandInfo {
|
||||
}
|
||||
|
||||
private void addPlayerToWhitelist(final SenderInfo sender, final String name) {
|
||||
plugin.getOfflinePlayer(name, selected -> {
|
||||
plugin.getOfflinePlayer(name).whenComplete((selected, ex) -> {
|
||||
if (ex != null) {
|
||||
plugin.getLogger().log(Level.SEVERE, "Error while fetching offline player", ex);
|
||||
sender.send(getMessage("offlinePlayerFetchError"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (selected == null) {
|
||||
sender.send(getMessage("playerNotOnline"));
|
||||
return;
|
||||
@@ -75,7 +82,13 @@ public final class WhitelistAddCommand extends CommandInfo {
|
||||
}
|
||||
|
||||
private void addPlayerToWhitelist(final SenderInfo sender, final UUID uuid) {
|
||||
plugin.getOfflinePlayer(uuid, selected -> {
|
||||
plugin.getOfflinePlayer(uuid).whenComplete((selected, ex) -> {
|
||||
if (ex != null) {
|
||||
plugin.getLogger().log(Level.SEVERE, "Error while fetching offline player", ex);
|
||||
sender.send(getMessage("offlinePlayerFetchError"));
|
||||
return;
|
||||
}
|
||||
|
||||
if (selected == null) {
|
||||
sender.send(getMessage("playerNotFoundUuid"));
|
||||
return;
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+5
-4
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -50,8 +50,9 @@ public final class WhitelistRemoveCommand extends CommandInfo {
|
||||
if (args.length != 2) return Collections.emptyList();
|
||||
|
||||
final List<String> list = new ArrayList<>();
|
||||
String matchNameLowerCase = args[1].toLowerCase();
|
||||
for (final String name : getSettings().getWhitelistedPlayers().values()) {
|
||||
if (name.toLowerCase().startsWith(args[1])) {
|
||||
if (name.toLowerCase().startsWith(matchNameLowerCase)) {
|
||||
list.add(name);
|
||||
}
|
||||
}
|
||||
@@ -59,7 +60,7 @@ public final class WhitelistRemoveCommand extends CommandInfo {
|
||||
}
|
||||
|
||||
private void removePlayerFromWhitelist(final SenderInfo sender, final String name) {
|
||||
plugin.getOfflinePlayer(name, selected -> {
|
||||
plugin.getOfflinePlayer(name).whenComplete((selected, ex) -> {
|
||||
if (selected == null) {
|
||||
if (getSettings().removeWhitelistedPlayer(name)) {
|
||||
sender.send(getMessage("whitelistRemoved", "%PLAYER%", name));
|
||||
@@ -74,7 +75,7 @@ public final class WhitelistRemoveCommand extends CommandInfo {
|
||||
}
|
||||
|
||||
private void removePlayerFromWhitelist(final SenderInfo sender, final UUID uuid) {
|
||||
plugin.getOfflinePlayer(uuid, selected -> {
|
||||
plugin.getOfflinePlayer(uuid).whenComplete((selected, ex) -> {
|
||||
if (selected == null) {
|
||||
removePlayerFromWhitelist(sender, uuid, uuid.toString());
|
||||
} else {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package eu.kennytv.maintenance.core.util;
|
||||
|
||||
public final class MaintenanceVersion {
|
||||
|
||||
public static final String VERSION = "$VERSION";
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package eu.kennytv.maintenance.core.util;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Exception thrown when an API rate limit is reached.
|
||||
*/
|
||||
public class RateLimitedException extends IOException {
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* This file is part of Maintenance - https://github.com/kennytv/Maintenance
|
||||
* Copyright (C) 2018-2022 kennytv (https://github.com/kennytv)
|
||||
* Copyright (C) 2018-2024 kennytv (https://github.com/kennytv)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -41,6 +41,15 @@ enable-pingmessages: true
|
||||
commands-on-maintenance-enable: []
|
||||
commands-on-maintenance-disable: []
|
||||
|
||||
# Any extra commands inside the "all" array will be executed when maintenance is enabled/disabled on a proxied server.
|
||||
# You can also add commands for specific servers by adding a new array with the server name as key.
|
||||
# In the commands, you can use the %SERVER% placeholder to get the server name.
|
||||
# Example: coolserver: ["say hello", "othercommand %SERVER%"]
|
||||
commands-on-single-maintenance-enable:
|
||||
all: []
|
||||
commands-on-single-maintenance-disable:
|
||||
all: []
|
||||
|
||||
# If set to true and an endtimer is currently running, a pingmessage from this pool will be chosen
|
||||
# instead of the ones above, so you can have different messages for when an endtimer is running/not running.
|
||||
enable-timerspecific-messages: true
|
||||
@@ -73,9 +82,13 @@ send-join-notification: false
|
||||
# ... I don't know why you would want that, but you can disable it. :p
|
||||
kick-online-players: true
|
||||
|
||||
# When fetched player does not exist then fallback to offline uuid. Only works on proxies like Velocity or BungeeCord
|
||||
fallback-to-offline-uuid: false
|
||||
|
||||
# Changes the language of command feedback/messages.
|
||||
# If you find missing translations or want to contribute a new language file, you are very welcome to message me on Spigot or my Discord server! :)
|
||||
# Currently available are: en (English), de (German), fr (French), pt (Portuguese), es (Spanish), ru (Russian), zh (Chinese), it (Italian), pl (Polish), tr (Turkish), sv (Swedish), uk (Ukrainian), ja (Japanese)
|
||||
# Currently available are: en (English), de (German), fr (French), pt (Portuguese), es (Spanish), ru (Russian), zh (Chinese), it (Italian),
|
||||
# pl (Polish), tr (Turkish), sv (Swedish), uk (Ukrainian), ja (Japanese), da (Danish), ko (Korean), hu (Hungarian)
|
||||
language: en
|
||||
|
||||
# If you have 2 or more proxy instances, the database connection will make sure all proxies
|
||||
@@ -113,4 +126,4 @@ timer-broadcast-for-seconds: [1200, 900, 600, 300, 120, 60, 30, 20, 10, 5, 4, 3,
|
||||
update-checks: true
|
||||
|
||||
# Used for autoupdating the config, do not change this value.
|
||||
config-version: 7
|
||||
config-version: 8
|
||||
@@ -0,0 +1,104 @@
|
||||
#Maintenance Plugin by kennytv
|
||||
#You can use https://webui.adventure.kyori.net/ to edit and preview the formatted text
|
||||
#For a full list of formats and fancy examples, see https://docs.adventure.kyori.net/minimessage/format.html
|
||||
#Messages containing the placeholder "<prefix>" will have it replaced with the following string
|
||||
prefix: "<dark_gray>[<yellow>Maintenance<dark_gray>] "
|
||||
noPermission: "<red>Du har ikke tilladelse til at udføre denne kommando."
|
||||
kickmessage: "<red>Serveren er i øjeblikket under vedligeholdelse!<br>Prøv igen senere!"
|
||||
maintenanceActivated: "<prefix><gold>Vedligeholdelsestilstand er nu aktiveret."
|
||||
maintenanceDeactivated: "<prefix><gold>Vedligeholdelsestilstand er nu deaktiveret."
|
||||
alreadyEnabled: "<prefix><red>Vedligeholdelsestilstand er allerede aktiveret!"
|
||||
alreadyDisabled: "<prefix><red>Vedligeholdelsestilstand er allerede deaktiveret!"
|
||||
endtimerBroadcast: "<prefix><gray>Vedligeholdelsestilstand vil blive deaktiveret om <gold>%TIME%<gray>."
|
||||
endtimerStarted: "<prefix><green>Startet timer: <gray>Vedligeholdelsestilstand vil blive deaktiveret om <gold>%TIME%<gray>."
|
||||
starttimerBroadcast: "<prefix><gray>Vedligeholdelsestilstand vil blive aktiveret om <gold>%TIME%<gray>."
|
||||
starttimerStarted: "<prefix><green>Startet timer: <gray>Vedligeholdelsestilstand vil blive aktiveret om <gold>%TIME%<gray>."
|
||||
scheduletimerBroadcast: "<prefix><gray>Vedligeholdelsestilstand vil blive aktiveret om <gold>%TIME% <gray>og vil vare i <gold>%DURATION%<gray>."
|
||||
scheduletimerStarted: "<prefix><green>Startet timer: <gray>Vedligeholdelsestilstand vil blive aktiveret om <gold>%TIME% <gray>og vil vare i <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<prefix><red>Der er allerede planlagt en timer!"
|
||||
timerNotRunning: "<prefix><red>Der er i øjeblikket ingen timer."
|
||||
timerCancelled: "<prefix><red>Den aktuelle timer er blevet deaktiveret."
|
||||
timerTooLong: "<prefix><red>Tallet skal være mindre end 40320 (28 days)!"
|
||||
timerMotdDisabled: "<prefix><red>Du skal angive 'enable-timerspecific-messages' i konfigurationsfilen til 'true', hvis du vil bruge/redigere tidsbestemte motds."
|
||||
motdTimer: "%HOURS%:%MINUTES%:%SECONDS%"
|
||||
motdTimerNotRunning: "-"
|
||||
joinNotification: "<prefix><yellow>%PLAYER% <red>prøvede at forbinde til serveren."
|
||||
motdList: "<prefix><gray>Liste over dine vedligeholdelses motds:"
|
||||
motdListEmpty: "<prefix><red>Du har ikke oprettet nogen vedligeholdelses motds!"
|
||||
reload: "<prefix><green>Genindlæs konfigurationsfilen, hvidlistede spillere, sprogfilen og vedligeholdelsesikonet."
|
||||
removedMotd: "<prefix><green>Slet motd nummer %INDEX%."
|
||||
removeMotdError: "<prefix><red>Du har kun én motd, så du kan ikke slette nogen!"
|
||||
setMotd: "<prefix><green>Angiv linje %LINE% af %INDEX%. vedligeholdelses motd til %MOTD%"
|
||||
setMotdIndexError: "<prefix><red>Du har %MOTDS% motds, så du skal angive et nummer mellem 1 og %NEWAMOUNT%."
|
||||
setMotdLineError: "<prefix><red>Det andet argument skal være linjenummer (1 or 2)!"
|
||||
updateDownloading: "<prefix><red><bold>Downloader opdatering..."
|
||||
updateFailed: "<prefix><dark_red><bold>Opdatering fejlede!"
|
||||
updateFinished: "<prefix><green><bold>Opdateringen lykkedes! For at forhindre problemer og for at fuldføre opdateringen skal du genstarte serveren!"
|
||||
whitelistedPlayers: "<prefix><gold>Hvidlistede spillere til vedligeholdelse:"
|
||||
whitelistedPlayersFormat: "<dark_gray>- <yellow>%NAME% <dark_gray>(<gray>%UUID%<dark_gray>)"
|
||||
whitelistAdded: "<prefix><green>Tilføj <aqua>%PLAYER% <green>til vedligeholdelseshvidlisten!"
|
||||
whitelistAlreadyAdded: "<prefix><aqua>%PLAYER% <red>findes allerede i vedligeholdelseshvidlisten!"
|
||||
whitelistRemoved: "<prefix><green>Fjern <aqua>%PLAYER% <green>fra vedligeholdelseshvidlisten!"
|
||||
whitelistNotFound: "<prefix><red>Denne spiller er ikke på vedligeholdelseshvidlisten!"
|
||||
whitelistEmpty: "<prefix><red>Vedligeholdelseshvidlisten er tom! Brug <yellow>/maintenance add <player/uuid> <red>til at tilføje spillere!"
|
||||
playerNotFound: "<prefix><red>Ingen spillere med dette navn har spillet på denne server før."
|
||||
playerNotFoundUuid: "<prefix><red>Ingen spiller med den uuid kunne findes."
|
||||
playerNotOnline: "<prefix><red>Der er ingen spiller online med det navn."
|
||||
offlinePlayerFetchError: "<prefix><red>There was an error while fetching offline player. Please try again later."
|
||||
invalidUuid: "<prefix><red>Ugyldigt uuid-format!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><red>Du er blevet sendt til en venteserver!"
|
||||
forceWaitingServer: "<prefix><red>Du kan ikke forlade venteserveren, mens vedligeholdelsetilstand er aktiveret!"
|
||||
serverNotFound: "<prefix><red>Ingen server med dette navn er registreret på proxyen!"
|
||||
singleTimerAlreadyRunning: "<prefix><red>Der er allerede planlagt en timer for den server!"
|
||||
singleTimerCancelled: "<prefix><red>Den aktuelle timer for serveren <yellow>%SERVER% <red>er deaktiveret."
|
||||
singleTimerNotRunning: "<prefix><red>Der er i øjeblikket ingen kørende timer for den server."
|
||||
singleEndtimerBroadcast: "<prefix><gray>Vedligeholdelsestilstand på server %SERVER% vil blive deaktiveret om <gold>%TIME%<gray>."
|
||||
singleEndtimerStarted: "<prefix><green>Startet timer: <gray>Vedligeholdelsestilstand på server %SERVER% vil blive deaktiveret om <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>Vedligeholdelsestilstand på server %SERVER% vil blive aktiveret om <gold>%TIME%<gray>."
|
||||
singleStarttimerStarted: "<prefix><green>Startet timer: <gray>Vedligeholdelsestilstand på server %SERVER% vil blive aktiveret om <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>Vedligeholdelsestilstand på server %SERVER% vil blive aktiveret om <gold>%TIME% <gray>og vil vare i <gold>%DURATION%<gray>."
|
||||
singleScheduletimerStarted: "<prefix><green>Startet timer: <gray>Vedligeholdelsestilstand på server %SERVER% vil blive aktiveret om <gold>%TIME% <gray>og vil vare i <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<prefix><red>Serveren %SERVER% er i øjeblikket under vedligeholdelse! Prøv igen senere!"
|
||||
singleMaintenanceKickComplete: "<red>Serveren %SERVER% er under vedligeholdelse!<br>Du kan prøve at forbinde igen for at gå ind på en anden server!"
|
||||
singleMaintenanceActivated: "<prefix><gold>Vedligeholdelsestilstand er nu aktiveret på serveren <yellow>%SERVER%<gold>."
|
||||
singleMaintenanceDeactivated: "<prefix><gold>Vedligeholdelsestilstand er nu deaktiveret på serveren <yellow>%SERVER%<gold>."
|
||||
singleServerAlreadyEnabled: "<prefix><red>Vedligeholdelsestilstand er allerede aktiveret på serveren <yellow>%SERVER%<red>!"
|
||||
singleServerAlreadyDisabled: "<prefix><red>Vedligeholdelsestilstand er allerede deaktiveret på serveren <yellow>%SERVER%<red>!"
|
||||
singleServerMaintenanceList: "<prefix><gray>Proxyservere, der har Vedligeholdelsestilstand aktiveret:"
|
||||
singleServerMaintenanceListEmpty: "<prefix><gray>Der er ingen proxy-servere, der er under vedligeholdelse."
|
||||
singleServerMaintenanceListEntry: "<dark_grey>- <aqua>%SERVER%"
|
||||
second: "sekund"
|
||||
seconds: "sekunder"
|
||||
minute: "minut"
|
||||
minutes: "minutter"
|
||||
hour: "time"
|
||||
hours: "timer"
|
||||
helpHeader: "<dark_gray>========[ <yellow>%NAME% <dark_gray>| <yellow>%PAGE%/%MAX% <dark_gray>]========"
|
||||
helpPageNotFound: "<prefix><red>Der er ingen side med det nummer!"
|
||||
helpNextPage: "<gray>Brug <aqua>/maintenance help %PAGE% <gray>for at komme til næste hjælpevindue."
|
||||
helpAbortTimer: "<gold>/maintenance aborttimer <gray>(Hvis timeren kører, vil den blive afbrudt)"
|
||||
helpEndtimer: "<gold>/maintenance endtimer <minutes> <gray>(Efter den givne tid i minutter deaktiveres vedligeholdelsestilstanden)"
|
||||
helpStarttimer: "<gold>/maintenance starttimer <minutes> <gray>(Efter den givne tid i minutter, vil vedligeholdelsestilstand være aktiveret)"
|
||||
helpScheduleTimer: "<gold>/maintenance scheduletimer <timer minutes> <maintenance duration> <gray>(Efter den givne tid i minutter vil vedligeholdelsestilstand være aktiveret for den givne varighed i minutter)"
|
||||
helpDebug: "<gold>/maintenance debug <gray>(Aktiverer noget fejlretningslogning)"
|
||||
helpDump: "<gold>/maintenance dump <gray>(Dumper nogle serveroplysninger, brugt til fejlrapporter)"
|
||||
helpHelp: "<gold>/maintenance help [page] <gray>(Viser dette smukke hjælpevindue)"
|
||||
helpMotd: "<gold>/maintenance motd [timer] <gray>(Viser den aktuelle vedligeholdelses motds. Hvis 'timer' er angivet, bliver dennes motds vist)"
|
||||
helpRemoveMotd: "<gold>/maintenance removemotd [timer] <index> <gray>(Sletter en vedligeholdelses motd. Hvis 'timer' er angivet, vil en tidsspecifik pingbesked blive slettet)"
|
||||
helpSetMotd: "<gold>/maintenance setmotd [timer] <index> <1/2> <message> <gray>(Angiver en motd for vedligeholdelsestilstand. Hvis 'timer' er angivet, vil en tidsspecifik pingbesked blive angivet)"
|
||||
helpReload: "<gold>/maintenance reload <gray>(Genindlæser konfigurationsfilen, hvidlisten og serverikonet)"
|
||||
helpToggle: "<gold>/maintenance <on/off> <gray>(Aktiverer/deaktiverer vedligeholdelsestilstand)"
|
||||
helpUpdate: "<gold>/maintenance update <gray>(Downloader den nyeste version af plugin'et på din server)"
|
||||
helpWhitelist: "<gold>/maintenance whitelist <gray>(Viser alle hvidlistede spillere for vedligeholdelsestilstand)"
|
||||
helpWhitelistAdd: "<gold>/maintenance add <name/uuid> <gray>(Tilføjer spilleren til vedligeholdelseshvidlisten, så de kan forbinde til serveren, selvom vedligeholdelsestilstand er aktiveret)"
|
||||
helpWhitelistRemove: "<gold>/maintenance remove <name/uuid> <gray>(Sletter spilleren fra vedligeholdelseshvidlisten)"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
helpAbortSingleTimer: "<gold>/maintenance aborttimer [server] <gray>(Hvis timeren kører, vil den blive afbrudt)"
|
||||
helpSingleEndtimer: "<gold>/maintenance endtimer [server] <minutes> <gray>(Efter den givne tid i minutter deaktiveres vedligeholdelsestilstanden)"
|
||||
helpSingleStarttimer: "<gold>/maintenance starttimer [server] <minutes> <gray>(Efter den givne tid i minutter, vil vedligeholdelsestilstand blive aktiveret)"
|
||||
helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <timer minutes> <maintenance duration> <gray>(Efter den givne tid i minutter vil vedligeholdelsestilstand være aktiveret for den givne varighed i minutter)"
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <gray>(Aktiverer/deaktiverer vedligeholdelsestilstand)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Viser alle proxyservere, der har Vedligeholdelsestilstand aktiveret)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 2
|
||||
@@ -3,57 +3,62 @@
|
||||
#For a full list of formats and fancy examples, see https://docs.adventure.kyori.net/minimessage/format.html
|
||||
#Messages containing the placeholder "<prefix>" will have it replaced with the following string
|
||||
prefix: "<dark_gray>[<yellow>Maintenance<dark_gray>] "
|
||||
noPermission: "<red>Du hast nicht die erforderliche Berechtigung für diesen Befehl."
|
||||
kickmessage: "<red>Der Server befindet sich momentan im Wartungsmodus!<br>Versuche es später nochmal!"
|
||||
maintenanceActivated: "<prefix><gold>Der Wartungsmodus ist nun aktiviert."
|
||||
noPermission: "<red>Du hast nicht die erforderliche Berechtigung, um diesen Befehl auszuführen."
|
||||
kickmessage: "<red>Der Server befindet sich momentan im Wartungsmodus!<br>Bitte versuche es später nochmal!"
|
||||
maintenanceActivated: "<prefix><gold>Der Wartungsmodus ist jetzt aktiviert."
|
||||
maintenanceDeactivated: "<prefix><gold>Der Wartungsmodus ist nun deaktiviert."
|
||||
alreadyEnabled: "<prefix><red>Der Wartungsmodus ist bereits aktiviert!"
|
||||
alreadyDisabled: "<prefix><red>Der Wartungsmodus ist bereits deaktiviert!"
|
||||
endtimerBroadcast: "<prefix><gray>Der Wartungsmodus wird deaktiviert in: <gold>%TIME%<gray>."
|
||||
endtimerStarted: "<prefix><green>Gestarteter Timer: <gray>Der Wartungsmodus wird deaktiviert in: <gold>%TIME%<gray>."
|
||||
endtimerStarted: "<prefix><green>Timer gestartet: <gray>Der Wartungsmodus wird deaktiviert in: <gold>%TIME%<gray>."
|
||||
starttimerBroadcast: "<prefix><gray>Der Wartungsmodus wird aktiviert in: <gold>%TIME%<gray>."
|
||||
starttimerStarted: "<prefix><green>Gestarteter Timer: <gray>Der Wartungsmodus wird aktiviert in: <gold>%TIME%<gray>."
|
||||
scheduletimerBroadcast: "<prefix><gray>Der Wartungsmodus wird in <gold>%TIME% <gray>aktiviert und <gold>%DURATION% <gray>dauern."
|
||||
scheduletimerStarted: "<prefix><green>Gestarteter Timer: <gray>Der Wartungsmodus ist in <gold>%TIME% <gray>aktiv und wird <gold>%DURATION% <gray>dauern."
|
||||
timerAlreadyRunning: "<prefix><red>Momentan läuft bereits ein Timer!"
|
||||
timerNotRunning: "<prefix><red>Momentan läuft kein Timer."
|
||||
timerCancelled: "<prefix><red>Der laufende Timer wurde beendet."
|
||||
timerTooLong: "<prefix><red>Die angegebene Nummer muss kleiner als 40320 sein (= 28 Tage)!"
|
||||
timerMotdDisabled: "<prefix><red>Du musst 'enable-timerspecific-messages' in der Config auf 'true' stellen, wenn du timerspezifische Motds benutzen/editieren möchtest."
|
||||
timerTooLong: "<prefix><red>Die angegebene Zahl muss kleiner als 40320 sein, also 28 Tage!"
|
||||
timerMotdDisabled: "<prefix><red>Du musst den Wert 'enable-timerspecific-messages' in der Config auf 'true' stellen, wenn du timerspezifische Motds benutzen/bearbeiten möchtest."
|
||||
motdTimer: "%HOURS%:%MINUTES%:%SECONDS%"
|
||||
motdTimerNotRunning: "-"
|
||||
joinNotification: "<prefix><yellow>%PLAYER% <red>hat versucht den Server beizutreten."
|
||||
motdList: "<prefix><gray>Liste der Maintenance MOTDs:"
|
||||
joinNotification: "<prefix><yellow>%PLAYER% <red>hat versucht dem Server beizutreten."
|
||||
motdList: "<prefix><gray>Liste deiner Motds, die während Maintenance angezeigt werden:"
|
||||
motdListEmpty: "<prefix><red>Du hast keine Maintenance MOTDs gesetzt!"
|
||||
reload: "<prefix><green>Config, WhitelistedPlayers, Language Datei und Maintenance Icon wurden neugeladen."
|
||||
removedMotd: "<prefix><green>Die %INDEX%. Maintenance MOTD wurde entfernt."
|
||||
removeMotdError: "<prefix><red>Du hast nur eine Maintenance MOTD, daher kannst du auch keine entfernen!"
|
||||
reload: "<prefix><green>Die Config, die Liste der Spieler die während Maintenance beitreten können, die Sprachdateien und das Icon, das während der Maintenance angezeigt wird, wurden reloaded."
|
||||
removedMotd: "<prefix><green>Die %INDEX%. Wartungs-MOTD wurde entfernt."
|
||||
removeMotdError: "<prefix><red>Du hast nur eine Maintenance MOTD eingestellt, daher kannst du auch keine entfernen!"
|
||||
setMotd: "<prefix><green>Die %LINE%. Zeile der %INDEX%. Maintenance MOTD wurde geändert zu: %MOTD%"
|
||||
setMotdIndexError: "<prefix><red>Momentan gibt es %MOTDS% MOTDs, du musst also eine Zahl zwischen 1 and %NEWAMOUNT% wählen."
|
||||
setMotdLineError: "<prefix><red>Das zweite Argument muss die Zeilennummer sein (1 oder 2)!"
|
||||
updateDownloading: "<prefix><red><bold>Update wird heruntergeladen..."
|
||||
updateFailed: "<prefix><dark_red><bold>Update fehlgeschlagen!"
|
||||
updateFinished: "<prefix><green><bold>Das Update war erfolgreich! Um Probleme mit Timern zu vermeiden und das Update zu vervollständigen, musst du den Server neustarten!"
|
||||
setMotdIndexError: "<prefix><red>Momentan gibt es %MOTDS% MOTDs, du musst also eine Zahl, die zwischen 1 und %NEWAMOUNT% liegt, wählen."
|
||||
setMotdLineError: "<prefix><red>Das zweite Argument des Befehls muss die Zeilennummer sein (1 oder 2)!"
|
||||
updateDownloading: "<prefix><red><bold>Das Update wird heruntergeladen..."
|
||||
updateFailed: "<prefix><dark_red><bold>Das Update ist fehlgeschlagen!"
|
||||
updateFinished: "<prefix><green><bold>Das Update war erfolgreich! Um keine Fehler mit Timern zu erhalten und das Update abzuschließen, wäre ein Serverneustart erforderlich!"
|
||||
whitelistedPlayers: "<prefix><gold>Spieler in der Maintenance Whitelist:"
|
||||
whitelistedPlayersFormat: "<dark_gray>- <yellow>%NAME% <dark_gray>(<gray>%UUID%<dark_gray>)"
|
||||
whitelistAdded: "<prefix><aqua>%PLAYER% <green>wurde zur Maintenance Whitelist hinzugefügt!"
|
||||
whitelistAlreadyAdded: "<prefix><aqua>%PLAYER% <red>ist bereits in der Maintenance Whitelist!"
|
||||
whitelistRemoved: "<prefix><aqua>%PLAYER% <green>wurde von der Maintenance Whitelist entfernt!"
|
||||
whitelistNotFound: "<prefix><red>Dieser Spieler ist nicht in der Maintenance Whitelist!"
|
||||
whitelistEmpty: "<prefix><red>Die Maintenance Whitelist ist leer! Nutze <yellow>/maintenance add <Spieler/UUID><red>, um jemanden hinzuzufügen!"
|
||||
playerNotFound: "<prefix><red>Bisher hat kein Spieler mit diesem Namen jemals auf diesem Server gespielt."
|
||||
whitelistEmpty: "<prefix><red>In der Maintenance Whitelist befinden sich keine Spieler! Nutze <yellow>/maintenance add <player/uuid><red>, um jemanden hinzuzufügen!"
|
||||
playerNotFound: "<prefix><red>Bisher hat kein Spieler mit diesem Namen auf diesem Server gespielt."
|
||||
playerNotFoundUuid: "<prefix><red>Es konnte kein Spieler mit dieser UUID gefunden werden."
|
||||
playerNotOnline: "<prefix><red>Es ist momentan kein Spieler mit diesem Namen online."
|
||||
invalidUuid: "<prefix><red>Ungültiges UUID Format!"
|
||||
offlinePlayerFetchError: "<prefix><red>Beim Abrufen des Offline-Spielers ist ein Fehler aufgetreten. Bitte versuche es später erneut."
|
||||
invalidUuid: "<prefix><red>Das UUID Format ist ungültig!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><red>Du wurdest auf den Warteserver verbunden!"
|
||||
forceWaitingServer: "<prefix><red>Du kannst den Warteserver nicht verlassen solange der Wartungsmodus aktiviert ist!"
|
||||
sentToWaitingServer: "<prefix><red>Du wurdest auf einen Warteserver verbunden!"
|
||||
forceWaitingServer: "<prefix><red>Du kannst den Warteserver nicht verlassen, solange der Wartungsmodus aktiviert ist!"
|
||||
serverNotFound: "<prefix><red>Es wurde kein Server mit diesem Namen gefunden!"
|
||||
singleTimerAlreadyRunning: "<prefix><red>Momentan läuft bereits ein Timer auf diesem Server!"
|
||||
singleTimerCancelled: "<prefix><red>Der laufende Timer dieses Servers wurde beendet."
|
||||
singleTimerCancelled: "<prefix><red>Der laufende Timer von <yellow>%SERVER% <red>wurde beendet."
|
||||
singleTimerNotRunning: "<prefix><red>Momentan läuft kein Timer auf diesem Server."
|
||||
singleEndtimerBroadcast: "<prefix><gray>Der Wartungsmodus auf Server %SERVER% wird deaktiviert in: <gold>%TIME%<gray>."
|
||||
singleEndtimerStarted: "<prefix><green>Gestarteter Timer: <gray>Der Wartungsmodus auf Server %SERVER% wird deaktiviert in: <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>Der Wartungsmodus auf Server %SERVER% wird aktiviert in: <gold>%TIME%<gray>."
|
||||
singleStarttimerStarted: "<prefix><green>Gestarteter Timer: <gray>Der Wartungsmodus auf Server %SERVER% ist aktiv in: <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>Der Wartungsmodus auf Server %SERVER% wird aktiviert in <gold>%TIME% <gray>und wird <gold>%DURATION% <gray>dauern."
|
||||
singleScheduletimerStarted: "<prefix><green>Gestarteter Timer: <gray>Der Wartungsmodus auf Server %SERVER% ist in <gold>%TIME% <gray>aktiv und wird <gold>%DURATION% <gray>dauern."
|
||||
singleMaintenanceKick: "<prefix><red>Der Server %SERVER% befindet sich momentan im Wartungsmodus! Probier es später nochmal!"
|
||||
singleMaintenanceKickComplete: "<red>Der Server %SERVER% befindet sich in Wartung!<br>Du kannst versuchen zu rejoinen, um andere Server zu betreten!"
|
||||
singleMaintenanceActivated: "<prefix><gold>Der Wartungsmodus wurde auf <yellow>%SERVER% <gold>aktiviert."
|
||||
@@ -81,7 +86,7 @@ helpDump: "<gold>/maintenance dump <gray>(Sammelt wichtige Informationen für Bu
|
||||
helpHelp: "<gold>/maintenance help [Seite] <gray>(Zeigt diese wunderschöne Hilfe)"
|
||||
helpMotd: "<gold>/maintenance motd [Timer] <gray>(Zeigt die momentan gesetzten Maintenance Motds an. Mit dem 'timer' Argument werden die timerspezifischen Motds angezeigt)"
|
||||
helpRemoveMotd: "<gold>/maintenance removemotd [Timer] <Index> <gray>(Entfernt eine Maintenance Motd. Mit dem 'timer' Argument wird eine timerspezifischen Motd entfernt)"
|
||||
helpSetMotd: "<gold>/maintenance setmotd [Timer] <Index> <1/2> <Nachricht> <gray>(Setzte eine Motd für den Wartungsmodus. Mit dem 'timer' Argument as an argument wird eine timerspezifische Motd gesetzt)"
|
||||
helpSetMotd: "<gold>/maintenance setmotd [Timer] <Index> <1/2> <Nachricht> <gray>(Setzte eine Motd für den Wartungsmodus. Mit dem 'timer' Argument wird eine timerspezifische Motd gesetzt)"
|
||||
helpReload: "<gold>/maintenance reload <gray>(Lädt Config, Language und Whitelist Dateien sowie das Maintenance Icon neu)"
|
||||
helpToggle: "<gold>/maintenance <on/off> <gray>(Aktiviert/deaktiviert den Wartungsmodus)"
|
||||
helpUpdate: "<gold>/maintenance update <gray>(Sucht nach neuen Updates für das Plugin und lädt diese auf den Server)"
|
||||
@@ -96,4 +101,4 @@ helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [Server] <Minuten> <W
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [Server] <gray>(Aktiviert/deaktiviert den Wartungsmodus)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Zeigt alle Server an, auf denen momentan der Wartungsmodus aktiviert ist)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 1
|
||||
language-version: 2
|
||||
@@ -14,6 +14,7 @@ endtimerStarted: "<prefix><green>Started timer: <gray>Maintenance mode will be d
|
||||
starttimerBroadcast: "<prefix><gray>Maintenance mode will be enabled in <gold>%TIME%<gray>."
|
||||
starttimerStarted: "<prefix><green>Started timer: <gray>Maintenance mode will be activated in <gold>%TIME%<gray>."
|
||||
scheduletimerBroadcast: "<prefix><gray>Maintenance mode will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
scheduletimerStarted: "<prefix><green>Started timer: <gray>Maintenance mode will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<prefix><red>There is already a timer scheduled!"
|
||||
timerNotRunning: "<prefix><red>There is currently no running timer."
|
||||
timerCancelled: "<prefix><red>The current timer has been disabled."
|
||||
@@ -43,6 +44,7 @@ whitelistEmpty: "<prefix><red>The maintenance whitelist is empty! Use <yellow>/m
|
||||
playerNotFound: "<prefix><red>No player with this name has played on this server before."
|
||||
playerNotFoundUuid: "<prefix><red>No player with that uuid could be found."
|
||||
playerNotOnline: "<prefix><red>There is no player online with that name."
|
||||
offlinePlayerFetchError: "<prefix><red>There was an error while fetching offline player. Please try again later."
|
||||
invalidUuid: "<prefix><red>Invalid uuid format!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><red>You have been sent to a waiting server!"
|
||||
@@ -52,8 +54,11 @@ singleTimerAlreadyRunning: "<prefix><red>There is already a timer scheduled for
|
||||
singleTimerCancelled: "<prefix><red>The current timer for server <yellow>%SERVER% <red>has been disabled."
|
||||
singleTimerNotRunning: "<prefix><red>There is currently no running timer for that server."
|
||||
singleEndtimerBroadcast: "<prefix><gray>Maintenance mode on server %SERVER% will be disabled in <gold>%TIME%<gray>."
|
||||
singleEndtimerStarted: "<prefix><green>Started timer: <gray>Maintenance mode on server %SERVER% will be deactivated in <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>Maintenance mode on server %SERVER% will be enabled in <gold>%TIME%<gray>."
|
||||
singleStarttimerStarted: "<prefix><green>Started timer: <gray>Maintenance mode on server %SERVER% will be activated in <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>Maintenance mode on server %SERVER% will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
singleScheduletimerStarted: "<prefix><green>Started timer: <gray>Maintenance mode on server %SERVER% will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<prefix><red>The server %SERVER% is currently under maintenance! Try again later!"
|
||||
singleMaintenanceKickComplete: "<red>The server %SERVER% is under maintenance!<br>You may try to rejoin to go onto another server!"
|
||||
singleMaintenanceActivated: "<prefix><gold>Maintenance mode is now activated on server <yellow>%SERVER%<gold>."
|
||||
@@ -96,4 +101,4 @@ helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <timer minut
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <gray>(Enables/disables maintenance mode)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Lists all proxied servers, that are currently under maintenance)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 1
|
||||
language-version: 2
|
||||
@@ -4,16 +4,17 @@
|
||||
#Messages containing the placeholder "<prefix>" will have it replaced with the following string
|
||||
prefix: "<dark_gray>[<yellow>Maintenance<dark_gray>] "
|
||||
noPermission: "<prefix><dark_red>No tienes permiso para ejecutar este comando."
|
||||
kickmessage: "<red>El servidor se encuentra en mantenimiento!<br>Intentalo de nuevo mas tarde!"
|
||||
maintenanceActivated: "<prefix>Mantenimiento <gray>activado"
|
||||
maintenanceDeactivated: "<prefix><gray>Modo mantenimiento desactivado"
|
||||
alreadyEnabled: "<prefix><gray>Modo mantenimiento se encuentra habilitado!"
|
||||
alreadyDisabled: "<prefix><gray>Modo mantenimiento se encuentra deshabilitado!"
|
||||
endtimerBroadcast: "<prefix><gray>El modo mantenimiento se desactivara en <gold>%TIME%<gray>."
|
||||
kickmessage: "<red>¡El servidor se encuentra en mantenimiento!<br>¡Intentalo de nuevo mas tarde!"
|
||||
maintenanceActivated: "<prefix><gold>Mantenimiento <gray>activado."
|
||||
maintenanceDeactivated: "<prefix><gold>Modo mantenimiento desactivado."
|
||||
alreadyEnabled: "<prefix><gray>¡Modo mantenimiento se encuentra habilitado!"
|
||||
alreadyDisabled: "<prefix><gray>¡Modo mantenimiento se encuentra deshabilitado!"
|
||||
endtimerBroadcast: "<prefix><gray>El modo mantenimiento se desactivará en <gold>%TIME%<gray>."
|
||||
endtimerStarted: "<prefix><gray>Temporizador iniciado: El modo mantenimiento se desactivará en <gold>%TIME%<gray>."
|
||||
starttimerBroadcast: "<prefix><gray>El modo mantenimiento se habilitara en <gold>%TIME%<gray>."
|
||||
starttimerStarted: "<prefix><gray>Temporizador iniciado: El modo mantenimiento se activará en <gold>%TIME%<gray>."
|
||||
scheduletimerBroadcast: "<prefix><gray>Maintenance mode will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
scheduletimerStarted: "<prefix><gray>Temporizador iniciado: El modo mantenimiento se activará en <gold>%TIME% <gray>y durará <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<prefix><red>Ya hay un temporizador programado!"
|
||||
timerNotRunning: "<prefix><gray>Actualmente no hay temporizador."
|
||||
timerCancelled: "<prefix><red>El Temporizador actual ha sido deshabilitado."
|
||||
@@ -43,6 +44,7 @@ whitelistEmpty: "<prefix><gray>La lista de mantenimiento está vacía! Usa '<gol
|
||||
playerNotFound: "<prefix><gray>Ningun jugador con este nombre ha jugado en este servidor antes!"
|
||||
playerNotFoundUuid: "<prefix><red>No se pudo encontrar el jugador con ese UUID."
|
||||
playerNotOnline: "<prefix><gray>No hay jugador en línea con este nombre."
|
||||
offlinePlayerFetchError: "<prefix><red>There was an error while fetching offline player. Please try again later."
|
||||
invalidUuid: "<prefix><red>Formato inválido!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><green>Has sido enviado a un servidor de espera!"
|
||||
@@ -52,8 +54,11 @@ singleTimerAlreadyRunning: "<prefix><red>Ya hay un temporizador programado!"
|
||||
singleTimerCancelled: "<prefix><red>El temporizador actual para el servidor <gold>%SERVER% <red>ha sido desactivado."
|
||||
singleTimerNotRunning: "<prefix><red>Actualmente no hay ningún temporizador en ejecución para ese servidor."
|
||||
singleEndtimerBroadcast: "<prefix><gray>El modo mantenimiento en el Servidor <gold>%SERVER% <gray>se desactivará en <green>%TIME%<gray>."
|
||||
singleEndtimerStarted: "<prefix><gray>Temporizador iniciado: El modo mantenimiento en el servidor <gold>%SERVER%<gray> se desactivará en <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>El modo mantenimiento en el servidor <gold>%SERVER%<gray> se activará en <green>%TIME%<gray>"
|
||||
singleStarttimerStarted: "<prefix><gray>Temporizador iniciado: El modo mantenimiento en el servidor <gold>%SERVER%<gray> se activará en <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>El modo mantenimiento en el servidor %SERVER% se activará en <gold>%TIME% <gray>y durará <gold>%DURATION%<gray>."
|
||||
singleScheduletimerStarted: "<prefix><gray>Temporizador iniciado: El modo mantenimiento en el servidor <gold>%SERVER%<gray> se activará en <gold>%TIME% <gray>y durará <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<prefix><gray>El servidor <gold>%SERVER% <gray>se encuentra en mantenimiento! Intentalo mas tarde!"
|
||||
singleMaintenanceKickComplete: "<gray>El Servidor <gold>%SERVER% <gray>esta en mantenimiento!<br><red>Vuelve Mas Tarde!"
|
||||
singleMaintenanceActivated: "<prefix><gray>El modo mantenimiento esta activado en el servidor <gold>%SERVER%<gray>."
|
||||
@@ -96,4 +101,4 @@ helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <timer minut
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <dark_gray>(<gray>Habilita / deshabilita el modo de mantenimiento<dark_gray>)"
|
||||
helpStatus: "<gold>/maintenance status <dark_gray>(<gray>Enumera todos los servidores proxy, que están actualmente en mantenimiento<dark_gray>)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 1
|
||||
language-version: 2
|
||||
@@ -14,6 +14,7 @@ endtimerStarted: "<prefix><green>Minuterie : <gray>Le mode maintenance sera dés
|
||||
starttimerBroadcast: "<prefix><gray>Le mode de maintenance sera activé dans <gold>%TIME%<gray>."
|
||||
starttimerStarted: "<prefix><green>Minuterie : <gray>Le mode maintenance sera activé dans <gold>%TIME%<gray>."
|
||||
scheduletimerBroadcast: "<prefix><gray>Maintenance mode will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
scheduletimerStarted: "<prefix><green>Le minuteur a été lancé : <gray>La maintenance va être activé dans <gold>%TIME%<gray> et elle va durer pendant : <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<prefix><red>Il y a déjà un horaire prévu !"
|
||||
timerNotRunning: "<prefix><red>Il n'y a actuellement aucune maintenance prévue."
|
||||
timerCancelled: "<prefix><red>La minuterie actuelle a été désactivée."
|
||||
@@ -43,6 +44,7 @@ whitelistEmpty: "<prefix><red>La liste blanche de maintenance est vide : Utilisa
|
||||
playerNotFound: "<prefix><red>Aucun joueur avec ce nom n'a auparavant joué sur ce serveur."
|
||||
playerNotFoundUuid: "<prefix><red>Aucun joueur avec cet UUID n'a pu être trouvé."
|
||||
playerNotOnline: "<prefix><red>Il n'y a pas de joueur en ligne avec ce nom."
|
||||
offlinePlayerFetchError: "<prefix><red>There was an error while fetching offline player. Please try again later."
|
||||
invalidUuid: "<prefix><red>Le format de l'UUID est invalide !"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><red>Vous avez été redirigé(e) vers un serveur d'attente !"
|
||||
@@ -52,8 +54,11 @@ singleTimerAlreadyRunning: "<prefix><red>Il y a déjà un horaire prévu sur ce
|
||||
singleTimerCancelled: "<prefix><red>La minuterie actuelle a été désactivée sur ce serveur."
|
||||
singleTimerNotRunning: "<prefix><red>Il n'y a actuellement aucune maintenance prévue sur ce serveur."
|
||||
singleEndtimerBroadcast: "<prefix><gray>La maintenance sur le serveur %SERVER% sera désactivée dans <gold>%TIME%<gray>."
|
||||
singleEndtimerStarted: "<prefix><green>Minuterie : <gray>Le mode maintenance sur le serveur %SERVER% sera désactivé dans <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>La maintenance sur le serveur %SERVER% sera activée dans <gold>%TIME%<gray>."
|
||||
singleStarttimerStarted: "<prefix><green>Minuterie : <gray>Le mode maintenance sur le serveur %SERVER% sera activé dans <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>Maintenance mode on server %SERVER% will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
singleScheduletimerStarted: "<prefix><green>Le minuteur a été lancé : <gray>La maintenance sur le serveur %SERVER% va être activé dans <gold>%TIME%<gray> et va durer pendant <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<prefix><red>Le serveur %SERVER% est actuellement en maintenance ! Réessayez plus tard !"
|
||||
singleMaintenanceKickComplete: "<red>Le serveur %SERVER% est en maintenance !<br>Vous pouvez essayer un autre serveur !"
|
||||
singleMaintenanceActivated: "<prefix><gold>La maintenance est maintenant activée sur le serveur <yellow>%SERVER%<gold>."
|
||||
@@ -96,4 +101,4 @@ helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <timer minut
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <gray>(Active/désactive le mode maintenance)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Répertorie tous les serveurs mandatés actuellement en maintenance)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 1
|
||||
language-version: 2
|
||||
@@ -0,0 +1,104 @@
|
||||
#Maintenance Plugin by kennytv
|
||||
#You can use https://webui.adventure.kyori.net/ to edit and preview the formatted text
|
||||
#For a full list of formats and fancy examples, see https://docs.adventure.kyori.net/minimessage/format.html
|
||||
#Messages containing the placeholder "<prefix>" will have it replaced with the following string
|
||||
prefix: "<dark_gray>[<yellow>Maintenance<dark_gray>] "
|
||||
noPermission: "<red>Nincs engedélyed a parancs használatához."
|
||||
kickmessage: "<red>A szerver karbantartás alatt áll!<br>Próbáld újra később!"
|
||||
maintenanceActivated: "<prefix><gold>Karbantartás elindítva."
|
||||
maintenanceDeactivated: "<prefix><gold>Karbantartás befejezve."
|
||||
alreadyEnabled: "<prefix><red>Már engedélyezve van!"
|
||||
alreadyDisabled: "<prefix><red>Már le van tiltva!"
|
||||
endtimerBroadcast: "<prefix><gray>Felléphetsz <gold>%TIME%<gray> múlva."
|
||||
endtimerStarted: "<prefix><green>Időzítő Elindítva: <gray>Felléphetsz <gold>%TIME%<gray> múlva."
|
||||
starttimerBroadcast: "<prefix><gray>Karbantartás lesz <gold>%TIME%<gray> múlva."
|
||||
starttimerStarted: "<prefix><green>Időzítő elindítva: <gray>Karbantartás lesz <gold>%TIME%<gray> múlva."
|
||||
scheduletimerBroadcast: "<prefix><gray>Karbantartás lesz <gold>%TIME%<gray> múlva és <gold>%DURATION%<gray>-ig fog tartani."
|
||||
scheduletimerStarted: "<prefix><green>Időzítő elindítva: <gray>Karbantartás lesz <gold>%TIME%<gray> múlva és <gold>%DURATION%<gray>-ig fog tartani."
|
||||
timerAlreadyRunning: "<prefix><red>Már van ídőzítő beállítva!"
|
||||
timerNotRunning: "<prefix><red>Nincs időzítő beállítva."
|
||||
timerCancelled: "<prefix><red>Az időzítő letiltva."
|
||||
timerTooLong: "<prefix><red>A számnak kevesebbnek kell lennie 40320-nál (28 nap)!"
|
||||
timerMotdDisabled: "<prefix><red>Be kell állítanod a 'enable-timerspecific-messages' beállítást 'true'-ra, ha ezt szeretnéd."
|
||||
motdTimer: "%HOURS%:%MINUTES%:%SECONDS%"
|
||||
motdTimerNotRunning: "-"
|
||||
joinNotification: "<prefix><yellow>%PLAYER% <red>megpróbált belépni a szerverre."
|
||||
motdList: "<prefix><gray>Lista a karbantartás motd-(k)ről:"
|
||||
motdListEmpty: "<prefix><red>Nincs beállítva karbantartás motd!"
|
||||
reload: "<prefix><green>Újratöltve."
|
||||
removedMotd: "<prefix><green>Motd szám törölve: %INDEX%."
|
||||
removeMotdError: "<prefix><red>Csak egy motd van,nem törölheted!"
|
||||
setMotd: "<prefix><green>Sor %LINE% beállítva %INDEX%-re. motd %MOTD%-ra"
|
||||
setMotdIndexError: "<prefix><red>Csak %MOTDS%-d van, úgyhogy válassz egy számot 1 és %NEWAMOUNT% között."
|
||||
setMotdLineError: "<prefix><red>Ennek egy sornak kell lennie (1 vagy 2)!"
|
||||
updateDownloading: "<prefix><red><bold>Frissítés letöltése..."
|
||||
updateFailed: "<prefix><dark_red><bold>Hiba!"
|
||||
updateFinished: "<prefix><green><bold>Telepítve,indítsd újra a szervered!"
|
||||
whitelistedPlayers: "<prefix><gold>Emberek akik beléphetnek karbantartáskor:"
|
||||
whitelistedPlayersFormat: "<dark_gray>- <yellow>%NAME% <dark_gray>(<gray>%UUID%<dark_gray>)"
|
||||
whitelistAdded: "<prefix><green>Hozzáadva <aqua>%PLAYER% <green>a karbantartás fehérlistához!"
|
||||
whitelistAlreadyAdded: "<prefix><aqua>%PLAYER% <red>már benne van a karbantartás fehérlistában!"
|
||||
whitelistRemoved: "<prefix><green>Törölve <aqua>%PLAYER% <green>a listából!"
|
||||
whitelistNotFound: "<prefix><red>Ez a játékos nincs a karbantartás fehérlistában!"
|
||||
whitelistEmpty: "<prefix><red>A lista üres!"
|
||||
playerNotFound: "<prefix><red>Ez a játékos soha nem lépett fel a szerverre."
|
||||
playerNotFoundUuid: "<prefix><red>A játékos nem található."
|
||||
playerNotOnline: "<prefix><red>A játékos nincs online."
|
||||
offlinePlayerFetchError: "<prefix><red>There was an error while fetching offline player. Please try again later."
|
||||
invalidUuid: "<prefix><red>Rossz UUID!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><red>El lettél küldve egy várakozós szerverre!"
|
||||
forceWaitingServer: "<prefix><red>Ezt a szervert a karbantartás végéig nem hagyhatod el!"
|
||||
serverNotFound: "<prefix><red>Nincs a proxy-n ilyen nevű szerver regisztrálva!"
|
||||
singleTimerAlreadyRunning: "<prefix><red>Már van egy visszaszámláló!"
|
||||
singleTimerCancelled: "<prefix><red>Az aktuális visszaszámláló <yellow>%SERVER% <red>szervernek letiltva."
|
||||
singleTimerNotRunning: "<prefix><red>Nem fut időzító a szerveren."
|
||||
singleEndtimerBroadcast: "<prefix><gray>A karbantartás a(z) %SERVER% szerveren le lesz tiltva <gold>%TIME%<gray> múlva."
|
||||
singleEndtimerStarted: "<prefix><green>Időzítő elindítva: <gray>A karbantartás mód a %SERVER% szerveren ki lesz kapcsolva <gold>%TIME% múlva<gray>."
|
||||
singleStarttimerBroadcast: "<prefix>A karbantartás a(z) %SERVER% szerveren engedélyezve lesz <gold>%TIME%<gray> múlva."
|
||||
singleStarttimerStarted: "<prefix><green>Időzítő elindítva: <gray>A karbantartás mód a %SERVER% szerveren be lesz kapcsolva <gold>%TIME% múlva<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>A karbantartás a(z) %SERVER% szerveren le lesz tiltva <gold>%TIME%<gray> múlva,és <gold>%DURATION<gray>-ig fog tartani."
|
||||
singleScheduletimerStarted: "<prefix><green>Időzítő Elindítva: <gray>A karbantartás a(z) %SERVER% szerveren le lesz tiltva <gold>%TIME%<gray> múlva,és <gold>%DURATION<gray>-ig fog tartani."
|
||||
singleMaintenanceKick: "<prefix><red>A(z) %SERVER% szerver jelenleg karbantartás alatt van! Próbáld újra később!"
|
||||
singleMaintenanceKickComplete: "<red>A(z) %SERVER% karbantartás alatt van!<br>Megpróbálhatsz belépni újra!"
|
||||
singleMaintenanceActivated: "<prefix><gold>A karbantartás engedélyezve a(z) <yellow>%SERVER%<gold> szerveren."
|
||||
singleMaintenanceDeactivated: "<prefix><gold>A karbantartás letiltva a(z) <yellow>%SERVER%<gold>."
|
||||
singleServerAlreadyEnabled: "<prefix><red>A karbantartás már engedélyezve van a(z) <yellow>%SERVER%<red> szerveren!"
|
||||
singleServerAlreadyDisabled: "<prefix><red>A karbantartás már le van tiltva a(z) <yellow>%SERVER%<red> szerveren!"
|
||||
singleServerMaintenanceList: "<prefix><gray>Proxy szerverek,karbantartási móddal engedélyezve:"
|
||||
singleServerMaintenanceListEmpty: "<prefix><gray>Nincsenek proxy szerverek karbantartás alatt."
|
||||
singleServerMaintenanceListEntry: "<dark_grey>- <aqua>%SERVER%"
|
||||
second: "másodperc"
|
||||
seconds: "másodperc"
|
||||
minute: "perc"
|
||||
minutes: "perc"
|
||||
hour: "óra"
|
||||
hours: "óra"
|
||||
helpHeader: "<dark_gray>========[ <yellow>%NAME% <dark_gray>| <yellow>%PAGE%/%MAX% <dark_gray>]========"
|
||||
helpPageNotFound: "<prefix><red>Nincs ilyen oldal!"
|
||||
helpNextPage: "<gray>Használd a <aqua>/maintenance help %PAGE% <gray>parancsot,hogy lapozz."
|
||||
helpAbortTimer: "<gold>/maintenance aborttimer <gray>(Az időzítő,ha fut nem lesz figelembe vévve)"
|
||||
helpEndtimer: "<gold>/maintenance endtimer <minutes> <gray>(A megadott idő múlva az időzítő kikapcsol)"
|
||||
helpStarttimer: "<gold>/maintenance starttimer <minutes> <gray>(A megadott idő múlva az időzítő bekapcsol)"
|
||||
helpScheduleTimer: "<gold>/maintenance scheduletimer <timer minutes> <maintenance duration> <gray>(Időbeosztás az időzítőnek)"
|
||||
helpDebug: "<gold>/maintenance debug <gray>(Hibakeresés bekapcsolása)"
|
||||
helpDump: "<gold>/maintenance dump <gray>(A hibajelentési előzményeket törli)"
|
||||
helpHelp: "<gold>/maintenance help [page] <gray>(Megjelenítí a segítség ablakot)"
|
||||
helpMotd: "<gold>/maintenance motd [timer] <gray>(Megjeleníti a motd-ket)"
|
||||
helpRemoveMotd: "<gold>/maintenance removemotd [timer] <index> <gray>(Törli a megadott motd-t)"
|
||||
helpSetMotd: "<gold>/maintenance setmotd [timer] <index> <1/2> <message> <gray>(Beállít egy motd-t)"
|
||||
helpReload: "<gold>/maintenance reload <gray>(Újratölti a plugint)"
|
||||
helpToggle: "<gold>/maintenance <on/off> <gray>(Karbantartás mód ki-be kapcsolása)"
|
||||
helpUpdate: "<gold>/maintenance update <gray>(Frissíti a plugin verziót)"
|
||||
helpWhitelist: "<gold>/maintenance whitelist <gray>(Megmutatja a karbantartás fehérlistázottak listáját)"
|
||||
helpWhitelistAdd: "<gold>/maintenance add <name/uuid> <gray>(Hozzáadja a játékost a karbantartás fehérlistához)"
|
||||
helpWhitelistRemove: "<gold>/maintenance remove <name/uuid> <gray>(Kitörli a játékost a karbantartás fehérlistáról)"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
helpAbortSingleTimer: "<gold>/maintenance aborttimer [server] <gray>(Ha van karbantartás,akkor figyelmen kívül veszi az időzítőt)"
|
||||
helpSingleEndtimer: "<gold>/maintenance endtimer [server] <minutes> <gray>(Egy megadott idővallum múlva kikapcsol a karbantartás mód)"
|
||||
helpSingleStarttimer: "<gold>/maintenance starttimer [server] <minutes> <gray>(Egy megadott idővallum múlva bekapcsol a karbantartás mód)"
|
||||
helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <timer minutes> <maintenance duration> <gray>(Időbeosztás az időzítőnek)"
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <gray>(Ki-be kapcsolja a karbantartás módot)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Kiírja az összes proxy szervert,ami karbantartás alatt van)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 2
|
||||
@@ -14,6 +14,7 @@ endtimerStarted: "<prefix><green>Timer avviato: <gray>La modalità manutenzione
|
||||
starttimerBroadcast: "<prefix><gray>La modalità manutenzione verrà attivata tra <gold>%TIME%<gray>."
|
||||
starttimerStarted: "<prefix><green>Timer avviato: <gray>La modalità manutenzione verrà attivata tra <gold>%TIME%<gray>."
|
||||
scheduletimerBroadcast: "<prefix><gray>Maintenance mode will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
scheduletimerStarted: "<prefix><green>Timer avviato: la modalità di manutenzione <gray>sarà abilitata in <gold>%TIME% <gray>e durerà per <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<prefix><red>C'è già un timer programmato!"
|
||||
timerNotRunning: "<prefix><red>Non c'è nessun timer attivo al momento."
|
||||
timerCancelled: "<prefix><red>Il timer attuale è stato disattivato."
|
||||
@@ -43,6 +44,7 @@ whitelistEmpty: "<prefix><red>La whitelist di manutenzione è vuota! Usa <yellow
|
||||
playerNotFound: "<prefix><red>Nessun giocatore con questo username è mai entrato nel server."
|
||||
playerNotFoundUuid: "<prefix><red>Nessun player con quell'uuid è stato trovato."
|
||||
playerNotOnline: "<prefix><red>Non c'è nessun giocatore online con quell'username."
|
||||
offlinePlayerFetchError: "<prefix><red>There was an error while fetching offline player. Please try again later."
|
||||
invalidUuid: "<prefix><red>L'uuid presenta un formato invalido!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><red>Sei stato inviato su un server d'attesa!"
|
||||
@@ -52,8 +54,11 @@ singleTimerAlreadyRunning: "<prefix><red>È già presente un timer pianificato p
|
||||
singleTimerCancelled: "<prefix><red>Il timer attuale per il server <yellow>%SERVER% <red>è stato rimosso."
|
||||
singleTimerNotRunning: "<prefix><red>Non c'è nessun timer correntemente attivo per quel server."
|
||||
singleEndtimerBroadcast: "<prefix><gray>La modalità manutenzione per il server %SERVER% verrà disabilitata tra <gold>%TIME%<gray>."
|
||||
singleEndtimerStarted: "<prefix><green>Timer avviato: <gray>La modalità manutenzione per il server %SERVER% verrà disattivata tra <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>La modalità manutenzione per il server %SERVER% verrà disabilitata tra <gold>%TIME%<gray>."
|
||||
singleStarttimerStarted: "<prefix><green>Timer avviato: <gray>La modalità manutenzione per il server %SERVER% verrà attivata tra <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>Maintenance mode on server %SERVER% will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
singleScheduletimerStarted: "<prefix><green>Timer avviato: <gray>Modalità di manutenzione sul server %SERVER% sarà attivato in <gold>%TIME% <gray>e durerà per <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<prefix><red>Il server %SERVER% è in manutenzione al momento! Ritenta più tardi!"
|
||||
singleMaintenanceKickComplete: "<red>Il server %SERVER% è in manutenzione!<br>Prova a rientrare per accedere ad un'altro server!"
|
||||
singleMaintenanceActivated: "<prefix><gold>La modalità manutenzione è ora attiva sul server <yellow>%SERVER%<gold>."
|
||||
@@ -93,7 +98,7 @@ helpAbortSingleTimer: "<gold>/maintenance aborttimer [server] <gray>(Se attivo,
|
||||
helpSingleEndtimer: "<gold>/maintenance endtimer [server] <minutes> <gray>(Dopo il tempo fornito in minuti, la modalità manutenzione sarà rimossa)"
|
||||
helpSingleStarttimer: "<gold>/maintenance starttimer [server] <minutes> <gray>(Dopo il tempo fornito in minuti, la modalità manutenzione sarà attivata)"
|
||||
helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <timer minutes> <maintenance duration> <gray>(After the given time in minutes, maintenance mode will be enabled for the given duration in minutes)"
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <gray>(Abilita/Disabilita la modalità manutenzione)"
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <gray>(Abilita/disabilita la modalità di manutenzione)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Elenca tutti i server sotto proxy che hanno la modalità manutenzione attiva)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 1
|
||||
language-version: 2
|
||||
@@ -4,16 +4,17 @@
|
||||
#Messages containing the placeholder "<prefix>" will have it replaced with the following string
|
||||
prefix: "<dark_gray>[<yellow>Maintenance<dark_gray>] "
|
||||
noPermission: "<red>このコマンドを実行する権限がありません。"
|
||||
kickmessage: "<red>メンテナンス中です。<br>むやみにアクセスしないでください。"
|
||||
kickmessage: "<red>メンテナンス中です。<br>しばらくたってから、もう一度お試しください"
|
||||
maintenanceActivated: "<prefix><green>メンテナンスを有効にしました。"
|
||||
maintenanceDeactivated: "<prefix><yellow>メンテナンスを解除しました。"
|
||||
alreadyEnabled: "<prefix><red>メンテナンスは既に有効です。"
|
||||
alreadyDisabled: "<prefix><red>メンテナンスは常に解除されています。"
|
||||
alreadyDisabled: "<prefix><red>メンテナンスは既に解除されています。"
|
||||
endtimerBroadcast: "<prefix><gray>メンテナンスモードは、<gold>%TIME%<gray>で無効になります。"
|
||||
endtimerStarted: "<prefix><green>メンテナンスモードは<gold>%TIME%<gray>で解除されます。"
|
||||
starttimerBroadcast: "<prefix><gray>タイマー開始:<gray>メンテナンスモードは、<gold>%TIME%<gray>で有効になります。"
|
||||
starttimerStarted: "<prefix><green>タイマー開始:<gray>メンテナンスモードは<gold>%TIME%<gray>で開始されます。"
|
||||
scheduletimerBroadcast: "<prefix><gray>メンテナンスモードは、<gold>%TIME% <gray>で有効になり、<gold>%DURATION%<gray>の間、持続されます。"
|
||||
scheduletimerStarted: "<prefix><green>タイマー開始:<gray>メンテナンスモードは、<gold>%TIME% <gray>で有効になり、<gold>%DURATION%<gray>の間、持続されます。"
|
||||
timerAlreadyRunning: "<prefix><red>すでにタイマーが設定されています。"
|
||||
timerNotRunning: "<prefix><red>現在、実行中のタイマーはありません。"
|
||||
timerCancelled: "<prefix><red>現在のタイマーを中止しました。"
|
||||
@@ -43,19 +44,23 @@ whitelistEmpty: "<prefix><red>使用方法が違います。<yellow>/maintenance
|
||||
playerNotFound: "<prefix><red>不明なユーザーです。"
|
||||
playerNotFoundUuid: "<prefix><red>不明なUUIDです。"
|
||||
playerNotOnline: "<prefix><red>このユーザーはオンラインではありません。"
|
||||
offlinePlayerFetchError: "<prefix><red>オフラインプレイヤーの取得中にエラーが発生しました。しばらく経ってからもう一度お試しください。"
|
||||
invalidUuid: "<prefix><red>UUID形式が無効です。"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><red>待機中のサーバーに転送されました。"
|
||||
sentToWaitingServer: "<prefix><red>待機サーバーに転送されました!"
|
||||
forceWaitingServer: "<prefix><red>メンテナンスが有効な間は、待機中のサーバーから離れることはできません。"
|
||||
serverNotFound: "<prefix><red>この名前のサーバーはプロキシに登録されていません。"
|
||||
singleTimerAlreadyRunning: "<prefix><red>そのサーバーには既にタイマーが設定されています。"
|
||||
singleTimerCancelled: "<prefix><yellow>%SERVER% <red>の現在のタイマが解除されました。"
|
||||
singleTimerNotRunning: "<prefix><red>現在、そのサーバーの実行中のタイマーはありません。"
|
||||
singleEndtimerBroadcast: "<prefix><gray>%SERVER% のメンテナンスモードは、<gold>%TIME%<gray> で無効になります。"
|
||||
singleEndtimerStarted: "<prefix><green>タイマー開始:<gray>%SERVER% のメンテナンスモードは、<gold>%TIME%<gray> で解除されます。"
|
||||
singleStarttimerBroadcast: "<prefix><gray>%SERVER% のメンテナンスモードは、<gold>%TIME%<gray> で有効になります。"
|
||||
singleStarttimerStarted: "<prefix><green>タイマー開始:<gray>%SERVER% のメンテナンスモードは、<gold>%TIME%<gray> で開始されます。"
|
||||
singleScheduletimerBroadcast: "<prefix><gray>サーバ %SERVER% のメンテナンスモードは <gold>%TIME% <gray> で有効になり、<gold>%DURATION%<gray> の間持続します。"
|
||||
singleMaintenanceKick: "<prefix><red>%SERVER% はメンテナンス中です。むやみにアクセスしないでください。"
|
||||
singleMaintenanceKickComplete: "<red>The server %SERVER% is under maintenance!<br>You may try to rejoin to go onto another server!"
|
||||
singleScheduletimerStarted: "<prefix><green>タイマー開始:<gray>サーバ %SERVER% のメンテナンスモードは <gold>%TIME% <gray> で有効になり、<gold>%DURATION%<gray> の間持続します。"
|
||||
singleMaintenanceKick: "<prefix><red>%SERVER% はメンテナンス中です。しばらくたってからもう一度お試しください。"
|
||||
singleMaintenanceKickComplete: "<red>サーバー %SERVER% はメンテナンス中です!<br>他のサーバーに再び参加することができます!"
|
||||
singleMaintenanceActivated: "<prefix><yellow>%SERVER%<green> のメンテナンスを有効にしました。"
|
||||
singleMaintenanceDeactivated: "<prefix><yellow>%SERVER%<yellow> のメンテナンスを解除しました。"
|
||||
singleServerAlreadyEnabled: "<prefix><yellow>%SERVER%<red> のメンテナンスは既に有効です。"
|
||||
@@ -96,4 +101,4 @@ helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <タイマ
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <gray>(メンテナンスモードの有効化/無効化を設定します。)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(現在メンテナンス中のプロキシサーバーをすべてリストアップします。)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 1
|
||||
language-version: 2
|
||||
@@ -0,0 +1,104 @@
|
||||
#Maintenance Plugin by kennytv
|
||||
#You can use https://webui.adventure.kyori.net/ to edit and preview the formatted text
|
||||
#For a full list of formats and fancy examples, see https://docs.adventure.kyori.net/minimessage/format.html
|
||||
#Messages containing the placeholder "<prefix>" will have it replaced with the following string
|
||||
prefix: "<dark_gray>[<yellow>Maintenance<dark_gray>] "
|
||||
noPermission: "<red>권한이 없습니다."
|
||||
kickmessage: "<red>서버가 현재 점검 중입니다!<br>나중에 다시 시도하세요!"
|
||||
maintenanceActivated: "<prefix><gold>유지 관리 모드가 활성화되었습니다."
|
||||
maintenanceDeactivated: "<prefix><gold>유지 관리 모드가 비활성화되었습니다."
|
||||
alreadyEnabled: "<prefix><red>유지 관리가 이미 활성화되었습니다!"
|
||||
alreadyDisabled: "<prefix><red>유지보수가 이미 비활성화되었습니다!"
|
||||
endtimerBroadcast: "<prefix><gray>유지 관리 모드는<gold>%TIME%<gray>에 비활성화됩니다.."
|
||||
endtimerStarted: "<prefix><green>타이머가 시작 되었습니다: <gray>유지 관리 모드가 <gold>%TIME%<gray>에 비활성화됩니다."
|
||||
starttimerBroadcast: "<prefix><gray>유지 관리 모드가 <gold>%TIME%<gray>에 활성화됩니다.."
|
||||
starttimerStarted: "<prefix><green>타머가 시작 되었습니다: <gray>유지 관리 모드가 <gold>%TIME%<gray>에 활성화됩니다."
|
||||
scheduletimerBroadcast: "<prefix><gray>유지 관리 모드는 <gold>%TIME%<gray>에 활성화되며, <gold>%DURATION%<gray>동안 지속됩니다.."
|
||||
scheduletimerStarted: "<prefix><green>Started timer: <gray>Maintenance mode will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<prefix><red>이미 타이머가 예약되어 있습니다!"
|
||||
timerNotRunning: "<prefix><red>현재 실행중인 타이머가 없습니다."
|
||||
timerCancelled: "<prefix><red>현재 타이머가 비활성화되었습니다."
|
||||
timerTooLong: "<prefix><red>숫자는 40320(28일) 미만이어야 합니다!"
|
||||
timerMotdDisabled: "<prefix><red>타이머별 모드를 사용/편집하려면 설정에서 'enable-timerspecific-messages'를 'true'로 설정해야 합니다."
|
||||
motdTimer: "%HOURS%:%MINUTES%:%SECONDS%"
|
||||
motdTimerNotRunning: "-"
|
||||
joinNotification: "<prefix><yellow>%PLAYER%<red>님이 서버에 접속을 시도했습니다."
|
||||
motdList: "<prefix><gray>유지 관리 motd 목록:"
|
||||
motdListEmpty: "<prefix><red>유지 관리 motd가 설정되어 있지 않습니다!"
|
||||
reload: "<prefix><green>설정, 화이트리스트 플레이어, 언어 파일 및 유지 관리 아이콘을 새로고침 했습니다."
|
||||
removedMotd: "<prefix><green>%INDEX%번째 motd를 삭제했습니다."
|
||||
removeMotdError: "<prefix><red>motd가 하나만 있으므로 제거할 수 없습니다!"
|
||||
setMotd: "<prefix><green>INDEX%의 %LINE% 줄을 %MOTD%로 설정합니다."
|
||||
setMotdIndexError: "<prefix><red>현재 %MOTDS% motd가 있으므로 1에서 %NEWAMOUNT% 사이의 숫자를 선택해야 합니다."
|
||||
setMotdLineError: "<prefix><red>두 번째 인수는 줄 번호(1 또는 2)여야 합니다!"
|
||||
updateDownloading: "<prefix><red><bold>업데이트 다운로드 중..."
|
||||
updateFailed: "<prefix><dark_red><bold>업데이트에 실패했습니다!"
|
||||
updateFinished: "<prefix><green><bold>업데이트가 성공했습니다! 작업 관련 문제를 방지하고 업데이트를 완료하려면 서버를 다시 시작해야 합니다!"
|
||||
whitelistedPlayers: "<prefix><gold>화이트리스트 된 플레이어: "
|
||||
whitelistedPlayersFormat: "<dark_gray>- <yellow>%NAME% <dark_gray>(<gray>%UUID%<dark_gray>)"
|
||||
whitelistAdded: "<prefix><green><aqua>%PLAYER%<green>님을 화이트리스트에 추가했습니다!"
|
||||
whitelistAlreadyAdded: "<prefix><aqua>%PLAYER%<red>님은 이미 화이트리스트에 있습니다!"
|
||||
whitelistRemoved: "<prefix><green><aqua>%PLAYER%<green>님을 화이트리스트에서 제거했습니다!"
|
||||
whitelistNotFound: "<prefix><red>이 플레이어는 유지 관리 화이트리스트에 없습니다!"
|
||||
whitelistEmpty: "<prefix><red>유지 관리 화이트리스트가 비어 있습니다! <yellow>/maintenance add <player/uuid> <red>으로 누군가를 추가하세요!"
|
||||
playerNotFound: "<prefix><red>이 이름을 가진 플레이어가 이 서버에서 플레이한 적이 없습니다."
|
||||
playerNotFoundUuid: "<prefix><red>해당 UUID를 가진 플레이어를 찾을 수 없습니다."
|
||||
playerNotOnline: "<prefix><red>해당 이름을 가진 플레이어가 온라인이 아닙니다."
|
||||
offlinePlayerFetchError: "<prefix><red>There was an error while fetching offline player. Please try again later."
|
||||
invalidUuid: "<prefix><red>유효하지 않은 UUID 형식입니다!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><red>You have been sent to a waiting server!"
|
||||
forceWaitingServer: "<prefix><red>You cannot leave the waiting server while maintenance is enabled!"
|
||||
serverNotFound: "<prefix><red>No server with this name is registered on the proxy!"
|
||||
singleTimerAlreadyRunning: "<prefix><red>There is already a timer scheduled for that server!"
|
||||
singleTimerCancelled: "<prefix><red>The current timer for server <yellow>%SERVER% <red>has been disabled."
|
||||
singleTimerNotRunning: "<prefix><red>There is currently no running timer for that server."
|
||||
singleEndtimerBroadcast: "<prefix><gray>Maintenance mode on server %SERVER% will be disabled in <gold>%TIME%<gray>."
|
||||
singleEndtimerStarted: "<prefix><green>Started timer: <gray>Maintenance mode on server %SERVER% will be deactivated in <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>Maintenance mode on server %SERVER% will be enabled in <gold>%TIME%<gray>."
|
||||
singleStarttimerStarted: "<prefix><green>Started timer: <gray>Maintenance mode on server %SERVER% will be activated in <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>Maintenance mode on server %SERVER% will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
singleScheduletimerStarted: "<prefix><green>Started timer: <gray>Maintenance mode on server %SERVER% will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<prefix><red>The server %SERVER% is currently under maintenance! Try again later!"
|
||||
singleMaintenanceKickComplete: "<red>The server %SERVER% is under maintenance!<br>You may try to rejoin to go onto another server!"
|
||||
singleMaintenanceActivated: "<prefix><gold>Maintenance mode is now activated on server <yellow>%SERVER%<gold>."
|
||||
singleMaintenanceDeactivated: "<prefix><gold>Maintenance mode is now deactivated on server <yellow>%SERVER%<gold>."
|
||||
singleServerAlreadyEnabled: "<prefix><red>Maintenance is already enabled on server <yellow>%SERVER%<red>!"
|
||||
singleServerAlreadyDisabled: "<prefix><red>Maintenance is already disabled on server <yellow>%SERVER%<red>!"
|
||||
singleServerMaintenanceList: "<prefix><gray>Proxied servers, that have maintenance enabled:"
|
||||
singleServerMaintenanceListEmpty: "<prefix><gray>There are no proxied servers that are under maintenance."
|
||||
singleServerMaintenanceListEntry: "<dark_grey>- <aqua>%SERVER%"
|
||||
second: "second"
|
||||
seconds: "seconds"
|
||||
minute: "minute"
|
||||
minutes: "minutes"
|
||||
hour: "hour"
|
||||
hours: "hours"
|
||||
helpHeader: "<dark_gray>========[ <yellow>%NAME% <dark_gray>| <yellow>%PAGE%/%MAX% <dark_gray>]========"
|
||||
helpPageNotFound: "<prefix><red>There is no page with that number!"
|
||||
helpNextPage: "<gray>Use <aqua>/maintenance help %PAGE% <gray>to get to the next help window."
|
||||
helpAbortTimer: "<gold>/maintenance aborttimer <gray>(If running, the current timer will be aborted)"
|
||||
helpEndtimer: "<gold>/maintenance endtimer <minutes> <gray>(After the given time in minutes, maintenance mode will be disabled)"
|
||||
helpStarttimer: "<gold>/maintenance starttimer <minutes> <gray>(After the given time in minutes, maintenance mode will be enabled)"
|
||||
helpScheduleTimer: "<gold>/maintenance scheduletimer <timer minutes> <maintenance duration> <gray>(After the given time in minutes, maintenance mode will be enabled for the given duration in minutes)"
|
||||
helpDebug: "<gold>/maintenance debug <gray>(Enables some debug logging)"
|
||||
helpDump: "<gold>/maintenance dump <gray>(Dumps some server information, used for bug reports)"
|
||||
helpHelp: "<gold>/maintenance help [page] <gray>(Shows this beautiful help window)"
|
||||
helpMotd: "<gold>/maintenance motd [timer] <gray>(Lists the currently set maintenance motds. If specifying 'timer', the timer motds are shown)"
|
||||
helpRemoveMotd: "<gold>/maintenance removemotd [timer] <index> <gray>(Removes a maintenance motd. If using 'timer' as an argument, a timerspecific pingmessage will be removed)"
|
||||
helpSetMotd: "<gold>/maintenance setmotd [timer] <index> <1/2> <message> <gray>(Sets a motd for maintenance mode. If using 'timer' as an argument, a timerspecific pingmessage will be set)"
|
||||
helpReload: "<gold>/maintenance reload <gray>(Reloads the config file, whitelist file and the server-icon)"
|
||||
helpToggle: "<gold>/maintenance <on/off> <gray>(Enables/disables maintenance mode)"
|
||||
helpUpdate: "<gold>/maintenance update <gray>(Remotely downloads the newest version of the plugin onto your server)"
|
||||
helpWhitelist: "<gold>/maintenance whitelist <gray>(Shows all whitelisted players for the maintenance mode)"
|
||||
helpWhitelistAdd: "<gold>/maintenance add <name/uuid> <gray>(Adds the player to the maintenance whitelist, so they can join the server even though maintenance is enabled)"
|
||||
helpWhitelistRemove: "<gold>/maintenance remove <name/uuid> <gray>(Removes the player from the maintenance whitelist)"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
helpAbortSingleTimer: "<gold>/maintenance aborttimer [server] <gray>(If running, the current timer will be aborted)"
|
||||
helpSingleEndtimer: "<gold>/maintenance endtimer [server] <minutes> <gray>(After the given time in minutes, maintenance mode will be disabled)"
|
||||
helpSingleStarttimer: "<gold>/maintenance starttimer [server] <minutes> <gray>(After the given time in minutes, maintenance mode will be enabled)"
|
||||
helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <timer minutes> <maintenance duration> <gray>(After the given time in minutes, maintenance mode will be enabled for the given duration in minutes)"
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <gray>(Enables/disables maintenance mode)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Lists all proxied servers, that are currently under maintenance)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 2
|
||||
@@ -14,6 +14,7 @@ endtimerStarted: "<prefix><green>Rozpoczęto timer: <gray>Tryb konserwacji zosta
|
||||
starttimerBroadcast: "<prefix><gray>Przerwa techniczna zacznie się za <gold>%TIME%<gray>."
|
||||
starttimerStarted: "<prefix><green>Rozpoczęto timer: <gray>Tryb konserwacji zostanie włączony za <gold>%TIME%<gray>."
|
||||
scheduletimerBroadcast: "<prefix><gray>Przerwa techniczna zostanie rozpoczęta za <gold>%TIME% <gray>i będzie trwała przez <gold>%DURATION%<gray>."
|
||||
scheduletimerStarted: "<prefix><green>Rozpoczęto timer: <gray>Przerwa techniczna zostanie rozpoczęta za <gold>%TIME% <gray>i będzie trwała przez <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<prefix><red>Timer został już zaplanowany!"
|
||||
timerNotRunning: "<prefix><red>Aktualnie nie ma żadnego działającego timera."
|
||||
timerCancelled: "<prefix><red>Bieżący timer został anulowany."
|
||||
@@ -43,6 +44,7 @@ whitelistEmpty: "<prefix><red>Biała lista konserwacji jest pusta! Użyj <yellow
|
||||
playerNotFound: "<prefix><red>Ten gracz nigdy nie grał na serwerze."
|
||||
playerNotFoundUuid: "<prefix><red>Nie można znaleźć gracza z tym uuid."
|
||||
playerNotOnline: "<prefix><red>Nie ma gracza online z tym nickiem."
|
||||
offlinePlayerFetchError: "<prefix><red>There was an error while fetching offline player. Please try again later."
|
||||
invalidUuid: "<prefix><red>Nieprawidłowy format uuid!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><red>Zostałeś wysłany do poczekalni!"
|
||||
@@ -52,8 +54,11 @@ singleTimerAlreadyRunning: "<prefix><red>Timer został już zaplanowany na tym s
|
||||
singleTimerCancelled: "<prefix><red>Timer dla serwera <yellow>%SERVER% <red>został wyłączony."
|
||||
singleTimerNotRunning: "<prefix><red>Nie ma działających timerów na tym serwerze."
|
||||
singleEndtimerBroadcast: "<prefix><gray>Tryb konserwacji na serwerze %SERVER% zostanie wyłączony za <gold>%TIME%<gray>."
|
||||
singleEndtimerStarted: "<prefix><green>Rozpoczęto timer: <gray>Tryb konserwacji na serwerze %SERVER% zostanie wyłączony za <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>Tryb konserwacji na serwerze %SERVER% zostanie włączony za <gold>%TIME%<gray>."
|
||||
singleStarttimerStarted: "<prefix><green>Rozpoczęto timer: <gray>Tryb konserwacji na serwerze %SERVER% zostanie włączony za <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>Tryb konserwacji na serwerze %SERVER% zostanie włączony za <gold>%TIME% <gray>i będzie trwał <gold>%DURATION%<gray>."
|
||||
singleScheduletimerStarted: "<prefix><green>Rozpoczęto timer: <gray>Tryb konserwacji na serwerze %SERVER% zostanie włączony za <gold>%TIME% <gray>i będzie trwał <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<prefix><red>Serwer %SERVER% jest w trakcie przerwy technicznej! Spróbuj ponownie później!"
|
||||
singleMaintenanceKickComplete: "<red>Serwer %SERVER% jest w trakcie przerwy technicznej!<br>Możesz spróbować dołączyć ponownie lub iść na inny serwer!"
|
||||
singleMaintenanceActivated: "<prefix><gold>Tryb konserwacji został włączony na serwerze <yellow>%SERVER%<gold>."
|
||||
@@ -96,4 +101,4 @@ helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [serwer] <minuty time
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [serwer] <gray>(Włącza/wyłącza tryb konserwacji)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Wyświetla wszystkie serwery w trybie konserwacji)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 1
|
||||
language-version: 2
|
||||
@@ -3,65 +3,70 @@
|
||||
#For a full list of formats and fancy examples, see https://docs.adventure.kyori.net/minimessage/format.html
|
||||
#Messages containing the placeholder "<prefix>" will have it replaced with the following string
|
||||
prefix: "<dark_gray>[<yellow>Maintenance<dark_gray>] "
|
||||
noPermission: "<red>Nao tens permissao para executar este comando."
|
||||
kickmessage: "<red>O servidor esta em manutencao!<br>Tente mais tarde!"
|
||||
maintenanceActivated: "<prefix><gold>Manutencao esta agora ativada!"
|
||||
maintenanceDeactivated: "<prefix><gold>Manutencao esta agora desativada!"
|
||||
alreadyEnabled: "<prefix><red>Manutencao ja esta ativada!"
|
||||
alreadyDisabled: "<prefix><red>Manutencao ja esta desativada!"
|
||||
endtimerBroadcast: "<prefix><gray>Manutencao vai ser desativada em <gold>%TIME%<gray>"
|
||||
endtimerStarted: "<prefix><green>Temporizador: <gray>Manutencao vai ser desativada em <gold>%TIME%<gray>"
|
||||
starttimerBroadcast: "<prefix><gray>Manutencao vai ser ativada em <gold>%TIME%<gray>"
|
||||
starttimerStarted: "<prefix><gray>Manutencao vai ser ativada em <gold>%TIME%<gray>"
|
||||
scheduletimerBroadcast: "<dark_gray>[<yellow>Manutencao<dark_gray>] <gray>O servidor entrara em manutencao em <gold>%TIME% <gray>e ira durar <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<prefix><red>O Timer ja esta a decorrer!"
|
||||
timerNotRunning: "<prefix><red>O Timer nao esta a decorrer!"
|
||||
timerCancelled: "<prefix><red>O Timer foi cancelado!"
|
||||
timerTooLong: "<prefix><red>O numero tem de ser menor que 40320 (28 dias)!"
|
||||
timerMotdDisabled: "<prefix><red>Define 'enable-timerspecific-messages' no config a 'true', se queres definir/editar motds de manutenção."
|
||||
noPermission: "<red>Você não tem permissão para executar esse comando."
|
||||
kickmessage: "<red>O servidor está em manutenção!<br>Tente novamente mais tarde!"
|
||||
maintenanceActivated: "<prefix><gold>O modo de manutenção agora está ativado."
|
||||
maintenanceDeactivated: "<prefix><gold>O modo de manutenção agora está desativado."
|
||||
alreadyEnabled: "<prefix><red>A manutenção já está ativada!"
|
||||
alreadyDisabled: "<prefix><red>A manutenção já está desativada!"
|
||||
endtimerBroadcast: "<prefix><gray>O modo de manutenção será desativado em <gold>%TIME%<gray>."
|
||||
endtimerStarted: "<prefix><green>Iniciou o temporizador: <gray>O modo de manutenção será desativado em <gold>%TIME%<gray>."
|
||||
starttimerBroadcast: "<prefix><gray>O modo de manutenção será ativado em <gold>%TIME%<gray>."
|
||||
starttimerStarted: "<prefix><green>Iniciou o temporizador: <gray>O modo de manutenção será ativado em <gold>%TIME%<gray>."
|
||||
scheduletimerBroadcast: "<prefix><gray>O modo de manutenção será ativado em <gold>%TIME% <gray>e durará <gold>%DURATION%<gray>."
|
||||
scheduletimerStarted: "<prefix><green>Iniciou o temporizador: <gray>O modo de manutenção será ativado em <gold>%TIME% <gray>e durará <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<prefix><red>Já há um temporizador agendado!"
|
||||
timerNotRunning: "<prefix><red>Não há temporizador em execução no momento."
|
||||
timerCancelled: "<prefix><red>O temporizador atual foi desativado."
|
||||
timerTooLong: "<prefix><red>O número deve ser menor que 40320 (28 dias)!"
|
||||
timerMotdDisabled: "<prefix><red>Você deve definir 'enable-timerspecific-messages' na configuração como 'true', se desejar usar/editar motds específicas do temporizador."
|
||||
motdTimer: "%HOURS%:%MINUTES%:%SECONDS%"
|
||||
motdTimerNotRunning: "-"
|
||||
joinNotification: "<prefix><yellow>%PLAYER% <red>tentou entrar no servidor."
|
||||
motdList: "<prefix><gray>Lista de motds de manutencao:"
|
||||
motdListEmpty: "<prefix><red>Não tens motds de manutenção!"
|
||||
reload: "<prefix><green>Reloaded config, whitelistedplayers, linguagem e icon de manutencao."
|
||||
removedMotd: "<prefix><green>Removida motd numero %INDEX%."
|
||||
removeMotdError: "<prefix><red>So tens uma motd, entao nao podes remover esta!"
|
||||
setMotd: "<dark_gray>[<yellow>Manutencao<dark_gray>] <green>Linha %LINE% do %INDEX%. Motd de manutencao %MOTD%"
|
||||
setMotdIndexError: "<prefix><red>Tens atualmente %MOTDS% motds, entao escolhe um numero entre 1 e %NEWAMOUNT%."
|
||||
setMotdLineError: "<prefix><red>O segundo argumento tem de ser na linha (1 ou 2)!"
|
||||
updateDownloading: "<prefix><red><bold>A dar download do update..."
|
||||
updateFailed: "<prefix><dark_red><bold>Update falhado!"
|
||||
updateFinished: "<prefix><green><bold>O update foi feito com sucesso! Reinicia o servidor paa evitar erros e acabar a atualizacao"
|
||||
whitelistedPlayers: "<prefix><gold>Whitelisted players para a manutencao:"
|
||||
motdList: "<prefix><gray>Lista das suas motds de manutenção:"
|
||||
motdListEmpty: "<prefix><red>Você não possui nenhuma motd de manutenção definida!"
|
||||
reload: "<prefix><green>Recarregou a configuração, lista de jogadores com permissão, arquivo de idioma e o ícone de manutenção."
|
||||
removedMotd: "<prefix><green>Motd número %INDEX% removida."
|
||||
removeMotdError: "<prefix><red>Você possui apenas uma motd, portanto, não pode remover nenhuma!"
|
||||
setMotd: "<prefix><green>Definiu a linha %LINE% da motd de manutenção %INDEX% para %MOTD%"
|
||||
setMotdIndexError: "<prefix><red>No momento, você possui %MOTDS% motds, portanto, deve escolher um número entre 1 e %NEWAMOUNT%."
|
||||
setMotdLineError: "<prefix><red>O segundo argumento deve ser o número da linha (1 ou 2)!"
|
||||
updateDownloading: "<prefix><red><bold>Baixando atualização..."
|
||||
updateFailed: "<prefix><dark_red><bold>Falha na atualização!"
|
||||
updateFinished: "<prefix><green><bold>A atualização foi bem-sucedida! Para evitar problemas com tarefas e concluir a atualização, você deve reiniciar o servidor!"
|
||||
whitelistedPlayers: "<prefix><gold>Jogadores na lista branca para a manutenção:"
|
||||
whitelistedPlayersFormat: "<dark_gray>- <yellow>%NAME% <dark_gray>(<gray>%UUID%<dark_gray>)"
|
||||
whitelistAdded: "<prefix><green>Adicionado <aqua>%PLAYER% <green>na whitelist!"
|
||||
whitelistAlreadyAdded: "<prefix><aqua>%PLAYER% <red>ja esta na whitelist!"
|
||||
whitelistRemoved: "<prefix><aqua>%PLAYER% <green>removido da whitelist!"
|
||||
whitelistNotFound: "<prefix><red>Este jogador nao esta na whitelist!"
|
||||
whitelistEmpty: "<prefix><red>A whitelist esta vazia! Usa <yellow>/maintenance add <player/uuid> <red>para adicionar alguem!"
|
||||
playerNotFound: "<prefix><red>Ninguem com esse nome se registou no servidor."
|
||||
playerNotFoundUuid: "<prefix><red>Nenhum player com esse uuid foi encontrado."
|
||||
playerNotOnline: "<prefix><red>Nao esta ninguem online com esse nome"
|
||||
invalidUuid: "<prefix><red>Formato de uuid invalido!"
|
||||
whitelistAdded: "<prefix><green>Adicionou <aqua>%PLAYER% <green>à lista branca de manutenção!"
|
||||
whitelistAlreadyAdded: "<prefix><aqua>%PLAYER% <red>já está na lista branca de manutenção!"
|
||||
whitelistRemoved: "<prefix><green>Removeu <aqua>%PLAYER% <green>da lista branca de manutenção!"
|
||||
whitelistNotFound: "<prefix><red>Este jogador não está na lista branca de manutenção!"
|
||||
whitelistEmpty: "<prefix><red>A lista branca de manutenção está vazia! Use <yellow>/maintenance add <player/uuid> <red>para adicionar alguém!"
|
||||
playerNotFound: "<prefix><red>Nenhum jogador com esse nome já jogou neste servidor."
|
||||
playerNotFoundUuid: "<prefix><red>Nenhum jogador com esse UUID foi encontrado."
|
||||
playerNotOnline: "<prefix><red>Não há nenhum jogador online com esse nome."
|
||||
offlinePlayerFetchError: "<prefix><red>There was an error while fetching offline player. Please try again later."
|
||||
invalidUuid: "<prefix><red>Formato de UUID inválido!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<dark_gray>[<yellow>Manutencao<dark_gray>] <red>Foste enviado para um servidor para aguardares ate que fique disponivel novamente!"
|
||||
forceWaitingServer: "<dark_gray>[<yellow>Manutencao<dark_gray>] <red>Nao podes sair deste servidor enquanto a manutencao estiver habilitada!"
|
||||
serverNotFound: "<prefix><red>Servidor nao encontrado!"
|
||||
singleTimerAlreadyRunning: "<prefix><red>O Timer ja esta a decorrer!"
|
||||
singleTimerCancelled: "<prefix><red>O Timer foi cancelado no!"
|
||||
singleTimerNotRunning: "<prefix><red>O Timer nao esta a decorrer!"
|
||||
singleEndtimerBroadcast: "<prefix><gray>Manutencao no %SERVER% vai ser desativada em <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>Manutencao no %SERVER% vai ser ativada em <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<dark_gray>[<yellow>Manutencao<dark_gray>] <gray>O servidor %SERVER% ira entrar em manutencao em <gold>%TIME% <gray>e ira durar <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<prefix><red>O %SERVER% esta em manutencao! Tente mais tarde!"
|
||||
singleMaintenanceKickComplete: "<red>O %SERVER% esta em manutencao!<br>Tente mais tarde!"
|
||||
singleMaintenanceActivated: "<prefix><gold>Manutencao esta agora ativada no <yellow>%SERVER%<gold>."
|
||||
singleMaintenanceDeactivated: "<prefix><gold>Manutencao esta agora desativada no <yellow>%SERVER%<gold>."
|
||||
singleServerAlreadyEnabled: "<prefix><red>Manutencao ja esta ativada no <yellow>%SERVER%<red>!"
|
||||
singleServerAlreadyDisabled: "<prefix><red>Manutencao ja esta desativada no <yellow>%SERVER%<red>!"
|
||||
singleServerMaintenanceList: "<prefix><gray>Servidores com manutencao ativa:"
|
||||
singleServerMaintenanceListEmpty: "<prefix><gray>Nao existem servidores com a manutencao ativa."
|
||||
sentToWaitingServer: "<prefix><red>Você foi enviado para um servidor de espera!"
|
||||
forceWaitingServer: "<prefix><red>Você não pode sair do servidor de espera enquanto a manutenção estiver ativada!"
|
||||
serverNotFound: "<prefix><red>Nenhum servidor com esse nome está registrado no proxy!"
|
||||
singleTimerAlreadyRunning: "<prefix><red>Já há um temporizador agendado para esse servidor!"
|
||||
singleTimerCancelled: "<prefix><red>O temporizador atual para o servidor <yellow>%SERVER% <red>foi desativado."
|
||||
singleTimerNotRunning: "<prefix><red>No momento, não há temporizador em execução para esse servidor."
|
||||
singleEndtimerBroadcast: "<prefix><gray>O modo de manutenção no servidor %SERVER% será desativado em <gold>%TIME%<gray>."
|
||||
singleEndtimerStarted: "<prefix><green>Iniciou o temporizador: <gray>O modo de manutenção no servidor %SERVER% será desativado em <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>O modo de manutenção no servidor %SERVER% será ativado em <gold>%TIME%<gray>."
|
||||
singleStarttimerStarted: "<prefix><green>Iniciou o temporizador: <gray>O modo de manutenção no servidor %SERVER% será ativado em <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>O modo de manutenção no servidor %SERVER% será ativado em <gold>%TIME% <gray>e durará <gold>%DURATION%<gray>."
|
||||
singleScheduletimerStarted: "<prefix><green>Iniciou o temporizador: <gray>O modo de manutenção no servidor %SERVER% será ativado em <gold>%TIME% <gray>e durará <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<prefix><red>O servidor %SERVER% está em manutenção! Tente novamente mais tarde!"
|
||||
singleMaintenanceKickComplete: "<red>O servidor %SERVER% está em manutenção!<br>Você pode tentar se reconectar para ir para outro servidor!"
|
||||
singleMaintenanceActivated: "<prefix><gold>O modo de manutenção foi ativado no servidor <yellow>%SERVER%<gold>."
|
||||
singleMaintenanceDeactivated: "<prefix><gold>O modo de manutenção foi desativado no servidor <yellow>%SERVER%<gold>."
|
||||
singleServerAlreadyEnabled: "<prefix><red>A manutenção já está ativada no servidor <yellow>%SERVER%<red>!"
|
||||
singleServerAlreadyDisabled: "<prefix><red>A manutenção já está desativada no servidor <yellow>%SERVER%<red>!"
|
||||
singleServerMaintenanceList: "<prefix><gray>Servidores proxy com manutenção ativada:"
|
||||
singleServerMaintenanceListEmpty: "<prefix><gray>Não há servidores proxy em manutenção no momento."
|
||||
singleServerMaintenanceListEntry: "<dark_grey>- <aqua>%SERVER%"
|
||||
second: "segundo"
|
||||
seconds: "segundos"
|
||||
@@ -70,30 +75,30 @@ minutes: "minutos"
|
||||
hour: "hora"
|
||||
hours: "horas"
|
||||
helpHeader: "<dark_gray>========[ <yellow>%NAME% <dark_gray>| <yellow>%PAGE%/%MAX% <dark_gray>]========"
|
||||
helpPageNotFound: "<dark_gray>[<yellow>Manutencao<dark_gray>] <red>Nao existe nenhuma pagina com esse numero!"
|
||||
helpNextPage: "<gray>Use <aqua>/maintenance help %PAGE% <gray>para ir para a próxima págin."
|
||||
helpAbortTimer: "<gold>/maintenance aborttimer <gray>(Se estiver a correr o temporizador vai ser abortado)"
|
||||
helpEndtimer: "<gold>/maintenance endtimer <minutes> <gray>(Depois do temporizador acabar a manutenção vai ser desativada)"
|
||||
helpStarttimer: "<gold>/maintenance starttimer <minutes> <gray>(Depois do temporizador acabar a manutenção vai ser ativa)"
|
||||
helpScheduleTimer: "<gold>/maintenance scheduletimer <timer minutes> <maintenance duration> <gray>(Apos o tempo determinado em minutos, o modo de manutenção sera habilitado para a duracao em minutos)"
|
||||
helpDebug: "<gold>/maintenance debug <gray>(Ativa algum registro de depuração)"
|
||||
helpDump: "<gold>/maintenance dump <gray>(Discarta alguma informação do server, usado para bugs)"
|
||||
helpHelp: "<gold>/maintenance help [page] <gray>(Mostra o help da manutenção)"
|
||||
helpMotd: "<gold>/maintenance motd [timer] <gray>(Lista as motd currentes. Se usar 'timer', os temporizadores vão ser mostrados)"
|
||||
helpRemoveMotd: "<gold>/maintenance removemotd [timer] <index> <gray>(Remove a motd da manutenção. Se usar 'timer' como argumento uma mensagem com tempo vai ser eliminada)"
|
||||
helpSetMotd: "<gold>/maintenance setmotd [timer] <index> <1/2> <message> <gray>(Define a motd da manutenção. Se usar 'timer' como argumento uma mensagem com tempo vai aparecer)"
|
||||
helpReload: "<gold>/maintenance reload <gray>(Dá reload ao plugin de manutenção)"
|
||||
helpToggle: "<gold>/maintenance <on/off> <gray>(Ativa/Desativa a manutenção)"
|
||||
helpUpdate: "<gold>/maintenance update <gray>(Arualiza o plugin de manutenção)"
|
||||
helpWhitelist: "<gold>/maintenance whitelist <gray>(Mostra os payers que estão na whitelist)"
|
||||
helpWhitelistAdd: "<gold>/maintenance add <name/uuid> <gray>(Adiciona o player à whitelist para poder entrar durante a manutenção)"
|
||||
helpWhitelistRemove: "<gold>/maintenance remove <name/uuid> <gray>(Remove o player da whitelist)"
|
||||
helpPageNotFound: "<prefix><red>Não há página com esse número!"
|
||||
helpNextPage: "<gray>Use <aqua>/maintenance help %PAGE% <gray>para ir para a próxima janela de ajuda."
|
||||
helpAbortTimer: "<gold>/maintenance aborttimer <gray>(Se estiver em execução, o temporizador atual será abortado)"
|
||||
helpEndtimer: "<gold>/maintenance endtimer <minutos> <gray>(Após o tempo fornecido em minutos, o modo de manutenção será desativado)"
|
||||
helpStarttimer: "<gold>/maintenance starttimer <minutos> <gray>(Após o tempo fornecido em minutos, o modo de manutenção será ativado)"
|
||||
helpScheduleTimer: "<gold>/maintenance scheduletimer <minutos do temporizador> <duração da manutenção> <gray>(Após o tempo fornecido em minutos, o modo de manutenção será ativado por uma duração fornecida em minutos)"
|
||||
helpDebug: "<gold>/maintenance debug <gray>(Ativa alguns registros de depuração)"
|
||||
helpDump: "<gold>/maintenance dump <gray>(Exibe algumas informações do servidor, usadas para relatórios de bugs)"
|
||||
helpHelp: "<gold>/maintenance help [página] <gray>(Mostra esta bela janela de ajuda)"
|
||||
helpMotd: "<gold>/maintenance motd [temporizador] <gray>(Lista as motds de manutenção atualmente definidas. Se 'temporizador' for especificado, as motds de temporizador serão mostradas)"
|
||||
helpRemoveMotd: "<gold>/maintenance removemotd [temporizador] <índice> <gray>(Remove uma motd de manutenção. Se usar 'temporizador' como argumento, uma mensagem de ping específica do temporizador será removida)"
|
||||
helpSetMotd: "<gold>/maintenance setmotd [temporizador] <índice> <1/2> <mensagem> <gray>(Define uma motd para o modo de manutenção. Se usar 'temporizador' como argumento, uma mensagem de ping específica do temporizador será definida)"
|
||||
helpReload: "<gold>/maintenance reload <gray>(Recarrega o arquivo de configuração, arquivo de lista branca e o ícone do servidor)"
|
||||
helpToggle: "<gold>/maintenance <on/off> <gray>(Ativa/desativa o modo de manutenção)"
|
||||
helpUpdate: "<gold>/maintenance update <gray>(Baixa remotamente a versão mais recente do plugin para o seu servidor)"
|
||||
helpWhitelist: "<gold>/maintenance whitelist <gray>(Mostra todos os jogadores na lista branca para o modo de manutenção)"
|
||||
helpWhitelistAdd: "<gold>/maintenance add <nome/uuid> <gray>(Adiciona o jogador à lista branca de manutenção, permitindo que eles entrem no servidor mesmo com a manutenção ativada)"
|
||||
helpWhitelistRemove: "<gold>/maintenance remove <nome/uuid> <gray>(Remove o jogador da lista branca de manutenção)"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
helpAbortSingleTimer: "<gold>/maintenance aborttimer [server] <gray>(Se o timer estiver ativado este vai ser abortado)"
|
||||
helpSingleEndtimer: "<gold>/maintenance endtimer [server] <minutes> <gray>(Depois do tempo dado a manutenção vai ser desativada)"
|
||||
helpSingleStarttimer: "<gold>/maintenance starttimer [server] <minutes> <gray>(Depois do tempo dado a manutenção vai ser ativa)"
|
||||
helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <timer minutes> <maintenance duration> <gray>(Apos o tempo determinado em minutos, o modo de manutenção sera habilitado para a duracao em minutos)"
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <gray>(Ativa/Desativa a manutenção)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Lista os servers em proxy que estão em manutenção)"
|
||||
helpAbortSingleTimer: "<gold>/maintenance aborttimer [servidor] <gray>(Se estiver em execução, o temporizador atual será abortado)"
|
||||
helpSingleEndtimer: "<gold>/maintenance endtimer [servidor] <minutos> <gray>(Após o tempo fornecido em minutos, o modo de manutenção será desativado)"
|
||||
helpSingleStarttimer: "<gold>/maintenance starttimer [servidor] <minutos> <gray>(Após o tempo fornecido em minutos, o modo de manutenção será ativado)"
|
||||
helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [servidor] <minutos do temporizador> <duração da manutenção> <gray>(Após o tempo fornecido em minutos, o modo de manutenção será ativado por uma duração fornecida em minutos)"
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [servidor] <gray>(Ativa/desativa o modo de manutenção)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Lista todos os servidores proxy que estão atualmente em manutenção)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 1
|
||||
language-version: 2
|
||||
@@ -3,17 +3,18 @@
|
||||
#For a full list of formats and fancy examples, see https://docs.adventure.kyori.net/minimessage/format.html
|
||||
#Messages containing the placeholder "<prefix>" will have it replaced with the following string
|
||||
prefix: "<dark_gray>[<yellow>Maintenance<dark_gray>] "
|
||||
noPermission: "<red>У вас недостаточно прав!"
|
||||
kickmessage: "<red>Сервер закрыт на технические работы!"
|
||||
maintenanceActivated: "<green>Режим технических работ включен!"
|
||||
maintenanceDeactivated: "<gray>Режим технических работ выключен!"
|
||||
alreadyEnabled: "<red>Режим технических работ уже включен!"
|
||||
alreadyDisabled: "<red>Режим технических работ не был включен."
|
||||
endtimerBroadcast: "<green>Сервер будет открыт через <white>%TIME%<green>!"
|
||||
endtimerStarted: "<green>Таймер успешно запущен! Сервер будет открыт через <white>%TIME%<green>!"
|
||||
starttimerBroadcast: "<green>Сервер будет закрыт на технические работы через <white>%TIME%<green>!"
|
||||
noPermission: "<red>У вас недостаточно прав."
|
||||
kickmessage: "<red>Сервер закрыт на технические работы!<br>Попробуйте позже!"
|
||||
maintenanceActivated: "<prefix><gold>Режим технических работ включен."
|
||||
maintenanceDeactivated: "<prefix><gold>Режим технических работ выключен."
|
||||
alreadyEnabled: "<prefix><red>Режим технических работ уже включен!"
|
||||
alreadyDisabled: "<prefix><red>Режим технических работ не был включен!"
|
||||
endtimerBroadcast: "<prefix><gray>Сервер будет открыт через <gold>%TIME%<gray>."
|
||||
endtimerStarted: "<prefix><green>Таймер запущен: <gray>Сервер будет открыт через <gold>%TIME%<gray>."
|
||||
starttimerBroadcast: "<prefix><gray>Сервер будет закрыт на тех. работы через <gold>%TIME%<gray>."
|
||||
starttimerStarted: "<green>Таймер успешно запущен! Сервер будет закрыт на технические работы через <white>%TIME%<green>!"
|
||||
scheduletimerBroadcast: "<prefix><gray>Maintenance mode will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
scheduletimerStarted: "<prefix><green>Начат таймер: <gray>Тех. работы будут включены <gold>%TIME% <gray>и будут последние для <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<red>Таймер уже запущен!"
|
||||
timerNotRunning: "<red>Таймер не был запущен."
|
||||
timerCancelled: "<gray>Таймер был остановлен."
|
||||
@@ -43,6 +44,7 @@ whitelistEmpty: "<red>Белый лист пуст! Используйте /main
|
||||
playerNotFound: "<red>Игрок не найден!"
|
||||
playerNotFoundUuid: "<red>Игрок с таким UUID не найден!"
|
||||
playerNotOnline: "<red>Игрок должен быть онлайн!"
|
||||
offlinePlayerFetchError: "<prefix><red>Произошла ошибка при получении игрока в автономном режиме. Пожалуйста, повторите попытку позже."
|
||||
invalidUuid: "<red>Неверный формат UUID!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<red>Вы были перемещены в лобби!"
|
||||
@@ -52,8 +54,11 @@ singleTimerAlreadyRunning: "<red>Таймер сервера <white>%SERVER% <re
|
||||
singleTimerCancelled: "<gray>Таймер сервера <white>%SERVER% <gray>был остановлен."
|
||||
singleTimerNotRunning: "<red>Таймер сервера <white>%SERVER% <red>не был запущен."
|
||||
singleEndtimerBroadcast: "<green>Сервер <white>%SERVER% <green>будет открыт через <white>%TIME%<green>!"
|
||||
singleEndtimerStarted: "<prefix><green>Начат таймер: <gray>Тех. работы будут включены <gold>%TIME% <gray>и будут последние для <gold>%DURATION%<gray>."
|
||||
singleStarttimerBroadcast: "<red>Внимание! Сервер <white>%SERVER% <red>будет закрыт на технические работы через <white>%TIME%<red>!"
|
||||
singleStarttimerStarted: "<prefix><red>Внимание! <gray>Сервер <green>%SERVER%<gray> будет закрыт на технические работы через <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>Maintenance mode on server %SERVER% will be enabled in <gold>%TIME% <gray>and will last for <gold>%DURATION%<gray>."
|
||||
singleScheduletimerStarted: "<prefix><green>Таймер начат: <gray>Тех. работы на сервере %SERVER% будут начаты в <gold>%TIME% <gray>и продлятся <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<red>Данный сервер закрыт на технические работы! Попробуйте позже."
|
||||
singleMaintenanceKickComplete: "<red>Данный сервер закрыт на технические работы!<br>Попробуйте позже."
|
||||
singleMaintenanceActivated: "<green>Режим технических работ на сервере <white>%SERVER% <green>включен!"
|
||||
@@ -96,4 +101,4 @@ helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <timer minut
|
||||
helpSingleToggle: "<gold>/maintenance [on|off] [сервер] <gray>- <white>Включить/выключить режим технических работ."
|
||||
helpStatus: "<gold>/maintenance status <gray>- <white>Список всех серверов закрытых на технические работы."
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 1
|
||||
language-version: 2
|
||||
@@ -4,7 +4,7 @@
|
||||
#Messages containing the placeholder "<prefix>" will have it replaced with the following string
|
||||
prefix: "<dark_gray>[<yellow>Underhållsarbete<dark_gray>] "
|
||||
noPermission: "<red>Du har inte rättigheterna att utfärda det kommandot."
|
||||
kickmessage: "<red>Sevrern är just nu under underhåll!<br>Försök igen senare!"
|
||||
kickmessage: "<red>Servern är just nu under underhåll!<br>Försök igen senare!"
|
||||
maintenanceActivated: "<prefix><gold>Underhållsläge är aktiverat."
|
||||
maintenanceDeactivated: "<prefix><gold>Underhållsläge är avaktiverat."
|
||||
alreadyEnabled: "<prefix><red>Underhållsläge är redan aktiverat!"
|
||||
@@ -14,6 +14,7 @@ endtimerStarted: "<prefix><green>Startade timer: <gray>Underhållsläge kommer s
|
||||
starttimerBroadcast: "<prefix><gray>Underhållsläge kommer aktiveras om <gold>%TIME%<gray>."
|
||||
starttimerStarted: "<prefix><green>Startade timer: <gray>Underhållsläge kommer aktiveras om <gold>%TIME%<gray>."
|
||||
scheduletimerBroadcast: "<prefix><gray>Underhållsläge kommer aktiveras om <gold>%TIME% <gray>och håller på i <gold>%DURATION%<gray>."
|
||||
scheduletimerStarted: "<prefix><green>Startade timer: <gray>Underhållsläge kommer aktiveras om <gold>%TIME% <gray>och håller på i <gold>%DURATION%<gray>."
|
||||
timerAlreadyRunning: "<prefix><red>Det finns redan en timer schemalagd!"
|
||||
timerNotRunning: "<prefix><red>Ingen timer är aktiverad för tillfället."
|
||||
timerCancelled: "<prefix><red>Den nuvarande timern har blivit inaktiverad."
|
||||
@@ -43,6 +44,7 @@ whitelistEmpty: "<prefix><red>Underhållsvitlistan är tom! Använd <yellow>/mai
|
||||
playerNotFound: "<prefix><red>Ingen spelare med detta namn har spelat på servern tidigare."
|
||||
playerNotFoundUuid: "<prefix><red>Ingen spelare med det uuid hittades."
|
||||
playerNotOnline: "<prefix><red>Det finns ingen spelare med det namnet online."
|
||||
offlinePlayerFetchError: "<prefix><red>There was an error while fetching offline player. Please try again later."
|
||||
invalidUuid: "<prefix><red>Ogiltigt uuid format!"
|
||||
#Messages for the Bungee/Velocity part, you can ignore them if you use the plugin on Spigot/Sponge
|
||||
sentToWaitingServer: "<prefix><red>Du har blvitt skickad till en väntserver!"
|
||||
@@ -52,8 +54,11 @@ singleTimerAlreadyRunning: "<prefix><red>Det finns redan en timer schemalagd fö
|
||||
singleTimerCancelled: "<prefix><red>Den nuvarande timern för för server <yellow>%SERVER% <red>har blivit avaktiverad."
|
||||
singleTimerNotRunning: "<prefix><red>Det finns för närvarande ingen timer för den servern."
|
||||
singleEndtimerBroadcast: "<prefix><gray>Underhållsläge på server %SERVER% kommer avaktiveras om <gold>%TIME%<gray>."
|
||||
singleEndtimerStarted: "<prefix><green>Startade timer: <gray>Underhållsläge på server %SERVER% kommer stängas av om <gold>%TIME%<gray>."
|
||||
singleStarttimerBroadcast: "<prefix><gray>Underhållsläge på server %SERVER% kommer aktiveras om <gold>%TIME%<gray>."
|
||||
singleStarttimerStarted: "<prefix><green>Startade timer: <gray>Underhållsläge på server %SERVER% kommer aktiveras om <gold>%TIME%<gray>."
|
||||
singleScheduletimerBroadcast: "<prefix><gray>Underhållsläge på server %SERVER% kommer aktiveras om <gold>%TIME% <gray>och håller på i <gold>%DURATION%<gray>."
|
||||
singleScheduletimerStarted: "<prefix><green>Startade timer: <gray>Underhållsläge på server %SERVER% kommer aktiveras om <gold>%TIME% <gray>och håller på i <gold>%DURATION%<gray>."
|
||||
singleMaintenanceKick: "<prefix><red>Servern %SERVER% är just nu i underhåll! Försök igen senare!"
|
||||
singleMaintenanceKickComplete: "<red>Servern %SERVER% är just nu i underhåll!<br>Du kan försöka återansluta dig för att gå in på en annan server!"
|
||||
singleMaintenanceActivated: "<prefix><gold>Underhållsläge är nu aktiverat på server <yellow>%SERVER%<gold>."
|
||||
@@ -96,4 +101,4 @@ helpSingleScheduleTimer: "<gold>/maintenance scheduletimer [server] <timer minut
|
||||
helpSingleToggle: "<gold>/maintenance <on/off> [server] <gray>(Aktiverar/avaktiverar underhållsläge)"
|
||||
helpStatus: "<gold>/maintenance status <gray>(Listar alla proxiade servrar som är i underhåll)"
|
||||
#Used for autoupdating the language file, do not change this value.
|
||||
language-version: 1
|
||||
language-version: 2
|
||||
Loaded 100 of 141 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user