Compare commits

..
47 Commits
Author SHA1 Message Date
Minat0_ 08da8be5d4 GITBOOK-77: allience and rivalry review 2025-02-23 20:50:30 +00:00
Minat0_ c64715ebaa GITBOOK-76: change codemc url repo to roinuj's one 2024-04-25 17:37:06 +00:00
Minat0_ 1469a899bc GITBOOK-75: remove a notation about missing javadoc in Russian docs 2024-04-06 08:07:35 +00:00
Minat0_ 7ac4f52c4c GitBook: [#74] No subject 2023-01-05 19:15:30 +00:00
Minat0_ a12c804886 GitBook: [#72] [RU] [DiscordSRV] Adds missing command for manually discord creation 2022-09-16 23:15:32 +00:00
Minat0_ 0e18dac7ea GitBook: [#71] Adding geyser player head error loading at known-issues | Russian 2022-08-17 01:11:39 +00:00
Minat0_ af8cd427de GitBook: [#71] Adding geyser player head error loading at known-issues | Russian 2022-07-18 16:18:05 +00:00
Edson Passos ad9bf675ca GitBook: [#70] [Russian] Some modifies around configuration page and permissions page 2022-04-29 20:47:52 +00:00
Minat0_ 4fb647575d GitBook: [#69] [Commands] [Permissions] Adds missing invite-toggle | Russian 2022-01-17 16:16:01 +00:00
Edson Passos 3ed0cbb341 GitBook: [#68] [Clan on Tablist] Updates guide to latest | Russian 2022-01-11 19:56:12 +00:00
Edson Passos 5f8222963f GitBook: [#67] Adds DIscordSRV, Verified, Permanent pages. Emojis on headings. | Russian 2021-12-11 19:16:43 +00:00
Minat0_ 231e4a7d5a GitBook: [russian] one page modified 2021-08-30 17:35:32 +00:00
Minat0_ 88695a1df7 GitBook: [russian] 5 pages modified 2021-08-30 16:59:22 +00:00
Minat0_ 61c3da0544 GitBook: [russian] 14 pages modified 2021-08-30 16:40:01 +00:00
Minat0_ 84301e2636 GitBook: [russian] no pages and one asset modified 2021-08-30 16:20:45 +00:00
Minat0_ ee1fd9c80e GitBook: [russian] 14 pages and one asset modified 2021-08-30 15:45:05 +00:00
Minat0_ f76417c080 GitBook: [russian] one page and 6 assets modified 2021-08-30 15:13:26 +00:00
Minat0_ 7cc585b4ad GitBook: [russian] 3 pages modified 2021-07-06 16:08:25 +00:00
Minat0_ f1fcb0c372 GitBook: [russian] no pages and 2 assets modified 2021-07-06 15:54:38 +00:00
Minat0_ 527bff8d20 GitBook: [russian] one page modified 2021-07-06 15:35:28 +00:00
Minat0_ 5d108caadd GitBook: [russian] 2 pages and 2 assets modified 2021-07-06 15:30:56 +00:00
Minat0_ 5a9e5cb561 GitBook: [russian] one page and 2 assets modified 2021-07-05 10:04:49 +00:00
Minat0_ 9cded638d5 GitBook: [russian] 14 pages modified 2021-07-02 17:06:38 +00:00
mehmet yılmaz 5c7f1d3873 GitBook: [russian] 14 pages modified 2021-06-24 20:47:20 +00:00
mehmet yılmaz f45e4b871c GitBook: [russian] 14 pages modified 2021-06-24 20:18:36 +00:00
mehmet yılmaz 2f2124c7f5 GitBook: [russian] 14 pages modified 2021-06-24 19:54:42 +00:00
mehmet yılmaz 078821a13e GitBook: [russian] 14 pages modified 2021-06-24 19:10:12 +00:00
mehmet yılmaz e900404e17 GitBook: [russian] no pages and one asset modified 2021-06-24 18:59:42 +00:00
Minat0_ d7b9c71ee7 GitBook: [russian] 14 pages modified 2021-05-26 12:39:25 +00:00
Minat0_ f33bf64b50 GitBook: [russian] 14 pages modified 2021-03-26 01:40:42 +00:00
Minat0_ 08f16cac00 GitBook: [russian] 14 pages modified 2021-03-21 17:24:47 +00:00
Minat0_ 4a515453c9 GitBook: [russian] 2 pages modified 2021-03-14 00:51:35 +00:00
Minat0_ e515cad210 GitBook: [russian] one page modified 2021-02-10 03:02:00 +00:00
Minat0_ 4de19f44fa GitBook: [russian] 15 pages modified 2020-12-05 02:13:44 +00:00
Minat0_ 3f4c122f53 GitBook: [russian] 15 pages modified 2020-11-29 17:22:33 +00:00
Edson Passos 5c98c1ecda GitBook: [master] 2 pages modified 2020-11-27 22:16:03 +00:00
Edson Passos 61b37d0907 GitBook: [master] 2 pages modified 2020-11-27 21:34:55 +00:00
Edson Passos e974af3c0e GitBook: [master] one page modified 2020-11-27 17:38:12 +00:00
Edson Passos 182e6e15c8 v2.14.4.1 (#93)
Fixed VanishUtils
2020-11-23 00:07:59 -03:00
Edson Passos c11a0e326c v2.14.4 (#92)
Re-added API methods that use player names instead of UUID to regain compatibility with old plugins (those names are converted to UUID)
Added PreCreateClanEvent #87
Added BankDepositEvent and BankWithdrawEvent #51
Added check for last minute changes of the member fee #75
Added suggestions for chat subcommands
Create clan command now accepts tag and name (optional arguments) #76 
Removed unused PlayerNameTabCompleter
Removed chat subcommands on and off
Fixed vanished players showing in online count #83
Fixes SQLite drop index syntax #52
Fixed saved banner not loading #90
Before caching the player head, the plugin now checks if the task was cancelled (on disable) #49
Fixed chat NPE and messages not being sent
Shaded Reflections lib to fix compatibility issues with other plugins
Changed priorities of some listeners
Updated language files
2020-11-22 17:37:18 -03:00
Edson Passos 1087235ecb GitBook: [master] 16 pages modified 2020-11-22 15:01:00 +00:00
Edson Passos cf45e73448 Added latest version badge 2020-11-18 19:19:06 -03:00
Edson Passos 6cf8517606 Added bStats badges 2020-11-16 20:29:47 -03:00
Tom Lewis f73ac56bde Added quick links to all doc (#85)
* Added quick links to all doc
* Warning for auto giving super permissions
* Added missing permissions
2020-11-09 11:09:36 -03:00
Edson Passosandxtomyserrax be5dc77e24 v2.14.3 (#84)
Changes disabled resetkdr message Closes #77
Fixes set fee allowing negative values Closes #74
Fixes exception on interacting with a wolf whose owner is offline Closes #73
Extracted events related to the TamableMobsSharing feature to their own class
Adds confirmation messages for accepting/denying invitations. Closes #44
The plugin now sends messages when attacks are cancelled. Closes #71
Refactored listeners related to the FriendlyFire and PvPOnlyInWar features
Refactored the PlayerDeathEvent listener
Fixed not being able to post more than one word to the bb
Plugin now gets ACF messages from ENGLISH when missing
Changed main GUI title to "{server name} - clan menu" Closes #63
Added staff lore message Closes #32
Removes spaces from subcommands
Fixes mute clan chat command
Updated language files

Co-authored-by: xtomyserrax <xtomyserrax@users.noreply.github.com>
2020-11-08 21:39:04 -03:00
Edson Passos db17074ac0 GitBook: [master] 2 pages modified 2020-11-06 17:26:10 +00:00
Tom Lewis 40d506c389 Adds doc link with commands & permissions links (#72) 2020-10-25 13:00:03 -03:00
117 changed files with 3977 additions and 1850 deletions

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

-2
View File
@@ -1,10 +1,8 @@
/target/
/.idea/
SimpleClans.iml
/bin/
/.classpath
/.project
/dependency-reduced-pom.xml
/simpleclans-mc1.8.iml
*.jar
.settings
+40 -5
View File
@@ -1,3 +1,5 @@
[![SimpleClans Logo](https://i.imgur.com/Z8XWayV.png)](https://www.spigotmc.org/resources/simpleclans.71242/)
SimpleClans
==========
@@ -8,10 +10,39 @@ Full featured clan system for PVP Minecraft Servers!
[![Issues](https://img.shields.io/github/issues/RoinujNosde/SimpleClans.svg)](https://github.com/RoinujNosde/SimpleClans/issues)
[![Crowdin](https://badges.crowdin.net/simpleclans/localized.svg)](https://crowdin.com/project/simpleclans)
[![Discord](https://img.shields.io/discord/719557355917934613?label=discord&logo=discord)](https://discord.gg/CkNwgdE)
[![bStats Servers](https://img.shields.io/bstats/servers/7131)](https://bstats.org/plugin/bukkit/SimpleClans/7131)
[![bStats Players](https://img.shields.io/bstats/players/7131)](https://bstats.org/plugin/bukkit/SimpleClans/7131)
Spigot resource page: https://www.spigotmc.org/resources/simpleclans.71242/
Wiki page: https://github.com/RoinujNosde/SimpleClans/wiki
#### Download Link
* [Download from Spigot](https://www.spigotmc.org/resources/simpleclans.71242/)
#### Documentation
* [Documentation](https://simpleclans.gitbook.io/simpleclans/)
* Commands & Permissions
* [Permissions](https://simpleclans.gitbook.io/simpleclans/commands-and-permissions/permissions)
* [Commands](https://simpleclans.gitbook.io/simpleclans/commands-and-permissions/commands)
* [Clan Alliances and Rivalries](https://simpleclans.gitbook.io/simpleclans/commands-and-permissions/aliances-and-rivalries)
* [Clan Ranks with Permissions](https://simpleclans.gitbook.io/simpleclans/commands-and-permissions/ranks-with-permissions)
* How to Setup
* [Configuration](https://simpleclans.gitbook.io/simpleclans/how-to-setup/configuration)
* [Translation](https://simpleclans.gitbook.io/simpleclans/how-to-setup/translation)
* [Clan Member Fee](https://simpleclans.gitbook.io/simpleclans/how-to-setup/member-fee)
* [Clan Upkeep](https://simpleclans.gitbook.io/simpleclans/how-to-setup/clan-upkeep)
* [Clan name above players head](https://simpleclans.gitbook.io/simpleclans/how-to-setup/clan-below-players-name)
* [Clan name on Tablist](https://simpleclans.gitbook.io/simpleclans/how-to-setup/clan-on-tablist)
* Plugins & Development
* [SimpleClans API Example](https://simpleclans.gitbook.io/simpleclans/other/simpleclans-api)
* [PlaceholderAPI Placeholders](https://simpleclans.gitbook.io/simpleclans/other/placeholderapi-support)
* [Land Protection Plugins](https://simpleclans.gitbook.io/simpleclans/other/land-claims)
#### Support & Suggestions
* [Discord Support](https://discord.gg/CkNwgdE)
* [Bugs and Suggestions](https://github.com/RoinujNosde/SimpleClans/issues)
#### Developers
@@ -27,7 +58,7 @@ Including SimpleClans with Maven:
<dependency>
<groupId>net.sacredlabyrinth.phaed.simpleclans</groupId>
<artifactId>SimpleClans</artifactId>
<version>2.12.2</version>
<version>2.14.3</version> <!-- You can find the latest version at the bottom -->
<scope>provided</scope>
</dependency>
</dependencies>
@@ -41,8 +72,12 @@ repositories {
}
}
dependencies {
compileOnly "net.sacredlabyrinth.phaed.simpleclans:SimpleClans:2.12.2"
compileOnly "net.sacredlabyrinth.phaed.simpleclans:SimpleClans:2.14.3" // You can find the latest version at the bottom
}
```
Some examples on how to use the API: https://github.com/RoinujNosde/SimpleClans/wiki/SimpleClans-API-example
##### Latest version:
[![Bintray](https://img.shields.io/bintray/v/roinujnosde/bukkit-plugins/SimpleClans)](https://bintray.com/roinujnosde/bukkit-plugins/SimpleClans/_latestVersion)
##### API Examples
* [Examples of how to use the API](https://simpleclans.gitbook.io/simpleclans/other/simpleclans-api)
+38
View File
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.13.2-R0.1-SNAPSHOT" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:21.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.gson:gson:2.8.0" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: net.md-5:bungeecord-chat:1.13-SNAPSHOT" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.MilkBowl:VaultAPI:1.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bukkit:bukkit:1.13.1-R0.1-SNAPSHOT" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: com.googlecode.json-simple:json-simple:1.1.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: junit:junit:4.10" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.hamcrest:hamcrest-core:1.1" level="project" />
<orderEntry type="library" name="Maven: org.bstats:bstats-bukkit:1.7" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: me.clip:placeholderapi:2.10.9" level="project" />
<orderEntry type="library" name="Maven: org.jetbrains:annotations:16.0.2" level="project" />
<orderEntry type="library" name="Maven: io.papermc:paperlib:1.0.5" level="project" />
<orderEntry type="library" name="Maven: co.aikar:acf-paper:0.5.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: com.github.cryptomorin:XSeries:7.2.1" level="project" />
<orderEntry type="library" name="Maven: org.reflections:reflections:0.9.12" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.26.0-GA" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.4.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.0.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.1.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.4.0" level="project" />
</component>
</module>
+25 -1
View File
@@ -4,7 +4,7 @@
<groupId>net.sacredlabyrinth.phaed.simpleclans</groupId>
<artifactId>SimpleClans</artifactId>
<name>SimpleClans</name>
<version>2.14.2</version>
<version>2.14.3</version>
<url>http://dev.bukkit.org/server-mods/simpleclans/</url>
<ciManagement>
<system>jenkins</system>
@@ -86,6 +86,10 @@
<pattern>com.cryptomorin.xseries</pattern>
<shadedPattern>net.sacredlabyrinth.phaed.simpleclans.xseries</shadedPattern>
</relocation>
<relocation>
<pattern>org.reflections</pattern>
<shadedPattern>net.sacredlabyrinth.phaed.simpleclans.reflections</shadedPattern>
</relocation>
</relocations>
<artifactSet>
<excludes>
@@ -187,6 +191,26 @@
<version>16.0.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.4.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>apiguardian-api</artifactId>
<groupId>org.apiguardian</groupId>
</exclusion>
<exclusion>
<artifactId>opentest4j</artifactId>
<groupId>org.opentest4j</groupId>
</exclusion>
<exclusion>
<artifactId>junit-platform-commons</artifactId>
<groupId>org.junit.platform</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<distributionManagement>
<repository>
+11 -1
View File
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>net.sacredlabyrinth.phaed.simpleclans</groupId>
<artifactId>SimpleClans</artifactId>
<version>2.14.2</version>
<version>2.14.4.1</version>
<name>SimpleClans</name>
<url>http://dev.bukkit.org/server-mods/simpleclans/</url>
@@ -84,6 +84,10 @@
<pattern>com.cryptomorin.xseries</pattern>
<shadedPattern>net.sacredlabyrinth.phaed.simpleclans.xseries</shadedPattern>
</relocation>
<relocation>
<pattern>org.reflections</pattern>
<shadedPattern>net.sacredlabyrinth.phaed.simpleclans.reflections</shadedPattern>
</relocation>
</relocations>
<artifactSet>
<excludes>
@@ -160,6 +164,12 @@
<artifactId>reflections</artifactId>
<version>0.9.12</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.4.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- Repositories -->
@@ -3,6 +3,7 @@ package net.sacredlabyrinth.phaed.simpleclans;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.Arrays;
@@ -625,7 +626,7 @@ public class ChatBlock {
* @param receiver
* @param msg
*/
public static void sendMessage(CommandSender receiver, String msg) {
public static void sendMessage(@Nullable CommandSender receiver, @NotNull String msg) {
if (receiver == null) {
return;
}
@@ -637,8 +638,8 @@ public class ChatBlock {
}
}
public static void sendMessageKey(@NotNull CommandSender receiver, @NotNull String key) {
sendMessage(receiver, lang(key, receiver));
public static void sendMessageKey(@Nullable CommandSender receiver, @NotNull String key, @NotNull Object... args) {
sendMessage(receiver, lang(key, receiver, args));
}
/**
@@ -117,6 +117,12 @@ public class Clan implements Serializable, Comparable<Clan> {
* @param player
*/
public void deposit(double amount, Player player) {
BankDepositEvent event = new BankDepositEvent(player, this, amount);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
amount = event.getAmount();
if (SimpleClans.getInstance().getPermissionsManager().playerHasMoney(player, amount)) {
if (SimpleClans.getInstance().getPermissionsManager().playerChargeMoney(player, amount)) {
player.sendMessage(ChatColor.AQUA + lang("player.clan.deposit", player, amount));
@@ -138,6 +144,12 @@ public class Clan implements Serializable, Comparable<Clan> {
* @param player
*/
public void withdraw(double amount, Player player) {
BankWithdrawEvent event = new BankWithdrawEvent(player, this, amount);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
amount = event.getAmount();
if (getBalance() >= amount) {
if (SimpleClans.getInstance().getPermissionsManager().playerGrantMoney(player, amount)) {
player.sendMessage(ChatColor.AQUA + lang("player.clan.withdraw", player, amount));
@@ -299,7 +311,7 @@ public class Clan implements Serializable, Comparable<Clan> {
/**
* Check if the player is a member of this clan
*
* @param player
* @param player the Player
* @return confirmation
*/
public boolean isMember(Player player) {
@@ -309,13 +321,17 @@ public class Clan implements Serializable, Comparable<Clan> {
/**
* Check if the player is a member of this clan
*
* @param playerUniqueId
* @param playerUniqueId the Player's UUID
* @return confirmation
*/
public boolean isMember(UUID playerUniqueId) {
return this.members.contains(playerUniqueId.toString());
}
@SuppressWarnings("deprecation")
public boolean isMember(String playerName) {
return isMember(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Returns a list with the contents of the bulletin board
@@ -719,6 +735,11 @@ public class Clan implements Serializable, Comparable<Clan> {
return false;
}
@SuppressWarnings("deprecation")
public boolean isLeader(String playerName) {
return isLeader(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Get all members that must pay the fee (that excludes leaders and players with the permission to bypass it)
*
@@ -1057,6 +1078,11 @@ public class Clan implements Serializable, Comparable<Clan> {
SimpleClans.getInstance().getServer().getPluginManager().callEvent(new PlayerJoinedClanEvent(this, cp));
}
@SuppressWarnings("deprecation")
public void removePlayerFromClan(String playerName) {
removePlayerFromClan(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Remove a player from a clan
*
@@ -1090,6 +1116,11 @@ public class Clan implements Serializable, Comparable<Clan> {
SimpleClans.getInstance().getServer().getPluginManager().callEvent(new PlayerKickedClanEvent(this, cp));
}
@SuppressWarnings("deprecation")
public void promote(String playerName) {
promote(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Promote a member to a leader of a clan
*
@@ -1109,6 +1140,11 @@ public class Clan implements Serializable, Comparable<Clan> {
SimpleClans.getInstance().getServer().getPluginManager().callEvent(new PlayerPromoteEvent(this, cp));
}
@SuppressWarnings("deprecation")
public void demote(String playerName) {
demote(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Demote a leader back to a member of a clan
*
@@ -41,7 +41,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer>
private Set<String> pastClans = new HashSet<>();
private final Map<String, Long> resignTimes = new HashMap<>();
private @Nullable VoteResult vote;
private Channel channel;
private @NotNull Channel channel;
private boolean useChatShortcut = false;
private boolean globalChat = true;
@@ -945,42 +945,48 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer>
}
}
public Channel getChannel()
public @NotNull Channel getChannel()
{
return channel;
}
@Deprecated
public boolean isGlobalChat()
{
return globalChat;
}
@Deprecated
public boolean isAllyChat()
{
return allyChat;
}
@Deprecated
public boolean isClanChat()
{
return clanChat;
}
@Deprecated
public void setGlobalChat(boolean globalChat)
{
this.globalChat = globalChat;
}
@Deprecated
public void setAllyChat(boolean allyChat)
{
this.allyChat = allyChat;
}
@Deprecated
public void setClanChat(boolean clanChat)
{
this.clanChat = clanChat;
}
public void setChannel(Channel channel)
public void setChannel(@NotNull Channel channel)
{
this.channel = channel;
}
@@ -2,6 +2,7 @@ package net.sacredlabyrinth.phaed.simpleclans;
import net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager;
import net.sacredlabyrinth.phaed.simpleclans.utils.KDRFormat;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
@@ -751,6 +752,10 @@ public class Helper {
return result;
}
/**
* @deprecated use {@link VanishUtils#isVanished(CommandSender, Player)}
*/
@Deprecated
@Contract("_, null -> false")
public static boolean isVanished(@Nullable CommandSender viewer, @Nullable Player player) {
if (isVanished(player)) {
@@ -763,6 +768,10 @@ public class Helper {
return false;
}
/**
* @deprecated use {@link VanishUtils#isVanished(Player)}
*/
@Deprecated
@Contract("null -> false")
public static boolean isVanished(@Nullable Player player) {
if (player != null && player.hasMetadata("vanished") && !player.getMetadata("vanished").isEmpty()) {
@@ -1,61 +0,0 @@
package net.sacredlabyrinth.phaed.simpleclans;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
public class PlayerNameTabCompleter implements TabCompleter {
private final SimpleClans plugin;
public PlayerNameTabCompleter() {
plugin = SimpleClans.getInstance();
}
@Override
public List<String> onTabComplete(@NotNull CommandSender commandSender, Command command, @NotNull String s, String[] strings) {
if (command.getName().equalsIgnoreCase(plugin.getSettingsManager().getCommandClan())) {
if (strings.length < 2) {
return null;
}
Player player = null;
if (commandSender instanceof Player) {
player = (Player) commandSender;
}
if (strings[0].equalsIgnoreCase(lang("lookup.command", player)) ||
strings[0].equalsIgnoreCase(lang("ban.command", player)) ||
strings[0].equalsIgnoreCase(lang("unban.command", player)) ||
strings[0].equalsIgnoreCase(lang("kick.command", player)) ||
strings[0].equalsIgnoreCase(lang("trust.command", player)) ||
strings[0].equalsIgnoreCase(lang("untrust.command", player)) ||
strings[0].equalsIgnoreCase(lang("promote.command", player)) ||
strings[0].equalsIgnoreCase(lang("demote.command", player)) ||
strings[0].equalsIgnoreCase(lang("setrank.command", player)) ||
strings[0].equalsIgnoreCase(lang("place.command", player)) ||
strings[0].equalsIgnoreCase(lang("invite.command", player)) ||
strings[0].equalsIgnoreCase(lang("kills.command", player))) {
List<String> list = new ArrayList<>();
for (Player p : plugin.getServer().getOnlinePlayers()) {
if (p.getName().startsWith(strings[1])) {
list.add(p.getName());
}
}
Collections.sort(list);
return list;
}
}
return null;
}
}
@@ -4,8 +4,7 @@ import co.aikar.commands.BukkitCommandIssuer;
import net.sacredlabyrinth.phaed.simpleclans.commands.SCCommandManager;
import net.sacredlabyrinth.phaed.simpleclans.language.LanguageMigration;
import net.sacredlabyrinth.phaed.simpleclans.language.LanguageResource;
import net.sacredlabyrinth.phaed.simpleclans.listeners.SCEntityListener;
import net.sacredlabyrinth.phaed.simpleclans.listeners.SCPlayerListener;
import net.sacredlabyrinth.phaed.simpleclans.listeners.*;
import net.sacredlabyrinth.phaed.simpleclans.managers.*;
import net.sacredlabyrinth.phaed.simpleclans.tasks.*;
import net.sacredlabyrinth.phaed.simpleclans.ui.InventoryController;
@@ -16,6 +15,7 @@ import org.bstats.bukkit.Metrics;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -109,9 +109,13 @@ public class SimpleClans extends JavaPlugin {
}
private void registerEvents() {
getServer().getPluginManager().registerEvents(new SCEntityListener(), this);
getServer().getPluginManager().registerEvents(new SCPlayerListener(), this);
getServer().getPluginManager().registerEvents(new InventoryController(), this);
PluginManager pm = getServer().getPluginManager();
pm.registerEvents(new PlayerDeath(), this);
pm.registerEvents(new SCPlayerListener(), this);
pm.registerEvents(new InventoryController(), this);
pm.registerEvents(new TamableMobsSharing(this), this);
pm.registerEvents(new PvPOnlyInWar(this), this);
pm.registerEvents(new FriendlyFire(this), this);
}
private void migrateChatFormat() {
@@ -64,6 +64,7 @@ public class SCCommandManager extends PaperCommandManager {
private void registerCompletions() {
Reflections reflections = new Reflections("net.sacredlabyrinth.phaed.simpleclans.commands.completions");
Set<Class<? extends AbstractCompletion>> completions = reflections.getSubTypesOf(AbstractCompletion.class);
plugin.getLogger().info(String.format("Registering %d command completions...", completions.size()));
for (Class<? extends AbstractCompletion> c : completions) {
if (Modifier.isAbstract(c.getModifiers())) {
continue;
@@ -90,6 +91,7 @@ public class SCCommandManager extends PaperCommandManager {
private void registerConditions() {
Reflections reflections = new Reflections("net.sacredlabyrinth.phaed.simpleclans.commands.conditions");
Set<Class<? extends AbstractCondition>> conditions = reflections.getSubTypesOf(AbstractCondition.class);
plugin.getLogger().info(String.format("Registering %d command conditions...", conditions.size()));
for (Class<? extends AbstractCondition> c : conditions) {
if (Modifier.isAbstract(c.getModifiers())) {
continue;
@@ -115,6 +117,7 @@ public class SCCommandManager extends PaperCommandManager {
private void registerContexts() {
Reflections reflections = new Reflections("net.sacredlabyrinth.phaed.simpleclans.commands.contexts");
Set<Class<? extends AbstractContextResolver>> resolvers = reflections.getSubTypesOf(AbstractContextResolver.class);
plugin.getLogger().info(String.format("Registering %d command contexts...", resolvers.size()));
for (Class<? extends AbstractContextResolver> cr : resolvers) {
if (Modifier.isAbstract(cr.getModifiers())) {
continue;
@@ -137,6 +140,7 @@ public class SCCommandManager extends PaperCommandManager {
boolean forceCommandPriority = plugin.getSettingsManager().isForceCommandPriority();
Reflections reflections = new Reflections("net.sacredlabyrinth.phaed.simpleclans.commands");
Set<Class<? extends BaseCommand>> commands = reflections.getSubTypesOf(BaseCommand.class);
plugin.getLogger().info(String.format("Registering %d base commands...", commands.size()));
for (Class<? extends BaseCommand> c : commands) {
//ACF already registers nested classes
if (c.isMemberClass() || Modifier.isStatic(c.getModifiers())) {
@@ -163,8 +167,15 @@ public class SCCommandManager extends PaperCommandManager {
"clan_chat", sm.getCommandClanChat()
);
SUBCOMMANDS.forEach(s ->
getCommandReplacements().addReplacement(s, (lang(s + ".command") + "|" + s)));
SUBCOMMANDS.forEach(s -> {
String command = optionalLang(s + ".command", null);
if (command == null) {
command = s;
}
command = command.replace(" ", "");
String replacement = command.equals(s) ? s : command + "|" + s;
getCommandReplacements().addReplacement(s, replacement);
});
}
@Override
@@ -19,6 +19,7 @@ public class AllyChatCommand extends BaseCommand {
@Default
@HelpSearchTags("chat")
@CommandCompletion("@chat_subcommands")
public void sendMessage(Player player, @Name("message") String message) {
if (!settingsManager.isAllyChatEnable()) {
return;
@@ -49,9 +49,7 @@ public class BankCommand extends BaseCommand {
ChatBlock.sendMessage(player, RED + message);
return;
}
if (amount < 0) {
amount = amount * -1;
}
amount = Math.abs(amount);
clan.withdraw(amount, player);
}
@@ -78,9 +76,7 @@ public class BankCommand extends BaseCommand {
ChatBlock.sendMessage(player, RED + message);
return;
}
if (amount < 0) {
amount = amount * -1;
}
amount = Math.abs(amount);
clan.deposit(amount, player);
}
}
@@ -40,7 +40,7 @@ public class BbCommand extends BaseCommand {
ChatBlock.sendMessage(player, RED + lang("cleared.bb", player));
}
@Subcommand("%bb")
@Subcommand("%bb %add")
@CommandPermission("simpleclans.member.bb-add")
@Conditions("rank:name=BB_ADD")
@Description("{@@command.description.bb.post}")
@@ -20,6 +20,7 @@ public class ChatCommand extends BaseCommand {
@Default
@HelpSearchTags("chat")
@CommandCompletion("@chat_subcommands")
public void sendMessage(Player player, ClanPlayer cp, @Name("message") String message) {
if (!settingsManager.getClanChatEnable()) {
return;
@@ -176,9 +176,10 @@ public class ClanCommands extends BaseCommand {
@Subcommand("%fee %set")
@CommandPermission("simpleclans.leader.fee")
@Conditions("rank:name=FEE_SET")
@Conditions("rank:name=FEE_SET|change_fee")
@Description("{@@command.description.fee.set}")
public void setFee(Player player, Clan clan, @Name("fee") double fee) {
fee = Math.abs(fee);
double maxFee = settings.getMaxMemberFee();
if (fee > maxFee) {
ChatBlock.sendMessage(player, RED
@@ -6,6 +6,7 @@ import net.sacredlabyrinth.phaed.simpleclans.ChatBlock;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import net.sacredlabyrinth.phaed.simpleclans.commands.data.*;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -58,7 +59,7 @@ public class DataCommands extends BaseCommand {
@HelpSearchTags("local location")
@Description("{@@command.description.coords}")
public void coords(Player player, Clan clan) {
if (clan.getOnlineMembers().size() == 1) {
if (VanishUtils.getNonVanished(player, clan).size() == 1) {
ChatBlock.sendMessage(player, RED + lang("you.are.the.only.member.online", player));
return;
}
@@ -6,6 +6,7 @@ import net.sacredlabyrinth.phaed.simpleclans.*;
import net.sacredlabyrinth.phaed.simpleclans.events.HomeRegroupEvent;
import net.sacredlabyrinth.phaed.simpleclans.events.PlayerHomeSetEvent;
import net.sacredlabyrinth.phaed.simpleclans.managers.*;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.Location;
import org.bukkit.entity.Player;
@@ -38,14 +39,14 @@ public class HomeCommands extends BaseCommand {
}
private void processTeleport(Player player, ClanPlayer cp, Clan clan, Location location) {
HomeRegroupEvent homeRegroupEvent = new HomeRegroupEvent(clan, cp, clan.getOnlineMembers(), location);
HomeRegroupEvent homeRegroupEvent = new HomeRegroupEvent(clan, cp, VanishUtils.getNonVanished(player, clan), location);
plugin.getServer().getPluginManager().callEvent(homeRegroupEvent);
if (homeRegroupEvent.isCancelled() || !cm.purchaseHomeRegroup(player)) {
return;
}
plugin.getTeleportManager().teleport(clan, location);
plugin.getTeleportManager().teleport(player, clan, location);
}
@Subcommand("%regroup %home")
@@ -53,7 +53,7 @@ public class ToggleCommand extends BaseCommand {
@Subcommand("%fee")
@CommandPermission("simpleclans.leader.fee")
@Conditions("rank:name=FEE_ENABLE")
@Conditions("rank:name=FEE_ENABLE|change_fee")
@Description("{@@command.description.toggle.fee}")
public void fee(Player player, Clan clan) {
toggle(player, "feeon", "feeoff", clan.isMemberFeeEnabled(),
@@ -0,0 +1,44 @@
package net.sacredlabyrinth.phaed.simpleclans.commands.completions;
import co.aikar.commands.BukkitCommandCompletionContext;
import co.aikar.commands.InvalidCommandArgument;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.util.*;
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
@SuppressWarnings("unused")
public class ChatSubcommandsCompletion extends AbstractSyncCompletion {
public ChatSubcommandsCompletion(@NotNull SimpleClans plugin) {
super(plugin);
}
@Override
public @NotNull String getId() {
return "chat_subcommands";
}
@Override
public Collection<String> getCompletions(BukkitCommandCompletionContext context) throws InvalidCommandArgument {
Player player = context.getPlayer();
if (player == null) {
return Collections.emptyList();
}
String leave = lang("leave", player);
List<String> subcommands = new ArrayList<>(Arrays.asList(lang("join", player), leave, lang("mute",
player)));
ClanPlayer cp = clanManager.getAnyClanPlayer(player.getUniqueId());
if (cp != null) {
if (cp.getChannel() == ClanPlayer.Channel.NONE) {
subcommands.remove(leave);
}
}
return subcommands;
}
}
@@ -0,0 +1,55 @@
package net.sacredlabyrinth.phaed.simpleclans.commands.conditions;
import co.aikar.commands.BukkitCommandIssuer;
import co.aikar.commands.ConditionContext;
import co.aikar.commands.ConditionFailedException;
import co.aikar.commands.InvalidCommandArgument;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import org.jetbrains.annotations.NotNull;
import java.time.LocalDateTime;
import static java.time.temporal.ChronoUnit.MINUTES;
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
@SuppressWarnings("unused")
public class CanChangeFeeCondition extends AbstractCommandCondition {
private static final float HOUR_IN_MINUTES = 60;
public CanChangeFeeCondition(@NotNull SimpleClans plugin) {
super(plugin);
}
@Override
public void validateCondition(ConditionContext<BukkitCommandIssuer> context) throws InvalidCommandArgument {
LocalDateTime now = LocalDateTime.now();
LocalDateTime collectTime = getCollectTime();
long interval = now.until(collectTime, MINUTES);
if (interval <= settingsManager.geteMemberFeeLastMinuteChangeInterval() * HOUR_IN_MINUTES) {
BukkitCommandIssuer issuer = context.getIssuer();
String error = lang("cannot.change.member.fee.now", issuer);
if (interval <= 60) {
error += lang("cannot.change.member.fee.minutes", issuer, interval);
} else {
error += lang("cannot.change.member.fee.hours", issuer, Math.ceil(interval / HOUR_IN_MINUTES));
}
throw new ConditionFailedException(error);
}
}
private LocalDateTime getCollectTime() {
LocalDateTime now = LocalDateTime.now();
LocalDateTime collectTime = now.withHour(settingsManager.getTasksCollectFeeHour())
.withMinute(settingsManager.getTasksCollectFeeMinute());
if (collectTime.isBefore(now)) {
collectTime = collectTime.plusDays(1);
}
return collectTime;
}
@Override
public @NotNull String getId() {
return "change_fee";
}
}
@@ -1,6 +1,7 @@
package net.sacredlabyrinth.phaed.simpleclans.commands.data;
import net.sacredlabyrinth.phaed.simpleclans.*;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
@@ -27,7 +28,7 @@ public class ClanCoords extends Sendable {
private void populateRows() {
Map<Integer, List<String>> rows = new TreeMap<>();
for (ClanPlayer cpm : clan.getOnlineMembers()) {
for (ClanPlayer cpm : VanishUtils.getNonVanished(player, clan)) {
Player p = cpm.toPlayer();
if (p != null) {
@@ -3,6 +3,7 @@ package net.sacredlabyrinth.phaed.simpleclans.commands.data;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import net.sacredlabyrinth.phaed.simpleclans.utils.KDRFormat;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
@@ -24,7 +25,7 @@ public class ClanProfile extends Sendable {
.replace("%clan_description%", getDescription())
.replace("%clan_verified%", getVerifiedStatus())
.replace("%clan_leaders%", clan.getLeadersString(sm.getPageLeaderColor(), subColor + ", "))
.replace("%clan_online_count%", String.valueOf(clan.getOnlineMembers().size()))
.replace("%clan_online_count%", String.valueOf(VanishUtils.getNonVanished(sender, clan).size()))
.replace("%clan_size%", String.valueOf(clan.getSize()))
.replace("%clan_kdr%", KDRFormat.format(clan.getTotalKDR()))
.replace("%clan_rival_kills%", String.valueOf(clan.getTotalRival()))
@@ -25,7 +25,11 @@ import org.bukkit.conversations.Conversation;
import org.bukkit.conversations.ConversationFactory;
import org.bukkit.entity.Player;
import java.util.HashMap;
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
import static net.sacredlabyrinth.phaed.simpleclans.conversation.CreateClanNamePrompt.NAME_KEY;
import static net.sacredlabyrinth.phaed.simpleclans.conversation.CreateClanTagPrompt.TAG_KEY;
import static org.bukkit.ChatColor.*;
@CommandAlias("%clan")
@@ -59,7 +63,7 @@ public class GeneralCommands extends BaseCommand {
@Subcommand("%create")
@CommandPermission("simpleclans.leader.create")
@Description("{@@command.description.create}")
public void create(Player player) {
public void create(Player player, @Optional @Name("tag") String tag, @Optional @Name("name") String name) {
ClanPlayer cp = cm.getAnyClanPlayer(player.getUniqueId());
if (cp != null && cp.getClan() != null) {
@@ -67,9 +71,11 @@ public class GeneralCommands extends BaseCommand {
cp.getClan().getName()));
return;
}
HashMap<Object, Object> initialData = new HashMap<>();
initialData.put(TAG_KEY, tag);
initialData.put(NAME_KEY, name);
Conversation conversation = new ConversationFactory(plugin).withFirstPrompt(new CreateClanTagPrompt())
.withLocalEcho(true).buildConversation(player);
.withLocalEcho(true).withInitialSessionData(initialData).buildConversation(player);
conversation.begin();
}
@@ -153,7 +159,7 @@ public class GeneralCommands extends BaseCommand {
@Description("{@@command.description.resetkdr}")
public void resetKdr(Player player, ClanPlayer cp) {
if (!settings.isAllowResetKdr()) {
ChatBlock.sendMessage(player, RED + lang("insufficient.permissions", player));
ChatBlock.sendMessage(player, RED + lang("disabled.command", player));
return;
}
if (cm.purchaseResetKdr(player)) {
@@ -4,6 +4,7 @@ import net.sacredlabyrinth.phaed.simpleclans.ChatBlock;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import net.sacredlabyrinth.phaed.simpleclans.Helper;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import net.sacredlabyrinth.phaed.simpleclans.events.PreCreateClanEvent;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.conversations.ConversationContext;
@@ -14,25 +15,44 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
import static net.sacredlabyrinth.phaed.simpleclans.conversation.CreateClanTagPrompt.TAG_KEY;
public class CreateClanNamePrompt extends StringPrompt {
public static final String NAME_KEY = "name";
@Override
public @NotNull String getPromptText(@NotNull ConversationContext context) {
if (context.getSessionData(NAME_KEY) != null) {
return "";
}
return lang("insert.clan.name", (Player) context.getForWhom());
}
@Override
public boolean blocksForInput(@NotNull ConversationContext context) {
return context.getSessionData(NAME_KEY) == null;
}
@Override
public @Nullable Prompt acceptInput(@NotNull ConversationContext context, @Nullable String clanName) {
SimpleClans plugin = (SimpleClans) context.getPlugin();
Player player = (Player) context.getForWhom();
clanName = clanName != null ? clanName : (String) context.getSessionData(NAME_KEY);
context.setSessionData(NAME_KEY, null);
if (plugin == null || clanName == null) return this;
Prompt errorPrompt = validateName(plugin, player, clanName);
if (errorPrompt != null) return errorPrompt;
String finalClanName = clanName;
Bukkit.getScheduler().runTask(plugin, () -> {
String tag = (String) context.getSessionData(TAG_KEY);
//noinspection ConstantConditions
processClanCreation(plugin, player, (String) context.getSessionData("tag"), clanName);
PreCreateClanEvent event = new PreCreateClanEvent(player, tag, finalClanName);
Bukkit.getServer().getPluginManager().callEvent(event);
if (!event.isCancelled()) {
processClanCreation(plugin, player, tag, finalClanName);
}
});
return END_OF_CONVERSATION;
@@ -14,21 +14,33 @@ import org.jetbrains.annotations.Nullable;
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
public class CreateClanTagPrompt extends StringPrompt {
public static final String TAG_KEY = "tag";
@Override
public @NotNull String getPromptText(@NotNull ConversationContext context) {
if (context.getSessionData(TAG_KEY) != null) {
return "";
}
return lang("insert.clan.tag", (Player) context.getForWhom());
}
@Override
public boolean blocksForInput(@NotNull ConversationContext context) {
return context.getSessionData(TAG_KEY) == null;
}
@Override
public @Nullable Prompt acceptInput(@NotNull ConversationContext context, @Nullable String input) {
Player player = (Player) context.getForWhom();
SimpleClans plugin = (SimpleClans) context.getPlugin();
input = input != null ? input : (String) context.getSessionData(TAG_KEY);
context.setSessionData(TAG_KEY, null);
if (input == null || plugin == null) return this;
Prompt errorPrompt = validateTag(plugin, player, input);
if (errorPrompt != null) return errorPrompt;
context.setSessionData("tag", input);
context.setSessionData(TAG_KEY, input);
return new CreateClanNamePrompt();
}
@@ -1,7 +1,6 @@
package net.sacredlabyrinth.phaed.simpleclans.events;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
@@ -10,12 +9,14 @@ import org.jetbrains.annotations.NotNull;
public class AddKillEvent extends Event implements Cancellable {
private static final HandlerList handlers = new HandlerList();
private boolean cancelled = false;
private ClanPlayer victim;
private ClanPlayer attacker;
public AddKillEvent(ClanPlayer attacker, ClanPlayer victim){
private final ClanPlayer victim;
private final ClanPlayer attacker;
public AddKillEvent(@NotNull ClanPlayer attacker, @NotNull ClanPlayer victim) {
this.attacker = attacker;
this.victim = victim;
}
@Override
public boolean isCancelled() {
return cancelled;
@@ -0,0 +1,57 @@
package net.sacredlabyrinth.phaed.simpleclans.events;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;
public class BankDepositEvent extends PlayerEvent implements Cancellable {
private static final HandlerList HANDLER_LIST = new HandlerList();
private final Clan clan;
private double amount;
private boolean cancelled;
public BankDepositEvent(@NotNull Player who, @NotNull Clan clan, double amount) {
super(who);
this.clan = clan;
this.amount = amount;
}
public static HandlerList getHandlerList() {
return HANDLER_LIST;
}
@Override
public @NotNull HandlerList getHandlers() {
return HANDLER_LIST;
}
public @NotNull Clan getClan() {
return clan;
}
public double getOldBalance() {
return clan.getBalance();
}
@Override
public boolean isCancelled() {
return cancelled;
}
@Override
public void setCancelled(boolean cancelled) {
this.cancelled = cancelled;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
}
@@ -0,0 +1,58 @@
package net.sacredlabyrinth.phaed.simpleclans.events;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;
public class BankWithdrawEvent extends PlayerEvent implements Cancellable {
private final Clan clan;
private double amount;
private boolean cancelled;
private static final HandlerList HANDLER_LIST = new HandlerList();
public BankWithdrawEvent(@NotNull Player who, @NotNull Clan clan, double amount) {
super(who);
this.clan = clan;
this.amount = amount;
}
public @NotNull Clan getClan() {
return clan;
}
public double getOldBalance() {
return clan.getBalance();
}
public void setAmount(double amount) {
this.amount = amount;
}
public double getAmount() {
return amount;
}
public static HandlerList getHandlerList() {
return HANDLER_LIST;
}
@Override
public @NotNull HandlerList getHandlers() {
return HANDLER_LIST;
}
@Override
public boolean isCancelled() {
return cancelled;
}
@Override
public void setCancelled(boolean cancelled) {
this.cancelled = cancelled;
}
}
@@ -0,0 +1,47 @@
package net.sacredlabyrinth.phaed.simpleclans.events;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.bukkit.event.player.PlayerEvent;
import org.jetbrains.annotations.NotNull;
public class PreCreateClanEvent extends PlayerEvent implements Cancellable {
private static final HandlerList HANDLER_LIST = new HandlerList();
private boolean cancelled;
private final String tag;
private final String name;
public PreCreateClanEvent(@NotNull Player who, @NotNull String tag, @NotNull String name) {
super(who);
this.tag = tag;
this.name = name;
}
public static HandlerList getHandlerList() {
return HANDLER_LIST;
}
@Override
public @NotNull HandlerList getHandlers() {
return HANDLER_LIST;
}
public String getTag() {
return tag;
}
public String getName() {
return name;
}
@Override
public boolean isCancelled() {
return cancelled;
}
@Override
public void setCancelled(boolean cancelled) {
this.cancelled = cancelled;
}
}
@@ -224,6 +224,9 @@ public class LanguageResource {
if (!defaultAsFallback && candidateLocales.size() != 1) {
candidateLocales.remove(Locale.ROOT);
}
if (baseName.startsWith("acf") && !candidateLocales.contains(Locale.ENGLISH) && defaultAsFallback) {
candidateLocales.add(Locale.ENGLISH);
}
return candidateLocales;
}
@@ -265,11 +268,12 @@ public class LanguageResource {
if (!defaultAsFallback) {
return null;
}
if (!locale.equals(defaultLocale) && !locale.equals(Locale.ROOT)) {
Locale root = baseName.startsWith("acf") ? Locale.ENGLISH : Locale.ROOT;
if (!locale.equals(defaultLocale) && !locale.equals(root)) {
return defaultLocale;
}
if (locale.equals(defaultLocale) && !defaultLocale.equals(Locale.ROOT)) {
return Locale.ROOT;
if (locale.equals(defaultLocale) && !defaultLocale.equals(root)) {
return root;
}
return null;
@@ -0,0 +1,34 @@
package net.sacredlabyrinth.phaed.simpleclans.listeners;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Nullable;
public class Events {
private Events() {}
@Nullable
@Contract("null -> null")
public static Player getAttacker(@Nullable EntityDamageEvent parentEvent) {
if (parentEvent instanceof EntityDamageByEntityEvent) {
EntityDamageByEntityEvent sub = (EntityDamageByEntityEvent) parentEvent;
if (sub.getDamager() instanceof Player) {
return (Player) sub.getDamager();
}
if (sub.getDamager() instanceof Projectile) {
Projectile projectile = (Projectile) sub.getDamager();
if (projectile.getShooter() instanceof Player) {
return (Player) projectile.getShooter();
}
}
}
return null;
}
}
@@ -0,0 +1,72 @@
package net.sacredlabyrinth.phaed.simpleclans.listeners;
import net.sacredlabyrinth.phaed.simpleclans.ChatBlock;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class FriendlyFire implements Listener {
private final SimpleClans plugin;
public FriendlyFire(@NotNull SimpleClans plugin) {
this.plugin = plugin;
}
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onEntityDamage(EntityDamageEvent event) {
if (!(event.getEntity() instanceof Player) ||
plugin.getSettingsManager().isBlacklistedWorld(event.getEntity().getWorld())) {
return;
}
Player victim = (Player) event.getEntity();
Player attacker = Events.getAttacker(event);
if (attacker == null || attacker.getUniqueId().equals(victim.getUniqueId())) {
return;
}
ClanPlayer vcp = plugin.getClanManager().getClanPlayer(victim);
Clan victimClan = vcp == null ? null : vcp.getClan();
Clan attackerClan = plugin.getClanManager().getClanByPlayerUniqueId(attacker.getUniqueId());
process(event, attacker, vcp, victimClan, attackerClan);
}
private void process(EntityDamageEvent event,
Player attacker,
@Nullable ClanPlayer vcp,
@Nullable Clan victimClan,
@Nullable Clan attackerClan) {
if (vcp == null || victimClan == null || attackerClan == null) {
if (plugin.getSettingsManager().getSafeCivilians()) {
ChatBlock.sendMessageKey(attacker, "cannot.attack.civilians");
event.setCancelled(true);
}
return;
}
if (vcp.isFriendlyFire() || victimClan.isFriendlyFire() || plugin.getSettingsManager().isGlobalff()) {
return;
}
if (victimClan.equals(attackerClan)) {
ChatBlock.sendMessageKey(attacker, "cannot.attack.clan.member");
event.setCancelled(true);
return;
}
if (victimClan.isAlly(attackerClan.getTag())) {
ChatBlock.sendMessageKey(attacker, "cannot.attack.ally");
event.setCancelled(true);
}
}
}
@@ -0,0 +1,175 @@
package net.sacredlabyrinth.phaed.simpleclans.listeners;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import net.sacredlabyrinth.phaed.simpleclans.Kill;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import net.sacredlabyrinth.phaed.simpleclans.events.AddKillEvent;
import net.sacredlabyrinth.phaed.simpleclans.managers.PermissionsManager;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.net.InetSocketAddress;
import java.time.LocalDateTime;
import java.util.logging.Level;
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
/**
* @author phaed
*/
public class PlayerDeath implements Listener {
private final SimpleClans plugin;
public PlayerDeath() {
plugin = SimpleClans.getInstance();
}
@EventHandler(priority = EventPriority.LOW)
public void onEntityDeath(PlayerDeathEvent event) {
Player victim = event.getEntity();
if (plugin.getSettingsManager().isBlacklistedWorld(victim.getLocation().getWorld())
|| victim.hasMetadata("NPC")) {
return;
}
Player attacker = Events.getAttacker(victim.getLastDamageCause());
if (isInvalidKill(victim, attacker)) return;
ClanPlayer victimCp = plugin.getClanManager().getCreateClanPlayer(victim.getUniqueId());
ClanPlayer attackerCp = plugin.getClanManager().getCreateClanPlayer(attacker.getUniqueId());
addKill(victimCp, attackerCp);
giveMoneyReward(victimCp, attackerCp);
// record death for victim
victimCp.addDeath();
plugin.getStorageManager().updateClanPlayer(victimCp);
}
private void addKill(@NotNull ClanPlayer victim, @NotNull ClanPlayer attacker) {
if (victim.getClan() == null || attacker.getClan() == null || !victim.getClan().isVerified() ||
!attacker.getClan().isVerified()) {
addKill(Kill.Type.CIVILIAN, attacker, victim);
} else if (attacker.getClan().isRival(victim.getTag())) {
addKill(Kill.Type.RIVAL, attacker, victim);
} else {
addKill(Kill.Type.NEUTRAL, attacker, victim);
}
}
private void giveMoneyReward(@NotNull ClanPlayer victim, @NotNull ClanPlayer attacker) {
if (!plugin.getSettingsManager().isMoneyPerKill()) {
return;
}
Clan attackerClan = attacker.getClan();
if (attackerClan == null) {
return;
}
double reward = calculateReward(attacker, victim);
if (reward != 0) {
for (ClanPlayer cp : attackerClan.getOnlineMembers()) {
double money = Math.round((reward / attacker.getClan().getOnlineMembers().size()) * 100D) / 100D;
Player player = cp.toPlayer();
if (player == null) {
continue;
}
player.sendMessage(ChatColor.AQUA + lang("player.got.money", player, money,
victim.getName(), attacker.getKDR()));
plugin.getPermissionsManager().playerGrantMoney(player, money);
}
}
}
@Contract("_, null -> true")
private boolean isInvalidKill(@NotNull Player victim, @Nullable Player attacker) {
if (attacker == null || attacker.getUniqueId().equals(victim.getUniqueId())) {
return true;
}
if (SimpleClans.getInstance().getSettingsManager().isDenySameIPKills()) {
InetSocketAddress attackerAddress = attacker.getAddress();
InetSocketAddress victimAddress = victim.getAddress();
if (attackerAddress != null && victimAddress != null) {
if (attackerAddress.getHostString().equals(victimAddress.getHostString())) {
plugin.getLogger().log(Level.INFO, "Blocked same IP kill calculating: {0} killed {1}. IP: {2}",
new Object[]{attacker.getDisplayName(), victim.getDisplayName(),
attackerAddress.getHostString()});
return true;
}
}
}
AddKillEvent addKillEvent = new AddKillEvent(plugin.getClanManager().getCreateClanPlayer(
attacker.getUniqueId()), plugin.getClanManager().getCreateClanPlayer(victim.getUniqueId()));
Bukkit.getServer().getPluginManager().callEvent(addKillEvent);
if (addKillEvent.isCancelled()) {
return true;
}
String kdrExempt = "simpleclans.other.kdr-exempt";
PermissionsManager pm = plugin.getPermissionsManager();
return pm.has(attacker, kdrExempt) || pm.has(victim, kdrExempt);
}
private void addKill(Kill.Type type, ClanPlayer attacker, ClanPlayer victim) {
if (type == null || attacker == null || victim == null) {
return;
}
final Kill kill = new Kill(attacker, victim, LocalDateTime.now());
if (plugin.getSettingsManager().isDelayBetweenKills() && plugin.getClanManager().isKillBeforeDelay(kill)) {
return;
}
if (plugin.getSettingsManager().isMaxKillsPerVictim()) {
plugin.getStorageManager().getKillsPerPlayer(attacker.getName(), data -> {
final int max = plugin.getSettingsManager().getMaxKillsPerVictim();
Integer kills = data.get(kill.getVictim().getName());
if (kills != null) {
if (kills < max) {
saveKill(kill, type);
}
}
});
return;
}
saveKill(kill, type);
}
private void saveKill(Kill kill, Kill.Type type) {
plugin.getClanManager().addKill(kill);
ClanPlayer killer = kill.getKiller();
ClanPlayer victim = kill.getVictim();
killer.addKill(type);
plugin.getStorageManager().insertKill(killer, victim, type.getShortname());
}
private double calculateReward(@NotNull ClanPlayer attacker, @NotNull ClanPlayer victim) {
double reward;
double multiplier = plugin.getSettingsManager().getKDRMultipliesPerKill();
double kdr = attacker.getKDR() * multiplier;
Clan attackerClan = attacker.getClan();
Clan victimClan = victim.getClan();
if (attackerClan == null || !attackerClan.isVerified() || victimClan == null || !victimClan.isVerified()) {
return 0;
}
if (attackerClan.isRival(victimClan.getTag())) {
if (attackerClan.isWarring(victimClan)) {
reward = kdr * 4;
} else reward = kdr * 2;
} else if (attackerClan.isAlly(victimClan.getTag())) {
reward = kdr * -1;
} else {
reward = kdr;
}
return reward;
}
}
@@ -0,0 +1,59 @@
package net.sacredlabyrinth.phaed.simpleclans.listeners;
import net.sacredlabyrinth.phaed.simpleclans.ChatBlock;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageEvent;
import org.jetbrains.annotations.NotNull;
public class PvPOnlyInWar implements Listener {
private final SimpleClans plugin;
public PvPOnlyInWar(@NotNull SimpleClans plugin) {
this.plugin = plugin;
}
@EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)
public void onEntityDamage(EntityDamageEvent event) {
if (!(event.getEntity() instanceof Player) ||
plugin.getSettingsManager().isBlacklistedWorld(event.getEntity().getWorld())) {
return;
}
Player victim = (Player) event.getEntity();
Player attacker = Events.getAttacker(event);
if (attacker == null || victim.getUniqueId().equals(attacker.getUniqueId())) {
return;
}
Clan attackerClan = plugin.getClanManager().getClanByPlayerUniqueId(attacker.getUniqueId());
Clan victimClan = plugin.getClanManager().getClanByPlayerUniqueId(victim.getUniqueId());
if (plugin.getSettingsManager().isPvpOnlywhileInWar()) {
process(event, attacker, victim, attackerClan, victimClan);
}
}
private void process(EntityDamageEvent event, Player attacker, Player victim, Clan attackerClan, Clan victimClan) {
if (attackerClan == null || victimClan == null) {
ChatBlock.sendMessageKey(attacker, "must.be.in.clan.to.pvp", victim.getName());
event.setCancelled(true);
return;
}
if (plugin.getPermissionsManager().has(victim, "simpleclans.mod.nopvpinwar")) {
event.setCancelled(true);
return;
}
if (!attackerClan.isWarring(victimClan)) {
ChatBlock.sendMessageKey(attacker, "clans.not.at.war.pvp.denied", victimClan.getName());
event.setCancelled(true);
}
}
}
@@ -1,406 +0,0 @@
package net.sacredlabyrinth.phaed.simpleclans.listeners;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import net.sacredlabyrinth.phaed.simpleclans.Kill;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import net.sacredlabyrinth.phaed.simpleclans.events.AddKillEvent;
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
import net.sacredlabyrinth.phaed.simpleclans.managers.PermissionsManager;
import net.sacredlabyrinth.phaed.simpleclans.managers.StorageManager.DataCallback;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import java.text.MessageFormat;
import java.time.LocalDateTime;
import java.util.Map;
import java.util.logging.Level;
/**
* @author phaed
*/
public class SCEntityListener implements Listener
{
private SimpleClans plugin;
/**
*
*/
public SCEntityListener()
{
plugin = SimpleClans.getInstance();
}
/**
* @param event
*/
@EventHandler(priority = EventPriority.LOW)
public void onEntityDeath(EntityDeathEvent event)
{
if (event.getEntity() instanceof Player)
{
Player victim = (Player) event.getEntity();
if (plugin.getSettingsManager().isBlacklistedWorld(victim.getLocation().getWorld().getName()))
{
return;
}
if (victim.hasMetadata("NPC"))
{
return;
}
Player attacker = null;
// find attacker
EntityDamageEvent lastDamageCause = victim.getLastDamageCause();
if (lastDamageCause instanceof EntityDamageByEntityEvent)
{
EntityDamageByEntityEvent entityEvent = (EntityDamageByEntityEvent) lastDamageCause;
if (entityEvent.getDamager() instanceof Player)
{
attacker = (Player) entityEvent.getDamager();
} else if (entityEvent.getDamager() instanceof Projectile)
{
Projectile projectile = (Projectile) entityEvent.getDamager();
if (projectile.getShooter() instanceof Player)
{
attacker = (Player) projectile.getShooter();
}
}
}
if (attacker != null)
{
if (attacker.getUniqueId().equals(victim.getUniqueId())) {
return;
}
if (SimpleClans.getInstance().getSettingsManager().isDenySameIPKills())
{
if (attacker.getAddress().getHostString().equals(victim.getAddress().getHostString()))
{
plugin.getLogger().log(Level.INFO, "Blocked same IP kill calculating: {0} killed {1}. IP: {2}", new Object[]{
attacker.getDisplayName(), victim.getDisplayName(), attacker.getAddress().getHostString()
});
return;
}
}
String kdrExempt = "simpleclans.other.kdr-exempt";
PermissionsManager pm = plugin.getPermissionsManager();
if (pm.has(attacker, kdrExempt) || pm.has(victim, kdrExempt)) {
return;
}
AddKillEvent addKillEvent = new AddKillEvent(plugin.getClanManager().getCreateClanPlayer(
attacker.getUniqueId()),plugin.getClanManager().getCreateClanPlayer(victim.getUniqueId()));
Bukkit.getServer().getPluginManager().callEvent(addKillEvent);
if(addKillEvent.isCancelled()) return;
ClanPlayer victimCp = addKillEvent.getVictim();
ClanPlayer attackerCp = addKillEvent.getAttacker();
double reward = 0;
double multipier = plugin.getSettingsManager().getKDRMultipliesPerKill();
float kdr = attackerCp.getKDR();
if (victimCp.getClan() == null || attackerCp.getClan() == null || !victimCp.getClan().isVerified() || !attackerCp.getClan().isVerified())
{
addKill(Kill.Type.CIVILIAN, attackerCp, victimCp);
} else if (attackerCp.getClan().isRival(victimCp.getTag()))
{
if (attackerCp.getClan().isWarring(victimCp.getClan()))
{
reward = (double) kdr * multipier * 4;
} else
{
reward = (double) kdr * multipier * 2;
}
addKill(Kill.Type.RIVAL, attackerCp, victimCp);
} else if (attackerCp.getClan().isAlly(victimCp.getTag()))
{
reward = (double) kdr * multipier * -1;
} else
{
reward = (double) kdr * multipier;
addKill(Kill.Type.NEUTRAL, attackerCp, victimCp);
}
if (reward != 0 && plugin.getSettingsManager().isMoneyPerKill())
{
for (ClanPlayer cp : attackerCp.getClan().getOnlineMembers())
{
double money = Math.round((reward / attackerCp.getClan().getOnlineMembers().size()) * 100D) / 100D;
cp.toPlayer().sendMessage(ChatColor.AQUA + MessageFormat.format(lang("player.got.money",cp.toPlayer()), money, victim.getName(), kdr));
plugin.getPermissionsManager().playerGrantMoney(cp.toPlayer(), money);
}
}
// record death for victim
victimCp.addDeath();
plugin.getStorageManager().updateClanPlayer(victimCp);
}
}
}
private void addKill(Kill.Type type, ClanPlayer attacker, ClanPlayer victim) {
if (type == null || attacker == null || victim == null) {
return;
}
final Kill kill = new Kill(attacker, victim, LocalDateTime.now());
if (plugin.getSettingsManager().isDelayBetweenKills() && plugin.getClanManager().isKillBeforeDelay(kill)) {
return;
}
if (plugin.getSettingsManager().isMaxKillsPerVictim()) {
plugin.getStorageManager().getKillsPerPlayer(attacker.getName(), new DataCallback<Map<String,Integer>>() {
@Override
public void onResultReady(Map<String, Integer> data) {
final int max = plugin.getSettingsManager().getMaxKillsPerVictim();
Integer kills = data.get(kill.getVictim().getName());
if (kills != null) {
if (kills < max) {
saveKill(kill, type);
}
}
}
});
return;
}
saveKill(kill, type);
}
private void saveKill(Kill kill, Kill.Type type) {
plugin.getClanManager().addKill(kill);
ClanPlayer killer = kill.getKiller();
ClanPlayer victim = kill.getVictim();
killer.addKill(type);
plugin.getStorageManager().insertKill(killer, victim, type.getShortname());
}
/**
* @param event
*/
@EventHandler(priority = EventPriority.LOW)
public void onPlayerInteract(PlayerInteractEntityEvent event)
{
if (event.isCancelled())
{
return;
}
if (plugin.getSettingsManager().isTamableMobsSharing() && event.getRightClicked() instanceof Tameable)
{
Entity entity = event.getRightClicked();
Player player = event.getPlayer();
ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);
Tameable tamed = (Tameable) entity;
if (tamed.isTamed())
{
if(entity instanceof Wolf && !((Wolf) entity).isSitting())
{
return;
}
if (cp.getClan().isMember((Player) tamed.getOwner()))
{
tamed.setOwner(player);
}
}
}
}
/**
* @param event
*/
@EventHandler(priority = EventPriority.LOW)
public void onEntityTarget(EntityTargetLivingEntityEvent event)
{
if (plugin.getSettingsManager().isTamableMobsSharing())
{
if (event.getEntity() instanceof Tameable && event.getTarget() instanceof Player)
{
ClanPlayer cp = plugin.getClanManager().getClanPlayer((Player) event.getTarget());
Tameable wolf = (Tameable) event.getEntity();
if (wolf.isTamed() && cp.getClan().isMember((Player) wolf.getOwner()))
{
// cancels the event if the attacker is one out of his clan
event.setCancelled(true);
}
}
}
}
/**
* @param event
*/
@EventHandler(priority = EventPriority.LOW)
public void onEntityDamage(EntityDamageEvent event)
{
if (event.isCancelled())
{
return;
}
Player attacker = null;
Player victim = null;
if (event instanceof EntityDamageByEntityEvent)
{
EntityDamageByEntityEvent sub = (EntityDamageByEntityEvent) event;
if (sub.getEntity() instanceof Player && sub.getDamager() instanceof Player)
{
attacker = (Player) sub.getDamager();
victim = (Player) sub.getEntity();
}
if (plugin.getSettingsManager().isTamableMobsSharing())
{
if (sub.getEntity() instanceof Wolf && sub.getDamager() instanceof Player)
{
attacker = (Player) sub.getDamager();
Wolf wolf = (Wolf) sub.getEntity();
ClanPlayer cp = plugin.getClanManager().getClanPlayer(attacker);
if (wolf.isTamed() && cp.getClan().isMember((Player) wolf.getOwner()))
{
// Sets the wolf to friendly if the attacker is one out of his clan
wolf.setAngry(false);
}
}
}
if (sub.getEntity() instanceof Player && sub.getDamager() instanceof Projectile)
{
Projectile projectile = (Projectile) sub.getDamager();
if (projectile.getShooter() instanceof Player)
{
attacker = (Player) projectile.getShooter();
victim = (Player) sub.getEntity();
}
}
}
if (victim != null && plugin.getSettingsManager().isBlacklistedWorld(victim.getLocation().getWorld().getName()))
{
return;
}
if (attacker != null && victim != null)
{
if (attacker.getUniqueId().equals(victim.getUniqueId())) {
return;
}
ClanPlayer acp = plugin.getClanManager().getClanPlayer(attacker);
ClanPlayer vcp = plugin.getClanManager().getClanPlayer(victim);
Clan vclan = vcp == null ? null : vcp.getClan();
Clan aclan = acp == null ? null : acp.getClan();
if (plugin.getSettingsManager().isPvpOnlywhileInWar())
{
// if one doesn't have clan then they cant be at war
if (aclan == null || vclan == null)
{
event.setCancelled(true);
return;
}
if (plugin.getPermissionsManager().has(victim, "simpleclans.mod.nopvpinwar")
&& attacker != null && victim != null)
{
event.setCancelled(true);
return;
}
// if not warring no pvp
if (!aclan.isWarring(vclan))
{
event.setCancelled(true);
return;
}
}
if (vclan != null)
{
if (aclan != null)
{
// personal ff enabled, allow damage
if (vcp.isFriendlyFire())
{
return;
}
// clan ff enabled, allow damage
if (vclan.isFriendlyFire())
{
return;
}
// global ff enabled, allow damage
if (plugin.getSettingsManager().isGlobalff())
{
return;
}
// same clan, deny damage
if (vclan.equals(aclan))
{
event.setCancelled(true);
return;
}
// ally clan, deny damage
if (vclan.isAlly(aclan.getTag()))
{
event.setCancelled(true);
}
} else
{
// not part of a clan - check if safeCivilians is set
if (plugin.getSettingsManager().getSafeCivilians())
{
event.setCancelled(true);
}
}
} else
{
// not part of a clan - check if safeCivilians is set
if (plugin.getSettingsManager().getSafeCivilians())
{
event.setCancelled(true);
}
}
}
}
}
@@ -1,6 +1,11 @@
package net.sacredlabyrinth.phaed.simpleclans.listeners;
import net.sacredlabyrinth.phaed.simpleclans.*;
import net.sacredlabyrinth.phaed.simpleclans.ChatBlock;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer.Channel;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import net.sacredlabyrinth.phaed.simpleclans.managers.PermissionsManager;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.entity.Player;
@@ -9,8 +14,10 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.*;
import java.util.Iterator;
import java.util.Objects;
import static net.sacredlabyrinth.phaed.simpleclans.ClanPlayer.Channel.CLAN;
import static net.sacredlabyrinth.phaed.simpleclans.ClanPlayer.Channel.NONE;
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
/**
@@ -39,84 +46,58 @@ public class SCPlayerListener implements Listener {
}
}
@EventHandler(priority = EventPriority.HIGH)
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onPlayerChat(AsyncPlayerChatEvent event) {
if (plugin.getSettingsManager().isBlacklistedWorld(event.getPlayer().getLocation().getWorld())) {
Player player = event.getPlayer();
ClanPlayer cp = plugin.getClanManager().getClanPlayer(player.getUniqueId());
if (cp == null || plugin.getSettingsManager().isBlacklistedWorld(player.getLocation().getWorld())) {
return;
}
String message = event.getMessage();
ClanPlayer cp = plugin.getClanManager().getClanPlayer(event.getPlayer());
if (cp != null && !event.isCancelled()) {
if (cp.getChannel().equals(ClanPlayer.Channel.CLAN)) {
event.setCancelled(true);
if (!plugin.getPermissionsManager().has(cp.toPlayer(), "simpleclans.member.chat")) {
ChatBlock.sendMessage(cp.toPlayer(), ChatColor.RED + lang("insufficient.permissions",cp.toPlayer()));
return;
}
plugin.getClanManager().processClanChat(event.getPlayer(), message);
} else if (cp.getChannel().equals(ClanPlayer.Channel.ALLY)) {
event.setCancelled(true);
if (!plugin.getPermissionsManager().has(cp.toPlayer(), "simpleclans.member.ally")) {
ChatBlock.sendMessage(cp.toPlayer(), ChatColor.RED + lang("insufficient.permissions",cp.toPlayer()));
return;
}
plugin.getClanManager().processAllyChat(event.getPlayer(), message);
Channel channel = cp.getChannel();
if (channel != NONE) {
PermissionsManager pm = plugin.getPermissionsManager();
if ((channel == Channel.ALLY && !pm.has(player, "simpleclans.member.ally")) ||
(channel == CLAN && !pm.has(player, "simpleclans.member.chat"))) {
ChatBlock.sendMessage(player, ChatColor.RED + lang("insufficient.permissions", player));
return;
}
}
if (!plugin.getPermissionsManager().has(event.getPlayer(), "simpleclans.mod.nohide")) {
boolean isClanChat = event.getMessage().contains("" + ChatColor.RED + ChatColor.WHITE + ChatColor.RED + ChatColor.BLACK);
boolean isAllyChat = event.getMessage().contains("" + ChatColor.AQUA + ChatColor.WHITE + ChatColor.AQUA + ChatColor.BLACK);
for (Iterator<Player> iter = event.getRecipients().iterator(); iter.hasNext();) {
Player player = iter.next();
ClanPlayer rcp = plugin.getClanManager().getClanPlayer(player);
if (rcp != null) {
if (!rcp.isClanChat() && isClanChat) {
iter.remove();
continue;
}
if (!rcp.isAllyChat() && isAllyChat) {
iter.remove();
continue;
}
if (!rcp.isGlobalChat() && !isAllyChat && !isClanChat) {
iter.remove();
}
}
switch (channel) {
case CLAN:
plugin.getClanManager().processClanChat(player, event.getMessage());
break;
case ALLY:
plugin.getClanManager().processAllyChat(player, event.getMessage());
}
event.setCancelled(true);
}
}
if (plugin.getSettingsManager().isCompatMode()) {
if (plugin.getSettingsManager().isChatTags()) {
if (cp != null && cp.isTagEnabled()) {
String tagLabel = cp.getClan().getTagLabel(cp.isLeader());
Player player = event.getPlayer();
if (player.getDisplayName().contains("{clan}")) {
player.setDisplayName(player.getDisplayName().replace("{clan}", tagLabel));
} else if (event.getFormat().contains("{clan}")) {
event.setFormat(event.getFormat().replace("{clan}", tagLabel));
} else {
String format = event.getFormat();
event.setFormat(tagLabel + format);
}
@EventHandler
public void handleChatTags(AsyncPlayerChatEvent event) {
Player player = event.getPlayer();
ClanPlayer cp = plugin.getClanManager().getClanPlayer(player.getUniqueId());
if (cp == null || plugin.getSettingsManager().isBlacklistedWorld(player.getWorld())) {
return;
}
Clan clan = Objects.requireNonNull(cp.getClan());
if (plugin.getSettingsManager().isCompatMode() && plugin.getSettingsManager().isChatTags()) {
if (cp.isTagEnabled()) {
String tagLabel = clan.getTagLabel(cp.isLeader());
if (player.getDisplayName().contains("{clan}")) {
player.setDisplayName(player.getDisplayName().replace("{clan}", tagLabel));
} else if (event.getFormat().contains("{clan}")) {
event.setFormat(event.getFormat().replace("{clan}", tagLabel));
} else {
event.setFormat(event.getFormat().replace("{clan}", ""));
event.setFormat(event.getFormat().replace("tagLabel", ""));
String format = event.getFormat();
event.setFormat(tagLabel + format);
}
} else {
event.setFormat(event.getFormat().replace("{clan}", ""));
event.setFormat(event.getFormat().replace("tagLabel", ""));
}
} else {
plugin.getClanManager().updateDisplayName(event.getPlayer());
plugin.getClanManager().updateDisplayName(player);
}
}
@@ -153,23 +134,19 @@ public class SCPlayerListener implements Listener {
SimpleClans.getInstance().getPermissionsManager().addClanPermissions(cp);
}
@EventHandler(priority = EventPriority.MONITOR)
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerRespawn(PlayerRespawnEvent event) {
if (plugin.getSettingsManager().isBlacklistedWorld(event.getPlayer().getLocation().getWorld())) {
Player player = event.getPlayer();
if (!plugin.getSettingsManager().isTeleportOnSpawn() ||
plugin.getSettingsManager().isBlacklistedWorld(player.getWorld())) {
return;
}
if (plugin.getSettingsManager().isTeleportOnSpawn()) {
Player player = event.getPlayer();
ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);
if (cp != null) {
Location loc = cp.getClan().getHomeLocation();
if (loc != null) {
event.setRespawnLocation(loc);
}
Clan clan = plugin.getClanManager().getClanByPlayerUniqueId(player.getUniqueId());
if (clan != null) {
Location home = clan.getHomeLocation();
if (home != null) {
event.setRespawnLocation(home);
}
}
}
@@ -0,0 +1,84 @@
package net.sacredlabyrinth.phaed.simpleclans.listeners;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import org.bukkit.entity.AnimalTamer;
import org.bukkit.entity.Player;
import org.bukkit.entity.Tameable;
import org.bukkit.entity.Wolf;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.jetbrains.annotations.NotNull;
public class TamableMobsSharing implements Listener {
private final SimpleClans plugin;
public TamableMobsSharing(@NotNull SimpleClans plugin) {
this.plugin = plugin;
}
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onEntityDamage(EntityDamageByEntityEvent event) {
if (plugin.getSettingsManager().isTamableMobsSharing()) {
if (event.getEntity() instanceof Wolf && event.getDamager() instanceof Player) {
ClanPlayer cp = plugin.getClanManager().getAnyClanPlayer(event.getDamager().getUniqueId());
if (cp == null || cp.getClan() == null) {
return;
}
Wolf wolf = (Wolf) event.getEntity();
AnimalTamer owner = wolf.getOwner();
if (owner != null && cp.getClan().isMember(owner.getUniqueId())) {
// Sets the wolf to friendly if the attacker is one out of his clan
wolf.setAngry(false);
}
}
}
}
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onEntityTarget(EntityTargetLivingEntityEvent event) {
if (plugin.getSettingsManager().isTamableMobsSharing()) {
if (event.getEntity() instanceof Tameable && event.getTarget() instanceof Player) {
ClanPlayer cp = plugin.getClanManager().getAnyClanPlayer(event.getTarget().getUniqueId());
if (cp == null || cp.getClan() == null) {
return;
}
Tameable wolf = (Tameable) event.getEntity();
AnimalTamer owner = wolf.getOwner();
if (owner == null) {
return;
}
if (cp.getClan().isMember(owner.getUniqueId())) {
// cancels the event if the attacker is one out of his clan
event.setCancelled(true);
}
}
}
}
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onPlayerInteract(PlayerInteractEntityEvent event) {
if (plugin.getSettingsManager().isTamableMobsSharing() && event.getRightClicked() instanceof Tameable) {
Player player = event.getPlayer();
ClanPlayer cp = plugin.getClanManager().getAnyClanPlayer(player.getUniqueId());
if (cp == null || cp.getClan() == null) {
return;
}
Tameable tamed = (Tameable) event.getRightClicked();
if (tamed.getOwner() != null) {
if (tamed instanceof Wolf && !((Wolf) tamed).isSitting()) {
return;
}
if (cp.getClan().isMember(tamed.getOwner().getUniqueId())) {
tamed.setOwner(player);
}
}
}
}
}
@@ -4,6 +4,7 @@ import com.cryptomorin.xseries.XMaterial;
import net.sacredlabyrinth.phaed.simpleclans.*;
import net.sacredlabyrinth.phaed.simpleclans.events.ChatEvent;
import net.sacredlabyrinth.phaed.simpleclans.events.CreateClanEvent;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import net.sacredlabyrinth.phaed.simpleclans.uuid.UUIDMigration;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@@ -227,6 +228,12 @@ public final class ClanManager {
return clans.get(Helper.cleanTag(tag));
}
@SuppressWarnings("deprecation")
@Nullable
public Clan getClanByPlayerName(String playerName) {
return getClanByPlayerUniqueId(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Get a player's clan
*
@@ -315,6 +322,12 @@ public final class ClanManager {
return cp;
}
@SuppressWarnings("deprecation")
@Nullable
public ClanPlayer getClanPlayer(String playerName) {
return getClanPlayer(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Gets the ClanPlayer data object if a player is currently in a clan, null
* if he's not in a clan
@@ -356,6 +369,11 @@ public final class ClanManager {
return clanPlayers.get(playerUniqueId.toString());
}
@SuppressWarnings("deprecation")
@Nullable
public ClanPlayer getAnyClanPlayer(String playerName) {
return getAnyClanPlayer(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Gets the ClanPlayer object for the player, creates one if not found
*
@@ -390,6 +408,12 @@ public final class ClanManager {
return cp;
}
@SuppressWarnings("deprecation")
@NotNull
public ClanPlayer getCreateClanPlayer(String playerName) {
return getCreateClanPlayer(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Announce message to the server
*
@@ -470,6 +494,11 @@ public final class ClanManager {
}
}
}
@SuppressWarnings("deprecation")
public void ban(String playerName) {
ban(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Bans a player from clan commands
@@ -1170,8 +1199,9 @@ public final class ClanManager {
}
double price = plugin.getSettingsManager().getHomeRegroupPrice();
Clan clan = Objects.requireNonNull(cp.getClan());
if (!plugin.getSettingsManager().iseUniqueTaxOnRegroup()) {
price = price * cp.getClan().getOnlineMembers().size();
price = price * VanishUtils.getNonVanished(player, clan).size();
}
if (plugin.getSettingsManager().iseIssuerPaysRegroup()) {
@@ -1185,7 +1215,6 @@ public final class ClanManager {
}
}
} else {
Clan clan = cp.getClan();
double balance = clan.getBalance();
if (price > balance) {
player.sendMessage(ChatColor.RED + lang("clan.bank.not.enough.money",player));
@@ -1261,15 +1290,7 @@ public final class ClanManager {
String command = split[0];
if (command.equals(lang("on",player))) {
cp.setClanChat(true);
plugin.getStorageManager().updateClanPlayer(cp);
ChatBlock.sendMessage(player, lang("enabled.clan.chat", player));
} else if (command.equals(lang("off",player))) {
cp.setClanChat(false);
plugin.getStorageManager().updateClanPlayer(cp);
ChatBlock.sendMessage(player, lang("disabled.clan.chat", player));
} else if (command.equals(lang("join",player))) {
if (command.equals(lang("join",player))) {
cp.setChannel(ClanPlayer.Channel.CLAN);
plugin.getStorageManager().updateClanPlayer(cp);
ChatBlock.sendMessage(player, lang("joined.clan.chat", player));
@@ -1278,7 +1299,7 @@ public final class ClanManager {
plugin.getStorageManager().updateClanPlayer(cp);
ChatBlock.sendMessage(player, lang("left.clan.chat", player));
} else if (command.equals(lang("mute",player))) {
if (cp.isMuted()) {
if (!cp.isMuted()) {
cp.setMuted(true);
ChatBlock.sendMessage(player, lang("muted.clan.chat", player));
} else {
@@ -1364,23 +1385,15 @@ public final class ClanManager {
String command = split[0];
if (command.equals(lang("on",player))) {
cp.setAllyChat(true);
plugin.getStorageManager().updateClanPlayer(cp);
ChatBlock.sendMessage(player, lang("enabled.ally.chat", player));
} else if (command.equals(lang("off",player))) {
cp.setAllyChat(false);
plugin.getStorageManager().updateClanPlayer(cp);
ChatBlock.sendMessage(player, lang("disabled.ally.chat", player));
} else if (command.equals(lang("join",player))) {
if (command.equals(lang("join", player))) {
cp.setChannel(ClanPlayer.Channel.ALLY);
plugin.getStorageManager().updateClanPlayer(cp);
ChatBlock.sendMessage(player, lang("joined.ally.chat", player));
} else if (command.equals(lang("leave",player))) {
} else if (command.equals(lang("leave", player))) {
cp.setChannel(ClanPlayer.Channel.NONE);
plugin.getStorageManager().updateClanPlayer(cp);
ChatBlock.sendMessage(player, lang("left.ally.chat", player));
} else if (command.equals(lang("mute",player))) {
} else if (command.equals(lang("mute", player))) {
if (!cp.isMutedAlly()) {
cp.setMutedAlly(true);
ChatBlock.sendMessage(player, lang("muted.ally.chat", player));
@@ -5,6 +5,7 @@ import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.OfflinePlayer;
import org.bukkit.plugin.Plugin;
import org.jetbrains.annotations.NotNull;
@@ -372,7 +373,8 @@ public final class PlaceholdersManager extends PlaceholderExpansion {
return String.valueOf(clan.getInactiveDays());
}
case "clan_onlinemembers_count": {
return String.valueOf(clan.getOnlineMembers().size());
return String.valueOf(VanishUtils.getNonVanished(player == null ? null : player.toPlayer(),
clan).size());
}
case "clan_allies_count": {
return String.valueOf(clan.getAllies().size());
@@ -195,11 +195,12 @@ public final class RequestManager {
if (cp == null) {
return;
}
ChatBlock.sendMessageKey(Bukkit.getPlayerExact(invited), "accepted.invitation", clan.getName());
clan.addBb(ChatColor.AQUA + lang("joined.the.clan", invited));
plugin.getClanManager().serverAnnounce(lang("has.joined", invited, clan.getName()));
clan.addPlayerToClan(cp);
} else {
ChatBlock.sendMessageKey(Bukkit.getPlayerExact(invited), "denied.invitation", clan.getName());
clan.leaderAnnounce(ChatColor.RED + lang("membership.invitation", invited));
}
@@ -5,6 +5,7 @@ import java.io.IOException;
import java.util.*;
import com.cryptomorin.xseries.XMaterial;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import net.sacredlabyrinth.phaed.simpleclans.utils.RankingNumberResolver.RankingType;
import org.bukkit.World;
@@ -74,6 +75,7 @@ public final class SettingsManager {
private double eResetKdr;
private double eMaxMemberFee;
private double eMemberFeeSetPrice;
private int eMemberFeeLastMinuteChangeInterval;
private double eClanUpkeep;
private String serverName;
private boolean chatTags;
@@ -269,6 +271,7 @@ public final class SettingsManager {
ePurchaseResetKdr = getConfig().getBoolean("economy.purchase-reset-kdr");
ePurchaseMemberFeeSet = getConfig().getBoolean("economy.purchase-member-fee-set");
eMemberFeeSetPrice = getConfig().getDouble("economy.member-fee-set-price");
eMemberFeeLastMinuteChangeInterval = getConfig().getInt("member-fee-last-minute-change-interval", 8);
eResetKdr = getConfig().getDouble("economy.reset-kdr-price");
eCreationPrice = getConfig().getDouble("economy.creation-price");
eVerificationPrice = getConfig().getDouble("economy.verification-price");
@@ -691,7 +694,11 @@ public final class SettingsManager {
public double geteMemberFeeSetPrice() {
return eMemberFeeSetPrice;
}
public int geteMemberFeeLastMinuteChangeInterval() {
return eMemberFeeLastMinuteChangeInterval;
}
/**
* Do leaders need to pay for setting the member fee?
* @return true if so
@@ -753,6 +760,11 @@ public final class SettingsManager {
return false;
}
@SuppressWarnings("deprecation")
public boolean isBanned(String playerName) {
return isBanned(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Check whether a player is banned
*
@@ -783,6 +795,11 @@ public final class SettingsManager {
save();
}
@SuppressWarnings("deprecation")
public void addBanned(String playerName) {
addBanned(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* Remove a player from the banned list
*
@@ -795,6 +812,11 @@ public final class SettingsManager {
save();
}
@SuppressWarnings("deprecation")
public void removeBanned(String playerName) {
removeBanned(Bukkit.getOfflinePlayer(playerName).getUniqueId());
}
/**
* @return the plugin
*/
@@ -1126,22 +1126,27 @@ public final class StorageManager {
query = "ALTER TABLE sc_kills ADD victim_uuid VARCHAR( 255 ) DEFAULT NULL;";
core.execute(query);
}
boolean useMysql = plugin.getSettingsManager().isUseMysql();
if (!core.existsColumn("sc_players", "uuid")) {
query = "ALTER TABLE sc_players ADD uuid VARCHAR( 255 ) DEFAULT NULL;";
core.execute(query);
if (plugin.getSettingsManager().isUseMysql()) {
if (useMysql) {
query = "ALTER TABLE `sc_players` ADD UNIQUE `uq_player_uuid` (`uuid`);";
core.execute(query);
}
updatePlayersToUUID();
query = "ALTER TABLE sc_players DROP INDEX uq_sc_players_1;";
if (useMysql) {
query = "ALTER TABLE sc_players DROP INDEX uq_sc_players_1;";
} else {
query = "DROP INDEX IF EXISTS uq_sc_players_1;";
}
core.execute(query);
}
if (core.existsColumn("sc_players", "uuid") && !plugin.getSettingsManager().isUseMysql()) {
if (core.existsColumn("sc_players", "uuid") && !useMysql) {
query = "CREATE UNIQUE INDEX IF NOT EXISTS `uq_player_uuid` ON `sc_players` (`uuid`);";
core.execute(query);
}
@@ -2,6 +2,7 @@ package net.sacredlabyrinth.phaed.simpleclans.managers;
import io.papermc.lib.PaperLib;
import net.sacredlabyrinth.phaed.simpleclans.*;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
@@ -63,8 +64,7 @@ public final class TeleportManager {
}
}
public void teleport(Clan clan, Location location) {
List<ClanPlayer> members = clan.getOnlineMembers();
private void teleport(Clan clan, Location location, List<ClanPlayer> members) {
for (ClanPlayer cp : members) {
Player player = cp.toPlayer();
if (player == null) {
@@ -88,6 +88,14 @@ public final class TeleportManager {
}
}
public void teleport(@NotNull Player requester, @NotNull Clan clan, @NotNull Location location) {
teleport(clan, location, VanishUtils.getNonVanished(requester, clan));
}
public void teleport(Clan clan, Location location) {
teleport(clan, location, VanishUtils.getNonVanished(null, clan));
}
private void dropItems(Player player) {
if (plugin.getPermissionsManager().has(player, "simpleclans.mod.keep-items")) {
return;
@@ -38,6 +38,10 @@ public class PlayerHeadCacheTask extends BukkitRunnable {
players.sort(Comparator.comparing(ClanPlayer::getName));
for (ClanPlayer player : players) {
if (isCancelled()) {
plugin.getLogger().info("Player heads caching task cancelled!");
return;
}
ItemStack itemStack = new ItemStack(Material.PLAYER_HEAD);
SkullMeta itemMeta = (SkullMeta) itemStack.getItemMeta();
if (itemMeta != null) {
@@ -5,6 +5,7 @@ import net.sacredlabyrinth.phaed.simpleclans.*;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer.Channel;
import net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager;
import net.sacredlabyrinth.phaed.simpleclans.ui.*;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
@@ -235,7 +236,7 @@ public class ClanDetailsFrame extends SCFrame {
if (plugin.getSettingsManager().isePurchaseHomeRegroup()) {
price = plugin.getSettingsManager().getHomeRegroupPrice();
if (!plugin.getSettingsManager().iseUniqueTaxOnRegroup()) {
price = price * clan.getOnlineMembers().size();
price = price * VanishUtils.getNonVanished(getViewer(), clan).size();
}
}
@@ -8,6 +8,7 @@ import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
import net.sacredlabyrinth.phaed.simpleclans.ui.*;
import net.sacredlabyrinth.phaed.simpleclans.utils.KDRFormat;
import net.sacredlabyrinth.phaed.simpleclans.utils.Paginator;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
@@ -89,7 +90,7 @@ public class Components {
clan.getDescription() != null && !clan.getDescription().isEmpty() ? clan.getDescription() : lang("no.description",viewer)),
lang("gui.clandetails.clan.lore.status",viewer, clan.isVerified() ? lang("verified",viewer) : lang("unverified",viewer)),
lang("gui.clandetails.clan.lore.leaders",viewer, clan.getLeadersString("", ", ")),
lang("gui.clandetails.clan.lore.online.members",viewer, clan.getOnlineMembers().size(), clan.getMembers().size()),
lang("gui.clandetails.clan.lore.online.members",viewer, VanishUtils.getNonVanished(viewer, clan).size(), clan.getMembers().size()),
lang("gui.clandetails.clan.lore.kdr",viewer, KDRFormat.format(clan.getTotalKDR())),
lang("gui.clandetails.clan.lore.kill.totals",viewer, clan.getTotalRival(), clan.getTotalNeutral(), clan.getTotalCivilian()),
lang("gui.clandetails.clan.lore.deaths",viewer, clan.getTotalDeaths()),
@@ -9,12 +9,12 @@ import net.sacredlabyrinth.phaed.simpleclans.ui.SCComponent;
import net.sacredlabyrinth.phaed.simpleclans.ui.SCComponentImpl;
import net.sacredlabyrinth.phaed.simpleclans.ui.SCFrame;
import net.sacredlabyrinth.phaed.simpleclans.utils.Paginator;
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.meta.SkullMeta;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
@@ -36,7 +36,7 @@ public class CoordsFrame extends SCFrame {
@Override
public void createComponents() {
List<ClanPlayer> allMembers = subject.getOnlineMembers();
List<ClanPlayer> allMembers = VanishUtils.getNonVanished(getViewer(), subject);
allMembers.sort((cp1, cp2) -> Boolean.compare(cp1.isLeader(), cp2.isLeader()));
paginator = new Paginator(getSize() - 9, allMembers.size());
@@ -27,34 +27,46 @@ public class MainFrame extends SCFrame {
add(Components.getPlayerComponent(this, getViewer(), getViewer(), 0, false));
add(Components.getClanComponent(this, getViewer(),
plugin.getClanManager().getCreateClanPlayer(getViewer().getUniqueId()).getClan(), 1, true));
addLeaderboard();
addClanList();
addResetKdr();
addStaff();
addLanguageSelector();
addOtherCommands();
}
private void addOtherCommands() {
SCComponent otherCommands = new SCComponentImpl(lang("gui.main.other.commands.title",getViewer()),
Collections.singletonList(lang("gui.main.other.commands.lore",getViewer())), XMaterial.BOOK, 8);
otherCommands.setListener(ClickType.LEFT, () -> InventoryController.runSubcommand(getViewer(), "help", false));
add(otherCommands);
}
private void addStaff() {
if (plugin.getPermissionsManager().has(getViewer(), "simpleclans.mod.staffgui")) {
SCComponent staff = new SCComponentImpl.Builder(XMaterial.COMMAND_BLOCK).withSlot(6).withDisplayName(
lang("gui.main.staff.title", getViewer())).withLore(Collections.singletonList(lang("gui.main.staff.lore", getViewer()))).build();
staff.setPermission(ClickType.LEFT, "simpleclans.mod.staffgui");
staff.setListener(ClickType.LEFT, () -> InventoryDrawer.open(new StaffFrame(this, getViewer())));
add(staff);
}
}
private void addLeaderboard() {
SCComponent leaderboard = new SCComponentImpl(lang("gui.main.leaderboard.title",getViewer()),
Collections.singletonList(lang("gui.main.leaderboard.lore",getViewer())), XMaterial.PAINTING, 3);
leaderboard.setListener(ClickType.LEFT, () -> InventoryDrawer.open(new LeaderboardFrame(getViewer(), this)));
leaderboard.setPermission(ClickType.LEFT, "simpleclans.anyone.leaderboard");
add(leaderboard);
}
private void addClanList() {
SCComponent clanList = new SCComponentImpl(lang("gui.main.clan.list.title", getViewer()),
Collections.singletonList(lang("gui.main.clan.list.lore", getViewer())), XMaterial.PURPLE_BANNER,
4);
clanList.setListener(ClickType.LEFT, () -> InventoryDrawer.open(new ClanListFrame(this, getViewer())));
clanList.setPermission(ClickType.LEFT, "simpleclans.anyone.list");
add(clanList);
addResetKdr();
if (plugin.getPermissionsManager().has(getViewer(), "simpleclans.mod.staffgui")) {
SCComponent staff = new SCComponentImpl.Builder(XMaterial.COMMAND_BLOCK).withSlot(6).withDisplayName(
lang("gui.main.staff.title", getViewer())).build();
staff.setPermission(ClickType.LEFT, "simpleclans.mod.staffgui");
staff.setListener(ClickType.LEFT, () -> InventoryDrawer.open(new StaffFrame(this, getViewer())));
add(staff);
}
addLanguageSelector();
SCComponent otherCommands = new SCComponentImpl(lang("gui.main.other.commands.title",getViewer()),
Collections.singletonList(lang("gui.main.other.commands.lore",getViewer())), XMaterial.BOOK, 8);
otherCommands.setListener(ClickType.LEFT, () -> InventoryController.runSubcommand(getViewer(), "help", false));
add(otherCommands);
}
private void addLanguageSelector() {
@@ -92,7 +104,7 @@ public class MainFrame extends SCFrame {
@Override
public @NotNull String getTitle() {
return lang("gui.main.title",getViewer());
return lang("gui.main.title", getViewer(), plugin.getSettingsManager().getServerName());
}
@Override
@@ -0,0 +1,56 @@
package net.sacredlabyrinth.phaed.simpleclans.utils;
import net.sacredlabyrinth.phaed.simpleclans.Clan;
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
public class VanishUtils {
private VanishUtils() {}
public static @NotNull List<ClanPlayer> getNonVanished(@Nullable CommandSender viewer, @NotNull Clan clan) {
return getNonVanished(viewer, clan.getAllMembers());
}
public static @NotNull List<ClanPlayer> getNonVanished(@Nullable CommandSender viewer,
@NotNull List<ClanPlayer> clanPlayers) {
ArrayList<ClanPlayer> nonVanished = new ArrayList<>();
for (ClanPlayer cp : clanPlayers) {
Player player = cp.toPlayer();
if (!isVanished(viewer, player)) {
nonVanished.add(cp);
}
}
return nonVanished;
}
@Contract("_, null -> true")
public static boolean isVanished(@Nullable CommandSender viewer, @Nullable Player player) {
if (isVanished(player)) {
return true;
}
if (viewer instanceof Player) {
return !((Player) viewer).canSee(player);
}
return false;
}
@Contract("null -> true")
public static boolean isVanished(@Nullable Player player) {
if (player == null || !player.isOnline()) {
return true;
}
if (player.hasMetadata("vanished") && !player.getMetadata("vanished").isEmpty()) {
return player.getMetadata("vanished").get(0).asBoolean();
}
return false;
}
}
@@ -35,6 +35,7 @@ public class YAMLSerializer {
YamlConfiguration config = new YamlConfiguration();
if (cs != null) {
try {
config.loadFromString(cs);
return (T) config.get("cs");
} catch (Exception e) {
LOGGER.warning(String.format(
+1
View File
@@ -88,6 +88,7 @@ economy:
purchase-member-fee-set: false
member-fee-set-price: 1000.0
member-fee-enabled: false
member-fee-last-minute-change-interval: 8
max-member-fee: 200.0
upkeep: 200.0
upkeep-enabled: false
+14 -9
View File
@@ -82,6 +82,7 @@ acf-core.parameter.displayname=display name
acf-core.parameter.permission=permission
acf-core.parameter.message=message
acf-core.parameter.tag=tag
acf-core.parameter.name=name
acf-core.parameter.fee=fee
acf-core.parameter.description=description
acf-core.parameter.player=player
@@ -180,9 +181,6 @@ command.description.rank.permissions.available=Lists the available rank permissi
command.description.rank.permissions.rank=Lists a rank''s permissions
command.description.rank.permissions.add=Adds a permission to a rank
command.description.rank.permissions.remove=Removes a permission from a rank
0.place=/{0} place [player] [tag]{1} - Place a player in a clan
0.toggle.command=/{0} toggle [{2}]{1} - Toggle personal settings
0.kills=/{0} kills{1} - View your kill counts
home-menu=/{0} home{1} - Teleport to clan home-base
home-set-menu=/{0} home set{1} - Set the clan''s home base
home-clear-menu=/{0} home clear{1} - Clear the clan''s home base
@@ -518,7 +516,7 @@ gui.back.title=&fBack
gui.previous.page.title=&fPrevious Page
gui.next.page.title=&fNext Page
gui.lore.no.permission=&cYou don''t have permission to see this!
gui.main.title=SimpleClans
gui.main.title={0} - clan menu
gui.main.languageselector.title=&fSelect your language
gui.main.languageselector.lore.left.click=&7Left-click to select your language
gui.main.languageselector.lore.right.click=&7Right-click to help translating
@@ -532,6 +530,7 @@ gui.main.reset.kdr.lore=&7Left-click to reset your KDR
gui.main.leaderboard.title=&fLeaderboard
gui.main.leaderboard.lore=&7Left-click to see the leaderboard
gui.main.staff.title=&fStaff
gui.main.staff.lore=&7Left-click to open staff menu
gui.staff.title=Staff
gui.staff.clan.list.lore.left.click=&7Left-click to see all clans
gui.staff.clan.list.lore.right.click=&7Right-click to see all unverified clans
@@ -719,14 +718,10 @@ gui.confirmation.return=&7Click here to return
gui.not.supported=&cAn error occurred while opening the GUI! Disabling it... Did you download the correct version?
staff.member.verify.clan=&cA staff member must verify your clan!
player.already.has.that.rank=&cThe player already has that rank!
enabled.clan.chat=&bYou have enabled clan chat
disabled.clan.chat=&bYou have disabled clan chat
joined.clan.chat=&bYou have joined clan chat
left.clan.chat=&bYou have left clan chat
muted.clan.chat=&bYou have muted clan chat
unmuted.clan.chat=&bYou have unmuted clan chat
enabled.ally.chat=&bYou have enabled ally chat
disabled.ally.chat=&bYou have disabled ally chat
joined.ally.chat=&bYou have joined ally chat
left.ally.chat=&bYou have left ally chat
muted.ally.chat=&bYou have muted ally chat
@@ -775,4 +770,14 @@ player.lookup=\
&7Inactive: &f%player_inactive_days%&7/&f%player_max_inactive_days% days\n \
%kill_type_line%
economy.disabled=&cEconomy disabled!
has.been.purged={0}''s data has been purged
has.been.purged={0}''s data has been purged
accepted.invitation=&bYou have accepted {0}''s invitation
denied.invitation=&cYou have denied {0}''s invitation
must.be.in.clan.to.pvp=&cYou and {0} must be clan members to PvP!
clans.not.at.war.pvp.denied=&cYour clan is not at war with {0}!
cannot.attack.civilians=&cYou cannot attack civilians!
cannot.attack.clan.member=&cYou cannot attack another clan member!
cannot.attack.ally=&cYou cannot attack an ally!
cannot.change.member.fee.now=&cYou cannot change the member fee close to its collection time.
cannot.change.member.fee.hours=&cTry again in {0} hours...
cannot.change.member.fee.minutes=&cTry again in {0} minute(s)...
+48 -15
View File
@@ -1,7 +1,12 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=beschreibung
create.command=erstellen
delete.command=löschen
rank.command=rang
permissions.command=berechtigung
list.command=liste
list.type.name=name
list.type.size=groesse
list.type.active=aktiv
profile.command=profil
roster.command=mitglieder
lookup.command=suchen
@@ -12,17 +17,33 @@ vitals.command=vitale
coords.command=koordinaten
stats.command=stats
ally.command=verbündeter
add.command=anlegen
remove.command=entfernen
allow.command=zulassen
block.command=blockieren
auto.command=auto
check.command=prüfen
assign.command=zuweisen
unassign.command=aufheben
rival.command=rivale
bb.command=bb
clear.command=leeren
modtag.command=modtag
toggle.command=umschalten
tag.command=markieren
deposit.command=einzahlen
all.command=alles
withdraw.command=auszahlen
invite.command=einladen
kick.command=kick
bank.command=bank
status.command=status
fee.command=gebühr
set.command=setzen
purge.command=bereinigen
trust.command=vertrauen
untrust.command=vertrauen entziehen
admin.command=admin
promote.command=befördern
demote.command=herunterstufen
clanff.command=clanff
@@ -37,17 +58,31 @@ globalff.command=globalff
kills.command=kills
mostkilled.command=mostkilled
war.command=krieg
start.command=start
end.command=ende
home.command=home
me.command=ich
tp.command=tp
setrank.command=setrank
place.command=platzieren
resetkdr.command=zurücksetzen kdr
everyone.command=jeder
help.command=hilfe
usage.0.rivalries=Verwendung\: /{0} Rivalitäten
usage.0.stats=Verwendung\: /{0} Statistik
usage.0.vitals=Verwendung\: /{0} vitale
0.place=/{0} Platziere [player] [tag]{1} - Platziere einen Spieler in einen Clan
0.toggle.command=/{0} toggle [{2}]{1} - Schaltet die persönlichen Einstellungen um
0.kills=/{0} Kills{1} - Zeigt die Anzahl deiner Kills an
acf-core.parameter.member=mitglieder
acf-core.parameter.rank=rang
acf-core.parameter.leader=anfuehrer
acf-core.parameter.displayname=anzeigename
acf-core.parameter.permission=berechtigung
acf-core.parameter.message=nachricht
acf-core.parameter.fee=gebühr
acf-core.parameter.description=beschreibung
acf-core.parameter.player=spieler
acf-core.parameter.clan=clan
acf-core.parameter.type=typ
acf-core.parameter.order=bestellung
acf-core.parameter.help=seite oder schlüsselwörter
command.description.stats=Zeigt die Mitgliederstatistik deines Clans an
command.description.rivalries=Zeigt alle Clan-Rivalitäten
home-menu=/{0} Home{1} - Teleportiert dich in die Clan Basis
home-set-menu=/{0} Home set{1} - Setzt die Clan Basis
home-clear-menu=/{0} Home clear{1} - Entfernt die Clan Basis
@@ -145,8 +180,6 @@ has.been.disbanded.alliance.ended={0} wurde aufgelöst. Allianz beendet.
clan.disbanded=Clan aufgelöst
1.color.day=1 {0}Tag
many.color.days={0}{1} Tage
does.not.match=Passt zu keinem Clan Command
simpleclans.command.failure=SimpleClans Command Fehler\: {0}
insufficient.permissions=Unzureichende Berechtigungen
clan.is.not.verified=Clan ist nicht verifiziert
not.a.member.of.any.clan=Du bist kein Mitglied in einem Clan
@@ -204,7 +237,6 @@ total.clans=Gesamte Clans\:
legend=Legende\:
kill.type.civilian=Töte Typ\: {0}Zivilist
no.player.data.found=Keine Spielerdaten gefunden
s.player.info={0}''s Spieler-Info
clan.0=Clan\: {0}
status.0=Status\:{0}
rank.0=Rang\: {0}
@@ -260,6 +292,8 @@ join=beitreten
mute=stummschalten
player.rank.changed=Rang würde gesetzt
your.clans.are.already.rivals=Eure Clans sind bereits Rivalen
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.disband.lore=&7Middle-Klick, um deinen Clan aufzulösen
gui.clandetails.chat.title=&fChat
gui.clandetails.chat.clan.chat.lore=&7/{0} [message] - &bSendet eine Nachricht an den Clan Chat
@@ -281,6 +315,7 @@ gui.playerdetails.player.lore.kill.totals=&7Kill Totale\: &b[Rival\:{0} Neutral\
gui.playerdetails.player.lore.deaths=&7Tode\: &b{0}
gui.playerdetails.player.lore.join.date=&7Beitrittsdatum\: &b{0}
gui.playerdetails.player.lore.last.seen=&7Zuletzt gesehen\: &b{0}
# suppress inspection "TrailingSpacesInProperty"
gui.playerdetails.player.lore.past.clans.separator=&b,
gui.playerdetails.player.lore.past.clans=&7Letzte Clans\: &b{0}
gui.playerdetails.player.lore.inactive=&7Inaktiv\:{0}/{1} Tage
@@ -296,18 +331,16 @@ gui.playerdetails.trust.lore.left.click=&7Linksklick zum Vertrauen
gui.playerdetails.untrust.lore.right.click=&7Rechtsklick, um das Vertrauen aufzuheben
staff.member.verify.clan=&cEin Admin muss deinen Clan verifizieren\!
player.already.has.that.rank=&cDer Spieler hat bereits diesen Rang\!
enabled.clan.chat=&bDu hast den Clan-Chat aktiviert
disabled.clan.chat=&bDu hast den Clan-Chat deaktiviert
joined.clan.chat=&bDu bist dem Clan-Chat beigetreten
left.clan.chat=&bDu hast den Clan-Chat verlassen
muted.clan.chat=&bDu hast den Clan-Chat stumm geschaltet
unmuted.clan.chat=&bDu hast den Clan-Chat freigeschaltet
enabled.ally.chat=&bDu hast den Allianzchat aktiviert
disabled.ally.chat=&bDu hast den Allianzchat deaktiviert
joined.ally.chat=&bDu hast dem Allianzchat beigetreten
left.ally.chat=&bDu hast den Allianzchat verlassen
muted.ally.chat=&bDu hast den Allianz-Chat stumm gemacht
unmuted.ally.chat=&bDu hast den Allianzchat freigeschaltet
player.already.in.this.clan=&cDer Spieler ist bereits in diesem Clan
your.clan.reached.max.alliances=&cDein Clan hat die maximale Anzahl an Allianzen erreicht
other.clan.reached.max.alliances=&cDer andere Clan hat die maximale Anzahl an Allianzen erreicht
other.clan.reached.max.alliances=&cDer andere Clan hat die maximale Anzahl an Allianzen erreicht
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+165 -19
View File
@@ -1,8 +1,17 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=description
create.command=create
delete.command=delete
rank.command=rank
setdisplayname.command=setdisplayname
permissions.command=permissions
list.command=list
list.order.asc=asc
list.order.desc=desc
list.type.name=name
list.type.kdr=kdr
list.type.size=size
list.type.founded=founded
list.type.active=active
profile.command=profile
roster.command=roster
lookup.command=lookup
@@ -13,17 +22,33 @@ vitals.command=vitals
coords.command=coords
stats.command=stats
ally.command=ally
add.command=add
remove.command=remove
allow.command=allow
block.command=block
auto.command=auto
check.command=check
assign.command=assign
unassign.command=unassign
rival.command=rival
bb.command=bb
clear.command=clear
modtag.command=modtag
toggle.command=toggle
tag.command=tag
deposit.command=deposit
all.command=all
withdraw.command=withdraw
invite.command=invite
kick.command=kick
bank.command=bank
status.command=status
fee.command=fee
set.command=set
purge.command=purge
trust.command=trust
untrust.command=untrust
admin.command=admin
promote.command=promote
demote.command=demote
clanff.command=clanff
@@ -38,22 +63,126 @@ globalff.command=globalff
kills.command=kills
mostkilled.command=mostkilled
war.command=war
start.command=start
end.command=end
home.command=home
regroup.command=regroup
me.command=me
tp.command=tp
setrank.command=setrank
place.command=place
resetkdr.command=resetkdr
everyone.command=everyone
setbanner.command=setbanner
help.command=ayuda
usage.0.rivalries=Uso\: /{0} rivalries
usage.0.stats=Uso\: /{0} stats
usage.0.vitals=Uso\: /{0} vitals
0.place=/{0} place [player] [tag]{1} - Pon a un jugador en un clan
0.toggle.command=/{0} toggle [{2}]{1} - Maneja configuraciones personales
0.kills=/{0} kills{1} - Mira tu cantidad de asesinatos
acf-core.parameter.member=miembro
acf-core.parameter.rank=rango
acf-core.parameter.leader=líder
acf-core.parameter.displayname=nombre de pantalla
acf-core.parameter.permission=permiso
acf-core.parameter.message=mensaje
acf-core.parameter.tag=tag
acf-core.parameter.fee=tarifa
acf-core.parameter.description=descripción
acf-core.parameter.player=jugador
acf-core.parameter.clan=clan
acf-core.parameter.type=tipo
acf-core.parameter.order=orden
acf-core.parameter.help=pagina o palabras clave
command.description.stats=Muestra las estadisticas de los miembros de tu clan
command.description.rivalries=Muestra todas las rivalidades del clan
command.description.mostkilled=Muestra el top de asesinatos del server
command.description.kills=Muestra la cantidad de asesinatos tuyas o de un jugador
command.description.lookup=Muestra tu informacion
command.description.lookup.other=Muestra informacion de un jugador
command.description.leaderboard=Muestra la tabla de posiciones
command.description.roster.other=Lista los miembros de otro clan
command.description.roster=Lista los miembros de tu clan
command.description.profile.other=Muestra el perfil de otro clan
command.description.profile=Muestra el perfil de tu clan
command.description.vitals=Muestra las vitalidades de tu clan y aliados
command.description.list=Lista todos los clanes
command.description.chat=Habla en el chat del clan
command.description.ally=Habla en el chat de aliados
command.description.deny=Deniega una solicitud
command.description.accept=Acepta una solicitud
command.description.more=Muestra mas informacion
command.description.create=Crea un clan
command.description.ff.allow=Activa tu fuego amigo personal
command.description.ff.auto=Establece tu fuego amigo personal en automatico
command.description.globalff.allow=Activa el fuego amigo global
command.description.globalff.auto=Establece el fuego amigo global en automatico
command.description.clanff.allow=Activa el fuego amigo de tu clan
command.description.clanff.block=Desactiva el fuego amigo de tu clan
command.description.description=Establece la descripcion de tu clan
command.description.ban=Banea a un jugador de usar comandos de clanes
command.description.unban=Desbanea a un jugador de usar comandos de clanes
command.description.regroup.me=Reagrupa los miembros de tu clan en tu ubicacion
command.description.regroup.home=Reagrupa los miembros de tu clan en la casa del clan
command.description.home.tp=Teletransporta a la casa de tu clan
command.description.home.clear=Borra la casa de tu clan
command.description.home.set=Establece la casa de tu clan
command.description.mod.home.set=Establece la casa de un clan
command.description.mod.home.tp=Teletransporta a la casa de un clan
command.description.rival.remove=Remueve a un rival
command.description.rival.add=Añade a un rival
command.description.ally.remove=Remueve a un aliado
command.description.kick=Expulsa a un miembro de tu clan
command.description.bb.display=Muestra el tablero de anuncios
command.description.bb.clear=Limpia el tablero de anuncios
command.description.bb.post=Publica un mensaje en el tablero de anuncios de tu clan
command.description.place=Coloca a un jugador en un clan
command.description.reload=Recarga el plugin y su configuracion
command.description.trust=Confia en un miembro
command.description.untrust=Desconfia a un miembro
command.description.resign=Abandona tu clan
command.description.help=Muestra esta ayuda o busca en ayuda
command.description.ally.add=Añade un aliado
command.description.clan=Abre la interfaz grafica
command.description.disband=Disuelve tu clan
command.description.mod.disband=Disuelve un clan
command.description.modtag=Modifica la etiqueta de un clan
command.description.purge=Purga informacion de un jugador
command.description.setbanner=Establece la bandera de tu clan
command.description.verify=Verifica tu clan
command.description.mod.verify=Verifica un clan
command.description.invite=Invita a un jugador a tu clan
command.description.fee.check=Muestra el valor de la tarifa de tu clan y si esta activada
command.description.fee.set=Establece la tarifa de tu clan
command.description.bank.status=Comprueba el balance bancario de tu clan
command.description.bank.withdraw.all=Retira todo del banco de tu clan
command.description.bank.withdraw.amount=Retira un monto del banco de tu clan
command.description.bank.deposit.all=Deposita todo tu dinero en el banco de tu clan
command.description.bank.deposit.amount=Deposita un monto de tu dinero en el banco de tu clan
command.description.war.start=Empieza una guerra
command.description.war.end=Termina una guerra
command.description.resetkdr.everyone=Restablece el KDR de todos los jugadores
command.description.resetkdr.player=Restablece el KDR de un jugador
command.description.resetkdr=Restablece tu KDR
command.description.admin.demote=Degrada algun lider de algun clan
command.description.demote=Degrada un lider
command.description.admin.promote=Promueve algun miembro de algun clan
command.description.promote=Promueve un miembro a lider
command.description.toggle.bb=Establece si el tablero de anuncios debe mostrarse al entrar al servidor
command.description.toggle.tag=Establece si el tag de tu clan deberia mostrarse al lado de tu nombre
command.description.toggle.deposit=Establece si los depositos de dinero estan permitidos en tu clan
command.description.toggle.withdraw=Establece si los retiros de dinero estan permitidos en tu clan
command.description.toggle.fee=Establece si la tarifa del clan esta activada
command.description.alliances=Lista toda las alianzas de los clanes
command.description.coords=Muestra las coordenadas de los miembros de tu clan
command.description.rank.assign=Asigna un rango a un miembro
command.description.rank.unassign=Desasigna a un miembro de un rango
command.description.rank.create=Crea un rango
command.description.rank.delete=Elimina un rango
command.description.rank.list=Lista los rangos de tu clan
command.description.rank.setdisplayname=Establece el nombre de pantalla de tu rango
command.description.rank.permissions.available=Lista los permisos de rango disponibles
command.description.rank.permissions.rank=Lista los permisos de un rango
command.description.rank.permissions.add=Añade un permiso a un rango
command.description.rank.permissions.remove=Quita un permiso de un rango
home-menu=/{0} home{1} - Telertransportate a la casa del clan
home-set-menu=/{0} home set{1} - Fija la casa del clan
home-clear-menu=/{0} home clear{1} - Remueve la casa del clan
home-regroup-menu=/{0} home regroup [me]{1} - Reagrupa a todos los miembros del clan en la casa o en tu ubicacion
clan=Clan
allies=Aliados
alliances=alianzas
@@ -139,6 +268,7 @@ clan.players=Jugadores del clan\: {0}
clans=Clanes\: {0}
banned=Fuiste baneado de usar comandos de clanes
nothing.more.to.see=Nada mas que ver
nothing.to.vote=&cNada que aceptar o denegar
no.leader.permissions=No tienes permisos de lider
you.have.already.voted=Ya has votado
has.voted.to.deny={0} ha votado denegar
@@ -150,12 +280,13 @@ has.been.disbanded.alliance.ended={0} ha sido disuelto. La alianza ha finalizado
clan.disbanded=Clan Disuelto
1.color.day=1 {0}dia
many.color.days={0}{1} dias
does.not.match=No es un comando de clanes
simpleclans.command.failure=SimpleClans command failure\: {0}
insufficient.permissions=Permisos insuficientes
clan.is.not.verified=El clan no esta verificado
player.not.a.member.of.any.clan=&cEl jugador no es miembro de ningun clan
not.a.member.of.any.clan=No eres un miembro de ningun clan
minimum.to.make.alliance=Tu clan debe tener por lo menos {0} para hacer alianzas
cannot.be.same.clan=&cDebes introducir un clan distinto al tuyo\!
other.clan.not.verified=&cEl otro clan no esta verificado\!
your.clans.are.not.allies=Sus clanes no son aliados
has.broken.the.alliance={0} ha roto la alianza con {1}
at.least.one.leader.accept.the.alliance=Por lo menos un lider del otro clan debe estar conectado para hacer la alianza
@@ -209,7 +340,6 @@ total.clans=Clanes Totales\:
legend=Leyenda\:
kill.type.civilian=Tipo de Asesinato\: {0}Civil
no.player.data.found=No se encontro informacion de jugador
s.player.info={0} informacion de jugador
clan.0=Clan\: {0}
status.0=Estatus\: {0}
rank.0=Rango\: {0}
@@ -223,6 +353,7 @@ description.0=Descripcion\: {0}
leaders.0=Lideres\: {0}
allies.0=Aliados\: {0}
rivals.0=Rivales\: {0}
other.player.must.be.online=&cEl jugador debe estar en linea\!
the.player.does.not.have.the.permissions.to.lead.a.clan=El jugador no tiene permiso de ser lider de un clan
you.cannot.promote.yourself=No puedes promoverte a ti mismo
the.player.is.already.a.leader=El jugador ya es un lider
@@ -371,8 +502,8 @@ no.ranks=Ningun rango fue creado
rank.no.permissions=Este rango no tiene ningun permiso
player.unassigned.from.rank=Jugador desasignado del rango
you.must.be.0.or.have.the.permission.1.to.use.this=Debes ser {0} o tu lider debe darle a tu rango el permiso {1} para usar esto
deposit.not.allowed=Deposito no permitido
withdraw.not.allowed=Retiro no permitido
deposit.not.allowed=Depositos desactivados, usa /%clan %toggle %deposit para activarlo
withdraw.not.allowed=Retiros desactivados, usa /%clan %toggle %withdraw para activarlo
resign.request.cancelled=Solicitud para abandonar el clan cancelada.
promotion.vote.has.been.requested.from.all.leaders=Votacion para promover ha sido solicitada a todos los lideres
allowed=permitido
@@ -384,7 +515,7 @@ gui.back.title=&fAtras
gui.previous.page.title=&fPágina anterior
gui.next.page.title=&fPagina siguiente
gui.lore.no.permission=&cNo tienes permiso para ver esto\!
gui.main.title=SimpleClans
gui.main.title={0} - menu del clan
gui.main.languageselector.title=&fElige tu idioma
gui.main.languageselector.lore.left.click=&7Clic izquierdo para seleccionar tu idioma
gui.main.languageselector.lore.right.click=&7Clic derecho para ayudar traduciendo
@@ -476,7 +607,9 @@ gui.clandetails.clan.lore.kdr=&7KDR\: &b{0}
gui.clandetails.clan.lore.kill.totals=&7Asesinatos Totales\: &b[Rivales\:{0} Neutrales\:{1} Civiles\:{2}]
gui.clandetails.clan.lore.deaths=&7Muertes\: &b{0}
gui.clandetails.clan.lore.fee=&7Cuota\: &b{0}, {1} $
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.allies.separator=&b,
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.rivals.separator=&b,
gui.clandetails.clan.lore.allies=&7Aliados\: &b{0}
gui.clandetails.clan.lore.rivals=&7Rivales\: &b{0}
@@ -550,6 +683,7 @@ gui.playerdetails.player.lore.kill.totals=&7Asesinatos Totales\: &b[Rivales\:{0}
gui.playerdetails.player.lore.deaths=&7Muertes\: &b{0}
gui.playerdetails.player.lore.join.date=&7Fecha de ingreso\: &b{0}
gui.playerdetails.player.lore.last.seen=&7Visto por ultima vez\: &b{0}
# suppress inspection "TrailingSpacesInProperty"
gui.playerdetails.player.lore.past.clans.separator=&b,
gui.playerdetails.player.lore.past.clans=&7Clanes anteriores\: &b{0}
gui.playerdetails.player.lore.inactive=&7Inactivo\: &b{0}/{1} dias
@@ -582,14 +716,10 @@ gui.confirmation.return=&7Haz clic aqui para regresar
gui.not.supported=&cHa ocurrido un error al abrir la GUI\! Desactivandola... ¿Descargaste la version correcta?
staff.member.verify.clan=&cUn miembro del staff debe verificar tu clan\!
player.already.has.that.rank=&cEl jugador ya tiene ese rango\!
enabled.clan.chat=&bHas activado el chat del clan
disabled.clan.chat=&bHas desactivado el chat del clan
joined.clan.chat=&bTe has unido al chat del clan
left.clan.chat=&bHas dejado el chat del clan
muted.clan.chat=&bHas silenciado el chat del clan
unmuted.clan.chat=&bHas des-silenciado el chat del clan
enabled.ally.chat=&bHas activado el chat de aliados
disabled.ally.chat=&bHas desactivado el chat de aliados
joined.ally.chat=&bTe has unido al chat de aliados
left.ally.chat=&bHas dejado el chat de aliados
muted.ally.chat=&bHas silenciado el chat de aliados
@@ -603,4 +733,20 @@ insert.rank.name=&bPon el nombre del rango\:
click.to.help.translating=&bHaz clic en este link para ayudar a traducir\:\n&r{0}
your.clan.must.have.members.to.verify=&cTu clan debe tener al menos {0} miembros para ser verificado\!
you.must.hold.a.banner=&cDebes tener un estandarte en tu mano\!
you.changed.clan.banner=&bHas cambiado el estandarte de tu clan\!
you.changed.clan.banner=&bHas cambiado el estandarte de tu clan\!
your.clan.already.verified=&cTu clan ya esta verificado\!
# suppress inspection "TrailingSpacesInProperty"
clan.profile=\n&7Perfil de &b%clan_name%&8-------------------------------------------\n \n &7Nombre\: &e[&8%clan_color_tag%&e] &b%clan_name%\n &7Descripcion\: &f%clan_description%\n &7Estatus\: &f%clan_verified%\n &7Lideres\: %clan_leaders%\n &7Miembros en Linea\: &f%clan_online_count%&7/&f%clan_size%\n &7KDR\: &e%clan_kdr%\n &7Asesinatos Totales\: &8[Rivales\:&f%clan_rival_kills% &8Neutrales\:&f%clan_neutral_kills% &8Civiles\:&f%clan_civilian_kills%&8]\n &7Muertes\: &f%clan_deaths%\n &7Tarifa\: &f%clan_fee_enabled%&7, &f%clan_fee_value% $\n &7Aliados\: &f%clan_allies%\n &7Rivales\: &f%clan_rivals%\n &7Fundado\: &f%clan_founded%\n &7Inactivo\: &f%clan_inactive_days%&7/&f%clan_max_inactive_days% dias\n
player.lookup.clanname=&e[&8%clan_color_tag%&e] &b%clan_name%
# suppress inspection "TrailingSpacesInProperty"
player.lookup.killtype=&7Tipo de Asesinato\: %player_kill_type%\n
player.lookup=\n&Informacion de jugador &b%player_name% &8-------------------------------------------\n \n &7Clan\: &f%clan_name%\n &7Rango\: &f%player_rank%\n &7Estatus\: &f%player_status%\n &7KDR\: &e%player_kdr%\n &7Asesinatos Totales\: &8[Rivales\:&f%player_rival_kills% &8Neutrales\:&f%player_neutral_kills% &8Civiles\:&f%player_civilian_kills%&8]\n &7Muertes\: &f%player_deaths%\n &7Fecha de Ingreso\: &f%player_join_date%\n &7Visto por Ultima Vez\: &f%player_last_seen%\n &7Clanes Anteriores\: &f%player_past_clans%\n &7Inactivo\: &f%player_inactive_days%&7/&f%player_max_inactive_days% dias\n %kill_type_line%
economy.disabled=&cEconomia desactivada\!
has.been.purged=La informacion de {0} fue purgada
accepted.invitation=&bHas aceptado la invitacion de {0}
denied.invitation=&cHas denegado la invitacion de {0}
must.be.in.clan.to.pvp=&cTu y {0} deben ser miembros de un clan para hacer PvP\!
clans.not.at.war.pvp.denied=&cTu clan no esta en guerra con {0}\!
cannot.attack.civilians=&cNo puedes atacar civiles\!
cannot.attack.clan.member=&cNo puedes atacar miembros de tu clan\!
cannot.attack.ally=&cNo puedes atacar a un aliado\!
+134 -16
View File
@@ -1,8 +1,16 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=description
create.command=créer
delete.command=supprimer
rank.command=rang
setdisplayname.command=setdisplayname
permissions.command=permissions
list.command=liste
list.order.desc=desc
list.type.name=nome
list.type.kdr=kda
list.type.size=taille
list.type.founded=fondé
list.type.active=actif
profile.command=profile
roster.command=membres
lookup.command=recherche
@@ -13,17 +21,33 @@ vitals.command=vitaux
coords.command=coordonnées
stats.command=statistiques
ally.command=allie
add.command=ajouter
remove.command=retirer
allow.command=autoriser
block.command=bloquer
auto.command=automatique
check.command=vérifier
assign.command=assigner
unassign.command=enlever
rival.command=rival
bb.command=bb
clear.command=effacer
modtag.command=modtag
toggle.command=basculer
tag.command=tag
deposit.command=dépôt
all.command=tout
withdraw.command=retirer
invite.command=inviter
kick.command=expulser
bank.command=banque
status.command=statut
fee.command=frais
set.command=définir
purge.command=purge
trust.command=confiance
untrust.command=méfiance
admin.command=admin
promote.command=promouvoir
demote.command=rétrograder
clanff.command=clanff
@@ -38,22 +62,84 @@ globalff.command=globalff
kills.command=tue
mostkilled.command=plustué
war.command=guerre
start.command=commencer
end.command=finir
home.command=domicile
regroup.command=regrouper
me.command=moi
tp.command=tp
setrank.command=définitlerang
place.command=place
resetkdr.command=réinitialisationkdr
everyone.command=tout le monde
setbanner.command=définir la bannière
help.command=aide
usage.0.rivalries=Utilisation\: /{0} rivalries
usage.0.stats=Utilisation\: /{0} stats
usage.0.vitals=Utilisation\: /{0} vitals
0.place=/{0} place [player] [tag]{1} - Place un joueur dans un clan
0.toggle.command=/{0} toggle [{2}]{1} - Définir les paramètres personnels
0.kills=/{0} kills{1} - Voir votre nombre de tués
acf-core.parameter.member=membre
acf-core.parameter.rank=rang
acf-core.parameter.leader=chef
acf-core.parameter.displayname=Nom affiché
acf-core.parameter.permission=autorisation
acf-core.parameter.message=message
acf-core.parameter.tag=tag
acf-core.parameter.description=description
acf-core.parameter.player=joueur
acf-core.parameter.clan=clan
acf-core.parameter.help=page ou mots-clés
command.description.list=Liste de tous les clans
command.description.ally=Parle dans le chat des alliés
command.description.deny=Refuser une demande
command.description.accept=Accepter une demande
command.description.more=Voir plus d'infos
command.description.create=Créer un clan
command.description.ff.allow=Défini vos dégats aux autres joueurs sur désactivé
command.description.ff.auto=Défini vos dégats aux autres joueurs sur automatique
command.description.globalff.allow=Défini le combat allié du serveur sur activé
command.description.globalff.auto=Défini le combat allié du serveur sur automatique
command.description.clanff.allow=Défini le combat allié de votre clan sur activé
command.description.clanff.block=Défini le combat allié de votre clan sur bloqué
command.description.description=Défini votre description de clan
command.description.ban=Banni un joueur des commandes du clan
command.description.unban=Débanni un joueur des commandes du clan
command.description.regroup.me=Regroupe les membres de votre clan à votre emplacement
command.description.regroup.home=Regroupe les membres de votre clan à votre home de clan
command.description.home.tp=Téléporte vers votre home de clan
command.description.home.clear=Efface votre home de clan
command.description.home.set=Défini votre home de clan
command.description.mod.home.set=Défini un home de clan
command.description.mod.home.tp=Téléporte à un home de clan
command.description.rival.remove=Retire un rival
command.description.rival.add=Ajoute un rival
command.description.ally.remove=Retire un allié
command.description.kick=Expulse un membre de votre clan
command.description.place=Place un joueur dans un clan
command.description.reload=Recharge le plugin et sa configuration
command.description.trust=Fait confiance à un membre
command.description.untrust=Ne fait plus confiance à un membre
command.description.ally.add=Ajoute un allié
command.description.clan=Ouvre l'interface
command.description.disband=Dissoudre votre clan
command.description.mod.disband=Dissoudre un clan
command.description.modtag=Modifie votre tag de clan
command.description.purge=Purge certainnes données du joueur
command.description.setbanner=Défini votre bannière de clan
command.description.verify=Vérifie ton clan
command.description.mod.verify=Vérifie un clan
command.description.invite=Invite un joueur dans votre clan
command.description.bank.status=Vérifie la balance bancaire de votre clan
command.description.bank.withdraw.all=Retirer tout de la banque de votre clan
command.description.bank.withdraw.amount=Retirer un montant de la banque de votre clan
command.description.bank.deposit.all=Déposez tout votre argent dans la banque de votre clan
command.description.bank.deposit.amount=Déposez une somme d'argent dans la banque de votre clan
command.description.war.start=Commence une guerre
command.description.war.end=Termine une guerre
command.description.resetkdr.everyone=Réinitialise la KDA de tout le monde
command.description.resetkdr.player=Réinitialise la KDA d'un joueur
command.description.resetkdr=Réinitialise ton KDA
command.description.admin.demote=Rétrograder n'importe quel chef de n'importe quel clan
command.description.demote=Rétrograde un chef
home-menu=/{0} home{1} - Téléporte au domicile du clan
home-set-menu=/{0} home set{1} - Définir le domicile du clan
home-clear-menu=/{0} home set{1} - Effacer le domicile du clan
home-regroup-menu=/{0} home regroup [me]{1} - Regroupe tous les membres au domicile du clan ou à vous
clan=Clan
allies=Alliés
alliances=alliances
@@ -150,8 +236,6 @@ has.been.disbanded.alliance.ended={0} a été dissous. L''alliance est terminée
clan.disbanded=Clan Dissous
1.color.day=1 {0}jour
many.color.days={0}{1} jours
does.not.match=Ne correspond pas à une commande de clan
simpleclans.command.failure=Échec de la commande SimpleClans\: {0}
insufficient.permissions=Permissions insuffisantes
clan.is.not.verified=Le clan n'est pas vérifié
not.a.member.of.any.clan=Vous n'êtes membre d'aucun clan
@@ -209,7 +293,6 @@ total.clans=Total des clans\:
legend=Légende\:
kill.type.civilian=Type de Tué\: {0}Civil
no.player.data.found=Pas de données de joueur trouvées
s.player.info=Information du joueur {0}
clan.0=Clan\: {0}
status.0=Statuts\: {0}
rank.0=Rang\: {0}
@@ -371,8 +454,6 @@ no.ranks=Aucun rang n'a été créé
rank.no.permissions=Ce rang n'a aucune permission
player.unassigned.from.rank=Joueur retiré d'un rang
you.must.be.0.or.have.the.permission.1.to.use.this=Vous devez être {0} ou votre chef doit donner à votre rang la permission {1} pour utiliser ceci
deposit.not.allowed=Le dépôt n'est pas autorisé
withdraw.not.allowed=Le retrait n'est pas autorisé
resign.request.cancelled=Demande de démission annulée
promotion.vote.has.been.requested.from.all.leaders=Le vote de promotion a été demandé par tous les chefs
allowed=autorisé
@@ -384,7 +465,6 @@ gui.back.title=&fRetour
gui.previous.page.title=&fPage Précédente
gui.next.page.title=&fPage Suivante
gui.lore.no.permission=Vous n'avez pas la permission pour effectuer cela\!
gui.main.title=SimpleClans
gui.main.other.commands.title=&fAutres commandes
gui.main.other.commands.lore=&7Clic gauche pour voir toutes les commandes du clan
gui.main.clan.list.title=&fListe des Clans
@@ -447,6 +527,8 @@ gui.add.permission.permission.title=&f{0}
gui.add.permission.permission.lore=&7Clic gauche pour ajouter cette permission au rang
gui.clandetails.title=[{0}] {1}
gui.clandetails.free.agent.title=&Agent Libre
gui.clandetails.free.agent.create.clan.price.lore=&7Prix\: &b{0}
gui.clandetails.free.agent.create.clan.lore=&7Clic gauche pour créer un clan
gui.clandetails.clan.title=&f[{0}&f] {1}
gui.clandetails.clan.lore.description=&Description\: {0}
gui.clandetails.clan.lore.status=&fStatus\: {0}
@@ -456,28 +538,62 @@ gui.clandetails.clan.lore.kdr=&fKDR\: {0}
gui.clandetails.clan.lore.kill.totals=&fNombre de meurtres\: [Rival\:{0} Neutre\:{1} Civile\:{2}]
gui.clandetails.clan.lore.deaths=&fMorts\: {0}
gui.clandetails.clan.lore.fee=&Frais\: {0}, {1} $
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.allies.separator=&b,
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.rivals.separator=&b,
gui.clandetails.clan.lore.allies=&Alliés\: {0}
gui.clandetails.clan.lore.rivals=&7Rivaux\: &b{0}
gui.clandetails.clan.lore.founded=&7Fondé le\: &b{0}
gui.clandetails.clan.lore.inactive=&7Inactif\: &b{0}/{1} jours
gui.clandetails.allies.title=&fAlliés
gui.clandetails.allies.lore=&fClic gauche pour voir vos alliés ou en ajouter plus
gui.clandetails.rivals.title=&fRivaux
gui.clandetails.rivals.lore=&fClic gauche pour voir vos rivaux ou en ajouter plus
gui.clandetails.roster.title=&fListe
gui.clandetails.roster.lore=&fClic gauche pour voir les membres de votre clan ou inviter plus
gui.staffclandetails.roster.lore=&7Clic gauche pour voir les membres du clan
gui.clandetails.coords.title=&fCoordonnées
gui.clandetails.coords.lore=&fClic gauche pour voir les coordonnées des membres de votre clan
gui.clandetails.home.title=&fMaison
gui.clandetails.home.lore.teleport.price=&7Prix de téléportation \: &b{0}
gui.clandetails.home.lore.teleport=&fClic gauche pour vous téléporter à la maison de votre clan
gui.staffclandetails.home.lore.teleport=&fClic gauche pour vous téléporter à ce home de votre clan
gui.clandetails.home.lore.clear=&fClic milieu pour effacer la maison de votre clan
gui.clandetails.home.lore.set.price=&7Définir le prix\: &b{0}
gui.clandetails.home.lore.set=&fClic droit pour définir le domicile de votre clan
gui.staffclandetails.home.lore.set=&fClic droit pour définir ce home de clan
gui.clandetails.regroup.title=&fRegrouper
gui.clandetails.regroup.lore.price=&7Prix\: &b{0}
gui.clandetails.regroup.lore.home=&7Clic gauche pour regrouper les membres de votre clan au home du clan
gui.clandetails.regroup.lore.me=&7Clic droit pour regrouper les membres de votre clan à votre emplacement
gui.clandetails.ff.title=&Feu allié
gui.clandetails.ff.personal.lore=&fPersonnel\: {0}
gui.clandetails.ff.clan.lore=&fClan\: {0}
gui.clandetails.ff.personal.toggle.lore=&fClic gauche pour activer/désactiver votre feu allié
gui.clandetails.ff.clan.toggle.lore=&fClic droit pour activer/désactiver le feu allié de votre clan
gui.clandetails.bank.title=&fBank
gui.clandetails.bank.balance.lore=§7Solde \: &b{0}
gui.clandetails.bank.withdraw.status.lore=&7Retirer \: &b{0}
gui.clandetails.bank.deposit.status.lore=&7Dépôt\: &b{0}
gui.clandetails.bank.withdraw.toggle.lore=&7Clic du milieu pour activer/désactiver le statut de retrait
gui.clandetails.bank.deposit.toggle.lore=&7Clic droit pour activer/désactiver le statut de dépôt
gui.clandetails.fee.status.lore=&7Statut\: &b{0}
gui.clandetails.fee.value.lore=&7Valeur \: &b{0}
gui.clandetails.rank.title=&fRang
gui.clandetails.rank.lore=&7Clic gauche pour voir les rangs du clan et les modifier
gui.clandetails.verified.title=&fVérifié
gui.clandetails.not.verified.title=&fNon vérifié
gui.clandetails.verify.price.lore=&7Prix\: &b{0}
gui.clandetails.not.verified.lore=&7Clic gauche pour vérifier votre clan
gui.staffclandetails.not.verified.lore=&7Clic gauche pour vérifier ce clan
gui.clandetails.disband.title=&fDissoudre
gui.clandetails.disband.lore=&7Clic du milieu pour dissoudre votre clan
gui.staffclandetails.disband.lore=&7Clic gauche pour dissoudre ce clan
gui.clandetails.chat.title=&fChat
gui.clandetails.chat.clan.chat.lore=&7/{0} [message] - Envoie un message au chat du clan
gui.clandetails.chat.clan.join.leave.lore=&7/{0} {1}/{2} - &bRejoindre/quitte le chat du clan
gui.clandetails.chat.ally.chat.lore=&7/{0} [message] - Envoie un message au chat d''allié
gui.playerdetails.title={0}
gui.playerdetails.player.title=&f{0}
gui.playerdetails.player.lore.noclan=&fClan\: Aucun
@@ -489,6 +605,7 @@ gui.playerdetails.player.lore.kill.totals=&fNombre de tués\: [Rival\:{0} Neutre
gui.playerdetails.player.lore.deaths=&fMorts\: {0}
gui.playerdetails.player.lore.join.date=&fDate d''adhésion\: {0}
gui.playerdetails.player.lore.last.seen=&fVu pour la dernière fois\: {0}
# suppress inspection "TrailingSpacesInProperty"
gui.playerdetails.player.lore.past.clans.separator=&b,
gui.playerdetails.player.lore.past.clans=&fAnciens clans\: {0}
gui.playerdetails.player.lore.inactive=&fInactif\: {0}/{1} jours
@@ -502,7 +619,6 @@ gui.playerdetails.unassign.lore.right.click=&fClic droit pour dés-assigner
gui.playerdetails.trust.untrust.title=&fFaire confiance/Ne pas faire confiance
gui.playerdetails.trust.lore.left.click=&fClic gauche pour faire confiance
gui.playerdetails.untrust.lore.right.click=&fClic droit pour ne pas faire confiance
disabled.ally.chat=&bVous avez désactivé le chat allié
joined.ally.chat=&bVous avez rejoint le chat allié
left.ally.chat=&bVous avez quitté le chat allié
muted.ally.chat=&bVous avez rendu muet le chat allié
@@ -510,4 +626,6 @@ unmuted.ally.chat=&bVous avez réactivé le chat allié
player.already.in.this.clan=&cLe joueur est déjà dans ce clan
your.clan.reached.max.alliances=&cVotre clan a atteint le nombre maximum d'alliances
other.clan.reached.max.alliances=&cL'autre clan a atteint le nombre maximum d'alliances
you.changed.clan.banner=&bVous avez changé la bannière de votre clan\!
you.changed.clan.banner=&bVous avez changé la bannière de votre clan\!
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+6 -12
View File
@@ -1,15 +1,7 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=Leírás
usage.0.rivalries=Használat\: /{0} rivalries
usage.0.stats=Használat\: /{0} stats
usage.0.vitals=Használat\: /{0} vitals
0.place=/{0} place [player] [címke]{1} - Berak egy játékost egy klánba
0.toggle.command=/{0} toggle [{2}]{1} - A személyes beállítások módosítása
0.kills=/{0} kills{1} - Megnézi az ölésedet
home-menu=/{0} home{1} - Teleportálás a klán hazai bázisához
home-set-menu=/{0} home set{1} - Beállítsa a klán hazai bázisát
home-clear-menu=/{0} home clear{1} - Törli a klán hazai bázisát
home-regroup-menu=/{0} home regroup [me]{1} - Áthelyezi az összes tagot a háziasított klán vagy magad számára
clan=Klán
allies=Szövetségesek
alliances=szövetségek
@@ -104,8 +96,6 @@ has.been.disbanded.alliance.ended={0} feloszlott. A Szövetség véget ért.
clan.disbanded=A klán megszűnt
1.color.day=1 {0}nap
many.color.days={0}{1} nap
does.not.match=Nem egyezik a klán parancsával
simpleclans.command.failure=A SimpleClans parancs sikertelen\: {0}
insufficient.permissions=Nincs elegendő engedély
clan.is.not.verified=A klán nem ellenőrzött
not.a.member.of.any.clan=Nem vagy tagja semmilyen klánnak
@@ -160,7 +150,6 @@ total.clans=Összes klán\:
legend=Legenda\:
kill.type.civilian=Ölés típus\: {0} Civil
no.player.data.found=Nincsenek játékosadatok
s.player.info={0} játékos adatai
clan.0=Klán\: {0}
status.0=Állapot\: {0}
rank.0=Rang\: {0}
@@ -248,4 +237,9 @@ your.clans.are.not.rivals=A klánok nem riválisok
the.clan.members.reached.limit=A klán tagjai elérik a határt
you.have.reseted.your.kdr=Visszaállítottad KDR-t
you.have.reseted.0.kdr=Visszaállítottad a(z) {0} KDR-t
you.have.reseted.kdr.of.all.players=Visszaállítottad a játékosok KDR-jét
you.have.reseted.kdr.of.all.players=Visszaállítottad a játékosok KDR-jét
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+6 -5
View File
@@ -1,4 +1,3 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=descrizione
create.command=creare
delete.command=elimina
@@ -57,7 +56,6 @@ command.description.bb.clear=Cancella il bollettino del tuo clan
command.description.bb.post=Invia un messaggio al bollettino del tuo clan
command.description.place=Colloca un giocatore in un clan
command.description.reload=Ricarica il plugin ed i file di configurazione
command.description.help=Visualizza questo aiuto
command.description.ally.add=Aggiungi un alleato
command.description.clan=Apre la GUI
command.description.disband=Sciogli il tuo clan
@@ -165,8 +163,6 @@ has.been.disbanded.alliance.ended={0} è stato sciolto. L''alleanza è finita.
clan.disbanded=Clan sciolto
1.color.day=1 {0}giorno
many.color.days={0}{1} giorni
does.not.match=Non corrisponde a un comando di clan
simpleclans.command.failure=Comando SimpleClans fallito\: {0}
clan.is.not.verified=Il clan non è verificato
not.a.member.of.any.clan=Non sei membro di nessun clan
minimum.to.make.alliance=Il tuo clan deve avere almeno {0} giocatori per poter fare un''alleanza
@@ -247,7 +243,9 @@ gui.clanlist.title=Clans - Totale\: {0}
gui.ranks.title=Gradi
gui.ranks.title.set.rank=Imposta Rango - Attuale\: {0}
gui.ranks.create.title=&fCrea un rango
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.allies.separator=&b,
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.rivals.separator=&b,
gui.clandetails.clan.lore.founded=&7Fondato\: &b{0}
gui.clandetails.clan.lore.inactive=&7Inattivo\: &b{0}/{1} giorni
@@ -257,5 +255,8 @@ gui.clandetails.regroup.lore.price=&7Prezzo\: &b{0}
gui.clandetails.bank.balance.lore=&7Saldo\: &b{0}
gui.clandetails.fee.status.lore=&7Stato\: &b{0}
gui.clandetails.fee.value.lore=&7Valore\: &b{0}
# suppress inspection "TrailingSpacesInProperty"
gui.playerdetails.player.lore.past.clans.separator=&b,
player.already.has.that.rank=&cIl giocatore ha già questo rango\!
player.already.has.that.rank=&cIl giocatore ha già questo rango\!
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+5 -3
View File
@@ -1,4 +1,3 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=beschrijving
create.command=maak
delete.command=verwijderen
@@ -92,5 +91,8 @@ command.description.description=Stel je clanomschrijving in
command.description.ban=Verbied een speler van clancommando's
command.description.unban=Deblokkeert een speler van clancommando's
command.description.regroup.me=Hergroepeert je clan leden naar je locatie
0.toggle.command=/{0} wisselknop [{2}]{1} - Persoonlijke instellingen wisselen
0.kills=/{0} gedood{1} - Bekijk je dodingsaantallen
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+6 -2
View File
@@ -1,4 +1,3 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=beskrivelse
create.command=opprette
list.command=liste
@@ -42,4 +41,9 @@ setrank.command=setterang
place.command=sted
resetkdr.command=tilbakesettekdr
setbanner.command=settebanner
help.command=hjelp
help.command=hjelp
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+497 -67
View File
@@ -1,4 +1,3 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=opis
create.command=stworz
delete.command=usun
@@ -31,7 +30,7 @@ auto.command=automatycznie
check.command=sprawdz
assign.command=przydziel
unassign.command=odepnij
rival.command=wrog
rival.command=wróg
bb.command=tablica
clear.command=wyczysc
modtag.command=modtag
@@ -40,8 +39,8 @@ tag.command=tag
deposit.command=wplata
all.command=wszystkie
withdraw.command=wyplata
invite.command=zapros
kick.command=wyrzuc
invite.command=zaproś
kick.command=wyrzuć
bank.command=bank
status.command=status
fee.command=oplata
@@ -76,6 +75,83 @@ resetkdr.command=resetuj kdr
everyone.command=wszyscy
setbanner.command=ustaw baner
help.command=pomoc
acf-core.parameter.member=Członek
acf-core.parameter.rank=Ranga
acf-core.parameter.leader=Przywódca
acf-core.parameter.displayname=Wyświetlana nazwa
acf-core.parameter.permission=Uprawnienia
acf-core.parameter.message=Wiadomość
acf-core.parameter.tag=Tag
acf-core.parameter.fee=Opłata
acf-core.parameter.description=Opis
acf-core.parameter.player=Gracz
acf-core.parameter.clan=Klan
acf-core.parameter.type=Typ
acf-core.parameter.order=Zamówienie
acf-core.parameter.help=Strona lub słowa kluczowe
command.description.stats=Pokaż statystyki członków twojego klanu
command.description.rivalries=Pokazuje wszystkie rywalizacje klanów
command.description.mostkilled=Pokazuje liczbę najczęściej zabitych na serwerze
command.description.kills=Pokazuje liczbę zabójstw twojego lub innego gracza
command.description.lookup=Sprawdź swoje informacje
command.description.lookup.other=Sprawdź informacje o graczu
command.description.leaderboard=Pokazuje tabelę liderów
command.description.roster.other=Wyświetla listę członków innego klanu
command.description.roster=Wyświetla listę członków klanu
command.description.profile.other=Pokazuje profil innego klanu
command.description.profile=Pokazuje profil klanu
command.description.vitals=Pokazuje życia klanu i sojuszników
command.description.list=Lista wszystkich klanów
command.description.chat=Rozmawiaj na chacie sojuszu
command.description.ally=Rozmawiaj na chacie sojuszu
command.description.deny=Odrzuć zapytanie
command.description.accept=Przyjmij zapytanie
command.description.more=Pokaż więcej informacji
command.description.create=Stwórz klan
command.description.ff.allow=Ustawia Friendly Fire klanu na dozwolony
command.description.ff.auto=Ustawia Twój Friendly Fire na auto
command.description.globalff.allow=Ustawia Friendly Fire na dozwolone
command.description.globalff.auto=Ustawia Friendy Fire na auto
command.description.clanff.allow=Ustawia przyjazny ogień klanu na dozwolony
command.description.clanff.block=Ustawia przyjazny ogień klanu na zablokowany
command.description.description=Ustaw opis klanu
command.description.ban=Banuje gracza z poleceń klanu
command.description.unban=Banuje gracza z poleceń klanu
command.description.regroup.me=Przegrupowuje użytkowników klanu do Twojej lokalizacji
command.description.regroup.home=Przesyła użytkowników klanu do domu klanu
command.description.home.tp=Teleportuje się do domu klanu
command.description.home.clear=Usuwa dom klanu
command.description.home.set=Ustaw dom klanu
command.description.mod.home.set=Ustaw dom klanu
command.description.mod.home.tp=Teleportuj do domu klanu
command.description.rival.remove=Usuń rywali
command.description.rival.add=Dodaj rywala
command.description.ally.remove=Usuń sojusznika
command.description.kick=Wyrzuć członka z twojego klanu
command.description.bb.display=wyświetl tablicę ogłoszeń klanu
command.description.bb.clear=wyczyść tablicę ogłoszeń klanu
command.description.bb.post=Opublikuj wiadomość na tablicy ogłoszeń klanu
command.description.place=Umieszcza gracza w klanu
command.description.reload=Odśwież wtyczkę i jej konfigurację
command.description.trust=Zaufany członek
command.description.untrust=Niezaufany członek
command.description.resign=Rezygnacja z klanu
command.description.help=Pokazuje pomoc lub wyszukiwanie w pomocy
command.description.ally.add=Dodaj sojusznika
command.description.clan=Otwórz GUI
command.description.disband=Rozwiąż swój klan
command.description.mod.disband=Rozwiąż klan
command.description.modtag=Modyfikuj tag klanu
command.description.purge=Puste dane gracza
command.description.setbanner=Ustaw baner klanu
command.description.verify=Zweryfikuj swój klan
command.description.mod.verify=Zweryfikuj klan
command.description.invite=Zaproś gracza do klanu
command.description.fee.check=Sprawdza wartość opłaty klanowej, jeśli jest włączona
command.description.fee.set=Ustaw podatek twojego klanu
command.description.bank.status=Sprawdź stan banku twojego klanu
command.description.bank.withdraw.all=Wypłaca wszystko z banku klanu
command.description.bank.withdraw.amount=Wypłać kwotę z banku klanu
command.description.bank.deposit.all=Depozyt wszystkich Twoich pieniędzy do banku klanu
command.description.bank.deposit.amount=Depozytuj pieniądze do banku klanu
command.description.war.start=Rozpoczęcie wojny
@@ -103,12 +179,10 @@ command.description.rank.setdisplayname=Ustawia wyświetlaną nazwę rangi
command.description.rank.permissions.available=Wyświetla dostępne uprawnienia rangi
command.description.rank.permissions.rank=Modyfikuj pozwolenia rangi
command.description.rank.permissions.add=Dodaj uprawnienia do tego węzła
usage.0.rivalries=Usage\: /{0} wszyscywrogowie
usage.0.stats=Usage\: /{0} staty
0.toggle.command=/{0} toggle [{2}]{1} - Przelacz ustawienia osobiste
0.kills=/{0} {1}zabojstwa - Wyswietl ilosc zabojstw w klanie
command.description.rank.permissions.remove=Usuwa uprawnienia z rangi
home-menu=/{0} home{1} - Teleportuje w miejsce zapisanej lokacji
home-set-menu=/{0} home set{1} - Ustaw teleport klanu
home-clear-menu=/{0} dom czysty{1} - wyczyść bazę klanu
clan=Klan
allies=Sojusznicy
alliances=Sojusze
@@ -117,6 +191,7 @@ name=Imie
distance=Odleglosc
coords.upper=Wspolrzedne
world=Swiat
kdr=KDR
members=Czlonkowie
clans.lower=Klans
rival=Wrog
@@ -126,6 +201,7 @@ free.agent=Wolny Strzelec
days=Dni
rivals=Wrgogowie
rivalries=Wrogie
online=Online
player=Gracz
seen=Widziany
leader=Przywodca
@@ -144,6 +220,7 @@ verified=zweryfikowane
unverified=niezweryfikowane
profile=profil
civilian.abbreviation=Cyw
rank=Ranga
leaders=Przywodcy
none=Zaden
today=Dzis
@@ -153,6 +230,7 @@ killcount=Zabij hrabia
attacker=Agresor
victim=Ofiara
kill.death.ratio=Stosunek Zabojstw/Zgonow
nokillsfound=Nie znaleziono zabójstw
promoted.to.leader={0} zostal awansowany na przywodce
denied.demotion={0} odrzucil degradacje {1}. Nie osiagnieto porozumienia.
membership.invitation={0} odmowil zaproszenia w szeregi klanu
@@ -190,6 +268,7 @@ clan.players=gracze klanu \: {0}
clans=Klany\: {0}
banned=Masz bana na uzywanie klanowych komend
nothing.more.to.see=Nic wiecej tu nie ma
nothing.to.vote=&cNic do zaakceptowania lub odrzucenia
no.leader.permissions=Nie masz uprawnien wodza
you.have.already.voted=Juz oddales swoj glos w tej sprawie
has.voted.to.deny={0} glosowal przeciw
@@ -201,12 +280,13 @@ has.been.disbanded.alliance.ended={0} zostal rozwiazany. Koniec przymieza.
clan.disbanded=Rozwiazano klan
1.color.day=1 {0}dni
many.color.days={0}{1} dni
does.not.match=Nie ma takiej komendy klanowej
simpleclans.command.failure=SimpleClans blad polecenia\: {0}
insufficient.permissions=Niewystarczajace uprawnienia
clan.is.not.verified=Klan nie zweryfikowany
player.not.a.member.of.any.clan=&cGracz nie jest członkiem żadnego klanu
not.a.member.of.any.clan=Nie jestes czlonkiem zadnego klanu
minimum.to.make.alliance=Muszisz miec w klanie co najmniej {0} czlonkow aby moc zawierac sojusze.
cannot.be.same.clan=&cMusisz wstawić klan inny niż twoj\!
other.clan.not.verified=&cInny klan nie jest zweryfikowany\!
your.clans.are.not.allies=Wasze klany nie sa sojusznikami
has.broken.the.alliance={0} zerwal sojusz z {1}
at.least.one.leader.accept.the.alliance=Co najmniej jeden z przywodcow klanu musi byc dostepny aby przyjac propozycje sojuszu.
@@ -220,9 +300,12 @@ you.banned=Zostales pozbawiony komend klanowych (masz bana)
clan.wide.friendly.fire.blocked=Friendly Fire dla calego klanu jest wylaczony.
clan.wide.friendly.fire.is.allowed=Friendly Fire dla calego klanu jest wlaczony.
you.are.the.only.member.online=Jestes jedynym czlonkiem klanu online. Badz czujny.
your.clan.color.tag.cannot.be.longer.than.characters=&cKolorowy tag klanu nie może być dłuższy niż {0} znaków
your.clan.tag.cannot.be.longer.than.characters=Tag twojego klanu nie moze byc dluzszy niz {0} znakow.
your.clan.tag.must.be.longer.than.characters=Tag twojego klanu musi miec wiecej niz {0} znakow.
your.tag.cannot.contain.the.following.colors=Tag twojego klanu nie moze zawierac nastepujacych kolorow\: {0}
your.tag.cannot.contain.color.codes=Twój tag nie może zawierać kodów kolorów
you.cannot.set.colored.ranks=Nie możesz ustawić koloru rang
your.clan.name.cannot.be.longer.than.characters=Nazwa klanu nie moze byc dluzsza niz {0} znakow
your.clan.name.must.be.longer.than.characters=Nazwa twojego klanu musi byc dluzsza niz {0} znakow
your.clan.tag.can.only.contain.letters.numbers.and.color.codes=Tag twojego klanu moze zawierac wylacznie litery,cyfry oraz kody kolorow
@@ -232,6 +315,7 @@ you.must.first.resign=Najpierw musisz odejsc z {0}
clan.with.this.tag.already.exists=Klan o takim Tagu juz istnieje
get.your.clan.verified.to.access.advanced.features=Weryfikacja twojego klanu umozliwi dostep do pozostalych opcji
clan.created=Clan {0} pomyslnie utworzony
not.enough.leaders.online.to.vote.on.demotion=Brak wystarczającej liczby liderów online, aby głosować na ta degradacje
demotion.vote.has.been.requested.from.all.leaders=Wszyscy przywodcy zostali poproszeni o glos w sprawie degradacji
player.is.not.a.leader.of.your.clan=Ten gracz nie jest przywodca twojego klanu
clan.has.been.disbanded=Klan {0} zostal rozwiazany
@@ -240,44 +324,48 @@ friendy.fire.is.now.managed.by.your.clan=Ustawienie Friendly fire zgodne z obecn
personal.friendly.fire.is.set.to.allowed=Osobisty Friendly fire zostal wlaczony
global.friendy.fire.is.now.managed.by.each.clan=Swiatowy Friendly fire zalezy teraz od indywidualnych ustalen kazdego klanu
global.friendy.fire.is.already.being.managed.by.each.clan=Friendly fire juz jest zalezny od ustawien klanow
global.friendly.fire.is.set.to.allowed=Wlaczenie globalnego Friendly fire
global.friendly.fire.is.already.being.allowed=Globalny Friendly fire juz jest wlaczony
the.player.doesn.t.not.have.the.permissions.to.join.clans=Ten gracz nie ma uprawnien aby wstepowac do klanow
you.cannot.invite.yourself=Nie mozesz zprosic samego siebie\! Czujemy sie samotni co? Znajdz owce lub dwie.
this.player.is.banned.from.using.clan.commands=Ten gracz ma zablokowany dostep do komend klanowych
the.player.is.already.member.of.another.clan=Ten gracz jest juz czlonkiem innego klanu.
has.been.asked.to.join={0} zostal zapytany czy chce dolaczyc do {1}
you.cannot.kick.yourself=Nie mozesz sam siebie wykopac. No prosze, bez masochizmu.
the.player.is.not.a.member.of.your.clan=Ten gracz nie jest czlonkiem twojego klanu
you.cannot.kick.another.leader=Nie mozesz wykopac innego przywodcy.
has.been.kicked.by={0} zostal wykopany przez {1}
no.clans.have.been.created=Zadne klany nie zostaly utworzone
total.clans=Wszystkich klanow\:
global.friendly.fire.is.set.to.allowed=Włączono globalny ogień przyjacielski
global.friendly.fire.is.already.being.allowed=Globalny ogień przyjacielski jest już włączony
the.player.doesn.t.not.have.the.permissions.to.join.clans=Gracz nie ma uprawnień do dołączenia do klanów
you.cannot.invite.yourself=Nie możesz zaprosić samego siebie
this.player.is.banned.from.using.clan.commands=Ten gracz ma zablokowany dostęp do komend klanowych
the.player.is.already.member.of.another.clan=Ten gracz jest już członkiem innego klanu
has.been.asked.to.join={0} został zapytany o dołączenie do {1}
you.cannot.kick.yourself=Nie możesz wyrzucić samego siebie
the.player.is.not.a.member.of.your.clan=Ten gracz nie jest członkiem twojego klanu
you.cannot.kick.another.leader=Nie możesz wyrzucić innego przywódcy
has.been.kicked.by={0} został wyrzucony przez {1}
no.clans.have.been.created=Żadne klany nie zostały utworzone
total.clans=Wszystkie klany\:
legend=Legenda\:
kill.type.civilian=Zabito\: {0}Cywili
no.player.data.found=Brak danych o graczach
s.player.info={0}''statystki
no.player.data.found=Nie znaleziono danych gracza
clan.0=Klan\: {0}
status.0=Status\: {0}
rank.0=Ranga\: {0}
kdr.0=KDR\: {0}
inactive.0=Nieaktywny\: {0}
clan.commands=komendy klanowe
you.can.only.modify.the.color.and.case.of.the.tag=Jedyne co mozesz zmieniac to obramowanie i kolory Tagu
tag.changed.to.0=Tag zmieniono na {0}
name.0=Imie\: {0}
leaders.0=Przywodcy\: {0}
allies.0=Sojusznikow\: {0}
rivals.0=Wrogo\: {0}
the.player.does.not.have.the.permissions.to.lead.a.clan=Ten gracz nie ma uprawnien aby dowodzic klanem.
you.cannot.promote.yourself=Nie mozesz sam siebie awansowac\! To bylby ciekawy klan nie ?
the.player.is.already.a.leader=Ten gracz juz jest przywodca
configuration.reloaded=Przeladowano ustawienia
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=Ostatni przywodca nie moze odejsc. Musisz wyznaczyc inna osobe na przywodce lub rozwiazac klan.
0.has.resigned={0} zlozyl rezygnacje.
you.cannot.trust.yourself=Nie mozesz sam siebie oznaczyc jako osobe zaufana. To by troche mijalo sie z celem, nie sadzisz ?
leaders.are.already.trusted=Wszyscy przywodcy sa automatycznie oznaczeni jako zaufani
this.player.is.already.trusted=Ten gracz juz jest oznaczony jako zaufany
has.been.given.trusted.status.by={0} otrzymal status zaufanego od {1}
you.can.only.modify.the.color.and.case.of.the.tag=Możesz modyfikować tylko kolor i wielkość liter tagu
tag.changed.to.0=Tag zmieniony na {0}
name.0=Nazwa\: {0}
description.0=Opis\: {0}
leaders.0=Przywódcy\: {0}
allies.0=Sojusznicy\: {0}
rivals.0=Wrogowie\: {0}
other.player.must.be.online=&cGracz musi być online\!
the.player.does.not.have.the.permissions.to.lead.a.clan=Ten gracz nie ma uprawnień, aby dowodzić klanem
you.cannot.promote.yourself=Nie możesz awansować samego siebie
the.player.is.already.a.leader=Ten gracz jest już przywódcą
configuration.reloaded=Przeładowano ustawienia
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=Ostatni dowódca nie może zrezygnować. Musisz wyznaczyć innego dowódcę lub rozwiązać klan
0.has.resigned={0} zrezygnował
you.cannot.trust.yourself=Nie możesz oznaczyć samego siebie jako osobę zaufaną
leaders.are.already.trusted=Przywódcy są już oznaczeni jako zaufani
this.player.is.already.trusted=Ten gracz już jest oznaczony jako zaufany
has.been.given.trusted.status.by={0} otrzymał status zaufanego od {1}
this.player.is.not.banned=Ten gracz nie jest zbanowany
player.removed.from.the.banned.list=Gracza usunieto z listy banow
player.removed.from.the.banned.list=Gracz usunięty z listy zbanowanych
you.have.been.unbanned.from.clan.commands=Zostales odbanowany w prawach klanowych i mozesz ponownie korzystac komend.
you.cannot.untrust.yourself=Nie mozesz sam siebie oznaczyc jako osobe niezaufana. Popros kogos kto cie dobrze poznal.
leaders.cannot.be.untrusted=Przywodca nie mozna ustawic statusu osoby negodnej zaufania.
@@ -290,37 +378,379 @@ clan.0.has.been.verified=Clan {0} zostal zweryfikowany\!
total.clan.players.0=Wszystkich graczy\: {0}
proposing.war={0} proponuje rozpoczac wojne z {1}
you.can.only.start.war.with.rivals=Mozesz tylko rozpoczac wojne z rywalami
leaders.have.been.asked.to.accept.the.war.request={0} przywodcy zostali poproszeni o zaakceptowanie zadania wojny
leaders.asked.to.end.rivalry={0} przywodcy zostali poproszeni, by zakonczyc wojne
proposing.to.end.the.war={0} proponuje, by zakonczyc wojne z {1}
clans.already.at.war=Twoj klany sa juz w czasie wojny
clans.not.at.war=Twoj klanow nie sa w stanie wojny
leaders.have.been.asked.to.accept.the.war.request={0} przywódcy zostali poproszeni o zaakceptowanie wypowiedzenia wojny
leaders.asked.to.end.rivalry={0} przywódcy zostali zapytani o zakończenie wojny
proposing.to.end.the.war={0} proponuje zakończenie wojny z {1}
clans.already.at.war=Klany są już w stanie wojny
clans.not.at.war=Klany nie są w stanie wojny
you.are.at.war={0} jest teraz w stanie wojny z {1}
denied.war.req={0} zaprzeczyl wniosek wojny wyslany przez {1}
you.are.no.longer.at.war={0} nie jest juz w stanie wojny z {1}
end.war.denied=zadanie zakonczenia wojny zostala odrzucona przez {0}
denied.war.req={0} odrzucił prośbę o wojnę wysłaną przez {1}
you.are.no.longer.at.war={0} nie jest już w stanie wojny z {1}
end.war.denied=Żądanie zakończenia wojny zostało odrzucone przez {0}
denied.war.end={0} zaprzeczyl wniosek wojny wyslany przez {1}
start=poczatku
end=konca
add=dodaje
remove=usuwa
allow=wlacza
block=wylacza
auto=klanowe
has.initiated.a.rivalry={0} zapoczątkował rywalizację z {1}
start=rozpocznij
end=zakończ
add=dodaj
remove=usuń
allow=zezwól
block=zablokuj
auto=automatycznie
war=wojna
0.s.sword.1.2.b.bow.3.4.a.arrow={0}S\=Miecz{1}, {2}B\=Łuk{3}, {4}A\=Strzały
weapon.S=M
weapon.B=K
weapon.A=S
materials=Materialy
materials=Materiały
armor.h=H
armor.c=C
armor.l=L
armor.B=B
diamond=diament
gold=zloto
gold=złoto
wood=drewno
server.announce=Server oglaszaj?
clan.announce=Klan oglaszaj?
leader.announce=Kierownik oglaszaj?
hunger=Glod
server.announce=Ogłoszenie serwera
clan.announce=Ogłoszenie klanu
leader.announce=Ogłoszenie przywódcy
hunger=Głód
stone=kamien
iron=żelazo
the.clan.cannot.be.rivaled=Klan nie moze byc rywalizowal
home.base.only.once=Baze mozna ustawic tylko raz
rival.limit.reached=Masz juz rywala limit. Nie mozesz rywalizowac juz wiecej klanow.
you.moved.teleport.cancelled=Zostal przeniesiony, teleport anulowane
waiting.for.teleport.stand.still.for.0.seconds=Oczekiwanie na teleport, stac na {0} sekund
bboff=BB wyłączony
bbon=BB włączony
tagoff=Tag wyłączony
tagon=Tag włączony
depositon=Depozyt włączony
depositoff=Depozyt wyłączony
withdrawon=Wypłacanie włączone
withdrawoff=Wypłacanie wyłączone
feeoff=Opłata wyłączona
feeon=Opłata włączona
home.base.only.once=Baza główna może być ustawiona tylko raz
now.at.homebase=Jesteś teraz w bazie głównej {0}
hombase.set=Baza domowa klanu ustawiona na\: {0}
hombase.cleared=Wyczyszczono bazę domową klanu
hombase.mod.set={0} Baza główna ustawiona na\:
hombase.not.set=Baza główna nie została ustawiona
rival.limit.reached=Osiągnąłeś limit rywalizacji. Nie możesz rywalizować z więcej z większą liczbą klanów.
you.moved.teleport.cancelled=Poruszyłeś się, teleportowanie anulowane
waiting.for.teleport.stand.still.for.0.seconds=Oczekiwanie na teleport, stój w miejscu na {0} sekund
on=wł
off=wył
leave=opuść
join=dołącz
mute=wycisz
player.rank.changed=Ranking został ustawiony
your.clans.are.already.rivals=Wasze klany to juz sojusznicy
player.got.money=Masz {0} za zabicie {1} na podstawie KDR\: {2}
cleared.bb=Usunięto tablicę ogłoszeń.
clan.balance=Saldo Klanowe\: {0}
bb.fee.player.kicked={0} został/a wyrzucony/a za nieuiszczenie opłaty
bb.fee.set={0} $ oznacza opłatę
bb.clan.deposit={0} $ zostało wpłaconych
player.clan.deposit=Złożyłeś {0}
bb.clan.withdraw={0} $ zostało wypłaconych
player.clan.withdraw=Wypłaciłeś {0}
clan.bank.not.enough.money=Twój bank klanów nie ma wystarczającej ilości pieniędzy
your.clans.are.not.rivals=Wasze klany nie sa sojusznikami
the.clan.members.reached.limit=Twoi członkowie klanu osiągnęli limit
you.have.reseted.your.kdr=Zresetowałeś swój KDR
you.have.reseted.0.kdr=Zresetowałeś KDR {0}
you.have.reseted.kdr.of.all.players=Zresetowałeś KDR wszystkich graczy
resign.yes=Tak
resign.no=Nie
resign.confirmation=Czy na pewno chcesz zrezygnować? {0}
resign.success=Pomyślnie zrezygnowałeś z klanu
you.cannot.demote.the.last.leader=Nie możesz zdegradować ostatniego lidera
player.successfully.demoted=Gracz został pomyślnie obniżony
bb.ago= temu
bb.moments=chwile
bb.seconds= sekundy
bb.minutes= minuty
bb.one.minute=1 minuta
bb.hours= godziny
bb.one.hour=1 godzina
bb.days= Dni
bb.one.day=1 dzień
the.fee.is.0.and.its.current.value.is.1=Opłata wynosi {0} , a jej obecna wartość wynosi {1}$
fee.enabled=włączone
fee.disabled=wylaczone
fee.set=Opłata została ustawiona
max.fee.allowed.is.0=Maksymalna dozwolona opłata to {0}
fee.collected={0} $ zostało pobrane za opłatę klanową
player.purged=Gracz został pomyślnie oczyszczony
upkeep.collected={0} $ zostały wycofane na utrzymanie
balance.is.not.enough.for.upkeep=Saldo klanu nie wystarczy do opłacenia utrzymania ({0} $), wpłacić kwotę, aby uniknąć rozwiązania
your.clan.description.must.be.longer.than=Twój klanowy opis nie moze byc dluzszy, niz {0} znakow
your.clan.description.cannot.be.longer.than=Twój opis klanu nie może być dłuższy niż {0} znakow
description.changed=Pomyslnie, zmieniles opis klanu
no.description=Bez opisu
the.player.must.wait.0.before.joining.your.clan.again=Ten gracz musi poczekać {0} minut przed ponownym dołączeniem do klanu
disabled.command=Wyłączone komendy
rank.displayname.updated=Nazwa wyświetlana rangi została zaktualizowana\!
rank.0.permissions=Uprawnienia {0}rangi\:
available.rank.permissions=Dostępne uprawnienia dla rangi\:
rank.already.exists=Ranga już istnieje
rank.0.does.not.exist=Ranga {0} nie istnieje
rank.created=Utworzono rangę
permission.0.added.to.rank.1=Uprawnienia {0} dodane do rangi {1}
permission.0.removed.from.rank.1=Uprawnienie {0} usunięte z rangi {1}
rank.0.deleted=Ranga {0} usunięta
clans.ranks=Ranga Klanu\:
ranks.list.item={0}\# {1} ({2})
no.ranks=Nie utworzono rang
rank.no.permissions=Ta ranga nie ma żadnych uprawnień
player.unassigned.from.rank=Gracz nieprzypisany do rangi
you.must.be.0.or.have.the.permission.1.to.use.this=Musisz być {0} lub twój lider musi dać swoją rangę {1} aby użyć tego
deposit.not.allowed=Wpłata jest niedozwolona, użyj /%clan %toggle %dedeposit
withdraw.not.allowed=Wypłata jest niedozwolona, użyj /%clan %toggle %withdraw aby na to zezwolić
resign.request.cancelled=Rezygnacja została anulowana
promotion.vote.has.been.requested.from.all.leaders=Prośba o awans została złożona dla wszystkich przywódców
allowed=dozwolone
blocked=zablokowane
chat.joined=dołączył
chat.not.joined=nie dołączył
gui.loading=&7Ładowanie...
gui.back.title=&Wstecz
gui.previous.page.title=&fPoprzednia strona
gui.next.page.title=&fNastępna strona
gui.lore.no.permission=Nie masz uprawnień żeby to zrobić\!
gui.main.title={0} - menu klanu
gui.main.languageselector.title=Wybierz język
gui.main.languageselector.lore.left.click=&7Kliknij lewym przyciskiem myszy, aby wybrać swój język
gui.main.languageselector.lore.right.click=&7Kliknij prawym przyciskiem myszy, aby pomóc w tłumaczeniu
gui.main.other.commands.title=&fInne komendy
gui.main.other.commands.lore=&7Kliknij lewym przyciskiem myszy, zeby zobaczyć listę klanów
gui.main.clan.list.title=&fLista klanów
gui.main.clan.list.lore=&7Kliknij lewym przyciskiem myszy, aby zobaczyć listę klanów
gui.main.reset.kdr.title=&fReset KDR
gui.main.reset.kdr.lore.price=&7Cena\: &b{0}
gui.main.reset.kdr.lore=&7Kliknij lewym przyciskiem myszy, aby zresetować KDR
gui.main.leaderboard.title=&fRanking
gui.main.leaderboard.lore=&7Lewy-przycisk, zeby zobaczyc ranking
gui.main.staff.title=&fStaff
gui.main.staff.lore=&7Kliknij lewym przyciskiem myszy aby otworzyć Staff menu
gui.staff.title=Staff
gui.staff.clan.list.lore.left.click=&7Kliknij lewym przyciskiem myszy, aby zobaczyć listę klanów
gui.staff.clan.list.lore.right.click=&7Kliknij prawym przyciskiem myszy, aby zobaczyć wszystkie niezweryfikowane klany
gui.player.list.title=Lista graczy
gui.staff.player.list.title=&Lista graczy
gui.staff.player.list.lore.left.click=&7Kliknij lewym przyciskiem myszy, aby zobaczyć wszystkich graczy
gui.staff.player.list.lore.right.click=&7Kliknij prawym przyciskiem myszy, aby zobaczyć wszystkich graczy online
gui.staff.global.ff.title=&fGlobalny Friendly Fire
gui.staff.global.ff.lore.status=&7Status\: &b{0}
gui.staff.global.ff.lore.toggle=&7Kliknij lewym przyciskiem myszy, aby przełączyć Friendly Fire
gui.staff.reload.title=&fPrzeładuj
gui.staff.reload.lore=&7Kliknij lewym przyciskiem myszy, aby przeładować wtyczkę
gui.staff.clanlist.unverified.title=Niezweryfikowane Klany - Razem\: {0}
gui.staff.clanlist.toplace.title=Wybierz nowy klan {0}
gui.warning.title=Ostrzeżenie
gui.warning.no.permission.title=&fBrak uprawnień
gui.warning.no.permission.plugin.lore=Nie masz uprawnień żeby to zrobić\!
gui.warning.no.permission.leader.lore=&7Czy jesteś jednym z przywódców klanu?
gui.warning.no.permission.rank.lore=&7Musisz być {0} lub twój lider musi dać swoją rangę {1} aby tego użyć\!
gui.warning.not.verified.title=&fNiezweryfikowany
gui.warning.not.verified.lore=&7Twój klan musi zostać zweryfikowany\!
gui.allies.title=Sojusznicy
gui.allies.clan.lore=&7Kliknij prawym przyciskiem myszy, aby usunąć tego sojusznika
gui.allies.add.title=&Dodaj sojusznika
gui.add.ally.title=Dodaj sojusznika
gui.add.ally.clan.lore=&7Kliknij lewym przyciskiem myszy, aby zobaczyć listę klanów
gui.rivals.title=Wrog
gui.rivals.clan.lore=&7Kliknij prawym przyciskiem myszy, aby usunąć tego sojusznika
gui.rivals.add.title=&fDodaj rywala
gui.add.rival.title=Dodaj rywala
gui.add.rival.clan.lore=&7Kliknij lewym przyciskiem myszy, aby rywalizować z klanem
gui.clanlist.title=Klany - Razem\: {0}
gui.clanlist.clan.title=&fKlan\: [{0}&f] {1}
gui.clanlist.clan.lore.position=&b\#{0}
gui.clanlist.clan.lore.kdr=&7KDR\: &b{0}
gui.clanlist.clan.lore.members=&7Członkowie\: &b{0}
gui.coords.title=Współrzędne
gui.coords.player.lore.distance=&7Odległość\: &b{0}
gui.coords.player.lore.coords=&7Współrzędne\: &b{0} {1} {2}
gui.coords.player.lore.world=&7Świat\: &b{0}
gui.invite.title=Zaproś gracza
gui.invite.player.title=&f{0}
gui.invite.player.price.lore=&7Cena\: &b{0}
gui.invite.player.lore=&7Kliknij lewym przyciskiem myszy, aby zaprosić
gui.roster.title={0} Lista
gui.roster.invite.title=&fZaproszenie
gui.roster.invite.lore=&7Zaproś gracza do klanu
gui.leaderboard.title=Ranking - graczy\: {0}
gui.leaderboard.player.title=&f\#{0} {1}
gui.ranks.title=Rangi
gui.ranks.title.set.rank=Ustaw rangę - obecnie\: {0}
gui.ranks.create.title=&fUtwórz rangę
gui.ranks.create.lore=&7Kliknij lewym przyciskiem myszy, aby utworzyć rangę
gui.ranks.rank.title=&fRanga\: {0}
gui.ranks.rank.displayname.lore=&7Wyświetlana nazwa\: &b{0}
gui.ranks.rank.remove.lore=&7Kliknij prawym przyciskiem myszy, aby usunąć tę rangę
gui.ranks.rank.edit.permissions.lore=&7Kliknij lewym przyciskiem myszy, aby edytować uprawnienia rangi
gui.ranks.rank.assign.lore=&7Kliknij lewym przyciskiem myszy, aby przypisać tę rangę do {0}
gui.permissions.title=Uprawnienia {0}
gui.permissions.add.title=&fDodaj uprawnienia
gui.permissions.permission.title=&f{0}
gui.permissions.permission.lore=&7Kliknij prawym przyciskiem myszy, aby usunąć to uprawnienie z rangi
gui.add.permission.title=Dodaj uprawnienie
gui.add.permission.permission.title=&f{0}
gui.add.permission.permission.lore=&7Kliknij lewym przyciskiem myszy aby dodać to uprawnienie do rangi
gui.clandetails.title={0} {1}
gui.clandetails.free.agent.title=&fWolny Agent
gui.clandetails.free.agent.create.clan.price.lore=&7Cena\: &b{0}
gui.clandetails.free.agent.create.clan.lore=&7Kliknij lewym przyciskiem myszy, aby utworzyć klan
gui.clandetails.clan.title=&f[{0}&f] {1}
gui.clandetails.clan.lore.description=&7Opis\: &b{0}
gui.clandetails.clan.lore.status=&7Status\: &b{0}
gui.clandetails.clan.lore.leaders=&7Liderzy\: &b{0}
gui.clandetails.clan.lore.online.members=&7Członkowie online\: &b{0}/{1}
gui.clandetails.clan.lore.kdr=&7KDR\: &b{0}
gui.clandetails.clan.lore.kill.totals=&7Kille Razem\: &b[Wrogowie\:{0} Neutralni\:{1} Cywile\:{2}]
gui.clandetails.clan.lore.deaths=&Smierci\: {0}
gui.clandetails.clan.lore.fee=&7Opłata\: &b{0}, {1}$
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.allies.separator=&b,
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.rivals.separator=&b,
gui.clandetails.clan.lore.allies=&Sojusznicy\: {0}
gui.clandetails.clan.lore.rivals=&Wrogowie\: {0}
gui.clandetails.clan.lore.founded=&7Założono\: &b{0}
gui.clandetails.clan.lore.inactive=&7Nieaktywne\: &b{0}/{1} dni
gui.clandetails.allies.title=&fSojusznicy
gui.clandetails.allies.lore=&7Kliknij lewym przyciskiem myszy, aby zobaczyć swoich sojuszników lub dodać więcej
gui.clandetails.rivals.title=&fWrogowie
gui.clandetails.rivals.lore=&7Kliknij lewym przyciskiem myszy aby zobaczyć swoich rywali lub dodać więcej
gui.clandetails.roster.title=&fLista
gui.clandetails.roster.lore=&7Kliknij lewym przyciskiem myszy, aby zobaczyć członków klanu lub zaprosić więcej
gui.staffclandetails.roster.lore=&7Kliknij lewym przyciskiem myszy, aby zobaczyć listę klanów
gui.clandetails.coords.title=&fWspółrzędne
gui.clandetails.coords.lore=&Pokazuje współrzędne członków klanu
gui.clandetails.home.title=&fHome
gui.clandetails.home.lore.teleport.price=&7Cena Teleportacji\: &b{0}
gui.clandetails.home.lore.teleport=&7Kliknij lewym przyciskiem myszy, aby teleportować się do domu klanu
gui.staffclandetails.home.lore.teleport=&7Kliknij lewym przyciskiem myszy, aby teleportować się do domu klanu
gui.clandetails.home.lore.clear=&7Kliknij środkowo aby wyczyścić dom klanu
gui.clandetails.home.lore.set.price=&7Ustaw cenę\: &b{0}
gui.clandetails.home.lore.set=&7Kliknij prawym przyciskiem myszy, aby ustawić dom klanu
gui.staffclandetails.home.lore.set=&7Kliknij prawym przyciskiem myszy, aby ustawić dom klanu
gui.clandetails.regroup.title=&fPrzegrupowanie
gui.clandetails.regroup.lore.price=&7Cena\: &b{0}
gui.clandetails.regroup.lore.home=&7Kliknij lewym przyciskiem myszy, aby przegrupować członków klanu w bazie
gui.clandetails.regroup.lore.me=&7Kliknij prawym przyciskiem myszy, aby przegrupować członków klanu w Twojej lokalizacji
gui.clandetails.ff.title=&fFriendly Fire
gui.clandetails.ff.personal.lore=&7Osobiste\: &b{0}
gui.clandetails.ff.clan.lore=&7Klan\: &b{0}
gui.clandetails.ff.personal.toggle.lore=&7Kliknij lewym przyciskiem myszy, aby przełączyć Friendly Fire
gui.clandetails.ff.clan.toggle.lore=&7Kliknij lewym przyciskiem myszy, aby przełączyć klanu Friendly Fire
gui.clandetails.bank.title=&fBank
gui.clandetails.bank.balance.lore=&7Saldo\: &b{0}
gui.clandetails.bank.withdraw.status.lore=&7Wypłata\: &b{0}
gui.clandetails.bank.deposit.status.lore=&7Depozyt\: &b{0}
gui.clandetails.bank.withdraw.toggle.lore=&7Kliknij środkiem, aby przełączyć status wypłaty
gui.clandetails.bank.deposit.toggle.lore=&7Kliknij prawym przyciskiem myszy, aby przełączyć status wpłaty
gui.clandetails.fee.title=&fOpłata
gui.clandetails.fee.status.lore=&7Status\: &b{0}
gui.clandetails.fee.value.lore=&7Wartość\: &b{0}
gui.clandetails.fee.toggle.lore=&7Kliknij lewym przyciskiem myszy, aby przełączyć status opłaty
gui.clandetails.rank.title=&fRanga
gui.clandetails.rank.lore=&7Kliknij lewym przyciskiem myszy, aby zobaczyć rangi klanu i edytować je
gui.clandetails.verified.title=&fZweryfikowano
gui.clandetails.not.verified.title=&fNiezweryfikowany
gui.clandetails.verify.price.lore=&7Cena\: &b{0}
gui.clandetails.not.verified.lore=&7Kliknij lewym przyciskiem myszy, aby zweryfikować swój klan
gui.staffclandetails.not.verified.lore=&7Kliknij lewym przyciskiem myszy, aby zweryfikować ten klan
gui.clandetails.resign.title=&fZrezygnuj
gui.clandetails.resign.lore=&7Kliknij lewym przyciskiem myszy, aby zrezygnować z klanu
gui.clandetails.disband.title=&fRozwiąż
gui.clandetails.disband.lore=&7Kliknij środkowym przyciskiem myszy, aby rozwiązać klan.
gui.staffclandetails.disband.lore=&7Kliknij lewym przyciskiem myszy, aby rozwiązać ten klan.
gui.clandetails.chat.title=&fCzat
gui.clandetails.chat.clan.chat.lore=&7/{0} [message] - &bWysyła wiadomość do czatu klanowego
gui.clandetails.chat.clan.join.leave.lore=&7/{0} {1}/{2} - &bDołącza/opuszcza czat klanowy
gui.clandetails.chat.ally.chat.lore=&7/{0} [message] - &bWysyła wiadomość do czatu sojusznika
gui.clandetails.chat.ally.join.leave.lore=&7/{0} {1}/{2} - &bDołącza/opuszcza czat sojusznika
gui.clandetails.chat.clan.status.lore=&7Klan\: &b{0}
gui.clandetails.chat.ally.status.lore=&Sojusznicy\: {0}
gui.clandetails.chat.clan.toggle.lore=&7Kliknij lewym przyciskiem myszy, aby przełączyć status czatu klanowego
gui.clandetails.chat.ally.toggle.lore=&7Kliknij prawym przyciskiem myszy, aby przełączyć status czatu sojusznika
gui.playerdetails.title={0}
gui.playerdetails.player.title=&f{0}
gui.playerdetails.player.lore.noclan=&7Klan\: &bBrak
gui.playerdetails.player.lore.clan=&7Klan\: &b[{0}&b] {1}
gui.playerdetails.player.lore.rank=&7Ranga\: &b{0}
gui.playerdetails.player.lore.status=&7Status\: &b{0}
gui.playerdetails.player.lore.kdr=&7KDR\: &b{0}
gui.playerdetails.player.lore.kill.totals=&7Kille Razem\: &b[Wrogowie\:{0} Neutralni\:{1} Cywile\:{2}]
gui.playerdetails.player.lore.deaths=&Smierci\: {0}
gui.playerdetails.player.lore.join.date=&7Data dołączenia\: &b{0}
gui.playerdetails.player.lore.last.seen=&7Ostatnio widziany\: &b{0}
# suppress inspection "TrailingSpacesInProperty"
gui.playerdetails.player.lore.past.clans.separator=&b,
gui.playerdetails.player.lore.past.clans=&Poprzednie klany\: {0}
gui.playerdetails.player.lore.inactive=&7Nieaktywny\: &b{0}/{1} dni
gui.playerdetails.kick.title=&fWyrzuć
gui.playerdetails.promote.demote.title=&fPromocja/Degradacja
gui.playerdetails.promote.lore.left.click=&7Kliknij lewym przyciskiem myszy aby promować
gui.playerdetails.demote.lore.right.click=&7Kliknij prawym przyciskiem myszy, aby zdegradować
gui.playerdetails.assign.unassign.title=&fPrzypisz/Cofnij przypisanie rangi
gui.playerdetails.assign.lore.left.click=&7Kliknij lewym przyciskiem myszy, aby przypisać
gui.playerdetails.unassign.lore.right.click=&7Kliknij prawym przyciskiem myszy, aby cofnąć przypisanie
gui.playerdetails.trust.untrust.title=&fZaufany/Niezaufany
gui.playerdetails.trust.lore.left.click=&7Kliknij lewym przyciskiem myszy aby promować
gui.playerdetails.untrust.lore.right.click=&7Kliknij prawym przyciskiem myszy, aby przestać ufać
gui.playerdetails.ban.unban.title=&fBan/Odbanuj
gui.playerdetails.ban.left.click=&7Kliknij lewym przyciskiem myszy, aby zbanować tego gracza z klanu
gui.playerdetails.unban.right.click=&7Kliknij prawym przyciskiem myszy, aby odblokować tego gracza
gui.playerdetails.resetkdr.lore=&7Kliknij lewym przyciskiem myszy, aby zresetować KDR tego gracza
gui.playerdetails.purge.title=&fWyczyść
gui.playerdetails.purge.lore=&7Kliknij lewym przyciskiem myszy, aby wyczyścić dane tego gracza
gui.playerdetails.place.title=&fPoloz
gui.playerdetails.place.lore=&7Kliknij lewym przyciskiem myszy, aby wybrać klan dla tego gracza
gui.languageselector.title=Języki - obecnie\: {0}
gui.languageselector.language.title=&f{0}
gui.languageselector.language.lore.left.click=&7Kliknij lewym przyciskiem myszy, aby wybrać swój język
gui.languageselector.language.lore.translation.status=&7Status tłumaczenia\: &b{0}%
gui.languageselector.language.lore.right.click=&7Kliknij prawym przyciskiem myszy, aby pomóc w tłumaczeniu
gui.confirmation.title=Potwierdź
gui.confirmation.confirm=&7Kliknij tutaj, aby potwierdzić
gui.confirmation.return=&7Kliknij tutaj, aby powrócić
gui.not.supported=&cWystąpił błąd podczas otwierania GUI\! Wyłączanie... Czy pobrałeś poprawną wersję?
staff.member.verify.clan=&cAdmin musi zweryfikować Twój klan\!
player.already.has.that.rank=&cGracz ma już taką rangę\!
joined.clan.chat=&bDołączyłeś do klanowego czatu
left.clan.chat=&bOpuściłeś czat klanowy
muted.clan.chat=&bWyciszyłeś czat klanowy
unmuted.clan.chat=&bWyciszyłeś czat klanowy
joined.ally.chat=&bDołączyłeś do czatu sojusznika
left.ally.chat=&bOpuściłeś czat sojusznika
muted.ally.chat=&bWyciszyłeś czat klanowy
unmuted.ally.chat=&bWłączyłeś czat klanowy
player.already.in.this.clan=&cGracz jest już w tym klanu
your.clan.reached.max.alliances=&cTwój klan osiągnął maksymalną liczbę sojuszy
other.clan.reached.max.alliances=&cTen klan osiągnął maksymalną liczbę sojuszy
insert.clan.tag=&bWstaw tag klanu\:
insert.clan.name=&bWprowadź nazwę klanu\:
insert.rank.name=&bWprowadź nazwę rangi\:
click.to.help.translating=&bKliknij ten link, aby pomóc w tłumaczeniu\:\n&r{0}
your.clan.must.have.members.to.verify=&cTwój klan musi mieć co najmniej {0} członków, aby mógł zostać zweryfikowany\!
you.must.hold.a.banner=&cMusisz mieć baner w ręce\!
you.changed.clan.banner=&bZmieniłeś baner Twojego klanu\!
your.clan.already.verified=&Ten klan jest już zweryfikowany\!
# suppress inspection "TrailingSpacesInProperty"
clan.profile=\n&b%clan_name%&7 profil &8-------------------------------------------\n \n &7Nazwa\: &e[&8%clan_color_tag%&e] &b%clan_name%\n &7Opis\: &f%clan_description%\n &7Status\: &f%clan_verified%\n &7Szef\: %clan_leaders%\n &7Online\: &f%clan_online_count%&7/&f%clan_size%\n &7KDR\: &e%clan_kdr%\n &7Zabojstwa\: &8[Rival\:&f%clan_rival_kills% &8Neutral\:&f%clan_neutral_kills% &8Civilian\:&f%clan_civilian_kills%&8]\n &7Zgony\: &f%clan_deaths%\n &7Oplata\: &f%clan_fee_enabled%&7, &f%clan_fee_value% $\n &7Sojusznicy\: &f%clan_allies%\n &7Wrogowie\: &f%clan_rivals%\n &7Zalozona\: &f%clan_founded%\n &7Nieaktywny\: &f%clan_inactive_days%&7/&f%clan_max_inactive_days% dni
player.lookup.clanname=&e[&8%clan_color_tag%&e] &b%clan_name%
# suppress inspection "TrailingSpacesInProperty"
player.lookup.killtype=&7Typ zabójstwa\: %player_kill_type%\n
player.lookup=\n&b%player_name%&7 Info &8-------------------------------------------\n \n &7Klan\: &f%clan_name%\n &7Ranga\: &f%player_rank%\n &7Status\: &f%player_status%\n &7KDR\: &e%player_kdr%\n &7Kille\: &8[Rival\:&f%player_rival_kills% &8Neutral\:&f%player_neutral_kills% &8Civilian\:&f%player_civilian_kills%&8]\n &7Zgony\: &f%player_deaths%\n &7Data dolaczenia\: &f%player_join_date%\n &7Ostatnie zalogowanie\: &f%player_last_seen%\n &7Ostatni klan\: &f%player_past_clans%\n &7Nieaktywny\: &f%player_inactive_days%&7/&f%player_max_inactive_days% dni\n %kill_type_line%
economy.disabled=&cGospodarka wyłączona\!
has.been.purged=Dane {0}zostały wyczyszczone
accepted.invitation=&bZaakceptowałeś zaproszenie {0}
denied.invitation=&cOdmówiłeś zaproszenia {0}
must.be.in.clan.to.pvp=&cTy i {0} musisz być członkami klanu do PvP\!
clans.not.at.war.pvp.denied=&cTwój klan nie jest w wojnie z {0}\!
cannot.attack.civilians=&cNie możesz atakować cywilów\!
cannot.attack.clan.member=&cNie możesz zaatakować innego członka klanu\!
cannot.attack.ally=&cNie możesz zaatakować sojusznika\!
cannot.change.member.fee.now=&cNie możesz zmienić składki członkowskiej blisko czasu jej pobrania.
cannot.change.member.fee.hours=&cSpróbuj ponownie za {0} godzin...
cannot.change.member.fee.minutes=&cSpróbuj ponownie za {0} minut...
+51 -21
View File
@@ -1,4 +1,3 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=descricao
create.command=criar
delete.command=deletar
@@ -76,7 +75,34 @@ resetkdr.command=redefinirkdr
everyone.command=todos
setbanner.command=defestandarte
help.command=ajuda
acf-core.parameter.member=membro
acf-core.parameter.rank=cargo
acf-core.parameter.leader=líder
acf-core.parameter.displayname=nome de exibição
acf-core.parameter.permission=permissão
acf-core.parameter.message=mensagem
acf-core.parameter.tag=tag
acf-core.parameter.fee=taxa
acf-core.parameter.description=descrição
acf-core.parameter.player=jogador
acf-core.parameter.clan=clã
acf-core.parameter.type=tipo
acf-core.parameter.order=ordem
acf-core.parameter.help=página ou palavras-chave
command.description.stats=Mostra as estatísticas dos membros do seu clã
command.description.rivalries=Mostra todas as rivalidades
command.description.mostkilled=Mostra o total de mortes de uma vítima para o mesmo assassino
command.description.kills=Mostra a sua contagem de mortes ou de outro jogador
command.description.lookup=Mostra as suas informações
command.description.lookup.other=Mostra as informações de um jogador
command.description.leaderboard=Mostra o ranking
command.description.roster.other=Lista os membros de outro clã
command.description.roster=Lista os membros do seu clã
command.description.profile.other=Mostra o perfil de outro clã
command.description.profile=Mostra o perfil do seu clã
command.description.vitals=Mostra os sinais vitais do seu clã e de aliados
command.description.list=Lista todos os clãs
command.description.chat=Fala no chat do clã
command.description.ally=Fala no chat dos aliados
command.description.deny=Nega um pedido
command.description.accept=Aceita um pedido
@@ -110,7 +136,7 @@ command.description.reload=Recarrega o plugin e a sua configuração
command.description.trust=Confia em um membro
command.description.untrust=Marca um jogador como não-confiável
command.description.resign=Abandona o seu clã
command.description.help=Mostra esta ajuda
command.description.help=Mostra esta ajuda ou pesquisa na ajuda
command.description.ally.add=Adiciona um aliado
command.description.clan=Abre a GUI
command.description.disband=Debanda o seu clã
@@ -154,16 +180,9 @@ command.description.rank.permissions.available=Lista as permissões de cargo dis
command.description.rank.permissions.rank=Lista as permissões de um cargo
command.description.rank.permissions.add=Adiciona uma permissão a um cargo
command.description.rank.permissions.remove=Remove uma permissão de um cargo
usage.0.rivalries=Uso\: /{0} rivalidades
usage.0.stats=Uso\: /{0} estatisticas
usage.0.vitals=Uso\: /{0} saude
0.place=/{0} place [jogador] [tag]{1} - Coloca um jogador em um clã
0.toggle.command=/{0} alternar [{2}]{1} - Alterna opções pessoais
0.kills=/{0} mortes{1} - Mostra a sua contagem de mortes
home-menu=/{0} base{1} - Teleporta para a base do clã
home-set-menu=/{0} base set{1} - Define a base do clã
home-clear-menu=/{0} base clear{1} - Apaga a base do clã
home-regroup-menu=/{0} base regroup [me]{1} - Reagrupa todos os membros do clã para a base ou para você
clan=Clã
allies=Aliados
alliances=aliancas
@@ -261,8 +280,6 @@ has.been.disbanded.alliance.ended={0} foi debandado. A aliança terminou.
clan.disbanded=Clã debandado
1.color.day=1 {0}dia
many.color.days={0}{1} dias
does.not.match=Não é um comando de clã
simpleclans.command.failure=Falha no comando do SimpleClans\: {0}
insufficient.permissions=Permissões insuficientes
clan.is.not.verified=Clã não é verificado
player.not.a.member.of.any.clan=&cO jogador não é membro de nenhum clã
@@ -323,7 +340,6 @@ total.clans=Total de clãs\:
legend=Legenda\:
kill.type.civilian=Tipo de morte\: {0}Civil
no.player.data.found=Nenhum dado de jogador encontrado
s.player.info=Detalhes de {0}
clan.0=Clã\: {0}
status.0=Estado\: {0}
rank.0=Cargo\: {0}
@@ -486,8 +502,8 @@ no.ranks=Nenhum cargo foi criado
rank.no.permissions=O cargo não tem nenhuma permissão
player.unassigned.from.rank=Jogador removido do cargo
you.must.be.0.or.have.the.permission.1.to.use.this=Você deve ser {0} ou o seu líder deve dar ao seu cargo a permissão {1} para usar isso
deposit.not.allowed=Depósito não é permitido
withdraw.not.allowed=Saque não é permitido
deposit.not.allowed=Depósito não é permitido, use /%clan %toggle %deposit para permitir
withdraw.not.allowed=Saque não é permitido, use /%clan %toggle %withdraw para permitir
resign.request.cancelled=Pedido para abandonar clã cancelado
promotion.vote.has.been.requested.from.all.leaders=Um voto de promoção foi pedido a todos os líderes
allowed=permitido
@@ -499,7 +515,7 @@ gui.back.title=&fVoltar
gui.previous.page.title=&fPágina anterior
gui.next.page.title=&fPróxima página
gui.lore.no.permission=&cVocê não tem permissão para ver isso\!
gui.main.title=SimpleClans
gui.main.title={0} - menu de clãs
gui.main.languageselector.title=&fSelecione seu idioma
gui.main.languageselector.lore.left.click=&7Clique com o botão esquerdo para selecionar seu idioma
gui.main.languageselector.lore.right.click=&7Clique com o botão direito para ajudar a traduzir
@@ -513,6 +529,7 @@ gui.main.reset.kdr.lore=&7Clique com o botão esquerdo para redefinir o seu KDR
gui.main.leaderboard.title=&fRanking
gui.main.leaderboard.lore=&7Clique com o botão esquerdo para ver o ranking
gui.main.staff.title=&fEquipe
gui.main.staff.lore=&7Clique com o botão esquerdo para abrir o menu da Staff
gui.staff.title=Equipe
gui.staff.clan.list.lore.left.click=&7Clique com o botão esquerdo para ver todos os clãs
gui.staff.clan.list.lore.right.click=&7Clique com o botão direito para ver todos os clãs não verificados
@@ -591,7 +608,9 @@ gui.clandetails.clan.lore.kdr=&7KDR\: &b{0}
gui.clandetails.clan.lore.kill.totals=&7Matou\: &b[Rival\:{0} Neutro\:{1} Civil\:{2}]
gui.clandetails.clan.lore.deaths=&7Mortes\: &b{0}
gui.clandetails.clan.lore.fee=&7Taxa\: &b{0}, {1} $
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.allies.separator=&b,
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.rivals.separator=&b,
gui.clandetails.clan.lore.allies=&7Aliados\: &b{0}
gui.clandetails.clan.lore.rivals=&7Rivais\: &b{0}
@@ -665,6 +684,7 @@ gui.playerdetails.player.lore.kill.totals=&7Matou\: &b[Rival\:{0} Neutro\:{1} Ci
gui.playerdetails.player.lore.deaths=&7Morreu\: &b{0}
gui.playerdetails.player.lore.join.date=&7Entrou\: &b{0}
gui.playerdetails.player.lore.last.seen=&7Visto por último\: &b{0}
# suppress inspection "TrailingSpacesInProperty"
gui.playerdetails.player.lore.past.clans.separator=&b,
gui.playerdetails.player.lore.past.clans=&7Clãs anteriores\: &b{0}
gui.playerdetails.player.lore.inactive=&7Inativo\: &b{0}/{1} dias
@@ -697,14 +717,10 @@ gui.confirmation.return=&7Clique aqui para voltar
gui.not.supported=&cOcorreu um erro ao abrir a GUI\! Desabilitando... Você fez o download da versão correta?
staff.member.verify.clan=&cUm membro da equipe deve verificar o seu clã\!
player.already.has.that.rank=&cO jogador já possui este cargo\!
enabled.clan.chat=&bVocê ativou o chat do clã
disabled.clan.chat=&bVocê desativou o chat do clã
joined.clan.chat=&bVocê entrou no chat do clã
left.clan.chat=&bVocê saiu do chat do clã
muted.clan.chat=&bVocê silenciou o chat do clã
unmuted.clan.chat=&bVocê desmutou o chat do clã
enabled.ally.chat=&bVocê ativou o chat dos aliados
disabled.ally.chat=&bVocê desativou o chat dos aliados
joined.ally.chat=&bVocê se juntou ao chat dos aliados
left.ally.chat=&bVocê saiu do chat dos aliados
muted.ally.chat=&bVocê silenciou o chat dos aliados
@@ -720,7 +736,21 @@ your.clan.must.have.members.to.verify=&cSeu clã deve ter pelo menos {0} membros
you.must.hold.a.banner=&cVocê precisa ter um estandarte em sua mão\!
you.changed.clan.banner=&bVocê mudou o estandarte do seu clã\!
your.clan.already.verified=&cSeu clã já está verificado\!
clan.profile=\n&b%clan_name%&7 Perfil &8-------------------------------------------\n \n &7Nome\: &e[&8%clan_color_tag%&e] &b%clan_name%\n &7Descrição\: &f%clan_description%\n &7Status\: &f%clan_verified%\n &7Líderes\: %clan_leaders%\n &7Membros Online\: &f%clan_online_count%&7/&f%clan_size%\n &7KDR\: &e%clan_kdr%\n &7Total de Kills\: &8[Rival\:&f%clan_rival_kills% &8Neutro\:&f%clan_neutral_kills% &8Civil\:&f%clan_civilian_kills%&8]\n &7Mortes\: &f%clan_deaths%\n &7Tarifa\: &f%clan_fee_enabled%&7, &f%clan_fee_value% $\n &7Aliados\: &f%clan_allies%\n &7Rivais\: &f%clan_rivals%\n &7Fundado em\: &f%clan_founded%\n &7Inativo\: &f%clan_inactive_days%&7/&f%clan_max_inactive_days% dias\n
# suppress inspection "TrailingSpacesInProperty"
clan.profile=\n&b%clan_name%&7 perfil &8-------------------------------------------\n \n &7Nome\: &e[&8%clan_color_tag%&e] &b%clan_name%\n &7Descrição\: &f%clan_description%\n &7Estado\: &f%clan_verified%\n &7Líderes\: %clan_leaders%\n &7Membros Online\: &f%clan_online_count%&7/&f%clan_size%\n &7KDR\: &e%clan_kdr%\n &7Total de Kills\: &8[Rival\:&f%clan_rival_kills% &8Neutro\:&f%clan_neutral_kills% &8Civil\:&f%clan_civilian_kills%&8]\n &7Mortes\: &f%clan_deaths%\n &7Taxa\: &f%clan_fee_enabled%&7, &f%clan_fee_value% $\n &7Aliados\: &f%clan_allies%\n &7Rivais\: &f%clan_rivals%\n &7Fundado em\: &f%clan_founded%\n &7Inativo\: &f%clan_inactive_days%&7/&f%clan_max_inactive_days% dias\n
player.lookup.clanname=&e[&8%clan_color_tag%&e] &b%clan_name%
# suppress inspection "TrailingSpacesInProperty"
player.lookup.killtype=&7Tipo de Morte\: %player_kill_type%\n
player.lookup=\n&b%player_name%&7's Informações do jogador &8-------------------------------------------\n \n &7Clã\: &f%clan_name%\n &7Cargo\: &f%player_rank%\n &7Status\: &f%player_status%\n &7KDR\: &e%player_kdr%\n &7Total de Kills\: &8[Rival\:&f%player_rival_kills% &8Neutro\:&f%player_neutral_kills% &8Civil\:&f%player_civilian_kills%&8]\n &7Mortes\: &f%player_deaths%\n &7Data de entrada\: &f%player_join_date%\n &7Visto por último\: &f%player_last_seen%\n &7Clãs passados\: &f%player_past_clans%\n &7Inativo\: &f%player_inactive_days%&7/&f%player_max_inactive_days% dias\n %kill_type_line%
player.lookup=\n&bInformações de %player_name%&7 &8-------------------------------------------\n \n &7Clã\: &f%clan_name%\n &7Cargo\: &f%player_rank%\n &7Estado\: &f%player_status%\n &7KDR\: &e%player_kdr%\n &7Total de Kills\: &8[Rival\:&f%player_rival_kills% &8Neutro\:&f%player_neutral_kills% &8Civil\:&f%player_civilian_kills%&8]\n &7Mortes\: &f%player_deaths%\n &7Data de entrada\: &f%player_join_date%\n &7Visto por último\: &f%player_last_seen%\n &7Clãs passados\: &f%player_past_clans%\n &7Inativo\: &f%player_inactive_days%&7/&f%player_max_inactive_days% dias\n %kill_type_line%
economy.disabled=&cEconomia desativada\!
has.been.purged=Os dados de {0} foram apagados
accepted.invitation=&bVocê aceitou o convite de {0}
denied.invitation=&cVocê negou o convite de {0}
must.be.in.clan.to.pvp=&cVocê e {0} devem ser membros de clã para poder lutar\!
clans.not.at.war.pvp.denied=&cSeu clã não está em guerra com {0}\!
cannot.attack.civilians=&cVocê não pode atacar civis\!
cannot.attack.clan.member=&cVocê não pode atacar um membro do clã\!
cannot.attack.ally=&cVocê não pode atacar um aliado\!
cannot.change.member.fee.now=&cVocê não pode modificar a taxa perto do horário de coleta.
cannot.change.member.fee.hours=&cTente novamente em {0} horas...
cannot.change.member.fee.minutes=&cTente novamente em {0} minuto(s)...
@@ -0,0 +1,76 @@
description.command=descriere
create.command=creeaza
delete.command=sterge
rank.command=grad
setdisplayname.command=afiseaza numele
permissions.command=permisii
list.command=lista
list.order.asc=ascendent
list.order.desc=descendent
list.type.name=nume
list.type.kdr=kdr
list.type.size=dimensiune
list.type.founded=gasit
list.type.active=activ
profile.command=profil
roster.command=lista
lookup.command=cautare
leaderboard.command=clasament
alliances.command=aliante
rivalries.command=rivali
vitals.command=viata
coords.command=coordonate
stats.command=status
ally.command=aliat
add.command=adauga
remove.command=elimina
allow.command=permite
block.command=blocheaza
auto.command=auto
check.command=verifica
assign.command=repartizeaza
unassign.command=anuleaza
rival.command=rival
bb.command=bb
clear.command=sterge
modtag.command=modtag
toggle.command=comuta
tag.command=eticheta
deposit.command=depozit
all.command=tot
withdraw.command=retrage
invite.command=invita
kick.command=exclude
bank.command=banca
status.command=stare
fee.command=tarif
set.command=seteaza
purge.command=sterge
trust.command=incredere
untrust.command=neincredere
command.description.profile.other=Arata profilul altui clan
command.description.profile=Arata profilul clanului tau
command.description.vitals=Arata viata membrilor clanului tau si aliatilor
command.description.list=Lista cu clanuri
command.description.chat=Vorbeste in conversatia clanului
command.description.ally=Vorbeste in conversatia aliatilor
command.description.deny=Refuza o solicitare
command.description.accept=Accepta o solicitare
command.description.more=Arata mai multe informatii
command.description.create=Creeaza un clan
command.description.ff.allow=Seteaza daunele tale personale pe permis
command.description.ff.auto=Seteaza daunele tale personale pe auto
command.description.globalff.allow=Seteaza daunele intre coechipieri pe global
command.description.globalff.auto=Seteaza daunele intre coechipieri global pe auto
command.description.clanff.allow=Seteaza daunele intre coechipieri pe permis
command.description.clanff.block=Seteaza daunele intre coechipieri pe inchis
command.description.description=Seteaza descriere la clan
command.description.ban=Interzice comenzile unui membru din clan
command.description.unban=Dezinterzice comenzile unui membru din clan
command.description.regroup.me=Adu' membri clanului la locatia ta
command.description.regroup.home=Adu' membri clanului la casa ta
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+345 -245
View File
@@ -1,13 +1,12 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=описать
create.command=создать
delete.command=удалить
rank.command=ранг
setdisplayname.command=установить отображаемое имя
permissions.command=разрешения
list.command=списки
list.order.asc=asc
list.order.desc=desc
permissions.command=права
list.command=список
list.order.asc=по возрастанию
list.order.desc=описание
list.type.name=имя
list.type.kdr=kdr
list.type.size=размер
@@ -17,9 +16,9 @@ profile.command=профиль
roster.command=расписание
lookup.command=найти
leaderboard.command=лидеры
alliances.command=друзья
rivalries.command=враг
vitals.command=части
alliances.command=союзники
rivalries.command=соперничество
vitals.command=боеспособность
coords.command=координаты
stats.command=статистика
ally.command=союзник
@@ -27,24 +26,24 @@ add.command=добавить
remove.command=удалить
allow.command=разрешить
block.command=блокировать
auto.command=авто
auto.command=по умолчанию
check.command=проверить
assign.command=назначать
unassign.command=отменить
assign.command=назначить
unassign.command=забрать
rival.command=соперник
bb.command=объявления
clear.command=очистить
modtag.command=описание
toggle.command=переключить
tag.command=метка
deposit.command=депозит
tag.command=тег
deposit.command=пополнить
all.command=всё
withdraw.command=вывести
invite.command=пригласить
kick.command=выгнать
bank.command=банк
status.command=статус
fee.command=оплата
fee.command=комиссия
set.command=установить
purge.command=очистка
trust.command=доверие
@@ -53,14 +52,14 @@ admin.command=админ
promote.command=повысить
demote.command=понизить
clanff.command=кланфф
ff.command=фф
ff.command=союзные стычки
resign.command=отойти
disband.command=разобрать
verify.command=верить
disband.command=расформировать
verify.command=подтвердить
ban.command=бан
unban.command=разбанить
reload.command=обновить
globalff.command=глобальный
reload.command=перезагрузить
globalff.command=глобальные Союзные Стычки
kills.command=Убито
mostkilled.command=убийства
war.command=война
@@ -69,111 +68,191 @@ end.command=конец
home.command=дом
regroup.command=перегруппироваться
me.command=мне
tp.command=tp
setrank.command=поставить
tp.command=телепортировать
setrank.command=установить ранг
place.command=место
resetkdr.command=сброситькдр
everyone.command=каждый
setbanner.command=изменить баннер
setbanner.command=установить баннер
help.command=помощь
acf-core.parameter.member=участник
acf-core.parameter.rank=ранг
acf-core.parameter.leader=лидер
acf-core.parameter.displayname=отображаемое имя
acf-core.parameter.permission=права
acf-core.parameter.message=сообщение
acf-core.parameter.tag=тег
acf-core.parameter.fee=комиссия
acf-core.parameter.description=описание
acf-core.parameter.player=игрок
acf-core.parameter.clan=клан
acf-core.parameter.type=тип
acf-core.parameter.order=список заказов
acf-core.parameter.help=страница или ключевые слова
command.description.stats=Показать статистику участников вашего клана
command.description.rivalries=Показать всех соперников клана
command.description.mostkilled=Показать общую статистику убийств на всём сервере
command.description.kills=Показывает количество убийств вашего или другого игрока
command.description.lookup=Посмотреть информацию о себе
command.description.lookup.other=Посмотреть информацию об игроке
command.description.leaderboard=Показать таблицу лидеров
command.description.roster.other=Показать список участников другого клана
command.description.roster=Показать список участников вашего клана
command.description.profile.other=Показать информацию о профиле другого клана
command.description.profile=Показать информацию о профиле вашего клана
command.description.vitals=Показать боеспособность вашего и союзных кланов
command.description.list=Список всех кланов
command.description.ally=Беседы в союзном чате
command.description.deny=Отправляет запрос
command.description.accept=Принимает запрос
command.description.more=Показывает больше информации
command.description.create=Создаёт клан
command.description.chat=Переговоры в клановом чате
command.description.ally=Переговоры в союзном чате
command.description.deny=Отклонить запрос
command.description.accept=Принять запрос
command.description.more=Показать больше информации
command.description.create=Создать клан
command.description.ff.allow=Разрешить участникам вашего клана бить друг друга
command.description.ff.auto=Установить ваш статус "огонь по своим" по умолчанию
command.description.globalff.allow=Разрешить участникам всех кланов бить друг друга
command.description.description=Устанавлиает описание вашего клана
command.description.ban=Запрещает игроку использовать команды клана
command.description.unban=Разрешает игроку использовать команды клана
command.description.regroup.me=Собрать всех участников клана у себя
command.description.regroup.home=Собрать всех участников клана на базе
command.description.home.tp=Телепортирует вас на базу клана
command.description.home.clear=Удаляет базу вашего клана
command.description.home.set=Устанавливает базу вашего клана
command.description.mod.home.set=Устанавливает базу клана
command.description.mod.home.tp=Телепортирует на базу клана
usage.0.rivalries=Использование\: /{0} rivalries
usage.0.stats=Использование\: /{0} stats
usage.0.vitals=Использование\: /{0} vitals
0.place=/{0} place [игрок] [тег]{1} - Разместить игрока в клане
0.toggle.command=/{0} toggle [{2}]{1} - Изменить персональные настройки
0.kills=/{0} kills{1} - Посмотреть ваши убийства
home-menu=/{0} home{1} - Телепорт в клановый дом-базу
home-set-menu=/{0} home set{1} - Установить клановый дом базу
home-clear-menu=/{0} home clear{1} - Удалить клановый дом базу
home-regroup-menu=/{0} home regroup [me]{1} - Перегруппировать все всех участников к дому или базе клана или к вам
command.description.globalff.auto=Установить глобальный статус "огонь по своим" по умолчанию
command.description.clanff.allow=Разрешить "огонь по своим" участникам вашего клана
command.description.clanff.block=Запретить "огонь по своим" участникам вашего клана
command.description.description=Установить описание вашего клана
command.description.ban=Запретить игроку использовать команды клана
command.description.unban=Разрешить игроку использовать команды клана
command.description.regroup.me=Перегруппировать участников вашего клана в ваше текущее местоположение
command.description.regroup.home=Созвать всех участников на вашу базу
command.description.home.tp=Телепортироваться на базу вашего клана
command.description.home.clear=Удалить базу вашего клана
command.description.home.set=Установить базу вашего клана
command.description.mod.home.set=Установить базу клана
command.description.mod.home.tp=Телепортироваться на базу клана
command.description.rival.remove=Удалить соперника
command.description.rival.add=Добавить соперника
command.description.ally.remove=Удалить союзника
command.description.kick=Выгнать участника из вашего клана
command.description.bb.display=Показать доску объявлений вашего клана
command.description.bb.clear=Очистить доску объявлений вашего клана
command.description.bb.post=Написать сообщение на доску объявлений вашего клана
command.description.place=Переместить игрока в клан
command.description.reload=Перезагрузить плагин и его конфигурацию
command.description.trust=Доверять участнику. Проверенный участник имеет больше прав и команд в клане.
command.description.untrust=Не доверять участнику. Не проверенный участник имеет меньше прав и команд.
command.description.resign=Выйти из вашего клана
command.description.help=Показать справку или найти в справке
command.description.ally.add=Добавить союзника
command.description.clan=Открыть GUI
command.description.disband=Расформировать ваш клан
command.description.mod.disband=Расформировать клан
command.description.modtag=Изменить тег вашего клана
command.description.purge=Очистить некоторые данные об игроке
command.description.setbanner=Установить баннер вашего клана
command.description.verify=Подтвердить ваш клан
command.description.mod.verify=Подтвердить клан
command.description.invite=Пригласить игрока в ваш клан
command.description.fee.check=Узнать значение комиссии в вашем клане, если она включена
command.description.fee.set=Установить значение комиссии вашего клана
command.description.bank.status=Проверить баланс банка вашего клана
command.description.bank.withdraw.all=Вывести все средства с банковского счета вашего клана
command.description.bank.withdraw.amount=Вывести указанную сумму с банковского счета вашего клана
command.description.bank.deposit.all=Внести все ваши средства на банковский счет вашего клана
command.description.bank.deposit.amount=Внести указанную сумму на банковский счет вашего клана
command.description.war.start=Объявить войну
command.description.war.end=Закончить войну
command.description.resetkdr.everyone=Сбросить KDR всех игроков
command.description.resetkdr.player=Сбросить KDR игрока
command.description.resetkdr=Сбросить ваш KDR
command.description.admin.demote=Понизить лидера из любого клана
command.description.demote=Понизить лидера
command.description.admin.promote=Повысить любого участника из любого клана
command.description.promote=Повысить участника до лидера
command.description.toggle.bb=Следует ли показывать вашим участникам доску объявлений при входе на сервер
command.description.toggle.tag=Показывать ли рядом с вашим именем тег клана
command.description.toggle.deposit=Можно ли вносить средства в банковский счёт вашего клана
command.description.toggle.withdraw=Можно ли выводить средства с банковского счёта вашего клана
command.description.toggle.fee=Должна ли быть включена комиссия клана
command.description.alliances=Показать список всех союзных кланов
command.description.coords=Показать координаты участников вашего клана
command.description.rank.assign=Назначить ранг участнику
command.description.rank.unassign=Отобрать ранг у участника (уволить)
command.description.rank.create=Создать ранг
command.description.rank.delete=Удалить ранг
command.description.rank.list=Показать список рангов вашего клана
command.description.rank.setdisplayname=Установить отображаемое имя ранга
command.description.rank.permissions.available=Вывести список доступных прав ранга
command.description.rank.permissions.rank=Показать список прав для ранга
command.description.rank.permissions.add=Добавить право для ранга
command.description.rank.permissions.remove=Удалить право у ранга
home-menu=/{0} home{1} - Телепортироваться на базу клана
home-set-menu=/{0} home set{1} - Установить базу клана
home-clear-menu=/{0} home clear{1} - Удалить базу клана
clan=Клан
allies=Союзник
allies=Союзники
alliances=союзники
coords=корды
name=Имян
distance=Длина
coords.upper=Корды
world=Миров
coords=координаты
name=Имя
distance=Расстояние
coords.upper=Координаты
world=Мир
kdr=КДР
members=Игроков
clans.lower=клан
rival=Враги
members=Участники
clans.lower=кланы
rival=Соперник
civilian=Гражданский
neutral=Общие
free.agent=Агент007
free.agent=без клана
days=дней
rivals=Враги
rivalries=соперник
rivals=Соперники
rivalries=соперничество
online=Онлайн
player=Игрок
seen=Узнать
leader=лидер
roster=список
trusted=доверять
untrusted=недоверять
deaths=Смерти
trusted=проверенный
untrusted=недоверенный
deaths=Смертей
weights=Весит
stats=стата
health=Здравие
stats=статистика
health=Здоровье
armor=Броня
weapons=Оружия
food=Пища
vitals=часть
verified=Проверен
unverified=Не проверен
food=Еда
vitals=боеспособность
verified=Подтвержденный
unverified=Не подтвержденный
profile=профиль
civilian.abbreviation=Жители
rank=Ранг
leaders=Капитан
leaders=Лидеры
none=Нету
today=Сейчас
today=Сегодня
kills=Убиты
mostkilled=Наибольшее число убийств
killcount=Число убитых
attacker=Нападают
killcount=Количество убийств
attacker=Атакующий
victim=Жертва
kill.death.ratio=Соотношение убийств/смертей
nokillsfound=Убийств не найдено
nokillsfound=Нет убийств
promoted.to.leader={0} был повышен до лидера
denied.demotion={0} отклонил понижение {1}. Консенсус не удался.
denied.demotion={0} отклонил понижение {1}. Не удалось придти к единому мнению.
membership.invitation={0} отклонил приглашение в клан
joined.the.clan={0} присоединился(-лась) к клану.
signed.off.request.cancelled={0} подписался. Запрос на {1} отменен.
clan.deletion={0} отказал в удалении клана. Консенсус не удался.
clan.deletion={0} отказал в удалении клана. Не удалось придти к единому мнению.
has.been.disbanded=Клан {0} был распущен
denied.the.promotion={0} отказал в продвижении {1}. Консенсус не удался.
denied.the.promotion={0} отказал в продвижении {1}. Не удалось придти к единому мнению.
demoted.back.to.member={0} был понижен обратно до участника
peace.agreement.denied=Мирное соглашение с {0} было отклонено
denied.to.make.peace={0} отказал в перемирие с {1}
broken.the.rivalry={0} прекратили войну с {1}
broken.the.rivalry.with={0} прекратили войну с {1}
the.alliance.was.denied=Альянс с {0} был отклонен
denied.an.alliance={0} отказался от альянса с {1}
accepted.an.alliance={0} принял альянс с {1}
created.an.alliance={0} создал альянс с {1}
broken.the.rivalry={0} прекратили вражду с {1}
broken.the.rivalry.with={0} прекратили вражду с {1}
the.alliance.was.denied=Союз с {0} был отклонен
denied.an.alliance={0} отказался от союза с {1}
accepted.an.alliance={0} принял союз с {1}
created.an.alliance={0} создал союз с {1}
has.joined={0} присоединился к {1}
proposing.to.end.the.rivalry={0} предлагает прекратить войну с {1}
proposing.an.alliance={0} предлагает альянс с {1}
inviting.you.to.join={0} пригласил вас присоединится к клану\: {1}.
asking.for.the.deletion={0} просит удалить клан
proposing.to.end.the.rivalry={0} предлагает прекратить вражду с {1}
proposing.an.alliance={0} предлагает союз с {1}
inviting.you.to.join={0} пригласил вас присоединится к клану\: {1}
asking.for.the.deletion={0} предлагает удалить клан
asking.for.the.promotion={0} просит повышение {1}
asking.for.the.demotion={0} просит понизить {1}
accept.or.deny={0} или {1}
@@ -183,13 +262,14 @@ mysql.connection.successful=Соединение с MySQL прошло успе
mysql.connection.failed=Не удалось подключиться к MySQL
sqlite.connection.successful=Соединение с SQLite прошло успешно
sqlite.connection.failed= Не удалось подключиться к SQLite
purging.player.data=очистить данные игрока\: {0}
purging.player.data=Очистка данных игрока\: {0}
purging.clan=Очистка Клана\: {0}
clan.players=Участников в клане\: {0}
clan.players=Игроков в клане\: {0}
clans=Кланы\: {0}
banned=Вам запрещено использовать команды клана
nothing.more.to.see=Больше ничего нет
no.leader.permissions=Вы не имеете разрешения от лидера
nothing.to.vote=&cНечего принимать или отклонять
no.leader.permissions=Вы не имеете права лидера
you.have.already.voted=Вы уже проголосовали
has.voted.to.deny={0} проголосовал за отказ
view.next.page=Введите /{0} для просмотра следующей страницы.
@@ -200,31 +280,32 @@ has.been.disbanded.alliance.ended={0} был распущен. Альянс ок
clan.disbanded=Клан распущен
1.color.day=1 {0}день
many.color.days={0}{1} дней
does.not.match=Не соответствует команде Клана
simpleclans.command.failure=Ошибка команды SimpleClans\: {0}
insufficient.permissions=Недостаточно прав
clan.is.not.verified=Клан не подтверждён
player.not.a.member.of.any.clan=&cИгрок не является участником какого-либо клана
not.a.member.of.any.clan=Вы не состоите ни в одном клане
minimum.to.make.alliance=Ваш клан должен иметь минимум {0} игроков, чтобы заключить альянс
minimum.to.make.alliance=Ваш клан должен иметь минимум {0} игроков, чтобы заключить союз
cannot.be.same.clan=&cВы должны написать клан, отличающийся от вашего\!
other.clan.not.verified=&cДругой клан не верифицирован\!
your.clans.are.not.allies=Ваши кланы не являются союзниками
has.broken.the.alliance={0} разорвал альянс с {1}
at.least.one.leader.accept.the.alliance=Чтобы принять альянс, лидер должен быть онлайн.
at.least.one.leader.accept.the.alliance=Чтобы принять союз, лидер должен быть онлайн
leaders.have.been.asked.for.an.alliance={0} лидеров попросили заключить альянс
your.clans.are.already.allies=Ваши кланы уже являются союзниками
your.clan.cannot.create.rivals=Ваш клан не может начать воевать
min.players.rivalries=У вашего клана должно быть не менее {0} игроков, чтобы начать войну
min.players.rivalries=У вашего клана должно быть не менее {0} игроков, чтобы соперничать
this.player.is.already.banned=Этот игрок уже забанен
player.added.to.banned.list=Игрок был добавлен в бан-лист
you.banned=Вы были заблокированы в участие кланов
clan.wide.friendly.fire.blocked=Урон по соклановцам был отключен
clan.wide.friendly.fire.is.allowed=Урон по соклановцам был разрешен
clan.wide.friendly.fire.blocked="Огонь по своим" в клане запрещён
clan.wide.friendly.fire.is.allowed="Огонь по своим" в клане был разрешён
you.are.the.only.member.online=Вы единственный участник онлайн
your.clan.color.tag.cannot.be.longer.than.characters=&cТег вашего клана не может быть длиннее {0} символов
your.clan.tag.cannot.be.longer.than.characters=Название кланого тега не может быть длиннее {0} символо
your.clan.tag.must.be.longer.than.characters=Ваш клановый тег должен быть длинее {0} символов
your.clan.tag.cannot.be.longer.than.characters=Ваш клан тег не может быть длиннее {0} символов
your.clan.tag.must.be.longer.than.characters=Ваш клан тег должен быть длиннее {0} символов
your.tag.cannot.contain.the.following.colors=Ваш тег не может содержать следующие цвета\: {0}
your.tag.cannot.contain.color.codes=Ваш тег не может содержать цветовые коды
you.cannot.set.colored.ranks=Вы не можете установить цветовые ранги
you.cannot.set.colored.ranks=Вы не можете установить цвет рангам
your.clan.name.cannot.be.longer.than.characters=Имя клана не может быть длинее {0} символов
your.clan.name.must.be.longer.than.characters=Название вашего клана должно быть длиннее {0} символов
your.clan.tag.can.only.contain.letters.numbers.and.color.codes=Тег вашего клана может содержать только буквы, цифры и цветовые коды
@@ -239,17 +320,17 @@ demotion.vote.has.been.requested.from.all.leaders=Поступила прось
player.is.not.a.leader.of.your.clan=Игрок не является лидером вашего клана
clan.has.been.disbanded=Клан {0} был распущен
clan.disband.vote.has.been.requested.from.all.leaders=Запрошено участие в голосовании от всех Лидеров
friendy.fire.is.now.managed.by.your.clan=Урон по соклановцам управляется вашим кланом
friendy.fire.is.now.managed.by.your.clan="Огонь по своим" теперь управляется вашим кланом
personal.friendly.fire.is.set.to.allowed=Личные дружественные огни разрешены
global.friendy.fire.is.now.managed.by.each.clan=Глобальный дружеский огонь теперь управляется каждым кланом
global.friendy.fire.is.already.being.managed.by.each.clan=Урон по соклановцам на этом сервере уже управляется каждым кланом
global.friendly.fire.is.set.to.allowed=Урон по соклановцам на этом сервере разрешён
global.friendly.fire.is.already.being.allowed=Урон по соклановцам на этом сервере уже разрешён
global.friendy.fire.is.now.managed.by.each.clan=Каждый клан теперь может менять "Огонь по своим"
global.friendy.fire.is.already.being.managed.by.each.clan=Каждый клан уже управляет глобальным параметром "Огонь по своим"
global.friendly.fire.is.set.to.allowed=Глобальный параметр "Огонь по своим" разрешён
global.friendly.fire.is.already.being.allowed=Глобальный параметр "Огонь по своим" уже разрешён
the.player.doesn.t.not.have.the.permissions.to.join.clans=У игрока нет прав для вступления в клан
you.cannot.invite.yourself=Вы не можете пригласить себя
this.player.is.banned.from.using.clan.commands=Этому игроку нельзя взаимодействовать с кланами на сервере
this.player.is.banned.from.using.clan.commands=Этот игрок заблокирован для использования команд клана
the.player.is.already.member.of.another.clan=Игрок уже состоит в другом клане
has.been.asked.to.join={0} попросил присоединиться к {1}
has.been.asked.to.join={0} было предложено присоединиться к {1}
you.cannot.kick.yourself=Вы не можете выгнать себя
the.player.is.not.a.member.of.your.clan=Игрок не является участником вашего клана
you.cannot.kick.another.leader=Вы не можете выгнать другого лидера
@@ -259,10 +340,9 @@ total.clans=Всего кланов\:
legend=Легенда\:
kill.type.civilian=Тип убийства\: {0}Гражданский
no.player.data.found=Данные игрока не найдены
s.player.info=Информация о игрока {0}
clan.0=Клан\: {0}
status.0=Статус\: {0}
rank.0=&7Ранг\: &b{0}
rank.0=Ранг\: {0}
kdr.0=КДР\: {0}
inactive.0=Неактивно\: {0}
clan.commands=команды клана
@@ -273,13 +353,14 @@ description.0=Описание\:{0}
leaders.0=Лидер\: {0}
allies.0=Союзники\: {0}
rivals.0=Соперники\: {0}
other.player.must.be.online=&cИгрок должен быть онлайн\!
the.player.does.not.have.the.permissions.to.lead.a.clan=У игрока нет прав возглавить клан
you.cannot.promote.yourself=Вы не можете повысить себя\!
you.cannot.promote.yourself=Вы не можете повысить самого себя\!
the.player.is.already.a.leader=Игрок уже является лидером
configuration.reloaded=Конфигурация перезагружена
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=Последний лидер не может выйти. Вы должны назначить другого лидера или распустить клан
0.has.resigned={0} ушёл в отставку
you.cannot.trust.yourself=Вы не можете добавить доверие себе
you.cannot.trust.yourself=Вы не можете установить статус доверия самому себе
leaders.are.already.trusted=Лидерам уже доверяют
this.player.is.already.trusted=Игроку уже доверяют
has.been.given.trusted.status.by={0} получил доверенный статус от {1}
@@ -288,7 +369,7 @@ player.removed.from.the.banned.list=Игрок был удален из бан-
you.have.been.unbanned.from.clan.commands=Вы были разблокированы в участие кланов
you.cannot.untrust.yourself=Вы не можете изменить это
leaders.cannot.be.untrusted=Нельзя портить репутацию лидера
this.player.is.already.untrusted=Игроку уже не доверяют
this.player.is.already.untrusted=Этот игрок уже имеет статус недоверия
has.been.given.untrusted.status.by={0} получил статус ненадёжного {1}
the.clan.does.not.exist=Клана не существует
the.clan.is.already.verified=Клан уже подтвержден
@@ -296,7 +377,7 @@ the.clan.has.been.verified=Клан был подтвержден
clan.0.has.been.verified=Клан {0} был подтвержден\!
total.clan.players.0=Всего игроков\: {0}
proposing.war={0} предлагает начать войну с {1}
you.can.only.start.war.with.rivals=Вы можете объявить войну\!
you.can.only.start.war.with.rivals=Объявить войну можно только с соперниками
leaders.have.been.asked.to.accept.the.war.request={0} запрос на объявление войн
leaders.asked.to.end.rivalry={0} лидеров попросили завершить войну
proposing.to.end.the.war={0} предлагает завершить войну с {1}
@@ -306,7 +387,7 @@ you.are.at.war={0} воюет с {1}
denied.war.req={0} отклонил запрос войны, отправленный кланом {1}
you.are.no.longer.at.war={0} больше не воюют с {1}
end.war.denied={0} отклонил запрос о завершении войны
denied.war.end={0} отказал {1}в просьбе завершить войну
denied.war.end={0} отказал {1} в просьбе завершить войну
has.initiated.a.rivalry={0} начал войну с {1}
start=старт
end=всё
@@ -337,23 +418,23 @@ iron=железо
the.clan.cannot.be.rivaled=Клан не может быть соперником
bboff=BB выключен
bbon=BB включён
tagoff=Тег выключен
tagon=Тег включен
tagoff=Тег клана выключен
tagon=Тег клана включен
depositon=Пополнение включено
depositoff=Пополнение выключено
withdrawon=Вывод включён
withdrawoff=Вывод выключен
feeoff=Комиссия выключена
feeon=Комиссия включена
feeoff=Участники клана больше не вносят комиссию на банковский счёт вашего клана.
feeon=Участники клана теперь вносят комиссию на банковский счёт вашего клана. \nУчастники, не имеющие достаточное количество денег, будут автоматически кикнуты с клана.
home.base.only.once=База клана может быть установлена лишь один раз
now.at.homebase=Вы сейчас находитесь на базе клана {0}
hombase.set=База клана\: {0}
hombase.cleared=База клана была удалена
hombase.mod.set=База клана {0}, была установлена на координатах\:
hombase.not.set=У клана нету базы
hombase.not.set=У клана нет базы
rival.limit.reached=Вы достигли лимита войн, пока что нельзя объявлять войны
you.moved.teleport.cancelled=Вы перемещены, телепорт отменён
waiting.for.teleport.stand.still.for.0.seconds=Ожидание телепортирования, осталось {0} секунд
you.moved.teleport.cancelled=Вы перемещены, телепортация отменена
waiting.for.teleport.stand.still.for.0.seconds=Ожидание телепортирования, оставайтесь на месте ещё {0} секунд
on=включить
off=Выключить
leave=покинуть
@@ -361,7 +442,7 @@ join=присоединиться
mute=молчать
player.rank.changed=Ранг был установлен
your.clans.are.already.rivals=Между вашими кланами уже война
player.got.money=Вы получили {0} за убийство {1} , основанное на вашем KDR\: {2}
player.got.money=Вы получили {0} за убийство {1} , основанном на вашем KDR\: {2}
cleared.bb=Доска объявлений очищена
clan.balance=Баланс Клана\: {0}
bb.fee.player.kicked={0} был выгнан за невыплату комиссии
@@ -372,12 +453,12 @@ bb.clan.withdraw={0} $ снято
player.clan.withdraw=Вы снимаете {0}
clan.bank.not.enough.money=У вашего клана недостаточно денег
your.clans.are.not.rivals=Ваши кланы не воюют
the.clan.members.reached.limit=Количество членов Клана достигло лимита
the.clan.members.reached.limit=Количество участников клана достигло лимита
you.have.reseted.your.kdr=Вы восстановили KDR
you.have.reseted.0.kdr=Вы восстановили {0} KDR
you.have.reseted.kdr.of.all.players=Вы восстановили KDR всех игроков
resign.yes=Да
resign.no=Не
resign.no=Нет
resign.confirmation=Вы уверены, что хотите выйти? {0}
resign.success=Вы покинули клан
you.cannot.demote.the.last.leader=Вы не можете понизить последнего лидера
@@ -404,25 +485,25 @@ your.clan.description.must.be.longer.than=Описание вашего клан
your.clan.description.cannot.be.longer.than=Описание клана не может быть длиннее {0} символов
description.changed=Вы успешно изменили описание клана
no.description=Нет описания
the.player.must.wait.0.before.joining.your.clan.again=Этот игрок должен подождать {0} минут, прежде чем снова вступить в Клан
the.player.must.wait.0.before.joining.your.clan.again=Этот игрок должен подождать {0} минут, прежде чем сможет вступить в ваш клан\!
disabled.command=Команда отключена
rank.displayname.updated=Отображаемое имя ранга обновлено\!
rank.0.permissions=Разрешения {0}ранга\:
rank.0.permissions=Права {0} ранга\:
available.rank.permissions=Доступные права для ранга\:
rank.already.exists=Ранг уже существует
rank.0.does.not.exist=Ранг {0} не существует
rank.created=Ранг создан
permission.0.added.to.rank.1=Разрешение {0} добавлено в ранг {1}
permission.0.removed.from.rank.1=Разрешение {0} удалено из ранга {1}
permission.0.added.to.rank.1=Право {0} добавлено в ранг {1}
permission.0.removed.from.rank.1=Право {0} удалено из ранга {1}
rank.0.deleted=Ранг {0} удален
clans.ranks=Рейтинг клана\:
ranks.list.item={0}\# {1} ({2})
no.ranks=Нет рангов
rank.no.permissions=У этого ранга нет прав
rank.no.permissions=Этот ранг не имеет никаких прав
player.unassigned.from.rank=Игроку не присвоен ранг
you.must.be.0.or.have.the.permission.1.to.use.this=Вы должны быть {0} или ваш лидер должен дать вам разрешение {1} на использование этого
deposit.not.allowed=Пополнение не разрешено
withdraw.not.allowed=Вывод не разрешен
you.must.be.0.or.have.the.permission.1.to.use.this=Вы должны быть {0} или ваш лидер должен выдать вам разрешение {1} на использование этого
deposit.not.allowed=Взнос средств запрещен, используйте /%clan %toggle %deposit, чтобы разрешить его
withdraw.not.allowed=Вывод средства запрещен, используйте /%clan %toggle %withdraw, чтобы разрешить его
resign.request.cancelled=Запрос выравнивания отменён
promotion.vote.has.been.requested.from.all.leaders=Поступила просьба о проведении голосования от всех лидеров
allowed=Разрешено
@@ -434,212 +515,212 @@ gui.back.title=&fНазад
gui.previous.page.title=&fПредыдущая страница
gui.next.page.title=&fСледующая страница
gui.lore.no.permission=&cУ вас нет прав для просмотра этого\!
gui.main.title=SimpleClans
gui.main.title={0} - Клановое меню
gui.main.languageselector.title=&fВыбрать язык
gui.main.languageselector.lore.left.click=&7Щелкните ЛКМ, чтобы выбрать нужный язык
gui.main.languageselector.lore.right.click=&7Щелкните ПКМ, чтобы помочь перевести
gui.main.languageselector.lore.left.click=&7ЛКМ\: Посмотреть список доступных языков
gui.main.languageselector.lore.right.click=&7ПКМ\: &bПомочь с переводом
gui.main.other.commands.title=&fДругие команды
gui.main.other.commands.lore=&7ЛКМ\: Посмотреть все команды Клана
gui.main.other.commands.lore=&7ЛКМ\: Посмотреть все команды клана
gui.main.clan.list.title=&fСписок Кланов
gui.main.clan.list.lore=&7ЛКМ\: Список всех Кланов
gui.main.clan.list.lore=&7ЛКМ\: Список всех кланов
gui.main.reset.kdr.title=&fСбросить KDR
gui.main.reset.kdr.lore.price=&7Цена\: &b{0}
gui.main.reset.kdr.lore=&7ЛКМ\: Сбросить KDR
gui.main.leaderboard.title=&fТаблица лидеров
gui.main.leaderboard.lore=&7ЛКМ\: Таблица Лидеров
gui.main.staff.title=&fСотрудников
gui.staff.title=Сотрудник
gui.staff.clan.list.lore.left.click=&7Щелкните ЛКМ, чтобы увидеть все кланы
gui.staff.clan.list.lore.right.click=&7Щелкните ЛКМ, чтобы увидеть все непроверенные кланы
gui.main.leaderboard.lore=&7ЛКМ\: Таблица лидеров
gui.main.staff.title=&fПанель администратора
gui.main.staff.lore=&7ЛКМ\: &bОткрыть панель администратора
gui.staff.title=Панель администратора
gui.staff.clan.list.lore.left.click=&7ЛКМ\: Посмотреть список всех кланов
gui.staff.clan.list.lore.right.click=&7ПКМ\: Посмотреть список не подтвержденных кланов
gui.player.list.title=Список игроков
gui.staff.player.list.title=&fСписок игроков
gui.staff.player.list.lore.left.click=&7Щелкните ЛКМ, чтобы увидеть всех игроков
gui.staff.player.list.lore.right.click=&7Щелкните ПКМ, чтобы просмотреть всех онлайн-игроков
gui.staff.player.list.lore.left.click=&7ЛКМ\: Посмотреть список всех игроков
gui.staff.player.list.lore.right.click=&7ПКМ\: Посмотреть игроков онлайн
gui.staff.global.ff.title=&fГлобальный дружественный огонь
gui.staff.global.ff.lore.status=&7Статус\: &b{0}
gui.staff.global.ff.lore.toggle=&7Щелкните ЛКМ, чтобы переключить статус дружественного огня
gui.staff.global.ff.lore.toggle=&7ЛКМ\: Переключить статус "Огонь по своим"
gui.staff.reload.title=&fОбновить
gui.staff.reload.lore=&7Щелкните ЛКМ, чтобы перезагрузить плагин
gui.staff.reload.lore=&7ЛКМ\: Перезагрузить плагин и его конфигурацию
gui.staff.clanlist.unverified.title=Неподтвержденные Кланы - Всего\: {0}
gui.staff.clanlist.toplace.title=Выберите новый клан {0}
gui.warning.title=Внимание
gui.warning.no.permission.title=&fНет прав
gui.warning.no.permission.plugin.lore=&fУ вас недостаточно прав для этого\!
gui.warning.no.permission.leader.lore=&fВы являетесь одним из лидеров Клана?
gui.warning.no.permission.rank.lore=&fВы должны быть {0} , или ваш лидер должен дать разрешение {1} на использование этого\!
gui.warning.no.permission.plugin.lore=&7У вас недостаточно прав, чтобы сделать это\!
gui.warning.no.permission.leader.lore=&7Вы являетесь одним из лидеров клана?
gui.warning.no.permission.rank.lore=&7Вы должны быть {0} или ваш лидер должен выдать разрешение {1} на использование этого\!
gui.warning.not.verified.title=&fНе подтвержден
gui.warning.not.verified.lore=&fВаш клан должен быть подтвержден\!
gui.warning.not.verified.lore=&7Ваш клан должен быть подтвержден\!
gui.allies.title=Союзники
gui.allies.clan.lore=&7ЛКМ\: Разорвать союз
gui.allies.add.title=&fДобавить союзника
gui.add.ally.title=Добавить союзника
gui.add.ally.title=Добавить союзников
gui.add.ally.clan.lore=&7ЛКМ\: Создать союз
gui.rivals.title=Враги
gui.rivals.clan.lore=&7ЛКМ\: Заключить мир
gui.rivals.add.title=&fДобавить соперника
gui.add.rival.title=Добавить соперника
gui.add.rival.clan.lore=&7ЛКМ\: Вступить в Клан
gui.add.rival.clan.lore=&7ЛКМ\: Вступить в клан
gui.clanlist.title=Кланы - Всего\: {0}
gui.clanlist.clan.title=&fКлан\: [{0}&f] {1}
gui.clanlist.clan.lore.position=&f\#{0}
gui.clanlist.clan.lore.kdr=&fKDR\: {0}
gui.clanlist.clan.lore.members=&fУчастники\: {0}
gui.clanlist.clan.lore.position=&b\#{0}
gui.clanlist.clan.lore.kdr=&7KDR\: &b{0}
gui.clanlist.clan.lore.members=&7Участники\: &b{0}
gui.coords.title=Координаты
gui.coords.player.lore.distance=&fРасстояние\: {0}
gui.coords.player.lore.coords=&fКоординаты\: {0} {1} {2}
gui.coords.player.lore.distance=&7Расстояние\: &b{0}
gui.coords.player.lore.coords=&7Координаты\: &b{0} {1} {2}
gui.coords.player.lore.world=&fМир\: {0}
gui.invite.title=Пригласить игрока
gui.invite.player.title=&f{0}
gui.invite.player.price.lore=&7Цена\: &b{0}
gui.invite.player.lore=&7ЛКМ\: Пригласить в Клан
gui.invite.player.lore=&7ЛКМ\: Пригласить в клан
gui.roster.title={0} Список
gui.roster.invite.title=&fПригласить
gui.roster.invite.lore=&fпригласить игрока в ваш клан
gui.roster.invite.lore=&7Пригласить игрока в ваш клан
gui.leaderboard.title=Таблица Лидеров - Игроки\: {0}
gui.leaderboard.player.title=&f\#{0} {1}
gui.ranks.title=Ранги
gui.ranks.title.set.rank=Задать ранг - Текущий\: {0}
gui.ranks.create.title=&fСоздать ранг
gui.ranks.create.lore=&7ЛКМ\: Создать Ранг
gui.ranks.create.lore=&7ЛКМ\: Создать ранг
gui.ranks.rank.title=&fРанг\: {0}
gui.ranks.rank.displayname.lore=&fОтображаемое имя\: {0}
gui.ranks.rank.remove.lore=&7ЛКМ\: Удалить Ранг
gui.ranks.rank.edit.permissions.lore=&7ЛКМ\: Изменить права доступа к рангу
gui.ranks.rank.displayname.lore=&7Отображаемое имя\: &b{0}
gui.ranks.rank.remove.lore=&7ПКМ\: Удалить ранг
gui.ranks.rank.edit.permissions.lore=&7ЛКМ\: Изменить права у ранга
gui.ranks.rank.assign.lore=&7ЛКМ\: Назначить ранг {0}
gui.permissions.title=Права доступа {0}
gui.permissions.add.title=&fДобавить права
gui.permissions.title=Права {0}
gui.permissions.add.title=&fДобавить право
gui.permissions.permission.title=&f{0}
gui.permissions.permission.lore=&7ЛКМ\: Удалить разрешение из ранга
gui.permissions.permission.lore=&7ПКМ\: Удалить право у ранга
gui.add.permission.title=Добавить право
gui.add.permission.permission.title=&f{0}
gui.add.permission.permission.lore=&7ЛКМ\: Добавить разрешение к рангу
gui.add.permission.permission.lore=&7ЛКМ\: Добавить право к рангу
gui.clandetails.title=[{0}] {1}
gui.clandetails.free.agent.title=&fСвободный Агент
gui.clandetails.free.agent.title=&fВы не состоите в клане
gui.clandetails.free.agent.create.clan.price.lore=&7Стоимость\: &b{0}
gui.clandetails.free.agent.create.clan.lore=&7Щелкните ЛКМ, чтобы создать клан
gui.clandetails.free.agent.create.clan.lore=&7ЛКМ\: Создать клан
gui.clandetails.clan.title=&f[{0}&f] {1}
gui.clandetails.clan.lore.description=&fОписание\: {0}
gui.clandetails.clan.lore.status=&fСтатус\: {0}
gui.clandetails.clan.lore.leaders=&fЛидеры\: {0}
gui.clandetails.clan.lore.online.members=&fУчастников онлайн\: {0}/{1}
gui.clandetails.clan.lore.kdr=&fKDR\: {0}
gui.clandetails.clan.lore.kill.totals=&fУбито всего\: [Враги\:{0} Нейтральные\:{1} Игроки\:{2}]
gui.clandetails.clan.lore.deaths=&fСмерти\: {0}
gui.clandetails.clan.lore.fee=&fКомиссия\: {0}, {1}$
gui.clandetails.clan.lore.description=&7Описание\: &b{0}
gui.clandetails.clan.lore.status=&7Статус\: &b{0}
gui.clandetails.clan.lore.leaders=&7Лидеры\: &b{0}
gui.clandetails.clan.lore.online.members=&7Участников онлайн\: &b{0}/{1}
gui.clandetails.clan.lore.kdr=&7KDR\: &b{0}
gui.clandetails.clan.lore.kill.totals=&7Убито всего\: &b[Враги\:{0} Нейтральные\:{1} Игроки\:{2}]
gui.clandetails.clan.lore.deaths=&7Смертей\: &b{0}
gui.clandetails.clan.lore.fee=&7Комиссия\: &b{0}, {1}$
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.allies.separator=&b,
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.rivals.separator=&b,
gui.clandetails.clan.lore.allies=&fСоюзники\: {0}
gui.clandetails.clan.lore.rivals=&fСоперники\: {0}
gui.clandetails.clan.lore.founded=&fНайдено\: {0}
gui.clandetails.clan.lore.inactive=&fНеактивен\: {0}/{1} дней
gui.clandetails.clan.lore.allies=&7Союзники\: &b{0}
gui.clandetails.clan.lore.rivals=&7Соперники\: &b{0}
gui.clandetails.clan.lore.founded=&7Найдено\: &b{0}
gui.clandetails.clan.lore.inactive=&7Неактивен\: &b{0}/{1} дней
gui.clandetails.allies.title=&fСоюзники
gui.clandetails.allies.lore=&7ЛКМ\: Список союзников или создание нового союза
gui.clandetails.allies.lore=&7ЛКМ\: Посмотреть список союзников или создать новый союз
gui.clandetails.rivals.title=&fСоперники
gui.clandetails.rivals.lore=&7ЛКМ\: Список соперников или объявление нового
gui.clandetails.rivals.lore=&7ЛКМ\: Посмотреть список соперников или добавить нового соперника
gui.clandetails.roster.title=&fСписок
gui.clandetails.roster.lore=&7ЛКМ\: Список участников вашего клана, или пригласить новых
gui.staffclandetails.roster.lore=&7Щелкните ЛКМ, чтобы увидеть игроков клана
gui.clandetails.roster.lore=&7ЛКМ\: Посмотреть список участников вашего клана или пригласить новых участников
gui.staffclandetails.roster.lore=&7ЛКМ\: Посмотреть участников клана
gui.clandetails.coords.title=&fКоординаты
gui.clandetails.coords.lore=&7ЛКМ\: Просмотреть координаты участников вашего клана
gui.clandetails.home.title=&fДом
gui.clandetails.home.lore.teleport.price=&7Цена телепорта\: &b{0}
gui.clandetails.home.lore.teleport=&7ЛКМ\: Телепортироваться в дом вашего клана
gui.staffclandetails.home.lore.teleport=&7Щелкните ЛКМ, чтобы телепортироваться в дом этого клана
gui.clandetails.home.lore.teleport.price=&7Цена телепортирования\: &b{0}
gui.clandetails.home.lore.teleport=&7ЛКМ\: Телепортироваться на базу вашего клана
gui.staffclandetails.home.lore.teleport=&7ЛКМ\: Телепорироваться на базу этого клана
gui.clandetails.home.lore.clear=&7Кликните средней кнопкой мыши, чтобы очистить дом вашего клана
gui.clandetails.home.lore.set.price=&7Установить цену\: &b{0}
gui.clandetails.home.lore.set=&7ПКМ\: Установить дом вашего Клана
gui.staffclandetails.home.lore.set=&7Щелкните ПКМ, чтобы установить дом этого клана
gui.clandetails.home.lore.set=&7ПКМ\: Установить точку базы вашего клана
gui.staffclandetails.home.lore.set=&7ПКМ\: Установить точку базы для этого клана
gui.clandetails.regroup.title=&fПерегруппировать
gui.clandetails.regroup.lore.price=&7Цена\: &b{0}
gui.clandetails.regroup.lore.home=&7ЛКМ\: Телепортировать всех участников вашего Клана в дом Клана
gui.clandetails.regroup.lore.me=&7ПКМ\: Телепортировать участников вашего Клана к вам
gui.clandetails.regroup.lore.home=&7ЛКМ\: Телепортировать всех участников вашего клана на базу
gui.clandetails.regroup.lore.me=&7ПКМ\: Телепортировать участников вашего клана к вам
gui.clandetails.ff.title=&fОгонь по своим
gui.clandetails.ff.personal.lore=&fЛичные\: {0}
gui.clandetails.ff.personal.lore=&7Частный\: &b{0}
gui.clandetails.ff.clan.lore=&7Клан\: &b{0}
gui.clandetails.ff.personal.toggle.lore=&7ЛКМ\: Переключение союзных стычек
gui.clandetails.ff.clan.toggle.lore=&7ПКМ\: Союзные стычки вашего Клана
gui.clandetails.ff.personal.toggle.lore=&7ЛКМ\: Переключение параметра "Огонь по своим"
gui.clandetails.ff.clan.toggle.lore=&7ПКМ\: Переключить режим "Огонь по своим" вашего клана
gui.clandetails.bank.title=&6Банк
gui.clandetails.bank.balance.lore=&fБаланс\: {0}
gui.clandetails.bank.withdraw.status.lore=&fСнятие\: {0}
gui.clandetails.bank.deposit.status.lore=&fДепозиты\: {0}
gui.clandetails.bank.deposit.status.lore=&7Депозиты\: &b{0}
gui.clandetails.bank.withdraw.toggle.lore=&7Переключить статус вывода
gui.clandetails.bank.deposit.toggle.lore=&7ПКМ\: Переключить статус депозита
gui.clandetails.fee.title=&fКомиссия
gui.clandetails.fee.status.lore=&fСтатус\: {0}
gui.clandetails.fee.value.lore=&fЗначение\: {0}
gui.clandetails.fee.status.lore=&7Статус\: &b{0}
gui.clandetails.fee.value.lore=&7Значение\: &b{0}
gui.clandetails.fee.toggle.lore=&7ЛКМ\: Изменить статус комиссии
gui.clandetails.rank.title=&fРанг
gui.clandetails.rank.lore=&7ЛКМ\: Список рангов клана, и редактирование их
gui.clandetails.rank.lore=&7ЛКМ\: Посмотреть список рангов клана и их редактирование
gui.clandetails.verified.title=&fПодтвержден
gui.clandetails.not.verified.title=&fНе подтвержден
gui.clandetails.verify.price.lore=&7Цена\: &b{0}
gui.clandetails.not.verified.lore=&7ЛКМ\: Подтвердить ваш Клан
gui.staffclandetails.not.verified.lore=&7Щелкните ЛКМ, чтобы подтвердить клан
gui.clandetails.not.verified.lore=&7ЛКМ\: Подтвердить ваш клан
gui.staffclandetails.not.verified.lore=&7ЛКМ\: Подтвердить этот клан
gui.clandetails.resign.title=&fВыйти
gui.clandetails.resign.lore=&7ЛКМ\: Выйти из Клана
gui.clandetails.resign.lore=&7ЛКМ\: Выйти из вашего клана
gui.clandetails.disband.title=&fУдалить клан
gui.clandetails.disband.lore=&7СКМ\: Удалить ваш Клан
gui.staffclandetails.disband.lore=&7Щелкните ЛКМ, чтобы распустить этот клан
gui.staffclandetails.disband.lore=&7ЛКМ\: Расформировать этот клан
gui.clandetails.chat.title=&fЧат
gui.clandetails.chat.clan.chat.lore=&7/{0} [message] - Отправляет сообщение в чат клана
gui.clandetails.chat.clan.chat.lore=&7/{0} [message] - &bОтправляет сообщение в чат клана
gui.clandetails.chat.clan.join.leave.lore=&7/{0} {1}/{2} - &bПрисоединиться/покинуть чат клана
gui.clandetails.chat.ally.chat.lore=&7/{0} [message] - Отправляет сообщение в чат союзников
gui.clandetails.chat.ally.chat.lore=&7/{0} [message] - &bОтправляет сообщение в чат союзников
gui.clandetails.chat.ally.join.leave.lore=&7/{0} {1}/{2} - &bПрисоединиться/покинуть чат союзников
gui.clandetails.chat.clan.status.lore=&fКлан\: {0}
gui.clandetails.chat.ally.status.lore=&fСоюзник\: {0}
gui.clandetails.chat.clan.status.lore=&7Клан\: &b{0}
gui.clandetails.chat.ally.status.lore=&7Союзник\: &b{0}
gui.clandetails.chat.clan.toggle.lore=&7ЛКМ\: Изменить статус чата в Клане
gui.clandetails.chat.ally.toggle.lore=&7ПКМ\: Переключить статус чата союзников
gui.clandetails.chat.ally.toggle.lore=&7ПКМ\: Переключить статус чата для союзников
gui.playerdetails.title={0}
gui.playerdetails.player.title=&f{0}
gui.playerdetails.player.lore.noclan=&fКлан\: Нету
gui.playerdetails.player.lore.clan=&fКлан\: [{0}&f] {1}
gui.playerdetails.player.lore.rank=&fРанг\: {0}
gui.playerdetails.player.lore.status=&fСтатус\: {0}
gui.playerdetails.player.lore.kdr=&fKDR\: {0}
gui.playerdetails.player.lore.kill.totals=&fУбито всего\: [Враги\:{0} Нейтральные\:{1} Игроки\:{2}]
gui.playerdetails.player.lore.deaths=&fСмерти\: {0}
gui.playerdetails.player.lore.join.date=&fДата вступления\: {0}
gui.playerdetails.player.lore.last.seen=&fПоследнее посещение\: {0}
gui.playerdetails.player.lore.noclan=&7Клан\: &bнет
gui.playerdetails.player.lore.clan=&7Клан\: &b[{0}&b] {1}
gui.playerdetails.player.lore.rank=&7Ранг\: &b{0}
gui.playerdetails.player.lore.status=&7Статус\: &b{0}
gui.playerdetails.player.lore.kdr=&7KDR\: &b{0}
gui.playerdetails.player.lore.kill.totals=&7Убито всего\: &b[Враги\:{0} Нейтральные\:{1} Игроки\:{2}]
gui.playerdetails.player.lore.deaths=&7Смертей\: &b{0}
gui.playerdetails.player.lore.join.date=&7Дата вступления\: &b{0}
gui.playerdetails.player.lore.last.seen=&7Был в сети\: &b{0}
# suppress inspection "TrailingSpacesInProperty"
gui.playerdetails.player.lore.past.clans.separator=&b,
gui.playerdetails.player.lore.past.clans=&fПрошлые Кланы\: {0}
gui.playerdetails.player.lore.inactive=&fНеактивен\: {0}/{1} дней
gui.playerdetails.player.lore.past.clans=&7Прошлые Кланы\: &b{0}
gui.playerdetails.player.lore.inactive=&7Неактивен\: &b{0}/{1} дней
gui.playerdetails.kick.title=&fВыгнать
gui.playerdetails.promote.demote.title=&fПовысить/Понизить
gui.playerdetails.promote.lore.left.click=&7ЛКМ\: Повышение
gui.playerdetails.demote.lore.right.click=&7ПКМ\: Понижение
gui.playerdetails.promote.lore.left.click=&7ЛКМ\: Повысить
gui.playerdetails.demote.lore.right.click=&7ПКМ\: Понизить
gui.playerdetails.assign.unassign.title=&fНазначить/Забрать ранг
gui.playerdetails.assign.lore.left.click=&7ЛКМ\: Назначение
gui.playerdetails.unassign.lore.right.click=&7Нажмите правой кнопкой мыши, для отмены
gui.playerdetails.assign.lore.left.click=&7ЛКМ\: Назначить
gui.playerdetails.unassign.lore.right.click=&bПКМ\: Забрать
gui.playerdetails.trust.untrust.title=&fВерить/Недоверять
gui.playerdetails.trust.lore.left.click=&7Нажмите левой кнопкой мыши, чтобы доверять
gui.playerdetails.untrust.lore.right.click=&7Нажмите правой кнопкой мыши, чтобы не доверять
gui.playerdetails.trust.lore.left.click=&7ЛКМ\: Верить игроку
gui.playerdetails.untrust.lore.right.click=&7ПКМ\: Не доверять игроку
gui.playerdetails.ban.unban.title=&fБан/Разбан
gui.playerdetails.ban.left.click=&7Щелкните ЛКМ, чтобы запретить этому игроку участвовать в кланах
gui.playerdetails.unban.right.click=&7Щелкните ПКМ, чтобы разблокировать этого игрока
gui.playerdetails.resetkdr.lore=&7Щелкните ЛКМ, чтобы сбросить KDR этого игрока
gui.playerdetails.ban.left.click=&7ЛКМ\: Заблокировать этому игроку доступ к командам клана
gui.playerdetails.unban.right.click=&7ПКМ\: Разблокировать этого игрока
gui.playerdetails.resetkdr.lore=&7ЛКМ\: Сбросить KDR игрока
gui.playerdetails.purge.title=&fОчистить
gui.playerdetails.purge.lore=&7Щелкните ЛКМ, чтобы очистить данные этого игрока
gui.playerdetails.purge.lore=&7ЛКМ\: Очистить данные этого игрока
gui.playerdetails.place.title=&fМесто
gui.playerdetails.place.lore=&7Щелкните ЛКМ, чтобы выбрать клан для этого игрока
gui.languageselector.title=Текущий-Язык\: {0}
gui.playerdetails.place.lore=&7ЛКМ\: Выбрать клан игроку
gui.languageselector.title=Языки – Текущий\: {0}
gui.languageselector.language.title=&f{0}
gui.languageselector.language.lore.left.click=&7Щелкните ЛКМ, чтобы установить этот язык в качестве вашего языка
gui.languageselector.language.lore.left.click=&7ЛКМ\: Сменить язык на этот
gui.languageselector.language.lore.translation.status=&7Статус перевода\: &b{0}%
gui.languageselector.language.lore.right.click=&7Щелкните ПКМ, чтобы помочь перевести
gui.languageselector.language.lore.right.click=&7ПКМ\: Помочь с переводом
gui.confirmation.title=Подтверждение
gui.confirmation.confirm=&7Нажмите, чтобы подтвердить
gui.confirmation.return=&7Нажмите, чтобы вернуться
gui.not.supported=&cЭта версия сервера не поддерживает GUI\! Отключение его...
staff.member.verify.clan=&cСотрудник должен подтвердить ваш клан\!
player.already.has.that.rank=&cИгрок уже имеет этот ранг\!
enabled.clan.chat=&bВы включили Клановый чат
disabled.clan.chat=&bВы отключили Клановый чат
gui.not.supported=&cПроизошла ошибка при открытии GUI\! Отключение... Вы скачали правильную версию?
staff.member.verify.clan=&cАдминистратор должен подтвердить ваш клан\!
player.already.has.that.rank=&cУ игрока уже есть этот ранг\!
joined.clan.chat=&bВы присоединились к Клану чата
left.clan.chat=&bВы покинули Клановый чат
left.clan.chat=&bВы покинули клановый чат
muted.clan.chat=&bВы заглушили чат Клана
unmuted.clan.chat=&bВы включили чат Клана
enabled.ally.chat=&bВы включили чат с союзниками
disabled.ally.chat=&bВы отключили чат с союзниками
joined.ally.chat=&bВы присоединились к чату с союзниками
left.ally.chat=&bВы покинули чат с союзниками
muted.ally.chat=&bВы заглушили чат с союзниками
@@ -647,10 +728,29 @@ unmuted.ally.chat=&bВы включили чат с союзниками
player.already.in.this.clan=&cИгрок уже состоит в этом клане
your.clan.reached.max.alliances=&cВаш клан достиг максимального количества альянсов
other.clan.reached.max.alliances=&cДругим кланом достигнуто максимальное количество альянсов
insert.clan.tag=&a&lВведите название клана в чат &b(Будет отображаться в Табе/Чате, можно использовать цветовые коды)\:
insert.clan.name=&a&lВведите имя клана в чат &b(Будет отображаться в GUI меню для всех Соклановцев)\:
insert.rank.name=&a&lВведите имя ранга в чат &b(Ранг для Сокланавца который вы установите. Допустим\: (Рядовой))\:
insert.clan.tag=&bВведите тег клана в чат\:
insert.clan.name=&bВведите имя клана в чат\:
insert.rank.name=&bВведите название ранга\:
click.to.help.translating=&bНажмите на ссылку, для помощи с переводом\:\n&r{0}
your.clan.must.have.members.to.verify=&cВаш клан должен иметь по крайней мере {0} соклановцев, чтобы пройти проверку\!
your.clan.must.have.members.to.verify=&cВаш клан должен иметь по крайней мере {0} участников, чтобы пройти проверку\!
you.must.hold.a.banner=&cУ вас в руках должен быть флаг\!
you.changed.clan.banner=&bВы изменили флаг своего клана\!
you.changed.clan.banner=&bВы изменили флаг своего клана\!
your.clan.already.verified=&cКлан уже подтвержден\!
# suppress inspection "TrailingSpacesInProperty"
clan.profile=\n&7Профиль клана &b%clan_name% &8-------------------------------------------\n \n &7Название\: &e[&8%clan_color_tag%&e] &b%clan_name%\n &7Описание\: &f%clan_description%\n &7Статус\: &f%clan_verified%\n &7Лидеры\: %clan_leaders%\n &7Участников онлайн\: &f%clan_online_count%&7/&f%clan_size%\n &7KDR\: &e%clan_kdr%\n &7Всего убийств\: &8[Соперников\: &f%clan_rival_kills%, &8Нейтральных\: &f%clan_neutral_kills%, &8Гражданских\:&f%clan_civilian_kills%&8]\n &7Смертей\: &f%clan_deaths%\n &7Комиссия\: &f%clan_fee_enabled%&7, &f%clan_fee_value% $\n &7Союзники\: &f%clan_allies%\n &7Соперники\: &f%clan_rivals%\n &7Основан\: &f%clan_founded%\n &7Неактивность клана\: &f%clan_inactive_days%&7/&f%clan_max_inactive_days% дня\n
player.lookup.clanname=&e[&8%clan_color_tag%&e] &b%clan_name%
# suppress inspection "TrailingSpacesInProperty"
player.lookup.killtype=&7Тип убийства\: %player_kill_type%\n
player.lookup=\n&7Информация о игроке &b%player_name% &8---------------------------------------------------\n \n &7Клан\: &f%clan_name%\n &7Рейтинг\: &f%player_rank%\n &7Статус\: &f%player_status%\n &7KDR\: &e%player_kdr%\n &7Убийств\: &8[Врагов\:&f%player_rival_kills% &8Нейтральных\:&f%player_neutral_kills% &8Гражданских\:&f%player_civilian_kills%&8]\n &7Смертей\: &f%player_deaths%\n &7Дата вступления\: &f%player_join_date%\n &7Последнее подключение\: &f%player_last_seen%\n &7Прошлые кланы\: &f%player_past_clans%\n &7Неактивен\: &f%player_inactive_days%&7/&f%player_max_inactive_days% дней\n %kill_type_line%
economy.disabled=&cЭкономика отключена\!
has.been.purged=Данные {0} очищены
accepted.invitation=&bВы приняли приглашение от {0}
denied.invitation=&cВы отклонили приглашение от {0}
must.be.in.clan.to.pvp=&cВы и {0} должны быть участниками клана, чтобы иметь возможность драться\!
clans.not.at.war.pvp.denied=&cВаш клан не воюет с {0}\!
cannot.attack.civilians=&cВы не можете атаковать гражданских\!
cannot.attack.clan.member=&cВы не можете атаковать участников других кланов\!
cannot.attack.ally=&cВы не можете атаковать союзников\!
cannot.change.member.fee.now=&cИзменить комиссию участника клана невозможно, так как приближается время её сбора
cannot.change.member.fee.hours=&cПовторите попытку через {0} часов...
cannot.change.member.fee.minutes=&cПовторите попытку через {0} минут(ы)...
+6 -2
View File
@@ -1,4 +1,3 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=beskrivning
create.command=skapa
list.command=lista
@@ -32,4 +31,9 @@ disband.command=upplösa
verify.command=verifiera
ban.command=ban
unban.command=avbanna
reload.command=omladda
reload.command=omladda
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+29 -19
View File
@@ -1,8 +1,12 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=Açıklama
create.command=oluştur
delete.command=sil
rank.command=rütbe
permissions.command=izin
list.command=liste
list.type.name=isim
list.type.size=Boyut
list.type.active=Etkin
profile.command=profil
roster.command=klanbilgi
lookup.command=oyuncubilgi
@@ -13,8 +17,14 @@ vitals.command=klandurumu
coords.command=koordinat
stats.command=İstatistik
ally.command=müttefik
add.command=ekle
remove.command=Kaldır
allow.command=izin ver
auto.command=Otomatik
check.command=kontrol
rival.command=rakip
bb.command=klanmesajı
clear.command=temizle
modtag.command=modetiketi
toggle.command=geçiş
invite.command=davet
@@ -24,6 +34,7 @@ fee.command=para
purge.command=sil
trust.command=güven
untrust.command=güvenme
admin.command=Yönetici
promote.command=destekle
demote.command=düşür
clanff.command=klandostateşi
@@ -38,21 +49,25 @@ globalff.command=geneldostateşi
kills.command=öldürme
mostkilled.command=ençoköldürülen
war.command=savaş
start.command=Başla
end.command=Son
home.command=ev
tp.command=Işınlanma
setrank.command=rütbeayarla
place.command=yer
resetkdr.command=kdsıfırla
everyone.command=herkes
help.command=yardım
usage.0.rivalries=Kullanımı\: /{0} rekabet
usage.0.stats=Kullanımı\: /{0} İstatistik
usage.0.vitals=Kullanımı\: /{0} klandurumu
0.place=/{0} yer [oyuncu] [etiket]{1} - Bir oyuncuyu klana yerleştir
0.toggle.command=/{0} değiştir [{2}]{1} - Kişisel ayarları değiştir
0.kills=/{0} öldürme{1} - Öldürme sayınızı görüntüleyin
acf-core.parameter.rank=Rütbe
acf-core.parameter.leader=Lider
acf-core.parameter.message=Mesaj
acf-core.parameter.player=oyuncu
acf-core.parameter.clan=klan
acf-core.parameter.order=sıra
command.description.accept=İsteği kabul et
home-menu=/{0} ev{1} - Klan evine ışınlanma
home-set-menu=/{0} ev ayarla{1} - Klan evi ayarla
home-clear-menu=/{0} evi sil{1} - Klan evini sil
home-regroup-menu=/{0} ev yenidengruplandır [ben]{1} - Tüm üyeleri klan ana üssünde veya size yeniden gruplandırın
clan=Klan
allies=Müttefik
alliances=ittifaklar
@@ -149,8 +164,6 @@ has.been.disbanded.alliance.ended={0} dağıtıldı. İttifak sona erdi.
clan.disbanded=Klan dağıtıldı
1.color.day=1 {0}Gün
many.color.days={0}{1} Gün
does.not.match=Bir klan komutuyla eşleşmiyor
simpleclans.command.failure=Klan komut hatası\: {0}
insufficient.permissions=Yetkin yetersiz \:(
clan.is.not.verified=Klan doğrulanmadı
not.a.member.of.any.clan=Herhangi bir klanın üyesi değilsiniz
@@ -208,7 +221,6 @@ total.clans=Tüm Klan\:
legend=Efsane\:
kill.type.civilian=Öldürme Türü\: {0}Sivil
no.player.data.found=Oyuncu verisi bulunamadı
s.player.info={0} Oyuncu Bilgi
clan.0=Clan\: {0}
status.0=Durumu\: {0}
rank.0=Rütbe\: {0}
@@ -370,8 +382,6 @@ no.ranks=Hiçbir rütbe oluşturulmadı
rank.no.permissions=Bu rütbenin izni yok
player.unassigned.from.rank=Oyuncu rütbeden atanmamış
you.must.be.0.or.have.the.permission.1.to.use.this={0} olmanız veya lideriniz bunu kullanabilmek için rütbenize {1} izin vermelidir
deposit.not.allowed=Depozitoya izin verilmiyor
withdraw.not.allowed=Para çekmeye izin verilmiyor
resign.request.cancelled=Ayrılma isteği iptal edildi
promotion.vote.has.been.requested.from.all.leaders=Tüm liderlerden terfi oyu istendi
allowed=Aktif
@@ -383,7 +393,6 @@ gui.back.title=&fGeri
gui.previous.page.title=&fÖnceki Sayfa
gui.next.page.title=&fSonraki Sayfa
gui.lore.no.permission=&cBunu görme izniniz yok\!
gui.main.title=Klan Sistemi
gui.main.languageselector.title=&fBir dil seç
gui.main.languageselector.lore.left.click=&7Dil seçmek için sol tıklayın.
gui.main.languageselector.lore.right.click=\n&7Çeviri kolaylaştırmak için sağ tıklayın
@@ -474,7 +483,9 @@ gui.clandetails.clan.lore.kdr=&7KD\: &b{0}
gui.clandetails.clan.lore.kill.totals=&7Toplam Öldürme\: &b[Rakip\:{0} Tarafsız\:{1} Sivil\:{2}]
gui.clandetails.clan.lore.deaths=&7Ölme\: &b{0}
gui.clandetails.clan.lore.fee=&7Para\: &b{0}, {1} $
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.allies.separator=&b,
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.rivals.separator=&b,
gui.clandetails.clan.lore.allies=&7Müttefikler\: &b{0}
gui.clandetails.clan.lore.rivals=&7Rakipler\: &b{0}
@@ -548,6 +559,7 @@ gui.playerdetails.player.lore.kill.totals=&7Toplam Öldürme\: &b[Rakip\:{0} Tar
gui.playerdetails.player.lore.deaths=&7Öldürme\: &b{0}
gui.playerdetails.player.lore.join.date=&7Katılma Tarihi\: &b{0}
gui.playerdetails.player.lore.last.seen=&7Durum\: &b{0}
# suppress inspection "TrailingSpacesInProperty"
gui.playerdetails.player.lore.past.clans.separator=&b,
gui.playerdetails.player.lore.past.clans=&7Eski Klanı\: &b{0}
gui.playerdetails.player.lore.inactive=&7İnaktif\: &b{0}/{1} Gün
@@ -580,14 +592,10 @@ gui.confirmation.return=&7Geri dönmek için buraya tıklayın
gui.not.supported=&cMenü açılırken bir hata oluştu\! Devre dışı bırakılıyor ... Doğru sürümü indirdiniz mi?
staff.member.verify.clan=&cBir yetkili klanınızı doğrulamalı\!
player.already.has.that.rank=&cOyuncu zaten bu rütbeye sahip\!
enabled.clan.chat=&bKlan sohbetini açtın
disabled.clan.chat=&bKlan sohbetini kapattın
joined.clan.chat=&bKlan sohbetine katıldın
left.clan.chat=&bKlan sohbetinden ayrıldın
muted.clan.chat=&bKlan sohbetinde susturuldun
unmuted.clan.chat=&bKlan sohbetindeki susturman kaldırıldı
enabled.ally.chat=&bMüttefik sohbetini açtın
disabled.ally.chat=&bMüttefik sohbetini kapattın
joined.ally.chat=&bMüttefik sohbetine katıldın
left.ally.chat=&bMüttefik sohbetinden ayrıldın
muted.ally.chat=&bMüttefik sohbetinde susturuldun
@@ -599,4 +607,6 @@ insert.clan.tag=&bKlan etiketini ekleyin\:
insert.clan.name=&bKlan adını ekleyin\:
insert.rank.name=&bRütbe adını ekleyin\:
click.to.help.translating=&bÇeviriye yardımcı olmak için bu bağlantıyı tıklayın\:\n&r{0}
your.clan.must.have.members.to.verify=&cKlanınızın doğrulanması için en az {0} üyesi olmalı\!
your.clan.must.have.members.to.verify=&cKlanınızın doğrulanması için en az {0} üyesi olmalı\!
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+5 -5
View File
@@ -1,4 +1,3 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=описання
create.command=створити
list.command=список
@@ -40,7 +39,8 @@ setrank.command=\nвстановити ранг
place.command=місце
resetkdr.command=РесетКДР
help.command=допомогу
usage.0.rivalries=Використання\: /{0} rivalries
usage.0.stats=Використання\: /{0} stats
usage.0.vitals=Використання\: /{0} vitals
0.place=/{0} place [гравець] [тег]{1} - помістіть гравця в клан
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+6 -11
View File
@@ -1,4 +1,3 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=描述
create.command=创建
list.command=列表
@@ -42,12 +41,6 @@ setrank.command=设置称号
place.command=移动
resetkdr.command=重置死亡比值
help.command=用户指南
usage.0.rivalries=使用\: /{0} rivalries
usage.0.stats=使用\: /{0} stats
usage.0.vitals=使用\: /{0} vitals
0.place=/{0} place [玩家] [标签]{1} - 将玩家加入帮派
0.toggle.command=/{0} toggle [{2}]{1} - 切换个人设置
0.kills=/{0} kills{1} - 查看你的击杀量
home-menu=/{0} home{1} - 传送至帮派基地
home-set-menu=/{0} home set{1} - 设置帮派基地
home-clear-menu=/{0} home clear{1} - 清除帮派基地
@@ -146,8 +139,6 @@ has.been.disbanded.alliance.ended={0} 解散了. 联盟终结了.
clan.disbanded=帮派已解散
1.color.day=1 {0}天
many.color.days={0}{1} 天
does.not.match=没有匹配的帮派命令
simpleclans.command.failure=SimpleClans 命令失败\: {0}
insufficient.permissions=权限不足
clan.is.not.verified=帮派未验证
not.a.member.of.any.clan=你不是任何帮派的成员
@@ -200,7 +191,6 @@ no.clans.have.been.created=没有帮派被创建
total.clans=总帮派\:
kill.type.civilian=击杀种类\: {0}平民
no.player.data.found=没有找到玩家数据
s.player.info={0} 的玩家信息
clan.0=帮派\: {0}
status.0=状态\: {0}
rank.0=称号\: {0}
@@ -320,5 +310,10 @@ gui.main.reset.kdr.title=&f重置 KD 比
gui.warning.title=警告
gui.warning.no.permission.title=&f没有权限
gui.warning.no.permission.plugin.lore=&7你没有这样做的权限!
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.allies.separator=&b、
gui.clandetails.clan.lore.rivals.separator=&b、
# suppress inspection "TrailingSpacesInProperty"
gui.clandetails.clan.lore.rivals.separator=&b、
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
+51 -2
View File
@@ -1,16 +1,65 @@
# suppress inspection "TrailingSpacesInProperty" for whole file
description.command=說明
create.command=創建於
delete.command=刪除
rank.command=階級
setdisplayname.command=設置顯示名稱
permissions.command=權限
list.command=列表
list.order.asc=升冪
list.order.desc=描述
list.type.name=類別名稱
list.type.size=大小
list.type.founded=公會行事曆:
list.type.active=活躍中
profile.command=個人資料
roster.command=成員列表
lookup.command=查詢
leaderboard.command=排行榜
alliances.command=聯盟
rivalries.command=對手
vitals.command=命脈
coords.command=座標
stats.command=統計
ally.command=盟友
add.command=加入
remove.command=移除
allow.command=允許
block.command=黑名單
auto.command=自動
check.command=檢查
assign.command=分配
unassign.command=取消分配
rival.command=敵對者
bb.command=公布欄
clear.command=清除
toggle.command=切換
deposit.command=存款
all.command=所有
withdraw.command=提款
invite.command=邀請
kick.command=踢出
bank.command=銀行
status.command=狀態
fee.command=費用
set.command=設置
purge.command=清除
trust.command=信任
untrust.command=不信任
admin.command=管理員
promote.command=升級
demote.command=降級
resign.command=放棄
disband.command=解散
verify.command=驗證
ban.command=封鎖
unban.command=解除封鎖
reload.command=重新載入
kills.command=殺敵數
help.command=幫助
help.command=幫助
command.description.deny=拒絕請求
command.description.accept=接受請求
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
# suppress inspection "TrailingSpacesInProperty"
@@ -0,0 +1,52 @@
package net.sacredlabyrinth.phaed.simpleclans.language;
import org.junit.jupiter.api.Test;
import java.util.Locale;
import static org.junit.Assert.*;
class ResourceControlTest {
@Test
void getFallbackLocaleAcf() {
LanguageResource.ResourceControl resourceControl = new LanguageResource.ResourceControl(Locale.ENGLISH,
true);
String acfBaseName = "acf";
Locale locale = resourceControl.getFallbackLocale(acfBaseName, Locale.ENGLISH);
assertNull(locale);
locale = resourceControl.getFallbackLocale(acfBaseName, new Locale("es", "ES"));
assertEquals(Locale.ENGLISH, locale);
Locale ptBR = new Locale("pt", "BR");
resourceControl = new LanguageResource.ResourceControl(ptBR, true);
locale = resourceControl.getFallbackLocale(acfBaseName, Locale.ENGLISH);
assertNull(locale);
locale = resourceControl.getFallbackLocale(acfBaseName, ptBR);
assertEquals(Locale.ENGLISH, locale);
}
@Test
void getFallbackLocale() {
LanguageResource.ResourceControl resourceControl = new LanguageResource.ResourceControl(Locale.ENGLISH,
true);
String pluginBaseName = "messages";
Locale locale = resourceControl.getFallbackLocale(pluginBaseName, Locale.ENGLISH);
assertEquals(Locale.ROOT, locale);
locale = resourceControl.getFallbackLocale(pluginBaseName, Locale.ROOT);
assertNull(locale);
locale = resourceControl.getFallbackLocale(pluginBaseName, Locale.CANADA);
assertNotSame(Locale.CANADA, locale);
Locale ptBR = new Locale("pt", "BR");
resourceControl = new LanguageResource.ResourceControl(ptBR, true);
locale = resourceControl.getFallbackLocale(pluginBaseName, ptBR);
assertEquals(Locale.ROOT, locale);
locale = resourceControl.getFallbackLocale(pluginBaseName, Locale.ROOT);
assertNull(locale);
locale = resourceControl.getFallbackLocale(pluginBaseName, Locale.CANADA);
assertNotSame(Locale.CANADA, locale);
locale = resourceControl.getFallbackLocale(pluginBaseName, Locale.ENGLISH);
assertEquals(ptBR, locale);
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

+10 -11
View File
@@ -1,24 +1,23 @@
---
description: Welcome to the SimpleClans Wiki!
description: Добро пожаловать на SimpleClans Wiki!
---
# Introduction
# 😃 Вступление
Here you will find a complete set of documentation including installation, configuration, permissions and usage for SimpleClans.
Здесь вы найдете полную документацию о плагине, включая установку, настройку, разрешения и использование SimpleClans.
## Support
## Поддержка
`1) The Wiki`
`1) Документация`
You should always check this wiki carefully for the answer to your question! Even if it seems hidden, it may be here!
Всегда тщательно проверяйте эту документацию! Даже если кажется, что ответа нет, он может быть здесь!
`2) The Discord`
`2) Дискорд`
If the wiki does not have your answer, feel free to join [the discord](https://discord.gg/CkNwgdE) server to ask for help.
Если вы не нашли ответа на свой вопрос, то можете найти его в [нашем дискорд канале](https://discord.gg/CkNwgdE), задав свой вопрос.
## Bugs and Suggestions
## Ошибки и предложения по улучшению
`Issue Tracker`
If you believe you have found a bug in the plugin, feel free to make an issue on the [issue tracker!](https://github.com/RoinujNosde/SimpleClans/issues) Bugs will be looked into and addressed at the earliest opportunity.
Если вы уверены в том, что нашли ошибку в плагине или хотите предложить свои идеи, воспользуйтесь [Issue Tracker](https://github.com/RoinujNosde/SimpleClans/issues)! Ошибки будут рассмотрены и устранены при первой же возможности.
+25 -19
View File
@@ -1,28 +1,34 @@
# Table of contents
* [Introduction](README.md)
* [Discord Support](https://discord.gg/CkNwgdE)
* [Bugs and Suggestions](https://github.com/RoinujNosde/SimpleClans/issues)
* [😃 Вступление](README.md)
* [Дискорд | Поддержка](https://discord.gg/CkNwgdE)
* [Ошибки и предложения](https://github.com/RoinujNosde/SimpleClans/issues)
* [Javadoc](https://ci.roinujnosde.me/job/SimpleClans/Javadoc/)
## How to Setup
## Настройка <a href="#how-to-setup" id="how-to-setup"></a>
* [Configuration](how-to-setup/configuration.md)
* [Translation](how-to-setup/translation.md)
* [Member Fee](how-to-setup/member-fee.md)
* [Clan Upkeep](how-to-setup/clan-upkeep.md)
* [Clan Below Player's Name](how-to-setup/clan-below-players-name.md)
* [Clan on Tablist](how-to-setup/clan-on-tablist.md)
* [📘 Конфигурация](how-to-setup/configuration.md)
* [🍕 Перевод](how-to-setup/translation.md)
* [💰 Комиссия в клане](how-to-setup/komissiya-v-klane.md)
* [👇 Клан под ником игрока](how-to-setup/clan-below-players-name.md)
* [☝️ Клан в табе](how-to-setup/clan-on-tablist.md)
## Commands and Permissions
## Команды и разрешения <a href="#commands-and-permissions" id="commands-and-permissions"></a>
* [Commands](commands-and-permissions/commands.md)
* [Permissions](commands-and-permissions/permissions.md)
* [Clan Alliances and Rivalries](commands-and-permissions/aliances-and-rivalries.md)
* [Ranks with Permissions](commands-and-permissions/ranks-with-permissions.md)
* [📌 Команды](commands-and-permissions/commands.md)
* [🚦 Разрешения](commands-and-permissions/permissions.md)
* [🪖 Союзники и соперники](commands-and-permissions/aliances-and-rivalries.md)
* [🏅 Ранги с разрешениями](commands-and-permissions/ranks-with-permissions.md)
* [👍 Подтвержденные кланы](commands-and-permissions/podtverzhdennye-klany.md)
* [⌛ Постоянные кланы](commands-and-permissions/postoyannye-klany.md)
## Other
## Интеграции
* [SimpleClans API Example](other/simpleclans-api.md)
* [PlaceholderAPI Support](other/placeholderapi-support.md)
* [Land Claims Plugins](other/land-claims.md)
* [🏝️ GriefPrevention, WorldGuard и другие](integracii/land-claims.md)
* [👾 DiscordSRV](integracii/discordsrv.md)
## Другое <a href="#other" id="other"></a>
* [🪓 Известные проблемы](other/known-issues.md)
* [♟️ SimpleClans API](other/simpleclans-api.md)
* [🪜 Поддержка PlaceholderAPI](other/placeholderapi-support.md)
Loaded 100 of 117 files, more files were not shown because too many files have changed in this diff. Show more