Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fce8399840 | ||
|
|
cc2fc201fe | ||
|
|
373f41f9ee | ||
|
|
f1e4bbf043 | ||
|
|
b902f5f71d | ||
|
|
6461b5bc8c | ||
|
|
169ebe543e | ||
|
|
6018c793d4 | ||
|
|
ded9077dda | ||
|
|
0dd519dabd | ||
|
|
9563fc383c | ||
|
|
846574e613 | ||
|
|
cd40fdc704 | ||
|
|
7f01696a56 | ||
|
|
52da3def88 | ||
|
|
baea60473a | ||
|
|
4d6d2b550a | ||
|
|
ae99204f58 | ||
|
|
03e95cfa23 | ||
|
|
25f854b155 | ||
|
|
a32c751aaa | ||
|
|
e212e17bef | ||
|
|
4a7036cd82 | ||
|
|
d7d7620c24 | ||
|
|
3d545acda5 | ||
|
|
1d5a8beb3d | ||
|
|
82a14a8f24 | ||
|
|
d07ff8aa17 | ||
|
|
855927e1cd | ||
|
|
a67beb0fda | ||
|
|
b3e2720bc9 | ||
|
|
99cb9e332a | ||
|
|
541e775fdb | ||
|
|
0c220c79f2 | ||
|
|
abc0bfe3ae | ||
|
|
ff28d67e4b | ||
|
|
a723e8acff | ||
|
|
9c20ef0575 | ||
|
|
00b19d8c99 | ||
|
|
8bcb1f2177 | ||
|
|
37be7fbfc7 | ||
|
|
29ef92e3b8 | ||
|
|
accddf319d | ||
|
|
dafae75b21 | ||
|
|
6e477ec091 | ||
|
|
8ae504024e | ||
|
|
665ac47150 | ||
|
|
f6d1356873 | ||
|
|
40a749b304 | ||
|
|
628b26543f | ||
|
|
c25c982264 | ||
|
|
32e21dbf50 | ||
|
|
7653b494fe | ||
|
|
d20def4647 | ||
|
|
759796402e | ||
|
|
13281ebff9 | ||
|
|
2d52da106b | ||
|
|
587f74e6aa | ||
|
|
74ba2ff568 | ||
|
|
7e658c08b6 | ||
|
|
cdda69d8b6 | ||
|
|
41721b02a7 | ||
|
|
6bb3afb707 | ||
|
|
3550d3909e | ||
|
|
1f0b251885 | ||
|
|
701d70681f | ||
|
|
9f312800e1 | ||
|
|
d892b03142 | ||
|
|
105ed018b1 | ||
|
|
7d872f1a4b | ||
|
|
5a1173f257 | ||
|
|
567e64462b | ||
|
|
95c5b11352 | ||
|
|
26ceb59564 | ||
|
|
ddf11b732f | ||
|
|
d35007b369 | ||
|
|
aa011357bc | ||
|
|
53296485e8 | ||
|
|
3f4fe0429f | ||
|
|
31389485fd | ||
|
|
c84f88b607 | ||
|
|
a3cee92371 | ||
|
|
8ae79e6b3d | ||
|
|
93fb4eafd4 | ||
|
|
5f2c20fe13 |
No files matched your search
@@ -1,29 +0,0 @@
|
||||
name: Publish to Bintray
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 1.8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.8
|
||||
server-id: bintray-roinujnosde-bukkit-plugins # Value of the distributionManagement/repository/id field of the pom.xml
|
||||
server-username: MAVEN_USERNAME
|
||||
server-password: MAVEN_PASSWORD
|
||||
|
||||
- name: Build with Maven
|
||||
run: mvn -B package --file pom.xml
|
||||
|
||||
- name: Publish to Bintray
|
||||
run: mvn -B deploy
|
||||
env:
|
||||
MAVEN_USERNAME: ${{ secrets.BINTRAY_USERNAME }}
|
||||
MAVEN_PASSWORD: ${{ secrets.BINTRAY_TOKEN }}
|
||||
@@ -1,13 +1,10 @@
|
||||
name: Publish to CurseForge
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
@@ -19,10 +16,14 @@ jobs:
|
||||
- name: Build with Maven
|
||||
run: mvn -B package --file pom.xml
|
||||
- name: Upload artifact
|
||||
uses: fjogeleit/http-request-action@v1.7.1
|
||||
uses: itsmeow/curseforge-upload@v3
|
||||
with:
|
||||
url: 'https://minecraft.curseforge.com/api/projects/380814/upload-file'
|
||||
method: 'POST'
|
||||
contentType: 'multipart/form-data'
|
||||
files: '{"file": "${{ env.GITHUB_WORKSPACE }}/target/SimpleClans.jar"}'
|
||||
data: '{"token": "${{ secrets.CURSEFORGE_TOKEN }}","metadata": {"displayName":"${{ github.event.release.tag_name }}", "changelog": "${{ github.event.release.body }}","gameVersions": [7915,7667,7330,7105,6588,630,585,531],"releaseType": "release"}}'
|
||||
token: ${{ secrets.CURSEFORGE_TOKEN }}
|
||||
project_id: 380814
|
||||
game_endpoint: minecraft
|
||||
file_path: target/SimpleClans.jar
|
||||
changelog: ${{ github.event.release.body }}
|
||||
display_name: ${{ github.event.release.tag_name }}
|
||||
game_versions: 7915,7667,7330,7105,6588,630,591,585,531
|
||||
release_type: release
|
||||
relations: vault:optionalDependency,worldguard:optionalDependency,grief-prevention:optionalDependency
|
||||
@@ -6,3 +6,4 @@
|
||||
/dependency-reduced-pom.xml
|
||||
*.jar
|
||||
.settings
|
||||
.factorypath
|
||||
@@ -50,8 +50,8 @@ Including SimpleClans with Maven:
|
||||
```xml
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>bintray-roinujnosde-bukkit-plugins</id>
|
||||
<url>https://dl.bintray.com/roinujnosde/bukkit-plugins</url>
|
||||
<id>codemc-repo</id>
|
||||
<url>https://repo.codemc.org/repository/maven-public</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
```
|
||||
@@ -60,7 +60,7 @@ Including SimpleClans with Maven:
|
||||
<dependency>
|
||||
<groupId>net.sacredlabyrinth.phaed.simpleclans</groupId>
|
||||
<artifactId>SimpleClans</artifactId>
|
||||
<version>2.14.3</version> <!-- You can find the latest version at the bottom -->
|
||||
<version>2.15.0</version> <!-- You can find the latest version at the bottom -->
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
@@ -70,16 +70,15 @@ Using Gradle:
|
||||
```groovy
|
||||
repositories {
|
||||
maven {
|
||||
url "https://dl.bintray.com/roinujnosde/bukkit-plugins"
|
||||
url "https://repo.codemc.org/repository/maven-public"
|
||||
}
|
||||
}
|
||||
dependencies {
|
||||
compileOnly "net.sacredlabyrinth.phaed.simpleclans:SimpleClans:2.14.3"
|
||||
compileOnly "net.sacredlabyrinth.phaed.simpleclans:SimpleClans:2.15.0"
|
||||
}
|
||||
```
|
||||
|
||||
##### Latest version:
|
||||
[](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)
|
||||
@@ -20,63 +20,6 @@
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldguard:worldguard-bukkit:7.0.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldedit:worldedit-bukkit:7.2.0-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldguard:worldguard-core:7.0.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldguard.worldguard-libs:core:7.0.4" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldedit:worldedit-core:7.2.0-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q.worldedit.worldedit-libs:core:7.2.0-SNAPSHOT" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: de.schlichtherle:truezip:6.8.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-profile-default_2.13:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.scala-lang:scala-library:2.13.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-driver-http:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-kernel-spec:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-annotations:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.findbugs:annotations:3.0.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-cio:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-io:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-services:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-logging:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.inject:javax.inject:1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.httpcomponents:httpclient:4.5.10" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.httpcomponents:httpcore:4.4.12" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-codec:commons-codec:1.11" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:jcl-over-slf4j:1.7.28" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-driver-odf:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-comp-zipdriver:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-comp-zip:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bouncycastle:bcprov-jdk15on:1.63" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-driver-tar:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-comp-tardriver:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.commons:commons-compress:1.19" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-driver-tar-bzip2:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-driver-tar-gzip:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-driver-tar-xz:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.tukaani:xz:1.8" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-driver-zip-raes:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-profile-base_2.13:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-access-swing:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-access:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-driver-file:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-driver-jar:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-driver-zip:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-comp-ibm437:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truevfs:truevfs-kernel-impl_2.13:0.12.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-key-console:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-key-default:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-key-swing:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-key-macosx:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-key-spec:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.truecommons:truecommons-shed:2.5.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.java.dev.jna:jna:4.1.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.mozilla:rhino-runtime:1.7.12" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.slf4j:slf4j-api:1.7.26" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: it.unimi.dsi:fastutil:8.2.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.antlr:antlr4-runtime:4.7.2" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.flywaydb:flyway-core:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q:commandbook:2.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.TechFortress:GriefPrevention:16.17.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.16.4-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" />
|
||||
@@ -157,5 +100,10 @@
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: org.flywaydb:flyway-core:3.0" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.sk89q:commandbook:2.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.github.TechFortress:GriefPrevention:16.17.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.plotsquared:PlotSquared-Core:5.13.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.plotsquared:PlotSquared-Bukkit:5.13.3" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.plotsquared:plotsquared-api:3.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: com.plotsquared:plotsquared-bukkitapi:3.1" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: net.milkbowl.vault:VaultAPI:1.7" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -0,0 +1,3 @@
|
||||
files:
|
||||
- source: src/main/resources/messages.properties
|
||||
translation: /src/main/resources/%file_name%_%locale_with_underscore%.%file_extension%
|
||||
@@ -4,7 +4,7 @@
|
||||
<groupId>net.sacredlabyrinth.phaed.simpleclans</groupId>
|
||||
<artifactId>SimpleClans</artifactId>
|
||||
<name>SimpleClans</name>
|
||||
<version>2.14.7</version>
|
||||
<version>2.15.1</version>
|
||||
<url>http://dev.bukkit.org/server-mods/simpleclans/</url>
|
||||
<build>
|
||||
<resources>
|
||||
@@ -103,10 +103,6 @@
|
||||
<id>bstats-repo</id>
|
||||
<url>https://repo.codemc.org/repository/maven-public</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>jitpack.io</id>
|
||||
<url>https://jitpack.io</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>papermc</id>
|
||||
<url>https://papermc.io/repo/repository/maven-public/</url>
|
||||
@@ -119,6 +115,18 @@
|
||||
<id>sk89q-repo</id>
|
||||
<url>https://maven.enginehub.org/repo/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>IntellectualSites</id>
|
||||
<url>https://mvn.intellectualsites.com/content/groups/public/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>plotsquared</id>
|
||||
<url>https://plotsquared.com/mvn/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>jitpack.io</id>
|
||||
<url>https://jitpack.io</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
@@ -235,13 +243,82 @@
|
||||
<version>16.17.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.plotsquared</groupId>
|
||||
<artifactId>PlotSquared-Core</artifactId>
|
||||
<version>5.13.3</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.plotsquared</groupId>
|
||||
<artifactId>PlotSquared-Bukkit</artifactId>
|
||||
<version>5.13.3</version>
|
||||
<scope>provided</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>PlotSquared-Core</artifactId>
|
||||
<groupId>*</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.plotsquared</groupId>
|
||||
<artifactId>plotsquared-api</artifactId>
|
||||
<version>3.1</version>
|
||||
<scope>provided</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>*</artifactId>
|
||||
<groupId>com.sk89q.worldedit</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<artifactId>snakeyaml</artifactId>
|
||||
<groupId>org.yaml</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<artifactId>gson</artifactId>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<artifactId>guava</artifactId>
|
||||
<groupId>com.google.guava</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.plotsquared</groupId>
|
||||
<artifactId>plotsquared-bukkitapi</artifactId>
|
||||
<version>3.1</version>
|
||||
<scope>provided</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>*</artifactId>
|
||||
<groupId>com.sk89q.worldedit</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<artifactId>Core</artifactId>
|
||||
<groupId>PlotSquared</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<artifactId>VaultAPI</artifactId>
|
||||
<groupId>net.milkbowl.vault</groupId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<artifactId>guava</artifactId>
|
||||
<groupId>com.google.guava</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>bintray-roinujnosde-bukkit-plugins</id>
|
||||
<name>roinujnosde-bukkit-plugins</name>
|
||||
<url>https://api.bintray.com/maven/roinujnosde/bukkit-plugins/SimpleClans/;publish=1</url>
|
||||
<id>codemc-releases</id>
|
||||
<url>https://repo.codemc.io/repository/maven-releases/</url>
|
||||
</repository>
|
||||
<snapshotRepository>
|
||||
<id>codemc-snapshots</id>
|
||||
<url>https://repo.codemc.io/repository/maven-snapshots/</url>
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>net.sacredlabyrinth.phaed.simpleclans</groupId>
|
||||
<artifactId>SimpleClans</artifactId>
|
||||
<version>2.15.0</version>
|
||||
<version>2.15.2</version>
|
||||
<name>SimpleClans</name>
|
||||
<url>http://dev.bukkit.org/server-mods/simpleclans/</url>
|
||||
|
||||
@@ -182,6 +182,52 @@
|
||||
<version>16.17.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.plotsquared</groupId>
|
||||
<artifactId>PlotSquared-Core</artifactId>
|
||||
<version>5.13.3</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.plotsquared</groupId>
|
||||
<artifactId>PlotSquared-Bukkit</artifactId>
|
||||
<version>5.13.3</version>
|
||||
<scope>provided</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>*</groupId>
|
||||
<artifactId>PlotSquared-Core</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.plotsquared</groupId>
|
||||
<artifactId>plotsquared-api</artifactId>
|
||||
<version>3.1</version>
|
||||
<scope>provided</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.sk89q.worldedit</groupId>
|
||||
<artifactId>*</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.plotsquared</groupId>
|
||||
<artifactId>plotsquared-bukkitapi</artifactId>
|
||||
<version>3.1</version>
|
||||
<scope>provided</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>com.sk89q.worldedit</groupId>
|
||||
<artifactId>*</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>PlotSquared</groupId>
|
||||
<artifactId>Core</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<!-- Repositories -->
|
||||
@@ -210,6 +256,14 @@
|
||||
<id>sk89q-repo</id>
|
||||
<url>https://maven.enginehub.org/repo/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>IntellectualSites</id>
|
||||
<url>https://mvn.intellectualsites.com/content/groups/public/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>plotsquared</id>
|
||||
<url>https://plotsquared.com/mvn/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>jitpack.io</id>
|
||||
<url>https://jitpack.io</url>
|
||||
|
||||
@@ -3,6 +3,7 @@ package net.sacredlabyrinth.phaed.simpleclans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.ChatUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -10,7 +11,6 @@ import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
|
||||
@@ -28,33 +28,23 @@ public class ChatBlock {
|
||||
private boolean padRight = true;
|
||||
|
||||
public void setCropRight(boolean cropRight) {
|
||||
this.cropRight = cropRight;
|
||||
this.cropRight = cropRight;
|
||||
}
|
||||
|
||||
|
||||
public void setPadRight(boolean padRight) {
|
||||
this.padRight = padRight;
|
||||
this.padRight = padRight;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param columnAlignment
|
||||
*/
|
||||
|
||||
public void setAlignment(String... columnAlignment) {
|
||||
columnAlignments.addAll(Arrays.asList(columnAlignment));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param columnFlex
|
||||
*/
|
||||
public void setFlexibility(boolean... columnFlex) {
|
||||
for (boolean flex : columnFlex) {
|
||||
columnFlexes.add(flex);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param columnPercentages
|
||||
* @param prefix
|
||||
*/
|
||||
public void setColumnSizes(String prefix, double... columnPercentages) {
|
||||
int ll = LINE_LENGTH;
|
||||
|
||||
@@ -67,73 +57,38 @@ public class ChatBlock {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public boolean hasContent() {
|
||||
return !rows.isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param contents
|
||||
*/
|
||||
public void addRow(String... contents) {
|
||||
rows.add(contents);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public int size() {
|
||||
return rows.size();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return
|
||||
*/
|
||||
public boolean isEmpty() {
|
||||
return rows.isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void clear() {
|
||||
rows.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param player
|
||||
* @return
|
||||
*/
|
||||
public boolean sendBlock(CommandSender player) {
|
||||
return sendBlock(player, null, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param player
|
||||
* @param prefix
|
||||
* @return
|
||||
*/
|
||||
public boolean sendBlock(CommandSender player, String prefix) {
|
||||
return sendBlock(player, prefix, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param player
|
||||
* @param amount
|
||||
* @return
|
||||
*/
|
||||
public boolean sendBlock(CommandSender player, int amount) {
|
||||
return sendBlock(player, null, amount);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param player
|
||||
* @param prefix
|
||||
* @param amount
|
||||
* @return
|
||||
*/
|
||||
boolean sendBlock(CommandSender player, String prefix, int amount) {
|
||||
if (player == null) {
|
||||
return false;
|
||||
@@ -194,27 +149,27 @@ public class ChatBlock {
|
||||
}
|
||||
} else if (align.equalsIgnoreCase("l")) {
|
||||
if (msgLength(section) > colsize) {
|
||||
if (cropRight) {
|
||||
col = cropRightToFit(section, colsize);
|
||||
if (cropRight) {
|
||||
col = cropRightToFit(section, colsize);
|
||||
} else {
|
||||
col = section;
|
||||
col = section;
|
||||
}
|
||||
} else if (msgLength(section) < colsize) {
|
||||
if (padRight) {
|
||||
col = paddRightToFit(section, colsize);
|
||||
} else {
|
||||
col = section;
|
||||
}
|
||||
if (padRight) {
|
||||
col = paddRightToFit(section, colsize);
|
||||
} else {
|
||||
col = section;
|
||||
}
|
||||
}
|
||||
} else if (align.equalsIgnoreCase("c")) {
|
||||
if (msgLength(section) > colsize) {
|
||||
if (cropRight) {
|
||||
col = cropRightToFit(section, colsize);
|
||||
} else {
|
||||
col = section;
|
||||
}
|
||||
if (cropRight) {
|
||||
col = cropRightToFit(section, colsize);
|
||||
} else {
|
||||
col = section;
|
||||
}
|
||||
} else if (msgLength(section) < colsize) {
|
||||
col = centerInLineOf(section, colsize);
|
||||
col = centerInLineOf(section, colsize);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -279,7 +234,7 @@ public class ChatBlock {
|
||||
// crop and print out
|
||||
String msg = (prefix_used ? empty_prefix : prefix + " ") + finalString;
|
||||
if (cropRight) {
|
||||
msg = cropRightToFit(msg, LINE_LENGTH);
|
||||
msg = cropRightToFit(msg, LINE_LENGTH);
|
||||
}
|
||||
if (color.length() > 0) {
|
||||
msg = color + msg;
|
||||
@@ -304,10 +259,6 @@ public class ChatBlock {
|
||||
return out;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param col
|
||||
* @return
|
||||
*/
|
||||
int getMaxWidth(int col) {
|
||||
double maxWidth = 0;
|
||||
|
||||
@@ -318,19 +269,10 @@ public class ChatBlock {
|
||||
return (int) maxWidth;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param msg
|
||||
* @return
|
||||
*/
|
||||
public static String centerInLine(String msg) {
|
||||
return centerInLineOf(msg, LINE_LENGTH);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param msg
|
||||
* @param lineLength
|
||||
* @return
|
||||
*/
|
||||
private static String centerInLineOf(String msg, double lineLength) {
|
||||
double length = msgLength(msg);
|
||||
double diff = lineLength - length;
|
||||
@@ -355,10 +297,6 @@ public class ChatBlock {
|
||||
return msg;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param str
|
||||
* @return
|
||||
*/
|
||||
public static String makeEmpty(String str) {
|
||||
if (str == null) {
|
||||
return "";
|
||||
@@ -367,11 +305,6 @@ public class ChatBlock {
|
||||
return paddLeftToFit("", msgLength(str));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param msg
|
||||
* @param length
|
||||
* @return
|
||||
*/
|
||||
private static String cropRightToFit(String msg, double length) {
|
||||
if (msg == null || msg.length() == 0 || length == 0) {
|
||||
return "";
|
||||
@@ -384,11 +317,6 @@ public class ChatBlock {
|
||||
return msg;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param msg
|
||||
* @param length
|
||||
* @return
|
||||
*/
|
||||
private static String cropLeftToFit(String msg, double length) {
|
||||
if (msg == null || msg.length() == 0 || length == 0) {
|
||||
return "";
|
||||
@@ -402,11 +330,11 @@ public class ChatBlock {
|
||||
}
|
||||
|
||||
/**
|
||||
* Padds left til the string is a certain size
|
||||
* Pads left til the string is a certain size
|
||||
*
|
||||
* @param msg
|
||||
* @param length
|
||||
* @return
|
||||
* @param msg the message to pad
|
||||
* @param length the message length
|
||||
* @return the padded message
|
||||
*/
|
||||
private static String paddLeftToFit(String msg, double length) {
|
||||
if (msgLength(msg) >= length) {
|
||||
@@ -421,11 +349,11 @@ public class ChatBlock {
|
||||
}
|
||||
|
||||
/**
|
||||
* Padds right til the string is a certain size
|
||||
* Pads right til the string is a certain size
|
||||
*
|
||||
* @param msg
|
||||
* @param length
|
||||
* @return
|
||||
* @param msg the message to pad
|
||||
* @param length the message length
|
||||
* @return the padded message
|
||||
*/
|
||||
private static String paddRightToFit(String msg, double length) {
|
||||
if (msgLength(msg) >= length) {
|
||||
@@ -441,9 +369,6 @@ public class ChatBlock {
|
||||
|
||||
/**
|
||||
* Finds the length on the screen of a string. Ignores colors.
|
||||
*
|
||||
* @param str
|
||||
* @return
|
||||
*/
|
||||
private static double msgLength(String str) {
|
||||
double length = 0;
|
||||
@@ -464,9 +389,6 @@ public class ChatBlock {
|
||||
|
||||
/**
|
||||
* Finds the visual length of the character on the screen.
|
||||
*
|
||||
* @param x
|
||||
* @return
|
||||
*/
|
||||
private static int charLength(char x) {
|
||||
String normalized = StringSimplifier.simplifiedString(x + "");
|
||||
@@ -492,7 +414,6 @@ public class ChatBlock {
|
||||
|
||||
/**
|
||||
* Cuts the message apart into whole words short enough to fit on one line
|
||||
*
|
||||
*/
|
||||
private static String[] wordWrap(String msg) {
|
||||
// Split each word apart
|
||||
@@ -546,8 +467,6 @@ public class ChatBlock {
|
||||
return out.toArray(new String[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
private static String combineSplit(String[] string) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (String aString : string) {
|
||||
@@ -561,7 +480,6 @@ public class ChatBlock {
|
||||
|
||||
/**
|
||||
* Cuts apart a word that is too long to fit on one line
|
||||
*
|
||||
*/
|
||||
private static String[] wordCut(int lengthBefore, String str) {
|
||||
int length = lengthBefore;
|
||||
@@ -595,7 +513,6 @@ public class ChatBlock {
|
||||
|
||||
/**
|
||||
* Outputs a single line out, crops overflow
|
||||
*
|
||||
*/
|
||||
public static void saySingle(CommandSender receiver, String msg) {
|
||||
if (receiver == null) {
|
||||
@@ -607,7 +524,6 @@ public class ChatBlock {
|
||||
|
||||
/**
|
||||
* Outputs a message to a user
|
||||
*
|
||||
*/
|
||||
public static void sendMessage(@Nullable CommandSender receiver, @NotNull String msg) {
|
||||
if (receiver == null) {
|
||||
@@ -622,6 +538,19 @@ public class ChatBlock {
|
||||
// }
|
||||
}
|
||||
|
||||
public static void sendMessage(@Nullable ClanPlayer receiver, @NotNull String msg) {
|
||||
if (receiver == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Player player = receiver.toPlayer();
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
player.sendMessage(ChatUtils.parseColors(msg));
|
||||
}
|
||||
|
||||
public static void sendMessageKey(@Nullable CommandSender receiver, @NotNull String key, @NotNull Object... args) {
|
||||
sendMessage(receiver, lang(key, receiver, args));
|
||||
}
|
||||
@@ -632,7 +561,6 @@ public class ChatBlock {
|
||||
|
||||
/**
|
||||
* Send blank line
|
||||
*
|
||||
*/
|
||||
public static void sendBlank(CommandSender receiver) {
|
||||
if (receiver == null) {
|
||||
@@ -644,12 +572,11 @@ public class ChatBlock {
|
||||
|
||||
/**
|
||||
* Colors each line
|
||||
*
|
||||
*/
|
||||
public static String[] say(String message) {
|
||||
return colorize(wordWrap(message));
|
||||
}
|
||||
|
||||
|
||||
public static String[] getColorizedMessage(String msg) {
|
||||
return colorize(wordWrap(msg));
|
||||
}
|
||||
@@ -663,7 +590,7 @@ public class ChatBlock {
|
||||
}
|
||||
|
||||
public static @Nullable String colorize(String message) {
|
||||
return colorizeBase(new String[]{ message })[0];
|
||||
return colorizeBase(new String[]{message})[0];
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -31,9 +31,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
private String tag;
|
||||
private @Nullable Clan clan;
|
||||
private boolean friendlyFire;
|
||||
private int neutralKills;
|
||||
private int rivalKills;
|
||||
private int civilianKills;
|
||||
private final Map<Kill.Type, Integer> kills = new HashMap<>();
|
||||
private int deaths;
|
||||
private long lastSeen;
|
||||
private long joinDate;
|
||||
@@ -76,9 +74,6 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
}
|
||||
this.lastSeen = (new Date()).getTime();
|
||||
this.joinDate = (new Date()).getTime();
|
||||
this.neutralKills = 0;
|
||||
this.rivalKills = 0;
|
||||
this.civilianKills = 0;
|
||||
this.tag = "";
|
||||
}
|
||||
|
||||
@@ -112,6 +107,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
*
|
||||
* @return the name
|
||||
*/
|
||||
@Placeholder("name")
|
||||
public String getName() {
|
||||
return displayName;
|
||||
}
|
||||
@@ -130,6 +126,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
*
|
||||
* @return the name
|
||||
*/
|
||||
@Placeholder("clean_name")
|
||||
public String getCleanName() {
|
||||
return displayName.toLowerCase();
|
||||
}
|
||||
@@ -266,7 +263,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
|
||||
@Placeholder("total_kills")
|
||||
public int getTotalKills() {
|
||||
return getRivalKills() + getCivilianKills() + getNeutralKills();
|
||||
return getRivalKills() + getCivilianKills() + getNeutralKills() + getAllyKills();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -276,7 +273,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
*/
|
||||
@Placeholder("rival_kills")
|
||||
public int getRivalKills() {
|
||||
return rivalKills;
|
||||
return kills.getOrDefault(Kill.Type.RIVAL, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -285,7 +282,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
* @param rivalKills the rivalKills to set
|
||||
*/
|
||||
public void setRivalKills(int rivalKills) {
|
||||
this.rivalKills = rivalKills;
|
||||
kills.put(Kill.Type.RIVAL, rivalKills);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -303,7 +300,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
*/
|
||||
@Placeholder("civilian_kills")
|
||||
public int getCivilianKills() {
|
||||
return civilianKills;
|
||||
return kills.getOrDefault(Kill.Type.CIVILIAN, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -312,7 +309,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
* @param civilianKills the civilianKills to set
|
||||
*/
|
||||
public void setCivilianKills(int civilianKills) {
|
||||
this.civilianKills = civilianKills;
|
||||
kills.put(Kill.Type.CIVILIAN, civilianKills);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -330,7 +327,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
*/
|
||||
@Placeholder("neutral_kills")
|
||||
public int getNeutralKills() {
|
||||
return neutralKills;
|
||||
return kills.getOrDefault(Kill.Type.NEUTRAL, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -339,7 +336,7 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
* @param neutralKills the neutralKills to set
|
||||
*/
|
||||
public void setNeutralKills(int neutralKills) {
|
||||
this.neutralKills = neutralKills;
|
||||
kills.put(Kill.Type.NEUTRAL, neutralKills);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -350,20 +347,20 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
setNeutralKills(getNeutralKills() + 1);
|
||||
}
|
||||
|
||||
public void setAllyKills(int allyKills) {
|
||||
kills.put(Kill.Type.ALLY, allyKills);
|
||||
}
|
||||
|
||||
@Placeholder("ally_kills")
|
||||
public int getAllyKills() {
|
||||
return kills.getOrDefault(Kill.Type.ALLY, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds one kill to this player (does not update to db)
|
||||
*/
|
||||
public void addKill(Kill.Type type) {
|
||||
switch (type) {
|
||||
case CIVILIAN:
|
||||
civilianKills++;
|
||||
break;
|
||||
case NEUTRAL:
|
||||
neutralKills++;
|
||||
break;
|
||||
case RIVAL:
|
||||
rivalKills++;
|
||||
}
|
||||
kills.compute(type, (t, c) -> c == null ? 1 : c + 1);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -435,13 +432,20 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
@Placeholder("weighted_kills")
|
||||
public double getWeightedKills() {
|
||||
SimpleClans plugin = SimpleClans.getInstance();
|
||||
return ((double) rivalKills * plugin.getSettingsManager().getKwRival()) + ((double) neutralKills * plugin.getSettingsManager().getKwNeutral()) + ((double) civilianKills * plugin.getSettingsManager().getKwCivilian());
|
||||
double kills = ((double) getRivalKills() * plugin.getSettingsManager().getKwRival()) +
|
||||
((double) getNeutralKills() * plugin.getSettingsManager().getKwNeutral()) +
|
||||
((double) getAllyKills() * plugin.getSettingsManager().getKwAlly()) +
|
||||
((double) getCivilianKills() * plugin.getSettingsManager().getKwCivilian());
|
||||
if (kills < 0) {
|
||||
return 0;
|
||||
}
|
||||
return kills;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns weighted-kill/death ratio
|
||||
*/
|
||||
@Placeholder("kdr")
|
||||
@Placeholder(value = "kdr", resolver = "kdr")
|
||||
@Placeholder(value = "topplayers_position", resolver = "ranking_position")
|
||||
public float getKDR() {
|
||||
int totalDeaths = getDeaths();
|
||||
@@ -814,8 +818,8 @@ public class ClanPlayer implements Serializable, Comparable<ClanPlayer> {
|
||||
}
|
||||
|
||||
@Placeholder("rank")
|
||||
public @Nullable String getRankId() {
|
||||
return flags.getString("rank");
|
||||
public @NotNull String getRankId() {
|
||||
return flags.getString("rank", "");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans;
|
||||
|
||||
public enum EconomyResponse {
|
||||
SUCCESS, NEGATIVE_VALUE, NOT_ENOUGH_BALANCE, CANCELLED
|
||||
}
|
||||
@@ -45,6 +45,15 @@ public class Flags {
|
||||
return String.valueOf(object);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public String getString(@NotNull String key, @NotNull String def) {
|
||||
String string = getString(key);
|
||||
if (string == null) {
|
||||
return def;
|
||||
}
|
||||
return string;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Number getNumber(@NotNull String key) {
|
||||
Object object = flags.get(key);
|
||||
|
||||
@@ -8,6 +8,7 @@ import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
@@ -18,6 +19,8 @@ import org.json.simple.JSONObject;
|
||||
import org.json.simple.parser.JSONParser;
|
||||
import org.json.simple.parser.ParseException;
|
||||
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.HttpURLConnection;
|
||||
@@ -28,6 +31,7 @@ import java.time.LocalTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author phaed
|
||||
@@ -97,7 +101,7 @@ public class Helper {
|
||||
* @param jo the JSON Object
|
||||
* @return a list of ranks or null if the JSON String is null/empty
|
||||
*/
|
||||
public static @Nullable List<Rank> ranksFromJson(JSONObject jo) {
|
||||
public static @Nullable List<Rank> ranksFromJson(@Nullable JSONObject jo) {
|
||||
if (jo != null && !jo.isEmpty()) {
|
||||
Object ranks = jo.get("ranks");
|
||||
if (ranks != null) {
|
||||
@@ -127,7 +131,7 @@ public class Helper {
|
||||
* @param jo the JSON object
|
||||
* @return the default rank or null if not found and/or it does not exist
|
||||
*/
|
||||
public static @Nullable String defaultRankFromJson(JSONObject jo) {
|
||||
public static @Nullable String defaultRankFromJson(@Nullable JSONObject jo) {
|
||||
if (jo != null && !jo.isEmpty()) {
|
||||
if (!jo.containsKey("defaultRank")) {
|
||||
return null;
|
||||
@@ -900,7 +904,7 @@ public class Helper {
|
||||
*
|
||||
* @param cp Sender
|
||||
* @param msg The chat message
|
||||
* @return The formated message
|
||||
* @return The formatted message
|
||||
*/
|
||||
public static String formatSpyClanChat(ClanPlayer cp, String msg) {
|
||||
msg = stripColors(msg);
|
||||
@@ -911,4 +915,47 @@ public class Helper {
|
||||
return ChatColor.DARK_GRAY + "[" + cp.getTag() + "] " + msg;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats max inactive days to an infinity symbol if it's negative or 0
|
||||
*
|
||||
* @param max inactive days
|
||||
* @return formatted message
|
||||
*/
|
||||
public static String formatMaxInactiveDays(int max) {
|
||||
if (max <= 0) {
|
||||
return "∞";
|
||||
} else {
|
||||
return String.valueOf(max);
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String getFormattedClanStatus(Clan clan, CommandSender sender) {
|
||||
ArrayList<String> statuses = new ArrayList<>();
|
||||
if (clan.isPermanent()) {
|
||||
statuses.add(lang("permanent", sender));
|
||||
}
|
||||
if (clan.isVerified()) {
|
||||
statuses.add(lang("verified", sender));
|
||||
} else {
|
||||
statuses.add(lang("unverified", sender));
|
||||
}
|
||||
return String.join(", ", statuses);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if all passed materials are some kind of AIR
|
||||
*
|
||||
* @param materials materials to test
|
||||
* @return true if all materials are AIR
|
||||
*/
|
||||
public static boolean isAir(@NotNull Material... materials) {
|
||||
for (Material m : materials) {
|
||||
if (!m.name().contains("AIR")) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -27,7 +27,7 @@ public class Kill {
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
CIVILIAN("c"), RIVAL("r"), NEUTRAL("n");
|
||||
CIVILIAN("c"), RIVAL("r"), NEUTRAL("n"), ALLY("a");
|
||||
|
||||
Type(String shortName) {
|
||||
this.shortName = shortName;
|
||||
|
||||
@@ -218,7 +218,7 @@ public class SCCommandManager extends PaperCommandManager {
|
||||
"alliances", "leaderboard", "allow", "block", "auto", "check", "assign", "unassign", "delete", "me",
|
||||
"setdisplayname", "permissions", "tag", "deposit", "withdraw", "set", "status", "tp", "all", "everyone",
|
||||
"lookup", "roster", "profile", "list", "create", "description", "start", "end", "admin", "help", "mod",
|
||||
"setdefault", "removedefault", "land", "break", "interact", "place", "damage", "interact_entity",
|
||||
"container");
|
||||
"setdefault", "removedefault", "land", "break", "interact", "place_block", "damage", "interact_entity",
|
||||
"container", "permanent", "take", "give");
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,13 @@ import co.aikar.commands.BaseCommand;
|
||||
import co.aikar.commands.annotation.*;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ChatBlock;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.EconomyResponse;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.BankDepositEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.BankWithdrawEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.ClanBalanceUpdateEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.managers.PermissionsManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
@@ -42,6 +48,7 @@ public class BankCommand extends BaseCommand {
|
||||
processWithdraw(player, clan, amount);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void processWithdraw(Player player, Clan clan, double amount) {
|
||||
if (!clan.isAllowWithdraw()) {
|
||||
String message = getCurrentCommandManager().getCommandReplacements()
|
||||
@@ -50,7 +57,25 @@ public class BankCommand extends BaseCommand {
|
||||
return;
|
||||
}
|
||||
amount = Math.abs(amount);
|
||||
clan.withdraw(amount, player);
|
||||
BankWithdrawEvent event = new BankWithdrawEvent(player, clan, amount);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (clan.withdraw(player, ClanBalanceUpdateEvent.Cause.COMMAND, amount)) {
|
||||
case SUCCESS:
|
||||
if (SimpleClans.getInstance().getPermissionsManager().playerGrantMoney(player, amount)) {
|
||||
player.sendMessage(AQUA + lang("player.clan.withdraw", player, amount));
|
||||
clan.addBb(player.getName(), AQUA + lang("bb.clan.withdraw", amount));
|
||||
} else {
|
||||
clan.setBalance(player, ClanBalanceUpdateEvent.Cause.REVERT, clan.getBalance() + amount);
|
||||
}
|
||||
break;
|
||||
case NOT_ENOUGH_BALANCE:
|
||||
player.sendMessage(lang("clan.bank.not.enough.money", player));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Subcommand("%deposit %all")
|
||||
@@ -69,6 +94,7 @@ public class BankCommand extends BaseCommand {
|
||||
processDeposit(player, clan, amount);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void processDeposit(Player player, Clan clan, double amount) {
|
||||
if (!clan.isAllowDeposit()) {
|
||||
String message = getCurrentCommandManager().getCommandReplacements()
|
||||
@@ -77,6 +103,24 @@ public class BankCommand extends BaseCommand {
|
||||
return;
|
||||
}
|
||||
amount = Math.abs(amount);
|
||||
clan.deposit(amount, player);
|
||||
BankDepositEvent event = new BankDepositEvent(player, clan, amount);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
if (!permissions.playerHasMoney(player, amount)) {
|
||||
player.sendMessage(AQUA + lang("not.sufficient.money", player));
|
||||
return;
|
||||
}
|
||||
EconomyResponse response = clan.deposit(player, ClanBalanceUpdateEvent.Cause.COMMAND, amount);
|
||||
if (response == EconomyResponse.SUCCESS) {
|
||||
if (permissions.playerChargeMoney(player, amount)) {
|
||||
player.sendMessage(AQUA + lang("player.clan.deposit", player, amount));
|
||||
clan.addBb(player.getName(), AQUA + lang("bb.clan.deposit", amount));
|
||||
} else {
|
||||
//Reverts the deposit if something went wrong with Vault
|
||||
clan.setBalance(player, ClanBalanceUpdateEvent.Cause.REVERT, clan.getBalance() - amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -36,30 +36,29 @@ public class ClanCommands extends BaseCommand {
|
||||
private PermissionsManager permissions;
|
||||
@Dependency
|
||||
private RequestManager requestManager;
|
||||
@Dependency
|
||||
private ProtectionManager protectionManager;
|
||||
|
||||
@Subcommand("%war %start")
|
||||
@CommandPermission("simpleclans.leader.war")
|
||||
@Conditions("verified|rank:name=WAR_START")
|
||||
@Description("{@@command.description.war.start}")
|
||||
@CommandCompletion("@rivals")
|
||||
public void startWar(Player player, ClanPlayer cp, Clan issuerClan, @Name("clan") ClanInput other) {
|
||||
Clan war = other.getClan();
|
||||
if (!issuerClan.isRival(war.getTag())) {
|
||||
ChatBlock.sendMessage(player, RED + lang("you.can.only.start.war.with.rivals", player));
|
||||
return;
|
||||
}
|
||||
if (!issuerClan.isWarring(war.getTag())) {
|
||||
List<ClanPlayer> onlineLeaders = Helper.stripOffLinePlayers(issuerClan.getLeaders());
|
||||
public void startWar(Player player, ClanPlayer requester, Clan requestClan, @Conditions("can_war_target") @Name("clan") ClanInput targetClanInput) {
|
||||
Clan targetClan = targetClanInput.getClan();
|
||||
|
||||
List<ClanPlayer> onlineLeaders = Helper.stripOffLinePlayers(requestClan.getLeaders());
|
||||
|
||||
if (settings.isWarRequestEnabled()) {
|
||||
if (!onlineLeaders.isEmpty()) {
|
||||
requestManager.addWarStartRequest(cp, war, issuerClan);
|
||||
requestManager.addWarStartRequest(requester, targetClan, requestClan);
|
||||
ChatBlock.sendMessage(player, AQUA + lang("leaders.have.been.asked.to.accept.the.war.request",
|
||||
player, war.getName()));
|
||||
player, targetClan.getName()));
|
||||
} else {
|
||||
ChatBlock.sendMessage(player, RED + lang("at.least.one.leader.accept.the.alliance", player));
|
||||
}
|
||||
} else {
|
||||
ChatBlock.sendMessage(player, RED + lang("clans.already.at.war", player));
|
||||
protectionManager.addWar(requester, requestClan, targetClan);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,11 +126,11 @@ public class ClanCommands extends BaseCommand {
|
||||
|
||||
@Subcommand("%invite")
|
||||
@CommandPermission("simpleclans.leader.invite")
|
||||
@CommandCompletion("@non_members")
|
||||
@CommandCompletion("@non_members:ignore_vanished")
|
||||
@Conditions("rank:name=INVITE")
|
||||
@Description("{@@command.description.invite}")
|
||||
public void invite(Player sender, ClanPlayer cp, Clan clan,
|
||||
@Conditions("not_banned|not_in_clan|online") @Name("player") ClanPlayerInput invited) {
|
||||
@Conditions("not_banned|not_in_clan|online:ignore_vanished") @Name("player") ClanPlayerInput invited) {
|
||||
Player invitedPlayer = invited.getClanPlayer().toPlayer();
|
||||
if (invitedPlayer == null) return;
|
||||
if (!permissions.has(invitedPlayer, "simpleclans.member.can-join")) {
|
||||
|
||||
@@ -40,10 +40,10 @@ public class HomeCommands extends BaseCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
processTeleport(player, cp, clan, player.getLocation());
|
||||
processRegroup(player, cp, clan, player.getLocation());
|
||||
}
|
||||
|
||||
private void processTeleport(Player player, ClanPlayer cp, Clan clan, Location location) {
|
||||
private void processRegroup(Player player, ClanPlayer cp, Clan clan, Location location) {
|
||||
HomeRegroupEvent homeRegroupEvent = new HomeRegroupEvent(clan, cp, VanishUtils.getNonVanished(player, clan), location);
|
||||
plugin.getServer().getPluginManager().callEvent(homeRegroupEvent);
|
||||
|
||||
@@ -69,7 +69,7 @@ public class HomeCommands extends BaseCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
processTeleport(player, cp, clan, location);
|
||||
processRegroup(player, cp, clan, location);
|
||||
}
|
||||
|
||||
@Subcommand("%home")
|
||||
|
||||
@@ -6,11 +6,13 @@ import net.sacredlabyrinth.phaed.simpleclans.ChatBlock;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.Land;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.managers.ProtectionManager;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@CommandAlias("%clan")
|
||||
@Subcommand("%land")
|
||||
@@ -20,6 +22,18 @@ public class LandCommand extends BaseCommand {
|
||||
|
||||
@Dependency
|
||||
private ProtectionManager protection;
|
||||
@Dependency
|
||||
private SettingsManager settings;
|
||||
|
||||
private Set<Land> getLands(ClanPlayer cp, Location location) {
|
||||
Player player = Objects.requireNonNull(cp.toPlayer());
|
||||
if (settings.isEditAllLands()) {
|
||||
return protection.getLands(player, location);
|
||||
} else {
|
||||
return protection.getLandsAt(location).stream().filter(l -> l.getOwners().contains(player.getUniqueId()))
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
}
|
||||
|
||||
@Subcommand("%allow")
|
||||
public class AllowCommand extends BaseCommand {
|
||||
@@ -29,8 +43,7 @@ public class LandCommand extends BaseCommand {
|
||||
}
|
||||
|
||||
private void allow(ClanPlayer cp, ProtectionManager.Action action, Location location, boolean notify) {
|
||||
Set<Land> lands = protection.getLands(Objects.requireNonNull(cp.toPlayer()), location);
|
||||
for (Land land : lands) {
|
||||
for (Land land : getLands(cp, location)) {
|
||||
cp.allow(action, land.getId());
|
||||
}
|
||||
if (notify) {
|
||||
@@ -99,8 +112,7 @@ public class LandCommand extends BaseCommand {
|
||||
}
|
||||
|
||||
private void block(ClanPlayer cp, ProtectionManager.Action action, Location location, boolean notify) {
|
||||
Set<Land> lands = protection.getLands(Objects.requireNonNull(cp.toPlayer()), location);
|
||||
for (Land land : lands) {
|
||||
for (Land land : getLands(cp, location)) {
|
||||
cp.disallow(action, land.getId());
|
||||
}
|
||||
if (notify) {
|
||||
|
||||
@@ -102,8 +102,7 @@ public class LeaderCommands extends BaseCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
clan.clanAnnounce(player.getName(), AQUA + lang("clan.has.been.disbanded", clan.getName()));
|
||||
clan.disband();
|
||||
clan.disband(player, true, false);
|
||||
}
|
||||
|
||||
@Subcommand("%verify")
|
||||
|
||||
@@ -5,9 +5,12 @@ import co.aikar.commands.annotation.*;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.*;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.commands.ClanPlayerInput;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.conversation.CreateRankNamePrompt;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.DeleteRankEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.PlayerRankUpdateEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.managers.PermissionsManager;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.managers.StorageManager;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.ChatUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.conversations.Conversation;
|
||||
import org.bukkit.conversations.ConversationFactory;
|
||||
@@ -37,11 +40,17 @@ public class RankCommand extends BaseCommand {
|
||||
@CommandPermission("simpleclans.leader.rank.assign")
|
||||
@CommandCompletion("@clan_members @ranks")
|
||||
@Description("{@@command.description.rank.assign}")
|
||||
public void assign(Player player,
|
||||
public void assign(ClanPlayer player,
|
||||
Clan clan,
|
||||
@Name("member") @Conditions("same_clan") ClanPlayerInput member,
|
||||
@Name("rank") Rank rank) {
|
||||
ClanPlayer memberInput = member.getClanPlayer();
|
||||
|
||||
PlayerRankUpdateEvent event = new PlayerRankUpdateEvent(player, memberInput, clan, clan.getRank(memberInput.getRankId()), rank);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) return;
|
||||
|
||||
if (memberInput.getRankId().equals(rank.getName())) {
|
||||
ChatBlock.sendMessage(player, lang("player.already.has.that.rank", player));
|
||||
return;
|
||||
@@ -56,10 +65,16 @@ public class RankCommand extends BaseCommand {
|
||||
@CommandPermission("simpleclans.leader.rank.unassign")
|
||||
@CommandCompletion("@clan_members")
|
||||
@Description("{@@command.description.rank.unassign}")
|
||||
public void unassign(Player player, @Conditions("same_clan") @Name("member") ClanPlayerInput cp) {
|
||||
ClanPlayer cpInput = cp.getClanPlayer();
|
||||
cpInput.setRank(null);
|
||||
storage.updateClanPlayer(cpInput);
|
||||
public void unassign(ClanPlayer player, Clan clan, @Conditions("same_clan") @Name("member") ClanPlayerInput cp) {
|
||||
ClanPlayer memberInput = cp.getClanPlayer();
|
||||
|
||||
PlayerRankUpdateEvent event = new PlayerRankUpdateEvent(player, memberInput, clan, clan.getRank(memberInput.getRankId()), null);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) return;
|
||||
|
||||
memberInput.setRank(null);
|
||||
storage.updateClanPlayer(memberInput);
|
||||
ChatBlock.sendMessage(player, AQUA + lang("player.unassigned.from.rank", player));
|
||||
}
|
||||
|
||||
@@ -78,9 +93,14 @@ public class RankCommand extends BaseCommand {
|
||||
@CommandCompletion("@ranks")
|
||||
@Description("{@@command.description.rank.delete}")
|
||||
public void delete(Player player, Clan clan, @Name("rank") Rank rank) {
|
||||
clan.deleteRank(rank.getName());
|
||||
storage.updateClan(clan, true);
|
||||
ChatBlock.sendMessage(player, AQUA + lang("rank.0.deleted", player, rank.getDisplayName()));
|
||||
DeleteRankEvent event = new DeleteRankEvent(player, clan, rank);
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
|
||||
if (!event.isCancelled()) {
|
||||
clan.deleteRank(rank.getName());
|
||||
storage.updateClan(clan, true);
|
||||
ChatBlock.sendMessage(player, AQUA + lang("rank.0.deleted", player, rank.getDisplayName()));
|
||||
}
|
||||
}
|
||||
|
||||
@Subcommand("%list")
|
||||
|
||||
@@ -3,12 +3,13 @@ package net.sacredlabyrinth.phaed.simpleclans.commands.completions;
|
||||
import co.aikar.commands.BukkitCommandCompletionContext;
|
||||
import co.aikar.commands.InvalidCommandArgument;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class NonMembersCompletion extends AbstractSyncCompletion {
|
||||
@@ -23,10 +24,16 @@ public class NonMembersCompletion extends AbstractSyncCompletion {
|
||||
|
||||
@Override
|
||||
public Collection<String> getCompletions(BukkitCommandCompletionContext c) throws InvalidCommandArgument {
|
||||
Player player = c.getPlayer();
|
||||
return Bukkit.getOnlinePlayers().stream()
|
||||
.filter(p -> clanManager.getClanByPlayerUniqueId(p.getUniqueId()) == null
|
||||
&& (player == null || player.canSee(p)))
|
||||
.map(Player::getName).collect(Collectors.toList());
|
||||
Collection<String> onlinePlayers = new ArrayList<>();
|
||||
|
||||
for (Player onlinePlayer : Bukkit.getOnlinePlayers()) {
|
||||
boolean vanished = VanishUtils.isVanished(c.getSender(), onlinePlayer);
|
||||
if (clanManager.getClanByPlayerUniqueId(onlinePlayer.getUniqueId()) != null || (c.hasConfig("ignore_vanished") && vanished)) {
|
||||
continue;
|
||||
}
|
||||
onlinePlayers.add(onlinePlayer.getName());
|
||||
}
|
||||
|
||||
return onlinePlayers;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.commands.conditions;
|
||||
|
||||
import co.aikar.commands.*;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.commands.ClanInput;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
|
||||
public class CanWarTargetCondition extends AbstractParameterCondition<ClanInput> {
|
||||
public CanWarTargetCondition(@NotNull SimpleClans plugin) {
|
||||
super(plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ClanInput> getType() {
|
||||
return ClanInput.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void validateCondition(ConditionContext<BukkitCommandIssuer> context, BukkitCommandExecutionContext execContext, ClanInput target) throws InvalidCommandArgument {
|
||||
BukkitCommandIssuer issuer = execContext.getIssuer();
|
||||
Clan issuerClan = Conditions.assertClanMember(clanManager, issuer);
|
||||
Clan targetClan = target.getClan();
|
||||
|
||||
if (!issuerClan.isRival(targetClan.getTag())) {
|
||||
throw new ConditionFailedException(lang("you.can.only.start.war.with.rivals", issuer));
|
||||
}
|
||||
|
||||
if (issuerClan.isWarring(targetClan)) {
|
||||
throw new ConditionFailedException(lang("clans.already.at.war", issuer));
|
||||
}
|
||||
|
||||
boolean isWarRequestEnabled = settingsManager.isWarRequestEnabled();
|
||||
int maxDifference = settingsManager.getMembersOnlineMaxDifference();
|
||||
|
||||
if (!isWarRequestEnabled && maxDifference >= 0) {
|
||||
int difference = Math.abs(issuerClan.getOnlineMembers().size() - targetClan.getOnlineMembers().size());
|
||||
if (difference > maxDifference)
|
||||
throw new ConditionFailedException(lang("you.cant.start.war.online.members.difference", issuer));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getId() {
|
||||
return "can_war_target";
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,8 @@ package net.sacredlabyrinth.phaed.simpleclans.commands.conditions;
|
||||
import co.aikar.commands.*;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.commands.ClanPlayerInput;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
@@ -21,9 +23,16 @@ public class OnlineCondition extends AbstractParameterCondition<ClanPlayerInput>
|
||||
|
||||
@Override
|
||||
public void validateCondition(ConditionContext<BukkitCommandIssuer> context, BukkitCommandExecutionContext execContext, ClanPlayerInput value) throws InvalidCommandArgument {
|
||||
if (value.getClanPlayer().toPlayer() == null) {
|
||||
throw new ConditionFailedException(lang("other.player.must.be.online", execContext.getSender()));
|
||||
Player player = value.getClanPlayer().toPlayer();
|
||||
|
||||
if (player != null) {
|
||||
boolean isVanished = VanishUtils.isVanished(execContext.getSender(), player);
|
||||
if (!isVanished || !context.hasConfig("ignore_vanished")) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
throw new ConditionFailedException(lang("other.player.must.be.online", execContext.getSender()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,9 +18,12 @@ public class ClanPlayerInputContextResolver extends AbstractInputOnlyContextReso
|
||||
@Override
|
||||
public ClanPlayerInput getContext(BukkitCommandExecutionContext context) throws InvalidCommandArgument {
|
||||
String arg = context.popFirstArg();
|
||||
@SuppressWarnings("deprecation")
|
||||
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(arg);
|
||||
ClanPlayer cp = clanManager.getCreateClanPlayer(offlinePlayer.getUniqueId());
|
||||
ClanPlayer cp = clanManager.getAnyClanPlayer(arg);
|
||||
if (cp == null) {
|
||||
@SuppressWarnings("deprecation")
|
||||
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(arg);
|
||||
cp = clanManager.getCreateClanPlayer(offlinePlayer.getUniqueId());
|
||||
}
|
||||
|
||||
return new ClanPlayerInput(cp);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.commands.data;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Helper;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.KDRFormat;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
|
||||
@@ -23,7 +24,7 @@ public class ClanProfile extends Sendable {
|
||||
String message = lang("clan.profile").replace("%clan_name%", clan.getName())
|
||||
.replace("%clan_color_tag%", clan.getColorTag())
|
||||
.replace("%clan_description%", getDescription())
|
||||
.replace("%clan_verified%", getVerifiedStatus())
|
||||
.replace("%clan_status%", Helper.getFormattedClanStatus(clan, sender))
|
||||
.replace("%clan_leaders%", clan.getLeadersString(sm.getPageLeaderColor(), subColor + ", "))
|
||||
.replace("%clan_online_count%", String.valueOf(VanishUtils.getNonVanished(sender, clan).size()))
|
||||
.replace("%clan_size%", String.valueOf(clan.getSize()))
|
||||
@@ -31,6 +32,7 @@ public class ClanProfile extends Sendable {
|
||||
.replace("%clan_rival_kills%", String.valueOf(clan.getTotalRival()))
|
||||
.replace("%clan_neutral_kills%", String.valueOf(clan.getTotalNeutral()))
|
||||
.replace("%clan_civilian_kills%", String.valueOf(clan.getTotalCivilian()))
|
||||
.replace("%clan_ally_kills%", String.valueOf(clan.getTotalAlly()))
|
||||
.replace("%clan_deaths%", String.valueOf(clan.getTotalDeaths()))
|
||||
.replace("%clan_fee_enabled%", getFeeEnabled())
|
||||
.replace("%clan_fee_value%", String.valueOf(clan.getMemberFee()))
|
||||
@@ -38,27 +40,15 @@ public class ClanProfile extends Sendable {
|
||||
.replace("%clan_rivals%", clan.getRivalString(subColor + ", "))
|
||||
.replace("%clan_founded%", clan.getFoundedString())
|
||||
.replace("%clan_inactive_days%", String.valueOf(clan.getInactiveDays()))
|
||||
.replace("%clan_max_inactive_days%", getMaxInactiveDays());
|
||||
.replace("%clan_max_inactive_days%", Helper.formatMaxInactiveDays(clan.getMaxInactiveDays()));
|
||||
sender.sendMessage(message);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private String getMaxInactiveDays() {
|
||||
return String.valueOf(clan.isVerified() ?
|
||||
sm.getPurgeClan() : sm.getPurgeUnverified());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private String getFeeEnabled() {
|
||||
return clan.isMemberFeeEnabled() ? lang("fee.enabled", sender) : lang("fee.disabled", sender);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private String getVerifiedStatus() {
|
||||
return clan.isVerified() ? sm.getPageTrustedColor() + lang("verified", sender) :
|
||||
sm.getPageUnTrustedColor() + lang("unverified", sender);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private String getDescription() {
|
||||
return clan.getDescription() != null && !clan.getDescription().isEmpty() ? clan.getDescription() :
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.commands.data;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.*;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.ChatUtils;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.KDRFormat;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
@@ -38,18 +39,19 @@ public class Lookup extends Sendable {
|
||||
String lookup = lang("player.lookup", sender)
|
||||
.replace("%player_name%", target.getName())
|
||||
.replace("%clan_name%", getClanName())
|
||||
.replace("%player_rank%", Helper.parseColors(target.getRankDisplayName()))
|
||||
.replace("%player_rank%", ChatUtils.parseColors(target.getRankDisplayName()))
|
||||
.replace("%player_status%", getPlayerStatus())
|
||||
.replace("%player_kdr%", KDRFormat.format(target.getKDR()))
|
||||
.replace("%player_rival_kills%", String.valueOf(target.getRivalKills()))
|
||||
.replace("%player_neutral_kills%", String.valueOf(target.getNeutralKills()))
|
||||
.replace("%player_civilian_kills%", String.valueOf(target.getCivilianKills()))
|
||||
.replace("%player_ally_kills%", String.valueOf(target.getAllyKills()))
|
||||
.replace("%player_deaths%", String.valueOf(target.getDeaths()))
|
||||
.replace("%player_join_date%", target.getJoinDateString())
|
||||
.replace("%player_last_seen%", target.getLastSeenString(sender))
|
||||
.replace("%player_past_clans%", target.getPastClansString(headColor + ", "))
|
||||
.replace("%player_inactive_days%", String.valueOf(target.getInactiveDays()))
|
||||
.replace("%player_max_inactive_days%", String.valueOf(sm.getPurgePlayers()))
|
||||
.replace("%player_max_inactive_days%", Helper.formatMaxInactiveDays(sm.getPurgePlayers()))
|
||||
.replace("%kill_type_line%", getKillTypeLine());
|
||||
sender.sendMessage(lookup);
|
||||
} else {
|
||||
@@ -84,7 +86,7 @@ public class Lookup extends Sendable {
|
||||
if (target.isTrusted()) {
|
||||
return sm.getPageTrustedColor() + lang("trusted", sender);
|
||||
}
|
||||
if (target.getRankId() != null && !target.getRankId().isEmpty()) {
|
||||
if (!target.getRankId().isEmpty()) {
|
||||
return sm.getPageTrustedColor() + lang("in.rank", sender);
|
||||
}
|
||||
return sm.getPageUnTrustedColor() + lang("untrusted", sender);
|
||||
@@ -98,8 +100,13 @@ public class Lookup extends Sendable {
|
||||
|
||||
if (targetClan == null) {
|
||||
killType = DARK_GRAY + lang("civilian", sender);
|
||||
} else if (senderClan != null && senderClan.isRival(targetClan.getTag())) {
|
||||
killType = WHITE + lang("rival", sender);
|
||||
} else if (senderClan != null) {
|
||||
if (senderClan.isRival(targetClan.getTag())) {
|
||||
killType = WHITE + lang("rival", sender);
|
||||
}
|
||||
if (senderClan.equals(targetClan) || senderClan.isAlly(targetClan.getTag())) {
|
||||
killType = RED + lang("ally", sender);
|
||||
}
|
||||
}
|
||||
|
||||
killTypeLine = lang("player.lookup.killtype", sender).replace("%player_kill_type%", killType);
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.commands.staff;
|
||||
|
||||
import co.aikar.commands.BaseCommand;
|
||||
import co.aikar.commands.annotation.*;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ChatBlock;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.EconomyResponse;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.commands.ClanInput;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.ClanBalanceUpdateEvent;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import static net.md_5.bungee.api.ChatColor.RED;
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
import static org.bukkit.ChatColor.AQUA;
|
||||
|
||||
@CommandAlias("%clan")
|
||||
@Conditions("%basic_conditions")
|
||||
@Subcommand("%admin %bank")
|
||||
public class BankCommand extends BaseCommand {
|
||||
|
||||
@Subcommand("%status")
|
||||
@CommandPermission("simpleclans.admin.bank.status")
|
||||
@CommandCompletion("@clans")
|
||||
@Description("{@@command.description.bank.admin.status}")
|
||||
public void status(CommandSender sender, @Name("clan") ClanInput clanInput) {
|
||||
Clan clan = clanInput.getClan();
|
||||
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.balance", sender, clan.getName(), clan.getBalance()));
|
||||
}
|
||||
|
||||
@Subcommand("%take")
|
||||
@CommandPermission("simpleclans.admin.bank.take")
|
||||
@CommandCompletion("@clans")
|
||||
@Description("{@@command.description.bank.admin.take}")
|
||||
public void take(CommandSender sender, @Name("clan") ClanInput clanInput, @Name("amount") double amount) {
|
||||
Clan clan = clanInput.getClan();
|
||||
amount = Math.abs(amount);
|
||||
|
||||
EconomyResponse economyResponse = clan.withdraw(sender, ClanBalanceUpdateEvent.Cause.COMMAND, amount);
|
||||
switch (economyResponse) {
|
||||
case SUCCESS:
|
||||
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.take", sender, amount, clan.getName()));
|
||||
clan.addBb(sender.getName(), AQUA + lang("bb.clan.take", sender, amount));
|
||||
break;
|
||||
case NOT_ENOUGH_BALANCE:
|
||||
sender.sendMessage(RED + lang("clan.admin.bank.not.enough.money", sender, clan.getName()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Subcommand("%give")
|
||||
@CommandPermission("simpleclans.admin.bank.give")
|
||||
@CommandCompletion("@clans")
|
||||
@Description("{@@command.description.bank.admin.give}")
|
||||
public void give(CommandSender sender, @Name("clan") ClanInput clanInput, @Name("amount") double amount) {
|
||||
Clan clan = clanInput.getClan();
|
||||
amount = Math.abs(amount);
|
||||
|
||||
EconomyResponse economyResponse = clan.deposit(sender, ClanBalanceUpdateEvent.Cause.COMMAND, amount);
|
||||
if (economyResponse == EconomyResponse.SUCCESS) {
|
||||
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.give", sender, amount, clan.getName()));
|
||||
clan.addBb(sender.getName(), AQUA + lang("bb.clan.give", sender, amount));
|
||||
}
|
||||
}
|
||||
|
||||
@Subcommand("%set")
|
||||
@CommandPermission("simpleclans.admin.bank.set")
|
||||
@CommandCompletion("@clans")
|
||||
@Description("{@@command.description.bank.admin.set}")
|
||||
public void set(CommandSender sender, @Name("clan") ClanInput clanInput, @Name("amount") double amount) {
|
||||
Clan clan = clanInput.getClan();
|
||||
amount = Math.abs(amount);
|
||||
|
||||
EconomyResponse response = clan.setBalance(sender, ClanBalanceUpdateEvent.Cause.COMMAND, amount);
|
||||
if (response == EconomyResponse.SUCCESS) {
|
||||
ChatBlock.sendMessage(sender, AQUA + lang("clan.admin.set", sender, clan.getName(), amount));
|
||||
clan.addBb(sender.getName(), AQUA + lang("bb.clan.set", sender, amount));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -60,8 +60,7 @@ public class StaffCommands extends BaseCommand {
|
||||
ChatBlock.sendMessage(sender, lang("player.already.in.this.clan", sender));
|
||||
return;
|
||||
}
|
||||
|
||||
if (oldClan.isLeader(player) && oldClan.getLeaders().size() <= 1) {
|
||||
if (!oldClan.isPermanent() && oldClan.isLeader(player) && oldClan.getLeaders().size() <= 1) {
|
||||
ChatBlock.sendMessage(sender, RED + lang("you.cannot.move.the.last.leader", sender));
|
||||
return;
|
||||
} else {
|
||||
@@ -245,7 +244,7 @@ public class StaffCommands extends BaseCommand {
|
||||
|
||||
Clan clan = player.getClanPlayer().getClan();
|
||||
if (clan != null && clan.getMembers().size() == 1) {
|
||||
clan.disband();
|
||||
clan.disband(sender, false, false);
|
||||
}
|
||||
cm.deleteClanPlayer(player.getClanPlayer());
|
||||
ChatBlock.sendMessage(sender, AQUA + lang("player.purged", sender));
|
||||
@@ -273,8 +272,7 @@ public class StaffCommands extends BaseCommand {
|
||||
@CommandPermission("simpleclans.mod.disband")
|
||||
@Description("{@@command.description.mod.disband}")
|
||||
public void disband(CommandSender sender, @Name("clan") ClanInput clan) {
|
||||
cm.serverAnnounce(AQUA + lang("clan.has.been.disbanded", clan.getClan().getName()));
|
||||
clan.getClan().disband();
|
||||
clan.getClan().disband(sender, true, true);
|
||||
}
|
||||
|
||||
@Subcommand("%admin %promote")
|
||||
@@ -335,4 +333,15 @@ public class StaffCommands extends BaseCommand {
|
||||
cm.resetKdr(cp);
|
||||
ChatBlock.sendMessage(sender, RED + lang("you.have.reseted.0.kdr", sender, cp.getName()));
|
||||
}
|
||||
|
||||
@Subcommand("%admin %permanent")
|
||||
@CommandCompletion("@clans")
|
||||
@CommandPermission("simpleclans.admin.permanent")
|
||||
@Description("{@@command.description.admin.permanent}")
|
||||
public void togglePermanent(CommandSender sender, @Name("clan") ClanInput clan) {
|
||||
boolean permanent = !clan.getClan().isPermanent();
|
||||
clan.getClan().setPermanent(permanent);
|
||||
clan.getClan().addBb(sender.getName(), lang((permanent) ? "permanent.status.enabled" : "permanent.status.disabled", sender.getName()));
|
||||
ChatBlock.sendMessage(sender, AQUA + lang("you.have.toggled.permanent.status", sender, clan.getClan().getName()));
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,10 @@ package net.sacredlabyrinth.phaed.simpleclans.conversation;
|
||||
|
||||
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 net.sacredlabyrinth.phaed.simpleclans.utils.ChatUtils;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.conversations.ConversationContext;
|
||||
@@ -84,12 +85,12 @@ public class CreateClanNamePrompt extends StringPrompt {
|
||||
private Prompt validateName(@NotNull SimpleClans plugin, @NotNull Player player, @NotNull String input) {
|
||||
boolean bypass = plugin.getPermissionsManager().has(player, "simpleclans.mod.bypass");
|
||||
if (!bypass) {
|
||||
if (Helper.stripColors(input).length() > plugin.getSettingsManager().getClanMaxLength()) {
|
||||
if (ChatUtils.stripColors(input).length() > plugin.getSettingsManager().getClanMaxLength()) {
|
||||
return new MessagePromptImpl(ChatColor.RED +
|
||||
lang("your.clan.name.cannot.be.longer.than.characters", player,
|
||||
plugin.getSettingsManager().getClanMaxLength()), this);
|
||||
}
|
||||
if (Helper.stripColors(input).length() <= plugin.getSettingsManager().getClanMinLength()) {
|
||||
if (ChatUtils.stripColors(input).length() <= plugin.getSettingsManager().getClanMinLength()) {
|
||||
return new MessagePromptImpl(ChatColor.RED +
|
||||
lang("your.clan.name.must.be.longer.than.characters", player,
|
||||
plugin.getSettingsManager().getClanMinLength()), this);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.conversation;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Helper;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.ChatUtils;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.TagValidator;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.conversations.ConversationContext;
|
||||
@@ -46,7 +46,7 @@ public class CreateClanTagPrompt extends StringPrompt {
|
||||
|
||||
@Nullable
|
||||
private Prompt validateTag(SimpleClans plugin, Player player, @NotNull String clanTag) {
|
||||
String cleanTag = Helper.stripColors(clanTag);
|
||||
String cleanTag = ChatUtils.stripColors(clanTag);
|
||||
if (plugin.getClanManager().isClan(cleanTag)) {
|
||||
return new MessagePromptImpl(ChatColor.RED +
|
||||
lang("clan.with.this.tag.already.exists", player), this);
|
||||
|
||||
@@ -2,6 +2,9 @@ package net.sacredlabyrinth.phaed.simpleclans.conversation;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.CreateRankEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.PreCreateRankEvent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.conversations.ConversationContext;
|
||||
import org.bukkit.conversations.Prompt;
|
||||
@@ -27,11 +30,19 @@ public class CreateRankNamePrompt extends StringPrompt {
|
||||
if (input == null) return this;
|
||||
|
||||
String rank = input.toLowerCase().replace(" ", "_");
|
||||
PreCreateRankEvent event = new PreCreateRankEvent(player, clan, rank);
|
||||
Bukkit.getServer().getPluginManager().callEvent(event);
|
||||
rank = event.getRankName();
|
||||
|
||||
if (event.isCancelled()) {
|
||||
return null;
|
||||
}
|
||||
if (clan.hasRank(rank)) {
|
||||
return new MessagePromptImpl(ChatColor.RED + lang("rank.already.exists", player), this);
|
||||
}
|
||||
|
||||
|
||||
clan.createRank(rank);
|
||||
Bukkit.getServer().getPluginManager().callEvent(new CreateRankEvent(player, clan, clan.getRank(rank)));
|
||||
plugin.getStorageManager().updateClan(clan, true);
|
||||
return new MessagePromptImpl(ChatColor.AQUA + lang("rank.created", player));
|
||||
}
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.conversation;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
@@ -15,10 +11,13 @@ import org.bukkit.conversations.StringPrompt;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author roinujnosde
|
||||
*/
|
||||
public class ResignPrompt extends StringPrompt {
|
||||
@@ -35,26 +34,22 @@ public class ResignPrompt extends StringPrompt {
|
||||
if (clan == null) {
|
||||
return END_OF_CONVERSATION;
|
||||
}
|
||||
|
||||
|
||||
if (yes.equalsIgnoreCase(input)) {
|
||||
if (!clan.isLeader(player) || clan.getLeaders().size() > 1) {
|
||||
if (clan.isPermanent() || !clan.isLeader(player) || clan.getLeaders().size() > 1) {
|
||||
clan.addBb(player.getName(), ChatColor.AQUA + lang("0.has.resigned", player.getName()));
|
||||
cp.addResignTime(clan.getTag());
|
||||
clan.removePlayerFromClan(player.getUniqueId());
|
||||
|
||||
|
||||
return new MessagePromptImpl(ChatColor.AQUA + lang("resign.success", player));
|
||||
} else if (clan.isLeader(player) && clan.getLeaders().size() == 1) {
|
||||
clan.disband();
|
||||
String msgKey = "clan.has.been.disbanded";
|
||||
//message for the server
|
||||
plugin.getClanManager().serverAnnounce(ChatColor.AQUA + lang(msgKey, clan.getName()));
|
||||
//message for the player
|
||||
return new MessagePromptImpl(ChatColor.AQUA + lang(msgKey, player, clan.getName()));
|
||||
clan.disband(player, true, false);
|
||||
return null;
|
||||
} else {
|
||||
return new MessagePromptImpl(ChatColor.RED + lang("last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan", player));
|
||||
}
|
||||
} else {
|
||||
return new MessagePromptImpl(ChatColor.RED + lang("resign.request.cancelled", player));
|
||||
return new MessagePromptImpl(ChatColor.RED + lang("resign.request.cancelled", player));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +58,7 @@ public class ResignPrompt extends StringPrompt {
|
||||
Player player = (Player) cc.getForWhom();
|
||||
return ChatColor.RED + MessageFormat.format(
|
||||
lang("resign.confirmation", player), Arrays.asList(
|
||||
lang("resign.yes", player), lang("resign.no", player)));
|
||||
lang("resign.yes", player), lang("resign.no", player)));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,6 +7,10 @@ import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.player.PlayerEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @deprecated use {@link ClanBalanceUpdateEvent}
|
||||
*/
|
||||
@Deprecated
|
||||
public class BankDepositEvent extends PlayerEvent implements Cancellable {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
|
||||
@@ -7,6 +7,10 @@ import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.player.PlayerEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @deprecated use {@link ClanBalanceUpdateEvent}
|
||||
*/
|
||||
@Deprecated
|
||||
public class BankWithdrawEvent extends PlayerEvent implements Cancellable {
|
||||
|
||||
private final Clan clan;
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.events;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class ClanBalanceUpdateEvent extends Event implements Cancellable {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
|
||||
private final CommandSender updater;
|
||||
private final Clan clan;
|
||||
private final Cause cause;
|
||||
private final double balance;
|
||||
private double newBalance;
|
||||
private boolean cancelled;
|
||||
|
||||
public ClanBalanceUpdateEvent(@Nullable CommandSender updater,
|
||||
@NotNull Clan clan,
|
||||
double balance,
|
||||
double newBalance,
|
||||
@NotNull Cause cause) {
|
||||
this.updater = updater;
|
||||
this.balance = balance;
|
||||
this.newBalance = newBalance;
|
||||
this.clan = clan;
|
||||
this.cause = cause;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the balance updater, may be null
|
||||
*/
|
||||
public @Nullable CommandSender getUpdater() {
|
||||
return updater;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the Clan involved
|
||||
*/
|
||||
public @NotNull Clan getClan() {
|
||||
return clan;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the Clan's current balance
|
||||
*/
|
||||
public double getBalance() {
|
||||
return balance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the Clan's new balance
|
||||
*/
|
||||
public double getNewBalance() {
|
||||
return newBalance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the Clan's new balance
|
||||
*
|
||||
* @param newBalance the new balance
|
||||
* @throws IllegalArgumentException if newBalance is negative
|
||||
*/
|
||||
public void setNewBalance(double newBalance) {
|
||||
if (newBalance < 0) {
|
||||
throw new IllegalArgumentException("newBalance cannot be negative");
|
||||
}
|
||||
this.newBalance = newBalance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the update cause
|
||||
*/
|
||||
public @NotNull Cause getCause() {
|
||||
return cause;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return cancelled;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws IllegalStateException if the cause of the event is {@link Cause#REVERT}
|
||||
*/
|
||||
@Override
|
||||
public void setCancelled(boolean isCancelled) {
|
||||
if (getCause() == Cause.REVERT) {
|
||||
throw new IllegalStateException("cannot cancel REVERT update");
|
||||
}
|
||||
this.cancelled = isCancelled;
|
||||
}
|
||||
|
||||
public enum Cause {
|
||||
UPKEEP,
|
||||
MEMBER_FEE,
|
||||
/**
|
||||
* When a command such as /clan bank deposit causes the update
|
||||
*/
|
||||
COMMAND,
|
||||
/**
|
||||
* When the balance is updated via API methods
|
||||
*/
|
||||
API,
|
||||
/**
|
||||
* When the clan data is being loaded and the balance is set, usually on server start up or plugin reload
|
||||
*/
|
||||
LOADING,
|
||||
/**
|
||||
* When a failed deposit is being refunded, cannot be cancelled
|
||||
*/
|
||||
REVERT
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.events;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Rank;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.player.PlayerEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @author Minat0_
|
||||
*/
|
||||
public class CreateRankEvent extends PlayerEvent {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
private final Rank rank;
|
||||
private final Clan clan;
|
||||
|
||||
public CreateRankEvent(Player who, Clan clan, Rank rank) {
|
||||
super(who);
|
||||
this.clan = clan;
|
||||
this.rank = rank;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Rank getRank() {
|
||||
return rank;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Clan getClan() {
|
||||
return clan;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.events;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Rank;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @author Minat0_
|
||||
*/
|
||||
public class DeleteRankEvent extends PlayerEvent implements Cancellable {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
private final Rank rank;
|
||||
private final Clan clan;
|
||||
private boolean cancelled;
|
||||
|
||||
public DeleteRankEvent(Player who, Clan clan, Rank rank) {
|
||||
super(who);
|
||||
this.rank = rank;
|
||||
this.clan = clan;
|
||||
}
|
||||
|
||||
public Rank getRank() {
|
||||
return rank;
|
||||
}
|
||||
|
||||
public Clan getClan() {
|
||||
return clan;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return cancelled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean cancelled) {
|
||||
this.cancelled = cancelled;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.events;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Rank;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.Event;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author Minat0_
|
||||
*/
|
||||
public class PlayerRankUpdateEvent extends Event implements Cancellable {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
private final ClanPlayer target;
|
||||
private final ClanPlayer issuer;
|
||||
|
||||
private final Rank oldRank;
|
||||
private final Rank newRank;
|
||||
private final Clan clan;
|
||||
private boolean cancelled;
|
||||
|
||||
public PlayerRankUpdateEvent(@NotNull ClanPlayer issuer, @NotNull ClanPlayer target, @NotNull Clan clan,
|
||||
@Nullable Rank oldRank, @Nullable Rank newRank) {
|
||||
this.target = target;
|
||||
this.issuer = issuer;
|
||||
this.oldRank = oldRank;
|
||||
this.clan = clan;
|
||||
this.newRank = newRank;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Rank getOldRank() {
|
||||
return oldRank;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Clan getClan() {
|
||||
return clan;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public Rank getNewRank() {
|
||||
return newRank;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ClanPlayer getIssuer() {
|
||||
return issuer;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ClanPlayer getTarget() {
|
||||
return target;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return cancelled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean isCancelled) {
|
||||
this.cancelled = isCancelled;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
* @author Minat0_
|
||||
*/
|
||||
public class PreCreateRankEvent extends PlayerEvent implements Cancellable {
|
||||
|
||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||
private String rankName;
|
||||
private final Clan clan;
|
||||
private boolean cancelled;
|
||||
|
||||
public PreCreateRankEvent(Player who, Clan clan, String rankName) {
|
||||
super(who);
|
||||
this.clan = clan;
|
||||
this.rankName = rankName;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Clan getClan() {
|
||||
return clan;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public String getRankName() {
|
||||
return rankName;
|
||||
}
|
||||
|
||||
public void setRankName(@NotNull String rankName) {
|
||||
this.rankName = rankName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull HandlerList getHandlers() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return HANDLER_LIST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return cancelled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean isCancelled) {
|
||||
this.cancelled = isCancelled;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.hooks.papi.resolvers;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.papi.PlaceholderResolver;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.KDRFormat;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Map;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class KdrResolver extends PlaceholderResolver {
|
||||
public KdrResolver(@NotNull SimpleClans plugin) {
|
||||
super(plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getId() {
|
||||
return "kdr";
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String resolve(@Nullable OfflinePlayer player, @NotNull Object object, @NotNull Method method,
|
||||
@NotNull String placeholder, @NotNull Map<String, String> config) {
|
||||
Object result = invoke(object, method, placeholder);
|
||||
if (result instanceof Number) {
|
||||
return KDRFormat.format(((Number) result).floatValue());
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.hooks.protection.providers;
|
||||
|
||||
import com.intellectualcrafters.plot.PS;
|
||||
import com.intellectualcrafters.plot.object.Plot;
|
||||
import com.plotsquared.bukkit.events.PlayerClaimPlotEvent;
|
||||
import com.plotsquared.bukkit.util.BukkitUtil;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.Land;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.ProtectionProvider;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class PlotSquared3Provider implements ProtectionProvider {
|
||||
|
||||
private Method getLocation;
|
||||
private Method getPlots;
|
||||
|
||||
@Override
|
||||
public void setup() {
|
||||
try {
|
||||
Class.forName("com.intellectualcrafters.plot.object.Location");
|
||||
Class.forName("com.intellectualcrafters.plot.object.Plot");
|
||||
getLocation = BukkitUtil.class.getMethod("getLocation", Location.class);
|
||||
} catch (NoSuchMethodException | ClassNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Set<Land> getLandsAt(@NotNull Location location) {
|
||||
Plot plot = getPlot(location);
|
||||
if (plot != null) {
|
||||
return Collections.singleton(getLand(plot));
|
||||
}
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
private @Nullable Plot getPlot(@NotNull Location location) {
|
||||
try {
|
||||
return Plot.getPlot((com.intellectualcrafters.plot.object.Location) getLocation.invoke(null, location));
|
||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private Land getLand(@NotNull Plot plot) {
|
||||
String id = getIdPrefix() + plot.getId().toString();
|
||||
return new Land(id, plot.getOwners());
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Set<Land> getLandsOf(@NotNull OfflinePlayer player, @NotNull World world) {
|
||||
Set<Plot> plots = PS.get().getPlots(world.getName(), player.getUniqueId());
|
||||
|
||||
return plots.stream().map(this::getLand).collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getIdPrefix() {
|
||||
return "ps";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteLand(@NotNull String id, @NotNull World world) {
|
||||
id = id.replace(getIdPrefix(), "");
|
||||
Collection<Plot> plots = PS.get().getPlots(world.getName());
|
||||
for (Plot plot : plots) {
|
||||
if (plot.getId().toString().equals(id)) {
|
||||
plot.deletePlot(null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Class<? extends Event> getCreateLandEvent() {
|
||||
return PlayerClaimPlotEvent.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Player getPlayer(Event event) {
|
||||
if (event instanceof PlayerClaimPlotEvent) {
|
||||
return ((PlayerClaimPlotEvent) event).getPlayer();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable String getRequiredPluginName() {
|
||||
return "PlotSquared";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.hooks.protection.providers;
|
||||
|
||||
import com.plotsquared.bukkit.util.BukkitUtil;
|
||||
import com.plotsquared.core.PlotSquared;
|
||||
import com.plotsquared.core.plot.Plot;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.Land;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.ProtectionProvider;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class PlotSquared5Provider implements ProtectionProvider {
|
||||
|
||||
@Override
|
||||
public void setup() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Set<Land> getLandsAt(@NotNull Location location) {
|
||||
Plot plot = BukkitUtil.getPlot(location);
|
||||
if (plot != null) {
|
||||
return Collections.singleton(getLand(plot));
|
||||
}
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private Land getLand(@NotNull Plot plot) {
|
||||
return new Land(getIdPrefix() + plot.getId().toString(), plot.getOwners());
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Set<Land> getLandsOf(@NotNull OfflinePlayer player, @NotNull World world) {
|
||||
Set<Plot> plots = PlotSquared.get().getPlots(world.getName(), player.getUniqueId());
|
||||
return plots.stream().map(this::getLand).collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getIdPrefix() {
|
||||
return "ps";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteLand(@NotNull String id, @NotNull World world) {
|
||||
id = id.replace(getIdPrefix(), "");
|
||||
for (Plot plot : PlotSquared.get().getPlots(world.getName())) {
|
||||
if (plot.getId().toString().equals(id)) {
|
||||
plot.deletePlot(null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Class<? extends Event> getCreateLandEvent() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Player getPlayer(Event event) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable String getRequiredPluginName() {
|
||||
return "PlotSquared";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.hooks.protection.providers;
|
||||
|
||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||
import com.sk89q.worldguard.protection.ApplicableRegionSet;
|
||||
import com.sk89q.worldguard.protection.managers.RegionManager;
|
||||
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.Land;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.ProtectionProvider;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Event;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
public class WorldGuard6Provider implements ProtectionProvider {
|
||||
|
||||
private WorldGuardPlugin worldGuard;
|
||||
private Method getRegionManager;
|
||||
private Method getApplicableRegions;
|
||||
|
||||
@Override
|
||||
public void setup() {
|
||||
worldGuard = WorldGuardPlugin.inst();
|
||||
try {
|
||||
getRegionManager = worldGuard.getClass().getMethod("getRegionManager", World.class);
|
||||
//noinspection JavaReflectionMemberAccess
|
||||
getApplicableRegions = RegionManager.class.getMethod("getApplicableRegions", Location.class);
|
||||
} catch (NoSuchMethodException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
private @Nullable RegionManager getRegionManager(@Nullable World world) {
|
||||
if (world != null) {
|
||||
try {
|
||||
return (RegionManager) getRegionManager.invoke(worldGuard, world);
|
||||
} catch (IllegalAccessException | InvocationTargetException ignored) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private Set<ProtectedRegion> getApplicableRegions(RegionManager regionManager, Location location) {
|
||||
try {
|
||||
return ((ApplicableRegionSet) getApplicableRegions.invoke(regionManager, location)).getRegions();
|
||||
} catch (IllegalAccessException | InvocationTargetException e) {
|
||||
return Collections.emptySet();
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private Land getLand(ProtectedRegion region) {
|
||||
return new Land(getIdPrefix() + region.getId(), region.getOwners().getUniqueIds());
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Set<Land> getLandsAt(@NotNull Location location) {
|
||||
HashSet<Land> lands = new HashSet<>();
|
||||
RegionManager regionManager = getRegionManager(location.getWorld());
|
||||
|
||||
if (regionManager != null) {
|
||||
for (ProtectedRegion region : getApplicableRegions(regionManager, location)) {
|
||||
lands.add(getLand(region));
|
||||
}
|
||||
}
|
||||
return lands;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Set<Land> getLandsOf(@NotNull OfflinePlayer player, @NotNull World world) {
|
||||
HashSet<Land> lands = new HashSet<>();
|
||||
RegionManager regionManager = getRegionManager(world);
|
||||
|
||||
if (regionManager != null) {
|
||||
for (ProtectedRegion region : regionManager.getRegions().values()) {
|
||||
if (!region.getOwners().getUniqueIds().contains(player.getUniqueId())) {
|
||||
continue;
|
||||
}
|
||||
lands.add(getLand(region));
|
||||
}
|
||||
}
|
||||
return lands;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getIdPrefix() {
|
||||
return "wg";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteLand(@NotNull String id, @NotNull World world) {
|
||||
id = id.replaceFirst(getIdPrefix(), "");
|
||||
RegionManager regionManager = getRegionManager(world);
|
||||
if (regionManager != null) {
|
||||
regionManager.removeRegion(id);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Class<? extends Event> getCreateLandEvent() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable Player getPlayer(Event event) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable String getRequiredPluginName() {
|
||||
return "WorldGuard";
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,7 @@ import net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockState;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.*;
|
||||
@@ -73,7 +74,7 @@ public class LandProtection implements Listener {
|
||||
cancelWithMessage(player, event, "only.clan.members.can.create.lands");
|
||||
return;
|
||||
}
|
||||
for (ClanPlayer member : clan.getAllMembers()) {
|
||||
for (ClanPlayer member : clan.getMembers()) {
|
||||
Set<Land> lands = protectionManager.getLandsOf(Bukkit.getOfflinePlayer(member.getUniqueId()), player.getWorld());
|
||||
if (lands.size() > 0) {
|
||||
cancelWithMessage(player, event, "only.one.land.per.clan");
|
||||
@@ -110,7 +111,11 @@ public class LandProtection implements Listener {
|
||||
return;
|
||||
}
|
||||
BlockPlaceEvent blockPlaceEvent = (BlockPlaceEvent) event;
|
||||
if (protectionManager.can(PLACE, blockPlaceEvent.getBlock().getLocation(), blockPlaceEvent.getPlayer())) {
|
||||
Block block = blockPlaceEvent.getBlock();
|
||||
if (settingsManager.getIgnoredList(PLACE).contains(block.getType().name())) {
|
||||
return;
|
||||
}
|
||||
if (protectionManager.can(PLACE, block.getLocation(), blockPlaceEvent.getPlayer())) {
|
||||
blockPlaceEvent.setCancelled(false);
|
||||
}
|
||||
}, plugin, false);
|
||||
@@ -153,7 +158,7 @@ public class LandProtection implements Listener {
|
||||
}
|
||||
InventoryOpenEvent event = ((InventoryOpenEvent) e);
|
||||
InventoryHolder holder = event.getInventory().getHolder();
|
||||
Location location = event.getInventory().getLocation();
|
||||
Location location = getLocation(holder);
|
||||
if (holder instanceof Entity && holder == event.getPlayer()) return;
|
||||
if (location == null) return;
|
||||
|
||||
@@ -190,7 +195,11 @@ public class LandProtection implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onPlace(BlockPlaceEvent event) {
|
||||
if (protectionManager.can(PLACE, event.getBlock().getLocation(), event.getPlayer())) {
|
||||
Block block = event.getBlock();
|
||||
if (settingsManager.getIgnoredList(PLACE).contains(block.getType().name())) {
|
||||
return;
|
||||
}
|
||||
if (protectionManager.can(PLACE, block.getLocation(), event.getPlayer())) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
@@ -210,7 +219,7 @@ public class LandProtection implements Listener {
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onInventoryOpen(InventoryOpenEvent event) {
|
||||
InventoryHolder holder = event.getInventory().getHolder();
|
||||
Location location = event.getInventory().getLocation();
|
||||
Location location = getLocation(holder);
|
||||
if (holder instanceof Entity && holder == event.getPlayer()) return;
|
||||
if (location == null) return;
|
||||
|
||||
@@ -239,6 +248,13 @@ public class LandProtection implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
private @Nullable Location getLocation(@Nullable InventoryHolder holder) {
|
||||
if (holder instanceof BlockState) {
|
||||
return ((BlockState) holder).getLocation();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private ProtectionManager.Action getInteractEventAction(PlayerInteractEvent event) {
|
||||
ProtectionManager.Action action;
|
||||
|
||||
@@ -72,11 +72,14 @@ public class PlayerDeath implements Listener {
|
||||
}
|
||||
|
||||
private void addKill(@NotNull ClanPlayer victim, @NotNull ClanPlayer attacker) {
|
||||
if (victim.getClan() == null || attacker.getClan() == null || !victim.getClan().isVerified() ||
|
||||
!attacker.getClan().isVerified()) {
|
||||
Clan victimClan = victim.getClan();
|
||||
Clan attackerClan = attacker.getClan();
|
||||
if (victimClan == null || attackerClan == null || !victimClan.isVerified() || !attackerClan.isVerified()) {
|
||||
addKill(Kill.Type.CIVILIAN, attacker, victim);
|
||||
} else if (attacker.getClan().isRival(victim.getTag())) {
|
||||
} else if (attackerClan.isRival(victim.getTag())) {
|
||||
addKill(Kill.Type.RIVAL, attacker, victim);
|
||||
} else if (attackerClan.isAlly(victimClan.getTag()) || attackerClan.equals(victimClan)) {
|
||||
addKill(Kill.Type.ALLY, attacker, victim);
|
||||
} else {
|
||||
addKill(Kill.Type.NEUTRAL, attacker, victim);
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ public class SCPlayerListener implements Listener {
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@EventHandler(priority = EventPriority.HIGH)
|
||||
public void handleChatTags(AsyncPlayerChatEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if (settingsManager.isBlacklistedWorld(player.getWorld())) {
|
||||
@@ -142,8 +142,7 @@ public class SCPlayerListener implements Listener {
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onPlayerRespawn(PlayerRespawnEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
if (!settingsManager.isTeleportOnSpawn() ||
|
||||
settingsManager.isBlacklistedWorld(player.getWorld())) {
|
||||
if (!settingsManager.isTeleportOnSpawn() || settingsManager.isBlacklistedWorld(player.getWorld())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package net.sacredlabyrinth.phaed.simpleclans.managers;
|
||||
import com.cryptomorin.xseries.XMaterial;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.*;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.ChatEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.ClanBalanceUpdateEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.CreateClanEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.VanishUtils;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.uuid.UUIDMigration;
|
||||
@@ -54,46 +55,44 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Adds a kill to the memory
|
||||
*
|
||||
*/
|
||||
public void addKill(Kill kill) {
|
||||
if (kill == null) {
|
||||
return;
|
||||
}
|
||||
if (kill == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<Kill> list = kills.computeIfAbsent(kill.getKiller(), k -> new ArrayList<>());
|
||||
|
||||
Iterator<Kill> iterator = list.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Kill oldKill = iterator.next();
|
||||
if (oldKill.getVictim().equals(kill.getKiller())) {
|
||||
iterator.remove();
|
||||
continue;
|
||||
}
|
||||
|
||||
//cleaning
|
||||
final int delay = plugin.getSettingsManager().getDelayBetweenKills();
|
||||
long timePassed = oldKill.getTime().until(LocalDateTime.now(), ChronoUnit.MINUTES);
|
||||
if (timePassed >= delay) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
|
||||
list.add(kill);
|
||||
while (iterator.hasNext()) {
|
||||
Kill oldKill = iterator.next();
|
||||
if (oldKill.getVictim().equals(kill.getKiller())) {
|
||||
iterator.remove();
|
||||
continue;
|
||||
}
|
||||
|
||||
//cleaning
|
||||
final int delay = plugin.getSettingsManager().getDelayBetweenKills();
|
||||
long timePassed = oldKill.getTime().until(LocalDateTime.now(), ChronoUnit.MINUTES);
|
||||
if (timePassed >= delay) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
|
||||
list.add(kill);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks if this kill respects the delay
|
||||
*
|
||||
*/
|
||||
public boolean isKillBeforeDelay(Kill kill) {
|
||||
if (kill == null) {
|
||||
return false;
|
||||
}
|
||||
List<Kill> list = kills.get(kill.getKiller());
|
||||
if (list == null) {
|
||||
return false;
|
||||
}
|
||||
public boolean isKillBeforeDelay(Kill kill) {
|
||||
if (kill == null) {
|
||||
return false;
|
||||
}
|
||||
List<Kill> list = kills.get(kill.getKiller());
|
||||
if (list == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (Kill oldKill : list) {
|
||||
if (oldKill.getVictim().equals(kill.getVictim())) {
|
||||
@@ -106,12 +105,11 @@ public final class ClanManager {
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Import a clan into the in-memory store
|
||||
*
|
||||
*/
|
||||
public void importClan(Clan clan) {
|
||||
this.clans.put(clan.getTag(), clan);
|
||||
@@ -119,17 +117,15 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Import a clan player into the in-memory store
|
||||
*
|
||||
*/
|
||||
public void importClanPlayer(ClanPlayer cp) {
|
||||
if (cp.getUniqueId() != null) {
|
||||
this.clanPlayers.put(cp.getUniqueId().toString(), cp);
|
||||
}
|
||||
if (cp.getUniqueId() != null) {
|
||||
this.clanPlayers.put(cp.getUniqueId().toString(), cp);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new clan
|
||||
*
|
||||
*/
|
||||
public void createClan(Player player, String colorTag, String name) {
|
||||
ClanPlayer cp = getCreateClanPlayer(player.getUniqueId());
|
||||
@@ -151,7 +147,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Reset a player's KDR
|
||||
*
|
||||
*/
|
||||
public void resetKdr(ClanPlayer cp) {
|
||||
cp.setCivilianKills(0);
|
||||
@@ -163,20 +158,18 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Delete a players data file
|
||||
*
|
||||
*/
|
||||
public void deleteClanPlayer(ClanPlayer cp) {
|
||||
Clan clan = cp.getClan();
|
||||
if (clan != null) {
|
||||
clan.removePlayerFromClan(cp.getUniqueId());
|
||||
}
|
||||
if (clan != null) {
|
||||
clan.removePlayerFromClan(cp.getUniqueId());
|
||||
}
|
||||
clanPlayers.remove(cp.getUniqueId().toString());
|
||||
plugin.getStorageManager().deleteClanPlayer(cp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a player data from memory
|
||||
*
|
||||
*/
|
||||
public void deleteClanPlayerFromMemory(UUID playerUniqueId) {
|
||||
clanPlayers.remove(playerUniqueId.toString());
|
||||
@@ -184,7 +177,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Remove a clan from memory
|
||||
*
|
||||
*/
|
||||
public void removeClan(String tag) {
|
||||
clans.remove(tag);
|
||||
@@ -192,7 +184,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Whether the tag belongs to a clan
|
||||
*
|
||||
*/
|
||||
public boolean isClan(String tag) {
|
||||
return clans.containsKey(Helper.cleanTag(tag));
|
||||
@@ -200,7 +191,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Returns the clan the tag belongs to
|
||||
*
|
||||
*/
|
||||
public Clan getClan(String tag) {
|
||||
return clans.get(Helper.cleanTag(tag));
|
||||
@@ -237,7 +227,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Returns the collection of all clan players, including the disabled ones
|
||||
*
|
||||
*/
|
||||
public List<ClanPlayer> getAllClanPlayers() {
|
||||
return new ArrayList<>(clanPlayers.values());
|
||||
@@ -246,7 +235,6 @@ public final class ClanManager {
|
||||
/**
|
||||
* Gets the ClanPlayer data object if a player is currently in a clan, null
|
||||
* if he's not in a clan Used for BungeeCord Reload ClanPlayer and your Clan
|
||||
*
|
||||
*/
|
||||
public @Nullable ClanPlayer getClanPlayerJoinEvent(Player player) {
|
||||
SimpleClans.getInstance().getStorageManager().importFromDatabaseOnePlayer(player);
|
||||
@@ -256,16 +244,14 @@ public final class ClanManager {
|
||||
/**
|
||||
* Gets the ClanPlayer data object if a player is currently in a clan, null
|
||||
* if he's not in a clan
|
||||
*
|
||||
*/
|
||||
public @Nullable ClanPlayer getClanPlayer(OfflinePlayer player) {
|
||||
return getClanPlayer(player.getUniqueId());
|
||||
return getClanPlayer(player.getUniqueId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the ClanPlayer data object if a player is currently in a clan, null
|
||||
* if he's not in a clan
|
||||
*
|
||||
*/
|
||||
public @Nullable ClanPlayer getClanPlayer(Player player) {
|
||||
return getClanPlayer((OfflinePlayer) player);
|
||||
@@ -274,7 +260,6 @@ public final class ClanManager {
|
||||
/**
|
||||
* Gets the ClanPlayer data object if a player is currently in a clan, null
|
||||
* if he's not in a clan
|
||||
*
|
||||
*/
|
||||
public @Nullable ClanPlayer getClanPlayer(UUID playerUniqueId) {
|
||||
ClanPlayer cp = clanPlayers.get(playerUniqueId.toString());
|
||||
@@ -299,7 +284,6 @@ public final class ClanManager {
|
||||
/**
|
||||
* Gets the ClanPlayer data object if a player is currently in a clan, null
|
||||
* if he's not in a clan
|
||||
*
|
||||
*/
|
||||
public @Nullable ClanPlayer getClanPlayerName(String playerDisplayName) {
|
||||
UUID uuid = UUIDMigration.getForcedPlayerUUID(playerDisplayName);
|
||||
@@ -326,7 +310,6 @@ public final class ClanManager {
|
||||
* clan players as well, these are players who used to be in a clan but are
|
||||
* not currently in one, their data file persists and can be accessed. their
|
||||
* clan will be null though.
|
||||
*
|
||||
*/
|
||||
@Nullable
|
||||
public ClanPlayer getAnyClanPlayer(UUID playerUniqueId) {
|
||||
@@ -338,24 +321,24 @@ public final class ClanManager {
|
||||
public ClanPlayer getAnyClanPlayer(String playerName) {
|
||||
return getAnyClanPlayer(Bukkit.getOfflinePlayer(playerName).getUniqueId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the ClanPlayer object for the player, creates one if not found
|
||||
*
|
||||
*/
|
||||
public @Nullable ClanPlayer getCreateClanPlayerUUID(String playerDisplayName) {
|
||||
UUID playerUniqueId = UUIDMigration.getForcedPlayerUUID(playerDisplayName);
|
||||
if (playerUniqueId != null) {
|
||||
return getCreateClanPlayer(playerUniqueId);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
UUID playerUniqueId = UUIDMigration.getForcedPlayerUUID(playerDisplayName);
|
||||
if (playerUniqueId != null) {
|
||||
return getCreateClanPlayer(playerUniqueId);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the ClanPlayer object for the player, creates one if not found
|
||||
*
|
||||
*/
|
||||
public ClanPlayer getCreateClanPlayer(UUID playerUniqueId) {
|
||||
Objects.requireNonNull(playerUniqueId, "UUID must not be null");
|
||||
if (clanPlayers.containsKey(playerUniqueId.toString())) {
|
||||
return clanPlayers.get(playerUniqueId.toString());
|
||||
}
|
||||
@@ -394,7 +377,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Update the players display name with his clan's tag
|
||||
*
|
||||
*/
|
||||
public void updateDisplayName(@Nullable Player player) {
|
||||
// do not update displayname if in compat mode
|
||||
@@ -435,7 +417,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Process a player and his clan's last seen date
|
||||
*
|
||||
*/
|
||||
public void updateLastSeen(Player player) {
|
||||
ClanPlayer cp = getAnyClanPlayer(player.getUniqueId());
|
||||
@@ -457,22 +438,22 @@ public final class ClanManager {
|
||||
public void ban(String playerName) {
|
||||
ban(Bukkit.getOfflinePlayer(playerName).getUniqueId());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Bans a player from clan commands
|
||||
*
|
||||
*
|
||||
* @param uuid the player's uuid
|
||||
*/
|
||||
public void ban(UUID uuid) {
|
||||
ClanPlayer cp = getClanPlayer(uuid);
|
||||
Clan clan = null;
|
||||
if (cp != null) {
|
||||
clan = cp.getClan();
|
||||
clan = cp.getClan();
|
||||
}
|
||||
|
||||
if (clan != null) {
|
||||
if (clan.getSize() == 1) {
|
||||
clan.disband();
|
||||
clan.disband(null, false, false);
|
||||
} else {
|
||||
cp.setClan(null);
|
||||
cp.addPastClan(clan.getColorTag() + (cp.isLeader() ? ChatColor.DARK_RED + "*" : ""));
|
||||
@@ -490,7 +471,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Get a count of rivable clans
|
||||
*
|
||||
*/
|
||||
public int getRivableClanCount() {
|
||||
int clanCount = 0;
|
||||
@@ -506,7 +486,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Returns a formatted string detailing the players armor
|
||||
*
|
||||
*/
|
||||
public String getArmorString(PlayerInventory inv) {
|
||||
String out = "";
|
||||
@@ -516,7 +495,7 @@ public final class ClanManager {
|
||||
Player player = null;
|
||||
InventoryHolder holder = inv.getHolder();
|
||||
if (holder instanceof Player) {
|
||||
player = (Player) holder;
|
||||
player = (Player) holder;
|
||||
}
|
||||
|
||||
if (h != null) {
|
||||
@@ -603,7 +582,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Returns a formatted string detailing the players weapons
|
||||
*
|
||||
*/
|
||||
public String getWeaponString(PlayerInventory inv) {
|
||||
String headColor = plugin.getSettingsManager().getPageHeadingsColor();
|
||||
@@ -613,7 +591,7 @@ public final class ClanManager {
|
||||
Player player = null;
|
||||
InventoryHolder holder = inv.getHolder();
|
||||
if (holder instanceof Player) {
|
||||
player = (Player) holder;
|
||||
player = (Player) holder;
|
||||
}
|
||||
|
||||
int count = getItemCount(inv, XMaterial.DIAMOND_SWORD);
|
||||
@@ -715,7 +693,7 @@ public final class ClanManager {
|
||||
Player player = null;
|
||||
InventoryHolder holder = inv.getHolder();
|
||||
if (holder instanceof Player) {
|
||||
player = (Player) holder;
|
||||
player = (Player) holder;
|
||||
}
|
||||
|
||||
double count = getFoodPoints(inv, XMaterial.APPLE, 4, 2.4);
|
||||
@@ -763,7 +741,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Returns a formatted string detailing the players health
|
||||
*
|
||||
*/
|
||||
public String getHealthString(double health) {
|
||||
StringBuilder out = new StringBuilder();
|
||||
@@ -785,7 +762,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Returns a formatted string detailing the players hunger
|
||||
*
|
||||
*/
|
||||
public String getHungerString(int health) {
|
||||
StringBuilder out = new StringBuilder();
|
||||
@@ -804,85 +780,79 @@ public final class ClanManager {
|
||||
|
||||
return out.toString();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sort clans by active
|
||||
*
|
||||
*/
|
||||
public void sortClansByActive(List<Clan> clans, boolean asc) {
|
||||
clans.sort((c1, c2) -> {
|
||||
int o = 1;
|
||||
if (!asc) {
|
||||
o = -1;
|
||||
}
|
||||
|
||||
return Long.compare(c1.getLastUsed(), c2.getLastUsed()) * o;
|
||||
});
|
||||
clans.sort((c1, c2) -> {
|
||||
int o = 1;
|
||||
if (!asc) {
|
||||
o = -1;
|
||||
}
|
||||
|
||||
return Long.compare(c1.getLastUsed(), c2.getLastUsed()) * o;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sort clans by founded date
|
||||
*
|
||||
*/
|
||||
public void sortClansByFounded(List<Clan> clans, boolean asc) {
|
||||
clans.sort((c1, c2) -> {
|
||||
int o = 1;
|
||||
if (!asc) {
|
||||
o = -1;
|
||||
}
|
||||
|
||||
return Long.compare(c1.getFounded(), c2.getFounded()) * o;
|
||||
});
|
||||
clans.sort((c1, c2) -> {
|
||||
int o = 1;
|
||||
if (!asc) {
|
||||
o = -1;
|
||||
}
|
||||
|
||||
return Long.compare(c1.getFounded(), c2.getFounded()) * o;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sort clans by kdr
|
||||
*
|
||||
*/
|
||||
public void sortClansByKDR(List<Clan> clans, boolean asc) {
|
||||
clans.sort((c1, c2) -> {
|
||||
int o = 1;
|
||||
if (!asc) {
|
||||
o = -1;
|
||||
}
|
||||
|
||||
return Float.compare(c1.getTotalKDR(), c2.getTotalKDR()) * o;
|
||||
});
|
||||
clans.sort((c1, c2) -> {
|
||||
int o = 1;
|
||||
if (!asc) {
|
||||
o = -1;
|
||||
}
|
||||
|
||||
return Float.compare(c1.getTotalKDR(), c2.getTotalKDR()) * o;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sort clans by size
|
||||
*
|
||||
*/
|
||||
public void sortClansBySize(List<Clan> clans, boolean asc) {
|
||||
clans.sort((c1, c2) -> {
|
||||
int o = 1;
|
||||
if (!asc) {
|
||||
o = -1;
|
||||
}
|
||||
|
||||
return Integer.compare(c1.getSize(), c2.getSize()) * o;
|
||||
});
|
||||
clans.sort((c1, c2) -> {
|
||||
int o = 1;
|
||||
if (!asc) {
|
||||
o = -1;
|
||||
}
|
||||
|
||||
return Integer.compare(c1.getSize(), c2.getSize()) * o;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sort clans by name
|
||||
*
|
||||
*/
|
||||
public void sortClansByName(List<Clan> clans, boolean asc) {
|
||||
clans.sort((c1, c2) -> {
|
||||
int o = 1;
|
||||
if (!asc) {
|
||||
o = -1;
|
||||
}
|
||||
|
||||
return c1.getName().compareTo(c2.getName()) * o;
|
||||
});
|
||||
clans.sort((c1, c2) -> {
|
||||
int o = 1;
|
||||
if (!asc) {
|
||||
o = -1;
|
||||
}
|
||||
|
||||
return c1.getName().compareTo(c2.getName()) * o;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort clans by KDR
|
||||
*
|
||||
*/
|
||||
public void sortClansByKDR(List<Clan> clans) {
|
||||
clans.sort((c1, c2) -> {
|
||||
@@ -895,7 +865,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Sort clans by KDR
|
||||
*
|
||||
*/
|
||||
public void sortClansBySize(List<Clan> clans) {
|
||||
clans.sort((c1, c2) -> {
|
||||
@@ -908,7 +877,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Sort clan players by KDR
|
||||
*
|
||||
*/
|
||||
public void sortClanPlayersByKDR(List<ClanPlayer> cps) {
|
||||
cps.sort((c1, c2) -> {
|
||||
@@ -921,7 +889,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Sort clan players by last seen days
|
||||
*
|
||||
*/
|
||||
public void sortClanPlayersByLastSeen(List<ClanPlayer> cps) {
|
||||
cps.sort((c1, c2) -> {
|
||||
@@ -949,7 +916,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Purchase member fee set
|
||||
*
|
||||
*/
|
||||
public boolean purchaseMemberFeeSet(Player player) {
|
||||
if (!plugin.getSettingsManager().isePurchaseMemberFeeSet()) {
|
||||
@@ -957,13 +923,13 @@ public final class ClanManager {
|
||||
}
|
||||
|
||||
double price = plugin.getSettingsManager().geteMemberFeeSetPrice();
|
||||
|
||||
|
||||
if (plugin.getPermissionsManager().hasEconomy()) {
|
||||
if (plugin.getPermissionsManager().playerHasMoney(player, price)) {
|
||||
plugin.getPermissionsManager().playerChargeMoney(player, price);
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited",player), price));
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited", player), price));
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money",player));
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money", player));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -973,7 +939,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Purchase clan creation
|
||||
*
|
||||
*/
|
||||
public boolean purchaseCreation(Player player) {
|
||||
if (!plugin.getSettingsManager().isePurchaseCreation()) {
|
||||
@@ -985,9 +950,9 @@ public final class ClanManager {
|
||||
if (plugin.getPermissionsManager().hasEconomy()) {
|
||||
if (plugin.getPermissionsManager().playerHasMoney(player, price)) {
|
||||
plugin.getPermissionsManager().playerChargeMoney(player, price);
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited",player), price));
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited", player), price));
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money",player));
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money", player));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -997,7 +962,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Purchase invite
|
||||
*
|
||||
*/
|
||||
public boolean purchaseInvite(Player player) {
|
||||
if (!plugin.getSettingsManager().isePurchaseInvite()) {
|
||||
@@ -1009,9 +973,9 @@ public final class ClanManager {
|
||||
if (plugin.getPermissionsManager().hasEconomy()) {
|
||||
if (plugin.getPermissionsManager().playerHasMoney(player, price)) {
|
||||
plugin.getPermissionsManager().playerChargeMoney(player, price);
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited",player), price));
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited", player), price));
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money",player));
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money", player));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1021,7 +985,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Purchase Home Teleport
|
||||
*
|
||||
*/
|
||||
public boolean purchaseHomeTeleport(Player player) {
|
||||
if (!plugin.getSettingsManager().isePurchaseHomeTeleport()) {
|
||||
@@ -1033,9 +996,9 @@ public final class ClanManager {
|
||||
if (plugin.getPermissionsManager().hasEconomy()) {
|
||||
if (plugin.getPermissionsManager().playerHasMoney(player, price)) {
|
||||
plugin.getPermissionsManager().playerChargeMoney(player, price);
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited",player), price));
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited", player), price));
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money",player));
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money", player));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1045,7 +1008,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Purchase Home Teleport Set
|
||||
*
|
||||
*/
|
||||
public boolean purchaseHomeTeleportSet(Player player) {
|
||||
if (!plugin.getSettingsManager().isePurchaseHomeTeleportSet()) {
|
||||
@@ -1057,9 +1019,9 @@ public final class ClanManager {
|
||||
if (plugin.getPermissionsManager().hasEconomy()) {
|
||||
if (plugin.getPermissionsManager().playerHasMoney(player, price)) {
|
||||
plugin.getPermissionsManager().playerChargeMoney(player, price);
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited",player), price));
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited", player), price));
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money",player));
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money", player));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1069,7 +1031,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Purchase Reset Kdr
|
||||
*
|
||||
*/
|
||||
public boolean purchaseResetKdr(Player player) {
|
||||
if (!plugin.getSettingsManager().isePurchaseResetKdr()) {
|
||||
@@ -1081,9 +1042,9 @@ public final class ClanManager {
|
||||
if (plugin.getPermissionsManager().hasEconomy()) {
|
||||
if (plugin.getPermissionsManager().playerHasMoney(player, price)) {
|
||||
plugin.getPermissionsManager().playerChargeMoney(player, price);
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited",player), price));
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited", player), price));
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money",player));
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money", player));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1093,7 +1054,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Purchase Home Regroup
|
||||
*
|
||||
*/
|
||||
public boolean purchaseHomeRegroup(Player player) {
|
||||
ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);
|
||||
@@ -1112,27 +1072,32 @@ public final class ClanManager {
|
||||
if (plugin.getPermissionsManager().hasEconomy()) {
|
||||
if (plugin.getPermissionsManager().playerHasMoney(player, price)) {
|
||||
plugin.getPermissionsManager().playerChargeMoney(player, price);
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited",player), price));
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited", player), price));
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money",player));
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money", player));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
double balance = clan.getBalance();
|
||||
if (price > balance) {
|
||||
player.sendMessage(ChatColor.RED + lang("clan.bank.not.enough.money",player));
|
||||
return false;
|
||||
switch (clan.withdraw(player, ClanBalanceUpdateEvent.Cause.COMMAND, price)) {
|
||||
case SUCCESS:
|
||||
if (SimpleClans.getInstance().getPermissionsManager().playerGrantMoney(player, price)) {
|
||||
player.sendMessage(ChatColor.AQUA + lang("player.clan.withdraw", player, price));
|
||||
clan.addBb(player.getName(), ChatColor.AQUA + lang("bb.clan.withdraw", price));
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case NOT_ENOUGH_BALANCE:
|
||||
player.sendMessage(lang("clan.bank.not.enough.money", player));
|
||||
break;
|
||||
}
|
||||
clan.withdraw(price, player);
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Purchase clan verification
|
||||
*
|
||||
*/
|
||||
public boolean purchaseVerification(Player player) {
|
||||
if (!plugin.getSettingsManager().isePurchaseVerification()) {
|
||||
@@ -1144,9 +1109,9 @@ public final class ClanManager {
|
||||
if (plugin.getPermissionsManager().hasEconomy()) {
|
||||
if (plugin.getPermissionsManager().playerHasMoney(player, price)) {
|
||||
plugin.getPermissionsManager().playerChargeMoney(player, price);
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited",player), price));
|
||||
player.sendMessage(ChatColor.RED + MessageFormat.format(lang("account.has.been.debited", player), price));
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money",player));
|
||||
player.sendMessage(ChatColor.RED + lang("not.sufficient.money", player));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1156,7 +1121,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Processes a clan chat command
|
||||
*
|
||||
*/
|
||||
public void processClanChat(Player player, String tag, String msg) {
|
||||
Clan clan = plugin.getClanManager().getClan(tag);
|
||||
@@ -1170,7 +1134,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Processes a clan chat command
|
||||
*
|
||||
*/
|
||||
public void processClanChat(Player player, final String msg) {
|
||||
final ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);
|
||||
@@ -1187,15 +1150,15 @@ public final class ClanManager {
|
||||
|
||||
String command = split[0];
|
||||
|
||||
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));
|
||||
} 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.clan.chat", player));
|
||||
} else if (command.equals(lang("mute",player))) {
|
||||
} else if (command.equals(lang("mute", player))) {
|
||||
if (!cp.isMuted()) {
|
||||
cp.setMuted(true);
|
||||
ChatBlock.sendMessage(player, lang("muted.clan.chat", player));
|
||||
@@ -1263,7 +1226,6 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Processes a ally chat command
|
||||
*
|
||||
*/
|
||||
public void processAllyChat(Player player, final String msg) {
|
||||
final ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);
|
||||
@@ -1304,9 +1266,9 @@ public final class ClanManager {
|
||||
if (ally.isMutedAlly()) {
|
||||
continue;
|
||||
}
|
||||
if (player.getUniqueId().equals(ally.getUniqueId())) {
|
||||
continue;
|
||||
}
|
||||
if (player.getUniqueId().equals(ally.getUniqueId())) {
|
||||
continue;
|
||||
}
|
||||
receivers.add(ally);
|
||||
}
|
||||
|
||||
@@ -1336,8 +1298,8 @@ public final class ClanManager {
|
||||
|
||||
/**
|
||||
* Processes a global chat command
|
||||
*
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean processGlobalChat(Player player, String msg) {
|
||||
ClanPlayer cp = plugin.getClanManager().getClanPlayer(player.getUniqueId());
|
||||
|
||||
@@ -1353,11 +1315,11 @@ public final class ClanManager {
|
||||
|
||||
String command = split[0];
|
||||
|
||||
if (command.equals(lang("on",player))) {
|
||||
if (command.equals(lang("on", player))) {
|
||||
cp.setGlobalChat(true);
|
||||
plugin.getStorageManager().updateClanPlayer(cp);
|
||||
ChatBlock.sendMessage(player, ChatColor.AQUA + "You have enabled global chat");
|
||||
} else if (command.equals(lang("off",player))) {
|
||||
} else if (command.equals(lang("off", player))) {
|
||||
cp.setGlobalChat(false);
|
||||
plugin.getStorageManager().updateClanPlayer(cp);
|
||||
ChatBlock.sendMessage(player, ChatColor.AQUA + "You have disabled global chat");
|
||||
|
||||
@@ -9,10 +9,7 @@ import net.sacredlabyrinth.phaed.simpleclans.events.WarStartEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.Land;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.hooks.protection.ProtectionProvider;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.listeners.LandProtection;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -50,6 +47,9 @@ public class ProtectionManager {
|
||||
|
||||
public void registerListeners() {
|
||||
landProtection = new LandProtection(plugin);
|
||||
if (!settingsManager.isWarEnabled() && !settingsManager.isLandSharing()) {
|
||||
return;
|
||||
}
|
||||
landProtection.registerListeners();
|
||||
}
|
||||
|
||||
@@ -103,6 +103,9 @@ public class ProtectionManager {
|
||||
public boolean can(@NotNull Action action, @NotNull Location location, @NotNull Player player, @Nullable Player other) {
|
||||
for (Land land : getLandsAt(location)) {
|
||||
for (UUID owner : land.getOwners()) {
|
||||
if (owner == null) {
|
||||
continue;
|
||||
}
|
||||
Player involved;
|
||||
if (other != null && player.getUniqueId().equals(owner)) {
|
||||
involved = other;
|
||||
@@ -118,16 +121,23 @@ public class ProtectionManager {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean addWar(@NotNull War war) {
|
||||
@SuppressWarnings("UnusedReturnValue")
|
||||
public boolean addWar(@NotNull ClanPlayer requester, Clan requestClan, Clan targetClan) {
|
||||
War war = new War(requestClan, targetClan);
|
||||
|
||||
if (wars.containsKey(war)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
WarStartEvent event = new WarStartEvent(war);
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
if (event.isCancelled()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
requestClan.addWarringClan(requester, targetClan);
|
||||
targetClan.addWarringClan(requester, requestClan);
|
||||
|
||||
wars.put(war, scheduleTask(war, settingsManager.getWarNormalExpirationTime()));
|
||||
return true;
|
||||
}
|
||||
@@ -233,22 +243,34 @@ public class ProtectionManager {
|
||||
logger.log(Level.WARNING, String.format("Error instantiating provider %s", className), ex);
|
||||
}
|
||||
if (instance instanceof ProtectionProvider) {
|
||||
ProtectionProvider provider = (ProtectionProvider) instance;
|
||||
String requiredPlugin = provider.getRequiredPluginName();
|
||||
if (requiredPlugin != null && Bukkit.getPluginManager().getPlugin(requiredPlugin) == null) {
|
||||
logger.warning(String.format("Required plugin %s for the provider %s was not found!",
|
||||
requiredPlugin, instance.getClass().getSimpleName()));
|
||||
continue;
|
||||
}
|
||||
provider.setup();
|
||||
providers.add(provider);
|
||||
landProtection.registerCreateLandEvent(provider, provider.getCreateLandEvent());
|
||||
registerProvider((ProtectionProvider) instance);
|
||||
} else {
|
||||
logger.warning(String.format("%s is not an instance of ProtectionProvider", className));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void registerProvider(ProtectionProvider provider) {
|
||||
String requiredPlugin = provider.getRequiredPluginName();
|
||||
String providerName = provider.getClass().getSimpleName();
|
||||
if (requiredPlugin != null && Bukkit.getPluginManager().getPlugin(requiredPlugin) == null) {
|
||||
logger.warning(String.format("Required plugin %s for the provider %s was not found!",
|
||||
requiredPlugin, providerName));
|
||||
return;
|
||||
}
|
||||
try {
|
||||
provider.setup();
|
||||
} catch (LinkageError | Exception throwable) {
|
||||
logger.log(Level.WARNING, String.format("Error registering provider %s", providerName));
|
||||
if (settingsManager.isDebugging()) {
|
||||
throwable.printStackTrace();
|
||||
}
|
||||
return;
|
||||
}
|
||||
providers.add(provider);
|
||||
landProtection.registerCreateLandEvent(provider, provider.getCreateLandEvent());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private Class<?> getProviderClass(String className) throws ClassNotFoundException {
|
||||
try {
|
||||
|
||||
@@ -10,6 +10,8 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.*;
|
||||
@@ -211,13 +213,15 @@ public final class RequestManager {
|
||||
}
|
||||
|
||||
public void processResults(Request req) {
|
||||
Clan requesterClan = req.getClan();
|
||||
ClanPlayer requesterCp = req.getRequester();
|
||||
Clan requestClan = req.getClan();
|
||||
ClanPlayer requester = req.getRequester();
|
||||
|
||||
String target = req.getTarget();
|
||||
//may be null
|
||||
|
||||
@Nullable
|
||||
Clan targetClan = plugin.getClanManager().getClan(target);
|
||||
//may be null
|
||||
|
||||
@Nullable
|
||||
UUID targetPlayer = UUIDMigration.getForcedPlayerUUID(target);
|
||||
|
||||
List<String> accepts = req.getAccepts();
|
||||
@@ -225,35 +229,35 @@ public final class RequestManager {
|
||||
|
||||
switch (req.getType()) {
|
||||
case START_WAR:
|
||||
processStartWar(requesterClan, requesterCp, targetClan, accepts, denies);
|
||||
processStartWar(requester, requestClan, targetClan, accepts, denies);
|
||||
break;
|
||||
case END_WAR:
|
||||
processEndWar(requesterClan, requesterCp, targetClan, accepts, denies);
|
||||
processEndWar(requester, requestClan, targetClan, accepts, denies);
|
||||
break;
|
||||
case CREATE_ALLY:
|
||||
processCreateAlly(requesterClan, requesterCp, targetClan, accepts, denies);
|
||||
processCreateAlly(requester, requestClan, targetClan, accepts, denies);
|
||||
break;
|
||||
case BREAK_RIVALRY:
|
||||
processBreakRivalry(requesterClan, requesterCp, targetClan, accepts, denies);
|
||||
processBreakRivalry(requester, requestClan, targetClan, accepts, denies);
|
||||
break;
|
||||
case DEMOTE: case PROMOTE:
|
||||
if (!req.votingFinished() || targetPlayer == null) {
|
||||
return;
|
||||
}
|
||||
target = requesterClan.getTag();
|
||||
target = requestClan.getTag();
|
||||
|
||||
if (req.getType() == ClanRequest.DEMOTE) {
|
||||
processDemote(req, requesterClan, targetPlayer, denies);
|
||||
processDemote(req, requestClan, targetPlayer, denies);
|
||||
}
|
||||
if (req.getType() == ClanRequest.PROMOTE) {
|
||||
processPromote(req, requesterClan, targetPlayer, denies);
|
||||
processPromote(req, requestClan, targetPlayer, denies);
|
||||
}
|
||||
break;
|
||||
case DISBAND:
|
||||
if (!req.votingFinished()) {
|
||||
return;
|
||||
}
|
||||
processDisband(requesterClan, denies);
|
||||
processDisband(requestClan, denies);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
@@ -264,106 +268,96 @@ public final class RequestManager {
|
||||
req.cleanVotes();
|
||||
}
|
||||
|
||||
private void processDisband(Clan requesterClan, List<String> denies) {
|
||||
private void processDisband(Clan requestClan, List<String> denies) {
|
||||
if (denies.isEmpty()) {
|
||||
requesterClan.addBb(lang("leaders"), ChatColor.AQUA + lang("has.been.disbanded", requesterClan.getName()));
|
||||
requesterClan.disband();
|
||||
requestClan.disband();
|
||||
} else {
|
||||
String deniers = Helper.toMessage(Helper.toArray(denies), ", ");
|
||||
requesterClan.leaderAnnounce(ChatColor.RED + lang("clan.deletion", deniers));
|
||||
requestClan.leaderAnnounce(ChatColor.RED + lang("clan.deletion", deniers));
|
||||
}
|
||||
}
|
||||
|
||||
private void processPromote(Request req, Clan requesterClan, UUID targetPlayer, List<String> denies) {
|
||||
private void processPromote(Request req, Clan requestClan, UUID targetPlayer, List<String> denies) {
|
||||
String promotedName = req.getTarget();
|
||||
if (denies.isEmpty()) {
|
||||
requesterClan.addBb(lang("leaders"), ChatColor.AQUA + lang("promoted.to.leader", promotedName));
|
||||
requesterClan.promote(targetPlayer);
|
||||
requestClan.addBb(lang("leaders"), ChatColor.AQUA + lang("promoted.to.leader", promotedName));
|
||||
requestClan.promote(targetPlayer);
|
||||
} else {
|
||||
String deniers = Helper.toMessage(Helper.toArray(denies), ", ");
|
||||
requesterClan.leaderAnnounce(ChatColor.RED + lang("denied.the.promotion", deniers, promotedName));
|
||||
requestClan.leaderAnnounce(ChatColor.RED + lang("denied.the.promotion", deniers, promotedName));
|
||||
}
|
||||
}
|
||||
|
||||
private void processDemote(Request req, Clan requesterClan, UUID targetPlayer, List<String> denies) {
|
||||
private void processDemote(Request req, Clan requestClan, UUID targetPlayer, List<String> denies) {
|
||||
String demotedName = req.getTarget();
|
||||
|
||||
if (denies.isEmpty()) {
|
||||
requesterClan.addBb(lang("leaders"), ChatColor.AQUA
|
||||
requestClan.addBb(lang("leaders"), ChatColor.AQUA
|
||||
+ lang("demoted.back.to.member", demotedName));
|
||||
requesterClan.demote(targetPlayer);
|
||||
requestClan.demote(targetPlayer);
|
||||
} else {
|
||||
String deniers = Helper.toMessage(Helper.toArray(denies), ", ");
|
||||
requesterClan.leaderAnnounce(
|
||||
requestClan.leaderAnnounce(
|
||||
ChatColor.RED + lang("denied.demotion", deniers, demotedName));
|
||||
}
|
||||
}
|
||||
|
||||
private void processBreakRivalry(Clan requesterClan, ClanPlayer requesterCp, Clan targetClan, List<String> accepts,
|
||||
private void processBreakRivalry(ClanPlayer requester, Clan requestClan, Clan targetClan, List<String> accepts,
|
||||
List<String> denies) {
|
||||
if (targetClan != null && requesterClan != null) {
|
||||
if (targetClan != null && requestClan != null) {
|
||||
if (!accepts.isEmpty()) {
|
||||
requesterClan.removeRival(targetClan);
|
||||
targetClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("broken.the.rivalry", accepts.get(0), requesterClan.getName()));
|
||||
requesterClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("broken.the.rivalry.with", requesterCp.getName(), targetClan.getName()));
|
||||
requestClan.removeRival(targetClan);
|
||||
targetClan.addBb(requester.getName(), ChatColor.AQUA + lang("broken.the.rivalry", accepts.get(0), requestClan.getName()));
|
||||
requestClan.addBb(requester.getName(), ChatColor.AQUA + lang("broken.the.rivalry.with", requester.getName(), targetClan.getName()));
|
||||
} else {
|
||||
targetClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("denied.to.make.peace", denies.get(0), requesterClan.getName()));
|
||||
requesterClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("peace.agreement.denied", targetClan.getName()));
|
||||
targetClan.addBb(requester.getName(), ChatColor.AQUA + lang("denied.to.make.peace", denies.get(0), requestClan.getName()));
|
||||
requestClan.addBb(requester.getName(), ChatColor.AQUA + lang("peace.agreement.denied", targetClan.getName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void processCreateAlly(Clan requesterClan, ClanPlayer requesterCp, Clan targetClan, List<String> accepts,
|
||||
private void processCreateAlly(ClanPlayer requester, Clan requestClan, Clan targetClan, List<String> accepts,
|
||||
List<String> denies) {
|
||||
if (targetClan != null && requesterClan != null) {
|
||||
if (targetClan != null && requestClan != null) {
|
||||
if (!accepts.isEmpty()) {
|
||||
requesterClan.addAlly(targetClan);
|
||||
requestClan.addAlly(targetClan);
|
||||
|
||||
targetClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("accepted.an.alliance", accepts.get(0), requesterClan.getName()));
|
||||
requesterClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("created.an.alliance", requesterCp.getName(), targetClan.getName()));
|
||||
targetClan.addBb(requester.getName(), ChatColor.AQUA + lang("accepted.an.alliance", accepts.get(0), requestClan.getName()));
|
||||
requestClan.addBb(requester.getName(), ChatColor.AQUA + lang("created.an.alliance", requester.getName(), targetClan.getName()));
|
||||
} else {
|
||||
targetClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("denied.an.alliance", denies.get(0), requesterClan.getName()));
|
||||
requesterClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("the.alliance.was.denied", targetClan.getName()));
|
||||
targetClan.addBb(requester.getName(), ChatColor.AQUA + lang("denied.an.alliance", denies.get(0), requestClan.getName()));
|
||||
requestClan.addBb(requester.getName(), ChatColor.AQUA + lang("the.alliance.was.denied", targetClan.getName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void processEndWar(Clan requesterClan, ClanPlayer requesterCp, Clan targetClan, List<String> accepts,
|
||||
List<String> denies) {
|
||||
if (requesterClan != null && targetClan != null) {
|
||||
private void processEndWar(ClanPlayer requester, Clan requestClan, Clan targetClan, List<String> accepts,
|
||||
List<String> denies) {
|
||||
if (requestClan != null && targetClan != null) {
|
||||
if (!accepts.isEmpty()) {
|
||||
War war = plugin.getProtectionManager().getWar(requesterClan, requesterClan);
|
||||
War war = plugin.getProtectionManager().getWar(requestClan, requestClan);
|
||||
plugin.getProtectionManager().removeWar(war, WarEndEvent.Reason.REQUEST);
|
||||
requesterClan.removeWarringClan(targetClan);
|
||||
targetClan.removeWarringClan(requesterClan);
|
||||
requestClan.removeWarringClan(targetClan);
|
||||
targetClan.removeWarringClan(requestClan);
|
||||
|
||||
targetClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("you.are.no.longer.at.war", accepts.get(0), requesterClan.getColorTag()));
|
||||
requesterClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("you.are.no.longer.at.war", requesterClan.getName(), targetClan.getColorTag()));
|
||||
targetClan.addBb(requester.getName(), ChatColor.AQUA + lang("you.are.no.longer.at.war", accepts.get(0), requestClan.getColorTag()));
|
||||
requestClan.addBb(requester.getName(), ChatColor.AQUA + lang("you.are.no.longer.at.war", requestClan.getName(), targetClan.getColorTag()));
|
||||
} else {
|
||||
targetClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("denied.war.end", denies.get(0), requesterClan.getName()));
|
||||
requesterClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("end.war.denied", targetClan.getName()));
|
||||
targetClan.addBb(requester.getName(), ChatColor.AQUA + lang("denied.war.end", denies.get(0), requestClan.getName()));
|
||||
requestClan.addBb(requester.getName(), ChatColor.AQUA + lang("end.war.denied", targetClan.getName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void processStartWar(Clan requesterClan, ClanPlayer requesterCp, Clan targetClan, List<String> accepts,
|
||||
private void processStartWar(ClanPlayer requester, Clan requestClan, Clan targetClan, List<String> accepts,
|
||||
List<String> denies) {
|
||||
if (requesterClan != null && targetClan != null) {
|
||||
if (requestClan != null && targetClan != null) {
|
||||
if (!accepts.isEmpty()) {
|
||||
if (!plugin.getProtectionManager().addWar(new War(requesterClan, targetClan))) {
|
||||
return;
|
||||
}
|
||||
requesterClan.addWarringClan(targetClan);
|
||||
targetClan.addWarringClan(requesterClan);
|
||||
|
||||
targetClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("you.are.at.war",
|
||||
targetClan.getName(), requesterClan.getColorTag()));
|
||||
requesterClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("you.are.at.war",
|
||||
requesterClan.getName(), targetClan.getColorTag()));
|
||||
plugin.getProtectionManager().addWar(requester, requestClan, targetClan);
|
||||
} else {
|
||||
targetClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("denied.war.req", denies.get(0),
|
||||
requesterClan.getName()));
|
||||
requesterClan.addBb(requesterCp.getName(), ChatColor.AQUA + lang("end.war.denied",
|
||||
targetClan.addBb(requester.getName(), ChatColor.AQUA + lang("denied.war.req", denies.get(0),
|
||||
requestClan.getName()));
|
||||
requestClan.addBb(requester.getName(), ChatColor.AQUA + lang("end.war.denied",
|
||||
targetClan.getName()));
|
||||
}
|
||||
}
|
||||
@@ -387,6 +381,19 @@ public final class RequestManager {
|
||||
|
||||
}
|
||||
|
||||
public void removeRequest(@NotNull String keyOrTarget) {
|
||||
Iterator<Map.Entry<String, Request>> iterator = requests.entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Map.Entry<String, Request> entry = iterator.next();
|
||||
final String requester = entry.getKey();
|
||||
final String target = entry.getValue().getTarget();
|
||||
if (keyOrTarget.equals(requester) || keyOrTarget.equals(target)) {
|
||||
entry.getValue().cleanVotes();
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Starts the task that asks for the votes of all requests
|
||||
*/
|
||||
|
||||
@@ -1,24 +1,23 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.managers;
|
||||
|
||||
import java.io.File;
|
||||
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;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Helper;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.RankingNumberResolver.RankingType;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author phaed
|
||||
*/
|
||||
@@ -201,7 +200,6 @@ public final class SettingsManager {
|
||||
private boolean warEnabled;
|
||||
private boolean landSharing;
|
||||
private List<String> protectionProviders;
|
||||
private EventPriority warListenerPriority;
|
||||
private boolean onlyLeadersCanCreateLands;
|
||||
private boolean onlyOneLandPerClan;
|
||||
private boolean setBaseOnlyInLand;
|
||||
@@ -418,7 +416,6 @@ public final class SettingsManager {
|
||||
warEnabled = getConfig().getBoolean("war-and-protection.war-enabled", false);
|
||||
landSharing = getConfig().getBoolean("war-and-protection.land-sharing", true);
|
||||
protectionProviders = getConfig().getStringList("war-and-protection.protection-providers");
|
||||
warListenerPriority = EventPriority.valueOf(getConfig().getString("war-and-protection.listener-priority", "HIGHEST"));
|
||||
onlyLeadersCanCreateLands = getConfig().getBoolean("war-and-protection.land-creation.only-leaders", false);
|
||||
onlyOneLandPerClan = getConfig().getBoolean("war-and-protection.land-creation.only-one-per-clan", false);
|
||||
setBaseOnlyInLand = getConfig().getBoolean("war-and-protection.set-base-only-in-land", false);
|
||||
@@ -451,6 +448,10 @@ public final class SettingsManager {
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isWarRequestEnabled() {
|
||||
return getConfig().getBoolean("war-and-protection.war-start.request-enabled", true);
|
||||
}
|
||||
|
||||
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
|
||||
public boolean isWarEnabled() {
|
||||
return warEnabled;
|
||||
@@ -461,6 +462,10 @@ public final class SettingsManager {
|
||||
return landSharing;
|
||||
}
|
||||
|
||||
public boolean isEditAllLands() {
|
||||
return getConfig().getBoolean("war-and-protection.edit-all-lands", false);
|
||||
}
|
||||
|
||||
public int getWarNormalExpirationTime() {
|
||||
return getConfig().getInt("war-and-protection.war-normal-expiration-time", 60) * 60 * 20;
|
||||
}
|
||||
@@ -474,7 +479,11 @@ public final class SettingsManager {
|
||||
}
|
||||
|
||||
public EventPriority getWarListenerPriority() {
|
||||
return warListenerPriority;
|
||||
return EventPriority.valueOf(getConfig().getString("war-and-protection.listeners.priority", "HIGHEST"));
|
||||
}
|
||||
|
||||
public List<String> getIgnoredList(ProtectionManager.Action action) {
|
||||
return getConfig().getStringList("war-and-protection.listeners.ignored-list." + action.name());
|
||||
}
|
||||
|
||||
public boolean isActionAllowedInWar(@NotNull ProtectionManager.Action action) {
|
||||
@@ -1315,6 +1324,10 @@ public final class SettingsManager {
|
||||
return clanChatPlayerBracketRight;
|
||||
}
|
||||
|
||||
public double getKwAlly() {
|
||||
return getConfig().getDouble("kill-weights.ally");
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the kwRival
|
||||
*/
|
||||
@@ -1701,7 +1714,7 @@ public final class SettingsManager {
|
||||
* @return the HomeRegroupPrice
|
||||
*/
|
||||
public double getHomeRegroupPrice() {
|
||||
return eHomeRegroupPrice;
|
||||
return Math.abs(eHomeRegroupPrice);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1819,6 +1832,10 @@ public final class SettingsManager {
|
||||
this.forceCommandPriority = forceCommandPriority;
|
||||
}
|
||||
|
||||
public int getMembersOnlineMaxDifference() {
|
||||
return getConfig().getInt("war-and-protection.war-start.members-online-max-difference", 5);
|
||||
}
|
||||
|
||||
public int getMaxMembers() {
|
||||
return this.maxMembers;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.managers;
|
||||
|
||||
import com.google.common.base.Charsets;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.*;
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.ClanBalanceUpdateEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.storage.DBCore;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.storage.MySQLCore;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.storage.SQLiteCore;
|
||||
@@ -11,22 +10,23 @@ import net.sacredlabyrinth.phaed.simpleclans.utils.ChatUtils;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.YAMLSerializer;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.uuid.UUIDFetcher;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.uuid.UUIDMigration;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.sql.*;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.*;
|
||||
import java.util.Date;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
|
||||
/**
|
||||
* @author phaed
|
||||
*/
|
||||
@@ -51,8 +51,8 @@ public final class StorageManager {
|
||||
/**
|
||||
* Retrieve a player's pending chat lines
|
||||
*
|
||||
* @param player
|
||||
* @return
|
||||
* @param player the Player
|
||||
* @return the ChatBlock
|
||||
*/
|
||||
public ChatBlock getChatBlock(Player player) {
|
||||
return chatBlocks.get(player.getUniqueId().toString());
|
||||
@@ -61,8 +61,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Store pending chat lines for a player
|
||||
*
|
||||
* @param player
|
||||
* @param cb
|
||||
*/
|
||||
public void addChatBlock(CommandSender player, ChatBlock cb) {
|
||||
UUID uuid = UUIDMigration.getForcedPlayerUUID(player.getName());
|
||||
@@ -124,6 +122,7 @@ public final class StorageManager {
|
||||
+ " `neutral_kills` int(11) default NULL,"
|
||||
+ " `rival_kills` int(11) default NULL,"
|
||||
+ " `civilian_kills` int(11) default NULL,"
|
||||
+ " `ally_kills` int(11) default NULL,"
|
||||
+ " `deaths` int(11) default NULL,"
|
||||
+ " `last_seen` bigint NOT NULL,"
|
||||
+ " `join_date` bigint NOT NULL,"
|
||||
@@ -200,6 +199,7 @@ public final class StorageManager {
|
||||
+ " `neutral_kills` int(11) default NULL,"
|
||||
+ " `rival_kills` int(11) default NULL,"
|
||||
+ " `civilian_kills` int(11) default NULL,"
|
||||
+ " `ally_kills` int(11) default NULL,"
|
||||
+ " `deaths` int(11) default NULL,"
|
||||
+ " `last_seen` bigint NOT NULL,"
|
||||
+ " `join_date` bigint NOT NULL,"
|
||||
@@ -281,7 +281,6 @@ public final class StorageManager {
|
||||
* Import one ClanPlayer data from database to memory
|
||||
* Used for BungeeCord Reload ClanPlayer and your Clan
|
||||
*
|
||||
* @param player
|
||||
*/
|
||||
public void importFromDatabaseOnePlayer(Player player) {
|
||||
plugin.getClanManager().deleteClanPlayerFromMemory(player.getUniqueId());
|
||||
@@ -304,6 +303,9 @@ public final class StorageManager {
|
||||
List<Clan> purge = new ArrayList<>();
|
||||
|
||||
for (Clan clan : clans) {
|
||||
if (clan.isPermanent()) {
|
||||
continue;
|
||||
}
|
||||
if (clan.isVerified()) {
|
||||
int purgeClan = plugin.getSettingsManager().getPurgeClan();
|
||||
if (clan.getInactiveDays() > purgeClan && purgeClan > 0) {
|
||||
@@ -347,12 +349,11 @@ public final class StorageManager {
|
||||
/**
|
||||
* Retrieves all simple clans from the database
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public List<Clan> retrieveClans() {
|
||||
List<Clan> out = new ArrayList<>();
|
||||
|
||||
String query = "SELECT * FROM `sc_clans`;";
|
||||
String query = "SELECT * FROM `sc_clans`;";
|
||||
ResultSet res = core.select(query);
|
||||
|
||||
if (res != null) {
|
||||
@@ -398,7 +399,7 @@ public final class StorageManager {
|
||||
clan.setPackedBb(packed_bb);
|
||||
clan.setFounded(founded);
|
||||
clan.setLastUsed(last_used);
|
||||
clan.setBalance(balance);
|
||||
clan.setBalance(null, ClanBalanceUpdateEvent.Cause.LOADING, balance);
|
||||
clan.setMemberFee(feeValue);
|
||||
clan.setMemberFeeEnabled(feeEnabled);
|
||||
clan.setRanks(Helper.ranksFromJson(ranks));
|
||||
@@ -422,11 +423,8 @@ public final class StorageManager {
|
||||
/**
|
||||
* Retrieves one Clan from the database
|
||||
* Used for BungeeCord Reload ClanPlayer and your Clan
|
||||
*
|
||||
* @param tagClan
|
||||
* @return
|
||||
*/
|
||||
public Clan retrieveOneClan(String tagClan) {
|
||||
public @Nullable Clan retrieveOneClan(String tagClan) {
|
||||
Clan out = null;
|
||||
|
||||
String query = "SELECT * FROM `sc_clans` WHERE `tag` = '" + tagClan + "';";
|
||||
@@ -475,7 +473,7 @@ public final class StorageManager {
|
||||
clan.setPackedBb(packed_bb);
|
||||
clan.setFounded(founded);
|
||||
clan.setLastUsed(last_used);
|
||||
clan.setBalance(balance);
|
||||
clan.setBalance(null, ClanBalanceUpdateEvent.Cause.LOADING, balance);
|
||||
clan.setMemberFee(feeValue);
|
||||
clan.setMemberFeeEnabled(feeEnabled);
|
||||
clan.setRanks(Helper.ranksFromJson(ranks));
|
||||
@@ -499,7 +497,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Retrieves all clan players from the database
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public List<ClanPlayer> retrieveClanPlayers() {
|
||||
List<ClanPlayer> out = new ArrayList<>();
|
||||
@@ -520,6 +517,7 @@ public final class StorageManager {
|
||||
int neutral_kills = res.getInt("neutral_kills");
|
||||
int rival_kills = res.getInt("rival_kills");
|
||||
int civilian_kills = res.getInt("civilian_kills");
|
||||
int ally_kills = res.getInt("ally_kills");
|
||||
int deaths = res.getInt("deaths");
|
||||
long last_seen = res.getLong("last_seen");
|
||||
long join_date = res.getLong("join_date");
|
||||
@@ -547,6 +545,7 @@ public final class StorageManager {
|
||||
cp.setNeutralKills(neutral_kills);
|
||||
cp.setRivalKills(rival_kills);
|
||||
cp.setCivilianKills(civilian_kills);
|
||||
cp.setAllyKills(ally_kills);
|
||||
cp.setDeaths(deaths);
|
||||
cp.setLastSeen(last_seen);
|
||||
cp.setJoinDate(join_date);
|
||||
@@ -580,11 +579,8 @@ public final class StorageManager {
|
||||
/**
|
||||
* Retrieves one clan player from the database
|
||||
* Used for BungeeCord Reload ClanPlayer and your Clan
|
||||
*
|
||||
* @param playerUniqueId
|
||||
* @return
|
||||
*/
|
||||
public ClanPlayer retrieveOneClanPlayer(UUID playerUniqueId) {
|
||||
public @Nullable ClanPlayer retrieveOneClanPlayer(UUID playerUniqueId) {
|
||||
ClanPlayer out = null;
|
||||
|
||||
String query = "SELECT * FROM `sc_players` WHERE `uuid` = '" + playerUniqueId.toString() + "';";
|
||||
@@ -603,11 +599,12 @@ public final class StorageManager {
|
||||
int neutral_kills = res.getInt("neutral_kills");
|
||||
int rival_kills = res.getInt("rival_kills");
|
||||
int civilian_kills = res.getInt("civilian_kills");
|
||||
int ally_kills = res.getInt("ally_kills");
|
||||
int deaths = res.getInt("deaths");
|
||||
long last_seen = res.getLong("last_seen");
|
||||
long join_date = res.getLong("join_date");
|
||||
String flags = res.getString("flags");
|
||||
String packed_past_clans = Helper.parseColors(res.getString("packed_past_clans"));
|
||||
String packed_past_clans = ChatUtils.parseColors(res.getString("packed_past_clans"));
|
||||
String resign_times = res.getString("resign_times");
|
||||
Locale locale = Helper.forLanguageTag(res.getString("locale"));
|
||||
|
||||
@@ -630,6 +627,7 @@ public final class StorageManager {
|
||||
cp.setNeutralKills(neutral_kills);
|
||||
cp.setRivalKills(rival_kills);
|
||||
cp.setCivilianKills(civilian_kills);
|
||||
cp.setAllyKills(ally_kills);
|
||||
cp.setDeaths(deaths);
|
||||
cp.setLastSeen(last_seen);
|
||||
cp.setJoinDate(join_date);
|
||||
@@ -642,7 +640,7 @@ public final class StorageManager {
|
||||
Clan clanDB = retrieveOneClan(tag);
|
||||
Clan clan = SimpleClans.getInstance().getClanManager().getClan(tag);
|
||||
|
||||
if (clan != null) {
|
||||
if (clan != null && clanDB != null) {
|
||||
Clan clanReSync = SimpleClans.getInstance().getClanManager().getClan(tag);
|
||||
clanReSync.setFlags(clanDB.getFlags());
|
||||
clanReSync.setVerified(clanDB.isVerified());
|
||||
@@ -655,7 +653,7 @@ public final class StorageManager {
|
||||
clanReSync.setPackedBb(clanDB.getPackedBb());
|
||||
clanReSync.setFounded(clanDB.getFounded());
|
||||
clanReSync.setLastUsed(clanDB.getLastUsed());
|
||||
clanReSync.setBalance(clanDB.getBalance());
|
||||
clanReSync.setBalance(null, ClanBalanceUpdateEvent.Cause.LOADING, clanDB.getBalance());
|
||||
cp.setClan(clanReSync);
|
||||
} else {
|
||||
plugin.getClanManager().importClan(clanDB);
|
||||
@@ -682,7 +680,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Insert a clan into the database
|
||||
*
|
||||
* @param clan
|
||||
*/
|
||||
public void insertClan(Clan clan) {
|
||||
String query = "INSERT INTO `sc_clans` (`banner`, `ranks`, `description`, `fee_enabled`, `fee_value`, `verified`, `tag`," +
|
||||
@@ -713,7 +710,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Update a clan to the database asynchronously
|
||||
*
|
||||
* @param clan
|
||||
*/
|
||||
@Deprecated
|
||||
public void updateClanAsync(final Clan clan) {
|
||||
@@ -752,7 +748,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Update a clan to the database
|
||||
*
|
||||
* @param clan
|
||||
*/
|
||||
public void updateClan(Clan clan) {
|
||||
updateClan(clan, true);
|
||||
@@ -769,42 +764,48 @@ public final class StorageManager {
|
||||
if (updateLastUsed) {
|
||||
clan.updateLastUsed();
|
||||
}
|
||||
if (plugin.getSettingsManager().isSavePeriodically()) {
|
||||
modifiedClans.add(clan);
|
||||
return;
|
||||
}
|
||||
core.update(getUpdateClanQuery(clan));
|
||||
if (plugin.getSettingsManager().isSavePeriodically()) {
|
||||
modifiedClans.add(clan);
|
||||
return;
|
||||
}
|
||||
try (PreparedStatement st = prepareUpdateClanStatement(core.getConnection())) {
|
||||
setValues(st, clan);
|
||||
st.executeUpdate();
|
||||
} catch (SQLException ex) {
|
||||
plugin.getLogger().log(Level.SEVERE, String.format("Error updating Clan %s", clan.getTag()), ex);
|
||||
}
|
||||
}
|
||||
|
||||
private String getUpdateClanQuery(Clan clan) {
|
||||
String query = "UPDATE `sc_clans`" +
|
||||
" SET ranks = '"+ Helper.escapeQuotes(Helper.ranksToJson(clan.getRanks(), clan.getDefaultRank())) +"'," +
|
||||
" banner = '" + Helper.escapeQuotes(YAMLSerializer.serialize(clan.getBanner())) + "'," +
|
||||
" description = '" + Helper.escapeQuotes(clan.getDescription())+ "'," +
|
||||
" fee_enabled = "+ (clan.isMemberFeeEnabled() ? 1 : 0) +"," +
|
||||
" fee_value = '" + clan.getMemberFee() + "'," +
|
||||
" verified = " + (clan.isVerified() ? 1 : 0) + "," +
|
||||
" tag = '" + Helper.escapeQuotes(clan.getTag()) + "'," +
|
||||
" color_tag = '" + Helper.escapeQuotes(clan.getColorTag()) + "'," +
|
||||
" name = '" + Helper.escapeQuotes(clan.getName()) + "'," +
|
||||
" friendly_fire = " + (clan.isFriendlyFire() ? 1 : 0) + "," +
|
||||
" founded = '" + clan.getFounded() + "'," +
|
||||
" last_used = '" + clan.getLastUsed() + "'," +
|
||||
" packed_allies = '" + Helper.escapeQuotes(clan.getPackedAllies()) + "'," +
|
||||
" packed_rivals = '" + Helper.escapeQuotes(clan.getPackedRivals()) + "'," +
|
||||
" packed_bb = '" + Helper.escapeQuotes(clan.getPackedBb()) + "'," +
|
||||
" cape_url = '" + Helper.escapeQuotes(clan.getCapeUrl()) + "'," +
|
||||
" cape_url = '" + Helper.escapeQuotes(String.valueOf(clan.getCapeUrl())) + "'," +
|
||||
" balance = '" + clan.getBalance() + "'," +
|
||||
" flags = '" + Helper.escapeQuotes(clan.getFlags())
|
||||
+ "' WHERE tag = '" + Helper.escapeQuotes(clan.getTag()) + "';";
|
||||
return query;
|
||||
|
||||
private PreparedStatement prepareUpdateClanStatement(Connection connection) throws SQLException {
|
||||
String sql = "UPDATE `sc_clans` SET ranks = ?, banner = ?, description = ?, fee_enabled = ?, fee_value = ?, " +
|
||||
"verified = ?, tag = ?, color_tag = ?, `name` = ?, friendly_fire = ?, founded = ?, last_used = ?, " +
|
||||
"packed_allies = ?, packed_rivals = ?, packed_bb = ?, balance = ?, flags = ? WHERE tag = ?;";
|
||||
return connection.prepareStatement(sql);
|
||||
}
|
||||
|
||||
private void setValues(PreparedStatement statement, Clan clan) throws SQLException {
|
||||
statement.setString(1, Helper.ranksToJson(clan.getRanks(), clan.getDefaultRank()));
|
||||
statement.setString(2, YAMLSerializer.serialize(clan.getBanner()));
|
||||
statement.setString(3, clan.getDescription());
|
||||
statement.setInt(4, clan.isMemberFeeEnabled() ? 1 : 0);
|
||||
statement.setDouble(5, clan.getMemberFee());
|
||||
statement.setInt(6, clan.isVerified() ? 1 : 0);
|
||||
statement.setString(7, clan.getTag());
|
||||
statement.setString(8, clan.getColorTag());
|
||||
statement.setString(9, clan.getName());
|
||||
statement.setInt(10, clan.isFriendlyFire() ? 1 : 0);
|
||||
statement.setLong(11, clan.getFounded());
|
||||
statement.setLong(12, clan.getLastUsed());
|
||||
statement.setString(13, clan.getPackedAllies());
|
||||
statement.setString(14, clan.getPackedRivals());
|
||||
statement.setString(15, clan.getPackedBb());
|
||||
statement.setDouble(16, clan.getBalance());
|
||||
statement.setString(17, clan.getFlags());
|
||||
statement.setString(18, clan.getTag());
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a clan from the database
|
||||
*
|
||||
* @param clan
|
||||
*/
|
||||
public void deleteClan(Clan clan) {
|
||||
String query = "DELETE FROM `sc_clans` WHERE tag = '" + clan.getTag() + "';";
|
||||
@@ -814,7 +815,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Insert a clan player into the database
|
||||
*
|
||||
* @param cp
|
||||
*/
|
||||
public void insertClanPlayer(ClanPlayer cp) {
|
||||
String query = "INSERT INTO `sc_players` (`locale`, `resign_times`, `uuid`, `name`, `leader`, `tag`, `friendly_fire`, `neutral_kills`, `rival_kills`, `civilian_kills`, `deaths`, `last_seen`, `join_date`, `packed_past_clans`, `flags`) ";
|
||||
@@ -825,7 +825,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Update a clan player to the database asynchronously
|
||||
*
|
||||
* @param cp
|
||||
*/
|
||||
@Deprecated
|
||||
public void updateClanPlayerAsync(final ClanPlayer cp) {
|
||||
@@ -840,34 +839,49 @@ public final class StorageManager {
|
||||
/**
|
||||
* Update a clan player to the database
|
||||
*
|
||||
* @param cp
|
||||
*/
|
||||
public void updateClanPlayer(ClanPlayer cp) {
|
||||
cp.updateLastSeen();
|
||||
if (plugin.getSettingsManager().isSavePeriodically()) {
|
||||
modifiedClanPlayers.add(cp);
|
||||
return;
|
||||
modifiedClanPlayers.add(cp);
|
||||
return;
|
||||
}
|
||||
try (PreparedStatement st = prepareUpdateClanPlayerStatement(core.getConnection())) {
|
||||
setValues(st, cp);
|
||||
st.executeUpdate();
|
||||
} catch (SQLException ex) {
|
||||
plugin.getLogger().log(Level.SEVERE, String.format("Error updating ClanPlayer %s", cp.getName()), ex);
|
||||
}
|
||||
core.update(getUpdateClanPlayerQuery(cp));
|
||||
}
|
||||
|
||||
private String getUpdateClanPlayerQuery(ClanPlayer cp) {
|
||||
return "UPDATE `sc_players` SET" +
|
||||
" locale = '" + cp.getLocale().toLanguageTag() + "'," +
|
||||
" resign_times = '"+ Helper.escapeQuotes(Helper.resignTimesToJson(cp.getResignTimes())) +"'," +
|
||||
" leader = " + (cp.isLeader() ? 1 : 0) + ", tag = '" + Helper.escapeQuotes(cp.getTag()) + "'," +
|
||||
" friendly_fire = " + (cp.isFriendlyFire() ? 1 : 0) + ", neutral_kills = " + cp.getNeutralKills() + "," +
|
||||
" rival_kills = " + cp.getRivalKills() + ", civilian_kills = " + cp.getCivilianKills() + "," +
|
||||
" deaths = " + cp.getDeaths() + ", last_seen = '" + cp.getLastSeen() + "'," +
|
||||
" packed_past_clans = '" + Helper.escapeQuotes(cp.getPackedPastClans()) + "'," +
|
||||
" trusted = " + (cp.isTrusted() ? 1 : 0) + ", flags = '" + Helper.escapeQuotes(cp.getFlags()) + "'," +
|
||||
" name = '" + cp.getName() + "' WHERE `uuid` = '" + cp.getUniqueId().toString() + "';";
|
||||
|
||||
private PreparedStatement prepareUpdateClanPlayerStatement(Connection connection) throws SQLException {
|
||||
String sql = "UPDATE `sc_players` SET locale = ?, resign_times = ?, leader = ?, tag = ?, friendly_fire = ?," +
|
||||
" neutral_kills = ?, ally_kills = ?, rival_kills = ?, civilian_kills = ?, deaths = ?, last_seen = ?," +
|
||||
" packed_past_clans = ?, trusted = ?, flags = ?, `name` = ? WHERE `uuid` = ?;";
|
||||
return connection.prepareStatement(sql);
|
||||
}
|
||||
|
||||
private void setValues(PreparedStatement statement, ClanPlayer cp) throws SQLException {
|
||||
statement.setString(1, cp.getLocale().toLanguageTag());
|
||||
statement.setString(2, Helper.resignTimesToJson(cp.getResignTimes()));
|
||||
statement.setInt(3, cp.isLeader() ? 1 : 0);
|
||||
statement.setString(4, cp.getTag());
|
||||
statement.setInt(5, cp.isFriendlyFire() ? 1 : 0);
|
||||
statement.setInt(6, cp.getNeutralKills());
|
||||
statement.setInt(7, cp.getAllyKills());
|
||||
statement.setInt(8, cp.getRivalKills());
|
||||
statement.setInt(9, cp.getCivilianKills());
|
||||
statement.setInt(10, cp.getDeaths());
|
||||
statement.setLong(11, cp.getLastSeen());
|
||||
statement.setString(12, cp.getPackedPastClans());
|
||||
statement.setInt(13, cp.isTrusted() ? 1 : 0);
|
||||
statement.setString(14, cp.getFlags());
|
||||
statement.setString(15, cp.getName());
|
||||
statement.setString(16, cp.getUniqueId().toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a clan player from the database
|
||||
*
|
||||
* @param cp
|
||||
*/
|
||||
public void deleteClanPlayer(ClanPlayer cp) {
|
||||
final Clan clan = cp.getClan();
|
||||
@@ -875,19 +889,14 @@ public final class StorageManager {
|
||||
clan.addBbWithoutSaving(ChatColor.AQUA + MessageFormat.format(lang("has.been.purged"), cp.getName()));
|
||||
updateClan(clan, false);
|
||||
}
|
||||
String query = "DELETE FROM `sc_players` WHERE uuid = '" + cp.getUniqueId() + "';";
|
||||
core.delete(query);
|
||||
deleteKills(cp.getUniqueId());
|
||||
String query = "DELETE FROM `sc_players` WHERE uuid = '" + cp.getUniqueId() + "';";
|
||||
core.delete(query);
|
||||
deleteKills(cp.getUniqueId());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Insert a kill into the database
|
||||
*
|
||||
* @param attacker
|
||||
* @param attackerTag
|
||||
* @param victim
|
||||
* @param victimTag
|
||||
* @param type
|
||||
*/
|
||||
@Deprecated
|
||||
public void insertKill(Player attacker, String attackerTag, Player victim, String victimTag, String type) {
|
||||
@@ -914,7 +923,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Delete a player's kill record form the database
|
||||
*
|
||||
* @param playerName
|
||||
*/
|
||||
@Deprecated
|
||||
public void deleteKills(String playerName) {
|
||||
@@ -925,7 +933,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Delete a player's kill record form the database
|
||||
*
|
||||
* @param playerUniqueId
|
||||
*/
|
||||
public void deleteKills(UUID playerUniqueId) {
|
||||
String query = "DELETE FROM `sc_kills` WHERE `attacker_uuid` = '" + playerUniqueId + "'";
|
||||
@@ -935,8 +942,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Returns a map of victim->count of all kills that specific player did
|
||||
*
|
||||
* @param playerName
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Integer> getKillsPerPlayer(String playerName) {
|
||||
HashMap<String, Integer> out = new HashMap<>();
|
||||
@@ -969,7 +974,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Returns a map of tag->count of all kills
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Map<String, Integer> getMostKilled() {
|
||||
HashMap<String, Integer> out = new HashMap<>();
|
||||
@@ -1003,7 +1007,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Gets, asynchronously, a map of tag->count of all kills and notifies via callback when it's ready
|
||||
*
|
||||
* @param callback
|
||||
*/
|
||||
public void getMostKilled(DataCallback<Map<String, Integer>> callback) {
|
||||
new BukkitRunnable() {
|
||||
@@ -1017,9 +1020,7 @@ public final class StorageManager {
|
||||
|
||||
/**
|
||||
* Gets, asynchronously, a map of victim->count of all kills that specific player did and notifies via callback when it's ready
|
||||
*
|
||||
* @param playerName
|
||||
* @param callback
|
||||
*
|
||||
*/
|
||||
public void getKillsPerPlayer(final String playerName, final DataCallback<Map<String, Integer>> callback) {
|
||||
new BukkitRunnable() {
|
||||
@@ -1040,7 +1041,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Notifies when the result is ready
|
||||
*
|
||||
* @param data
|
||||
*/
|
||||
void onResultReady(T data);
|
||||
}
|
||||
@@ -1048,10 +1048,9 @@ public final class StorageManager {
|
||||
/**
|
||||
* Updates the database to the latest version
|
||||
*
|
||||
* @param
|
||||
*/
|
||||
private void updateDatabase() {
|
||||
String query = null;
|
||||
String query;
|
||||
|
||||
/*
|
||||
* From 2.2.6.3 to 2.3
|
||||
@@ -1106,6 +1105,11 @@ public final class StorageManager {
|
||||
core.execute("ALTER TABLE sc_clans ADD COLUMN `banner` text;");
|
||||
}
|
||||
|
||||
// From 2.15.1 to 2.15.2
|
||||
if (!core.existsColumn("sc_players", "ally_kills")) {
|
||||
core.execute("ALTER TABLE sc_players ADD COLUMN `ally_kills` int(11) DEFAULT NULL;");
|
||||
}
|
||||
|
||||
if (plugin.getSettingsManager().isUseMysql()) {
|
||||
core.execute("ALTER TABLE sc_clans MODIFY color_tag VARCHAR(255);");
|
||||
}
|
||||
@@ -1150,7 +1154,6 @@ public final class StorageManager {
|
||||
/**
|
||||
* Updates the database to the latest version
|
||||
*
|
||||
* @param
|
||||
*/
|
||||
|
||||
private void updatePlayersToUUID() {
|
||||
@@ -1203,28 +1206,31 @@ public final class StorageManager {
|
||||
* @since 2.10.2
|
||||
*/
|
||||
public void saveModified() {
|
||||
try (Statement statement = core.getConnection().createStatement()) {
|
||||
List<Clan> allClans = plugin.getClanManager().getClans();
|
||||
for (Clan clan : modifiedClans) {
|
||||
if (!allClans.contains(clan)) {
|
||||
continue;
|
||||
}
|
||||
statement.addBatch(getUpdateClanQuery(clan));
|
||||
}
|
||||
List<ClanPlayer> allClanPlayers = plugin.getClanManager().getAllClanPlayers();
|
||||
for (ClanPlayer cp : modifiedClanPlayers) {
|
||||
if (!allClanPlayers.contains(cp)) {
|
||||
continue;
|
||||
}
|
||||
statement.addBatch(getUpdateClanPlayerQuery(cp));
|
||||
}
|
||||
statement.executeBatch();
|
||||
|
||||
modifiedClans.clear();
|
||||
modifiedClanPlayers.clear();
|
||||
} catch (SQLException e) {
|
||||
plugin.getLogger().severe("Error saving modified Clans and ClanPlayers:");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
try (PreparedStatement pst = prepareUpdateClanPlayerStatement(core.getConnection())) {
|
||||
//removing purged players
|
||||
modifiedClanPlayers.retainAll(plugin.getClanManager().getAllClanPlayers());
|
||||
for (ClanPlayer cp : modifiedClanPlayers) {
|
||||
setValues(pst, cp);
|
||||
pst.addBatch();
|
||||
}
|
||||
pst.executeBatch();
|
||||
|
||||
modifiedClanPlayers.clear();
|
||||
} catch (SQLException ex) {
|
||||
plugin.getLogger().log(Level.SEVERE, "Error saving modified ClanPlayers:", ex);
|
||||
}
|
||||
try (PreparedStatement pst = prepareUpdateClanStatement(core.getConnection())) {
|
||||
//removing disbanded clans
|
||||
modifiedClans.retainAll(plugin.getClanManager().getClans());
|
||||
for (Clan clan : modifiedClans) {
|
||||
setValues(pst, clan);
|
||||
pst.addBatch();
|
||||
}
|
||||
pst.executeBatch();
|
||||
|
||||
modifiedClans.clear();
|
||||
} catch (SQLException ex) {
|
||||
plugin.getLogger().log(Level.SEVERE, "Error saving modified Clans:", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,7 @@ public class MySQLCore implements DBCore {
|
||||
@Override
|
||||
public Connection getConnection() {
|
||||
try {
|
||||
if (connection == null || connection.isClosed()) {
|
||||
if (connection == null || connection.isClosed() || !connection.isValid(0)) {
|
||||
initialize();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
|
||||
@@ -2,6 +2,7 @@ package net.sacredlabyrinth.phaed.simpleclans.tasks;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.ClanBalanceUpdateEvent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
@@ -57,7 +58,7 @@ public class CollectFeeTask extends BukkitRunnable {
|
||||
if (success) {
|
||||
ChatBlock.sendMessage(cp.toPlayer(), ChatColor.AQUA +
|
||||
MessageFormat.format(lang("fee.collected",cp.toPlayer()), memberFee));
|
||||
clan.setBalance(clan.getBalance() + memberFee);
|
||||
clan.deposit(cp.toPlayer(), ClanBalanceUpdateEvent.Cause.MEMBER_FEE, memberFee);
|
||||
plugin.getStorageManager().updateClan(clan);
|
||||
} else {
|
||||
clan.removePlayerFromClan(cp.getUniqueId());
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
package net.sacredlabyrinth.phaed.simpleclans.tasks;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.EconomyResponse;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Helper;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.ClanBalanceUpdateEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.managers.SettingsManager;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author roinujnosde
|
||||
@@ -48,12 +52,13 @@ public class CollectUpkeepTask extends BukkitRunnable {
|
||||
if (settingsManager.isMultiplyUpkeepBySize()) {
|
||||
upkeep = upkeep * clan.getSize();
|
||||
}
|
||||
final double balance = clan.getBalance();
|
||||
if (balance >= upkeep) {
|
||||
clan.setBalance(balance - upkeep);
|
||||
|
||||
EconomyResponse response = clan.withdraw(null, ClanBalanceUpdateEvent.Cause.UPKEEP, upkeep);
|
||||
if (response == EconomyResponse.NOT_ENOUGH_BALANCE) {
|
||||
clan.disband(null, true, false);
|
||||
}
|
||||
if (response == EconomyResponse.SUCCESS) {
|
||||
clan.addBb(ChatColor.AQUA + MessageFormat.format(lang("upkeep.collected"), upkeep), false);
|
||||
} else {
|
||||
clan.disband();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3,10 +3,8 @@ package net.sacredlabyrinth.phaed.simpleclans.ui;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.RankPermission;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.managers.PermissionsManager;
|
||||
import java.util.*;
|
||||
|
||||
import net.sacredlabyrinth.phaed.simpleclans.events.ComponentClickEvent;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.managers.PermissionsManager;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ui.frames.ConfirmationFrame;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ui.frames.WarningFrame;
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -23,6 +21,8 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
|
||||
/**
|
||||
@@ -134,11 +134,11 @@ public class InventoryController implements Listener {
|
||||
SimpleClans plugin = SimpleClans.getInstance();
|
||||
PermissionsManager pm = plugin.getPermissionsManager();
|
||||
if (permission instanceof String) {
|
||||
String permS = (String) permission;
|
||||
boolean leaderPerm = permS.contains("simpleclans.leader") && !permS.equalsIgnoreCase("simpleclans.leader.create");
|
||||
String perms = (String) permission;
|
||||
boolean leaderPerm = perms.contains("simpleclans.leader") && !perms.equalsIgnoreCase("simpleclans.leader.create");
|
||||
ClanPlayer cp = plugin.getClanManager().getAnyClanPlayer(player.getUniqueId());
|
||||
|
||||
return pm.has(player, permS) && (!leaderPerm || (cp != null && cp.isLeader()));
|
||||
return pm.has(player, perms) && (!leaderPerm || (cp != null && cp.isLeader()));
|
||||
}
|
||||
return pm.has(player, (RankPermission) permission, false);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package net.sacredlabyrinth.phaed.simpleclans.ui.frames;
|
||||
import com.cryptomorin.xseries.XMaterial;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Clan;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ClanPlayer;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.Helper;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.SimpleClans;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.ui.*;
|
||||
import net.sacredlabyrinth.phaed.simpleclans.utils.ChatUtils;
|
||||
@@ -27,10 +28,10 @@ import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
|
||||
public class Components {
|
||||
|
||||
private Components() {
|
||||
}
|
||||
private Components() {
|
||||
}
|
||||
|
||||
public static SCComponent getPlayerComponent(SCFrame frame, Player viewer, OfflinePlayer subject, int slot,
|
||||
public static SCComponent getPlayerComponent(SCFrame frame, Player viewer, OfflinePlayer subject, int slot,
|
||||
boolean openDetails) {
|
||||
ClanPlayer cp = SimpleClans.getInstance().getClanManager().getCreateClanPlayer(subject.getUniqueId());
|
||||
|
||||
@@ -40,17 +41,16 @@ public class Components {
|
||||
public static SCComponent getPlayerComponent(SCFrame frame, Player viewer, ClanPlayer cp, int slot,
|
||||
boolean openDetails) {
|
||||
SimpleClans pl = SimpleClans.getInstance();
|
||||
|
||||
String status = getPlayerStatus(viewer, cp);
|
||||
SCComponent c = new SCComponentImpl(lang("gui.playerdetails.player.title",viewer, cp.getName()),
|
||||
SCComponent c = new SCComponentImpl(lang("gui.playerdetails.player.title", viewer, cp.getName()),
|
||||
Arrays.asList(
|
||||
cp.getClan() == null ? lang("gui.playerdetails.player.lore.noclan",viewer)
|
||||
: lang("gui.playerdetails.player.lore.clan",viewer, cp.getClan().getColorTag(),
|
||||
cp.getClan() == null ? lang("gui.playerdetails.player.lore.noclan", viewer)
|
||||
: lang("gui.playerdetails.player.lore.clan", viewer, cp.getClan().getColorTag(),
|
||||
cp.getClan().getName()),
|
||||
lang("gui.playerdetails.player.lore.rank",viewer,
|
||||
lang("gui.playerdetails.player.lore.rank", viewer,
|
||||
ChatUtils.parseColors(cp.getRankDisplayName())),
|
||||
lang("gui.playerdetails.player.lore.status",viewer, status),
|
||||
lang("gui.playerdetails.player.lore.kdr",viewer,
|
||||
lang("gui.playerdetails.player.lore.status", viewer, status),
|
||||
lang("gui.playerdetails.player.lore.kdr", viewer,
|
||||
new DecimalFormat("#.#").format(cp.getKDR())),
|
||||
lang("gui.playerdetails.player.lore.kill.totals", viewer, cp.getRivalKills(),
|
||||
cp.getNeutralKills(), cp.getCivilianKills()),
|
||||
@@ -78,17 +78,17 @@ public class Components {
|
||||
|
||||
@NotNull
|
||||
private static String getPlayerStatus(Player viewer, ClanPlayer cp) {
|
||||
if (cp.getClan() == null) {
|
||||
return lang("free.agent", viewer);
|
||||
if (cp.getClan() == null) {
|
||||
return lang("free.agent", viewer);
|
||||
}
|
||||
if (cp.isLeader()) {
|
||||
return lang("leader", viewer);
|
||||
if (cp.isLeader()) {
|
||||
return lang("leader", viewer);
|
||||
}
|
||||
if (cp.isTrusted()) {
|
||||
return lang("trusted", viewer);
|
||||
if (cp.isTrusted()) {
|
||||
return lang("trusted", viewer);
|
||||
}
|
||||
if (cp.getRankId() != null && !cp.getRankId().isEmpty()) {
|
||||
return lang("in.rank", viewer);
|
||||
if (cp.getRankId() != null && !cp.getRankId().isEmpty()) {
|
||||
return lang("in.rank", viewer);
|
||||
}
|
||||
return lang("untrusted", viewer);
|
||||
}
|
||||
@@ -99,26 +99,24 @@ public class Components {
|
||||
String name;
|
||||
List<String> lore;
|
||||
if (clan != null) {
|
||||
name = lang("gui.clandetails.clan.title",viewer, clan.getColorTag(), clan.getName());
|
||||
name = lang("gui.clandetails.clan.title", viewer, clan.getColorTag(), clan.getName());
|
||||
lore = Arrays.asList(
|
||||
lang("gui.clandetails.clan.lore.description",viewer,
|
||||
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, 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()),
|
||||
lang("gui.clandetails.clan.lore.fee",viewer, clan.isMemberFeeEnabled()
|
||||
? lang("fee.enabled",viewer) : lang("fee.disabled",viewer), clan.getMemberFee()),
|
||||
lang("gui.clandetails.clan.lore.allies",viewer, clan.getAllies().isEmpty() ? lang("none",viewer) : clan.getAllyString(lang("gui.clandetails.clan.lore.allies.separator",viewer))),
|
||||
lang("gui.clandetails.clan.lore.rivals",viewer, clan.getRivals().isEmpty() ? lang("none",viewer) : clan.getRivalString(lang("gui.clandetails.clan.lore.rivals.separator",viewer))),
|
||||
lang("gui.clandetails.clan.lore.founded",viewer, clan.getFoundedString()),
|
||||
lang("gui.clandetails.clan.lore.inactive",viewer, clan.getInactiveDays(), (clan.isVerified() ?
|
||||
pl.getSettingsManager().getPurgeClan() : pl.getSettingsManager().getPurgeUnverified())
|
||||
));
|
||||
lang("gui.clandetails.clan.lore.description", viewer,
|
||||
clan.getDescription() != null && !clan.getDescription().isEmpty() ? clan.getDescription() : lang("no.description", viewer)),
|
||||
lang("gui.clandetails.clan.lore.status", viewer, Helper.getFormattedClanStatus(clan, viewer)),
|
||||
lang("gui.clandetails.clan.lore.leaders", viewer, clan.getLeadersString("", ", ")),
|
||||
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()),
|
||||
lang("gui.clandetails.clan.lore.fee", viewer, clan.isMemberFeeEnabled()
|
||||
? lang("fee.enabled", viewer) : lang("fee.disabled", viewer), clan.getMemberFee()),
|
||||
lang("gui.clandetails.clan.lore.allies", viewer, clan.getAllies().isEmpty() ? lang("none", viewer) : clan.getAllyString(lang("gui.clandetails.clan.lore.allies.separator", viewer))),
|
||||
lang("gui.clandetails.clan.lore.rivals", viewer, clan.getRivals().isEmpty() ? lang("none", viewer) : clan.getRivalString(lang("gui.clandetails.clan.lore.rivals.separator", viewer))),
|
||||
lang("gui.clandetails.clan.lore.founded", viewer, clan.getFoundedString()),
|
||||
lang("gui.clandetails.clan.lore.inactive", viewer, clan.getInactiveDays(), Helper.formatMaxInactiveDays(clan.getMaxInactiveDays())));
|
||||
} else {
|
||||
name = lang("gui.clandetails.free.agent.title",viewer);
|
||||
name = lang("gui.clandetails.free.agent.title", viewer);
|
||||
double price = pl.getSettingsManager().isePurchaseCreation() ? pl.getSettingsManager().getCreationPrice() : 0;
|
||||
lore = new ArrayList<>();
|
||||
if (price != 0) {
|
||||
@@ -163,8 +161,8 @@ public class Components {
|
||||
}
|
||||
|
||||
public static @NotNull SCComponent getPreviousPageComponent(int slot, @Nullable Runnable listener, @NotNull Paginator paginator, @NotNull Player viewer) {
|
||||
if (!paginator.hasPreviousPage()) {
|
||||
return getPanelComponent(slot);
|
||||
if (!paginator.hasPreviousPage()) {
|
||||
return getPanelComponent(slot);
|
||||
}
|
||||
SCComponent c = new SCComponentImpl(lang("gui.previous.page.title", viewer), null,
|
||||
XMaterial.STONE_BUTTON, slot);
|
||||
|
||||
@@ -21,103 +21,111 @@ import java.util.List;
|
||||
import static net.sacredlabyrinth.phaed.simpleclans.SimpleClans.lang;
|
||||
|
||||
public class ClanDetailsFrame extends SCFrame {
|
||||
private final Clan clan;
|
||||
private final Clan clan;
|
||||
|
||||
public ClanDetailsFrame(@Nullable SCFrame parent, @NotNull Player viewer, @NotNull Clan clan) {
|
||||
super(parent, viewer);
|
||||
this.clan = clan;
|
||||
}
|
||||
public ClanDetailsFrame(@Nullable SCFrame parent, @NotNull Player viewer, @NotNull Clan clan) {
|
||||
super(parent, viewer);
|
||||
this.clan = clan;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createComponents() {
|
||||
for (int slot = 0; slot < 9; slot++) {
|
||||
if (slot == 4)
|
||||
continue;
|
||||
add(Components.getPanelComponent(slot));
|
||||
}
|
||||
@Override
|
||||
public void createComponents() {
|
||||
for (int slot = 0; slot < 9; slot++) {
|
||||
if (slot == 4)
|
||||
continue;
|
||||
add(Components.getPanelComponent(slot));
|
||||
}
|
||||
|
||||
add(Components.getBackComponent(getParent(), 4, getViewer()));
|
||||
add(Components.getClanComponent(this, getViewer(), clan, 13, false));
|
||||
add(Components.getBackComponent(getParent(), 4, getViewer()));
|
||||
add(Components.getClanComponent(this, getViewer(), clan, 13, false));
|
||||
|
||||
addRoster();
|
||||
addHome();
|
||||
addVerify();
|
||||
addDisband();
|
||||
}
|
||||
addRoster();
|
||||
addHome();
|
||||
addBank();
|
||||
addVerify();
|
||||
addDisband();
|
||||
}
|
||||
|
||||
private void addDisband() {
|
||||
SCComponent disband = new SCComponentImpl(lang("gui.clandetails.disband.title", getViewer()),
|
||||
Collections.singletonList(lang("gui.staffclandetails.disband.lore", getViewer())),
|
||||
XMaterial.BARRIER, 34);
|
||||
disband.setListener(ClickType.LEFT, () -> InventoryController.runSubcommand(getViewer(),
|
||||
"mod disband", false, clan.getTag()));
|
||||
disband.setConfirmationRequired(ClickType.LEFT);
|
||||
disband.setPermission(ClickType.LEFT, "simpleclans.mod.disband");
|
||||
add(disband);
|
||||
}
|
||||
private void addDisband() {
|
||||
SCComponent disband = new SCComponentImpl(lang("gui.clandetails.disband.title", getViewer()),
|
||||
Collections.singletonList(lang("gui.staffclandetails.disband.lore", getViewer())),
|
||||
XMaterial.BARRIER, 34);
|
||||
disband.setListener(ClickType.LEFT, () -> InventoryController.runSubcommand(getViewer(),
|
||||
"mod disband", false, clan.getTag()));
|
||||
disband.setConfirmationRequired(ClickType.LEFT);
|
||||
disband.setPermission(ClickType.LEFT, "simpleclans.mod.disband");
|
||||
add(disband);
|
||||
}
|
||||
|
||||
private void addVerify() {
|
||||
boolean verified = clan.isVerified();
|
||||
private void addVerify() {
|
||||
boolean verified = clan.isVerified();
|
||||
|
||||
XMaterial material = verified ? XMaterial.REDSTONE_TORCH : XMaterial.LEVER;
|
||||
String title = verified ? lang("gui.clandetails.verified.title", getViewer())
|
||||
: lang("gui.clandetails.not.verified.title", getViewer());
|
||||
List<String> lore = verified ? null : new ArrayList<>();
|
||||
if (!verified) {
|
||||
lore.add(lang("gui.staffclandetails.not.verified.lore", getViewer()));
|
||||
}
|
||||
SCComponent verify = new SCComponentImpl(title, lore, material, 32);
|
||||
if (!verified) {
|
||||
verify.setPermission(ClickType.LEFT, "simpleclans.mod.verify");
|
||||
verify.setConfirmationRequired(ClickType.LEFT);
|
||||
verify.setListener(ClickType.LEFT, () -> InventoryController.runSubcommand(getViewer(),
|
||||
"mod verify", false, clan.getTag()));
|
||||
}
|
||||
add(verify);
|
||||
}
|
||||
XMaterial material = verified ? XMaterial.REDSTONE_TORCH : XMaterial.LEVER;
|
||||
String title = verified ? lang("gui.clandetails.verified.title", getViewer())
|
||||
: lang("gui.clandetails.not.verified.title", getViewer());
|
||||
List<String> lore = verified ? null : new ArrayList<>();
|
||||
if (!verified) {
|
||||
lore.add(lang("gui.staffclandetails.not.verified.lore", getViewer()));
|
||||
}
|
||||
SCComponent verify = new SCComponentImpl(title, lore, material, 32);
|
||||
if (!verified) {
|
||||
verify.setPermission(ClickType.LEFT, "simpleclans.mod.verify");
|
||||
verify.setConfirmationRequired(ClickType.LEFT);
|
||||
verify.setListener(ClickType.LEFT, () -> InventoryController.runSubcommand(getViewer(),
|
||||
"mod verify", false, clan.getTag()));
|
||||
}
|
||||
add(verify);
|
||||
}
|
||||
|
||||
private void addHome() {
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add(lang("gui.staffclandetails.home.lore.teleport", getViewer()));
|
||||
lore.add(lang("gui.staffclandetails.home.lore.set", getViewer()));
|
||||
private void addHome() {
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add(lang("gui.staffclandetails.home.lore.teleport", getViewer()));
|
||||
lore.add(lang("gui.staffclandetails.home.lore.set", getViewer()));
|
||||
|
||||
SCComponent home = new SCComponentImpl(lang("gui.clandetails.home.title", getViewer()), lore,
|
||||
XMaterial.MAGENTA_BED, 30);
|
||||
home.setListener(ClickType.LEFT, () -> InventoryController.runSubcommand(getViewer(),
|
||||
"mod home tp", false, clan.getTag()));
|
||||
home.setPermission(ClickType.LEFT, "simpleclans.mod.hometp");
|
||||
home.setListener(ClickType.RIGHT, () -> InventoryController.runSubcommand(getViewer(),
|
||||
"mod home set", false, clan.getTag()));
|
||||
home.setPermission(ClickType.RIGHT, "simpleclans.mod.home");
|
||||
home.setConfirmationRequired(ClickType.RIGHT);
|
||||
add(home);
|
||||
}
|
||||
SCComponent home = new SCComponentImpl(lang("gui.clandetails.home.title", getViewer()), lore,
|
||||
XMaterial.MAGENTA_BED, 30);
|
||||
home.setListener(ClickType.LEFT, () -> InventoryController.runSubcommand(getViewer(),
|
||||
"mod home tp", false, clan.getTag()));
|
||||
home.setPermission(ClickType.LEFT, "simpleclans.mod.hometp");
|
||||
home.setListener(ClickType.RIGHT, () -> InventoryController.runSubcommand(getViewer(),
|
||||
"mod home set", false, clan.getTag()));
|
||||
home.setPermission(ClickType.RIGHT, "simpleclans.mod.home");
|
||||
home.setConfirmationRequired(ClickType.RIGHT);
|
||||
add(home);
|
||||
}
|
||||
|
||||
private void addRoster() {
|
||||
SCComponent roster = new SCComponentImpl(lang("gui.clandetails.roster.title", getViewer()),
|
||||
Collections.singletonList(lang("gui.staffclandetails.roster.lore", getViewer())),
|
||||
XMaterial.PLAYER_HEAD, 28);
|
||||
private void addRoster() {
|
||||
SCComponent roster = new SCComponentImpl(lang("gui.clandetails.roster.title", getViewer()),
|
||||
Collections.singletonList(lang("gui.staffclandetails.roster.lore", getViewer())),
|
||||
XMaterial.PLAYER_HEAD, 28);
|
||||
|
||||
List<ClanPlayer> members = clan.getMembers();
|
||||
if (members.size() != 0) {
|
||||
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(
|
||||
members.get((int) (Math.random() * members.size())).getUniqueId());
|
||||
Components.setOwningPlayer(roster.getItem(), offlinePlayer);
|
||||
}
|
||||
List<ClanPlayer> members = clan.getMembers();
|
||||
if (members.size() != 0) {
|
||||
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(
|
||||
members.get((int) (Math.random() * members.size())).getUniqueId());
|
||||
Components.setOwningPlayer(roster.getItem(), offlinePlayer);
|
||||
}
|
||||
|
||||
roster.setListener(ClickType.LEFT, () -> InventoryDrawer.open(new RosterFrame(getViewer(), this, clan, true)));
|
||||
add(roster);
|
||||
}
|
||||
roster.setListener(ClickType.LEFT, () -> InventoryDrawer.open(new RosterFrame(getViewer(), this, clan, true)));
|
||||
add(roster);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getTitle() {
|
||||
return lang("gui.clandetails.title", getViewer(), ChatUtils.stripColors(clan.getColorTag()),
|
||||
clan.getName());
|
||||
}
|
||||
private void addBank() {
|
||||
List<String> lore = Collections.singletonList(lang("gui.clandetails.bank.balance.lore", getViewer(), clan.getBalance()));
|
||||
|
||||
@Override
|
||||
public int getSize() {
|
||||
return 5 * 9;
|
||||
}
|
||||
SCComponent bank = new SCComponentImpl(lang("gui.clandetails.bank.title", getViewer()), lore, XMaterial.GOLD_INGOT, 40);
|
||||
add(bank);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull String getTitle() {
|
||||
return lang("gui.clandetails.title", getViewer(), ChatUtils.stripColors(clan.getColorTag()),
|
||||
clan.getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSize() {
|
||||
return 5 * 9;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import java.text.ParseException;
|
||||
* @author RoinujNosde
|
||||
*/
|
||||
public class KDRFormat {
|
||||
private static final DecimalFormat FORMATTER = new DecimalFormat("#.#");
|
||||
private static final DecimalFormat FORMATTER = new DecimalFormat("#.##");
|
||||
|
||||
static {
|
||||
FORMATTER.setParseBigDecimal(true);
|
||||
|
||||
@@ -56,12 +56,20 @@ war-and-protection:
|
||||
war-enabled: false
|
||||
land-sharing: true
|
||||
protection-providers:
|
||||
- WorldGuardProvider
|
||||
- GriefPreventionProvider
|
||||
listener-priority: HIGHEST
|
||||
- WorldGuardProvider
|
||||
- WorldGuard6Provider
|
||||
- PlotSquared5Provider
|
||||
- PlotSquared3Provider
|
||||
- GriefPreventionProvider
|
||||
listeners:
|
||||
priority: HIGHEST
|
||||
ignored-list:
|
||||
PLACE:
|
||||
- "PLAYER_HEAD"
|
||||
set-base-only-in-land: false
|
||||
war-normal-expiration-time: 0
|
||||
war-disconnect-expiration-time: 0
|
||||
edit-all-lands: false
|
||||
land-creation:
|
||||
only-leaders: false
|
||||
only-one-per-clan: false
|
||||
@@ -72,6 +80,9 @@ war-and-protection:
|
||||
PLACE: true
|
||||
DAMAGE: true
|
||||
INTERACT_ENTITY: true
|
||||
war-start:
|
||||
request-enabled: true
|
||||
members-online-max-difference: 5
|
||||
kdr-grinding-prevention:
|
||||
enable-max-kills: false
|
||||
max-kills-per-victim: 10
|
||||
@@ -118,6 +129,7 @@ kill-weights:
|
||||
rival: 2.0
|
||||
civilian: 0.0
|
||||
neutral: 1.0
|
||||
ally: -1.0
|
||||
deny-same-ip-kills: false
|
||||
clan:
|
||||
homebase-teleport-wait-secs: 10
|
||||
|
||||
@@ -44,6 +44,8 @@ withdraw.command=withdraw
|
||||
invite.command=invite
|
||||
kick.command=kick
|
||||
bank.command=bank
|
||||
give.command=give
|
||||
take.command=take
|
||||
status.command=status
|
||||
fee.command=fee
|
||||
set.command=set
|
||||
@@ -160,19 +162,23 @@ command.description.clan=Opens the GUI
|
||||
command.description.disband=Disbands your clan
|
||||
command.description.mod.disband=Disbands a clan
|
||||
command.description.mod.kick=Kicks a player from a clan
|
||||
command.description.modtag=Modifies your clan's tag
|
||||
command.description.purge=Purges some player's data
|
||||
command.description.setbanner=Sets your clan's banner
|
||||
command.description.modtag=Modifies your clan''s tag
|
||||
command.description.purge=Purges some player''s data
|
||||
command.description.setbanner=Sets your clan''s banner
|
||||
command.description.verify=Verifies your clan
|
||||
command.description.mod.verify=Verifies a clan
|
||||
command.description.invite=Invites a player to your clan
|
||||
command.description.fee.check=Checks the value of your clan's fee and if it's enabled
|
||||
command.description.fee.set=Sets your clan's fee
|
||||
command.description.bank.status=Checks your clan's bank balance
|
||||
command.description.fee.check=Checks the value of your clan''s fee and if it''s enabled
|
||||
command.description.fee.set=Sets your clan''s fee
|
||||
command.description.bank.status=Checks your clan''s bank balance
|
||||
command.description.bank.admin.status=Checks a clan''s bank balance
|
||||
command.description.bank.withdraw.all=Withdraws all from your clan's bank
|
||||
command.description.bank.withdraw.amount=Withdraws an amount from your clan's bank
|
||||
command.description.bank.withdraw.amount=Withdraws an amount from your clan''s bank
|
||||
command.description.bank.admin.take=Takes an amount of money from a clan''s bank
|
||||
command.description.bank.deposit.all=Deposits all of your money into your clan's bank
|
||||
command.description.bank.deposit.amount=Deposits an amount of your money into your clan's bank
|
||||
command.description.bank.deposit.amount=Deposits an amount of your money into your clan''s bank
|
||||
command.description.bank.admin.give=Gives an amount of money to a clan''s bank
|
||||
command.description.bank.admin.set=Sets an amount of money to a clan''s bank
|
||||
command.description.war.start=Starts a war
|
||||
command.description.war.end=Ends a war
|
||||
command.description.resetkdr.everyone=Resets everyone''s KDR
|
||||
@@ -182,6 +188,7 @@ command.description.admin.demote=Demotes any leader from any clan
|
||||
command.description.demote=Demotes a leader
|
||||
command.description.admin.promote=Promotes any member from any clan
|
||||
command.description.promote=Promotes a member to leader
|
||||
command.description.admin.permanent=Toggles the permanent status of any clan
|
||||
command.description.toggle.bb=Toggles whether the bulletin board should be displayed when you login
|
||||
command.description.toggle.tag=Toggles whether your clan''s tag should be displayed next to your name
|
||||
command.description.toggle.deposit=Toggles whether deposits are allowed on your clan
|
||||
@@ -218,6 +225,7 @@ clans.lower=clans
|
||||
rival=Rival
|
||||
civilian=Civilian
|
||||
neutral=Neutral
|
||||
ally=Ally
|
||||
free.agent=Free Agent
|
||||
days=days
|
||||
rivals=Rivals
|
||||
@@ -240,6 +248,7 @@ food=Food
|
||||
vitals=vitals
|
||||
verified=Verified
|
||||
unverified=Unverified
|
||||
permanent=Permanent
|
||||
profile=profile
|
||||
civilian.abbreviation=Civ
|
||||
rank=Rank
|
||||
@@ -386,7 +395,7 @@ the.player.does.not.have.the.permissions.to.lead.a.clan=The player does not have
|
||||
you.cannot.promote.yourself=You cannot promote yourself
|
||||
the.player.is.already.a.leader=The player is already a leader
|
||||
configuration.reloaded=Configuration reloaded
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=Last leader cannot resign.You must appoint another leader or disband the clan
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=Last leader cannot resign. You must appoint another leader or disband the clan
|
||||
0.has.resigned={0} has resigned
|
||||
you.cannot.trust.yourself=You cannot trust yourself
|
||||
leaders.are.already.trusted=Leaders are already trusted
|
||||
@@ -473,18 +482,29 @@ your.clans.are.already.rivals=Your clans are already rivals
|
||||
player.got.money=You got {0} for killing {1} based on you KDR: {2}
|
||||
cleared.bb=Cleared the bulletin board
|
||||
clan.balance=Clan-Balance: {0}
|
||||
clan.admin.balance={0}''s balance: {1} $
|
||||
bb.fee.player.kicked={0} was kicked for not paying the fee
|
||||
bb.fee.set={0} $ is the fee
|
||||
bb.clan.deposit={0} $ were deposited
|
||||
player.clan.deposit=You deposited {0}
|
||||
bb.clan.withdraw={0} $ were withdrawn
|
||||
bb.clan.take={0} $ were taken
|
||||
bb.clan.give={0} $ were given
|
||||
bb.clan.set={0} $ were set
|
||||
player.clan.withdraw=You withdraw {0}
|
||||
clan.admin.take=You took {0} $ from {1}''s bank
|
||||
clan.admin.give=You gave {0} $ to {1}''s bank
|
||||
clan.admin.set=You set {0}''s bank balance to {1}
|
||||
clan.admin.bank.not.enough.money={0}''s bank has not enough money!
|
||||
clan.bank.not.enough.money=Your clans bank has not enough money
|
||||
your.clans.are.not.rivals=Your clans are not rivals
|
||||
the.clan.members.reached.limit=Your clan members reached limit
|
||||
you.have.reseted.your.kdr=You have reseted your KDR
|
||||
you.have.reseted.0.kdr=You have reseted {0}''s KDR
|
||||
you.have.reseted.kdr.of.all.players=You have reseted the KDR of all players
|
||||
you.have.toggled.permanent.status=You have toggled permanent status for {0}
|
||||
permanent.status.enabled=Your clan''s permanent status has been enabled by {0}
|
||||
permanent.status.disabled=Your clan''s permanent status has been disabled by {0}
|
||||
resign.yes=Yes
|
||||
resign.no=No
|
||||
resign.confirmation=Are you sure you want to resign? {0}
|
||||
@@ -493,12 +513,12 @@ you.cannot.demote.the.last.leader=You cannot demote the last leader
|
||||
you.cannot.move.the.last.leader=You cannot move the last leader
|
||||
player.successfully.demoted=The player was successfully demoted
|
||||
player.successfully.promoted=The player was successfully promoted
|
||||
bb.ago= ago
|
||||
bb.moments=moments
|
||||
bb.seconds= seconds
|
||||
bb.minutes= minutes
|
||||
bb.ago= \ ago
|
||||
bb.moments=\ moments
|
||||
bb.seconds= \ seconds
|
||||
bb.minutes= \ minutes
|
||||
bb.one.minute=1 minute
|
||||
bb.hours= hours
|
||||
bb.hours= \ hours
|
||||
bb.one.hour=1 hour
|
||||
bb.days= days
|
||||
bb.one.day=1 day
|
||||
@@ -769,37 +789,11 @@ you.must.hold.a.banner=&cYou must have a banner in your hand!
|
||||
you.changed.clan.banner=&bYou changed your clan''s banner!
|
||||
your.clan.already.verified=&cYour clan is already verified!
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
clan.profile=\
|
||||
\n&b%clan_name%&7 profile &8-------------------------------------------\n \n \
|
||||
&7Name: &e[&8%clan_color_tag%&e] &b%clan_name%\n \
|
||||
&7Description: &f%clan_description%\n \
|
||||
&7Status: &f%clan_verified%\n \
|
||||
&7Leaders: %clan_leaders%\n \
|
||||
&7Members Online: &f%clan_online_count%&7/&f%clan_size%\n \
|
||||
&7KDR: &e%clan_kdr%\n \
|
||||
&7Kill Totals: &8[Rival:&f%clan_rival_kills% &8Neutral:&f%clan_neutral_kills% &8Civilian:&f%clan_civilian_kills%&8]\n \
|
||||
&7Deaths: &f%clan_deaths%\n \
|
||||
&7Fee: &f%clan_fee_enabled%&7, &f%clan_fee_value% $\n \
|
||||
&7Allies: &f%clan_allies%\n \
|
||||
&7Rivals: &f%clan_rivals%\n \
|
||||
&7Founded: &f%clan_founded%\n \
|
||||
&7Inactive: &f%clan_inactive_days%&7/&f%clan_max_inactive_days% days\n
|
||||
clan.profile=\n&b%clan_name%&7 profile &8-------------------------------------------\n \n &7Name: &e[&8%clan_color_tag%&e] &b%clan_name%\n &7Description: &f%clan_description%\n &7Status: &f%clan_status%\n &7Leaders: %clan_leaders%\n &7Members Online: &f%clan_online_count%&7/&f%clan_size%\n &7KDR: &e%clan_kdr%\n &7Kill Totals: &8[Rival:&f%clan_rival_kills% &8Neutral:&f%clan_neutral_kills% &8Civilian:&f%clan_civilian_kills%&8]\n &7Deaths: &f%clan_deaths%\n &7Fee: &f%clan_fee_enabled%&7, &f%clan_fee_value% $\n &7Allies: &f%clan_allies%\n &7Rivals: &f%clan_rivals%\n &7Founded: &f%clan_founded%\n &7Inactive: &f%clan_inactive_days%&7/&f%clan_max_inactive_days% days\n
|
||||
player.lookup.clanname=&e[&8%clan_color_tag%&e] &b%clan_name%
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
player.lookup.killtype=&7Kill Type: %player_kill_type%\n
|
||||
player.lookup=\
|
||||
\n&b%player_name%&7''s player info &8-------------------------------------------\n \n \
|
||||
&7Clan: &f%clan_name%\n \
|
||||
&7Rank: &f%player_rank%\n \
|
||||
&7Status: &f%player_status%\n \
|
||||
&7KDR: &e%player_kdr%\n \
|
||||
&7Kill Totals: &8[Rival:&f%player_rival_kills% &8Neutral:&f%player_neutral_kills% &8Civilian:&f%player_civilian_kills%&8]\n \
|
||||
&7Deaths: &f%player_deaths%\n \
|
||||
&7Join Date: &f%player_join_date%\n \
|
||||
&7Last Seen: &f%player_last_seen%\n \
|
||||
&7Past Clans: &f%player_past_clans%\n \
|
||||
&7Inactive: &f%player_inactive_days%&7/&f%player_max_inactive_days% days\n \
|
||||
%kill_type_line%
|
||||
player.lookup=\n&b%player_name%&7''s player info &8-------------------------------------------\n \n &7Clan: &f%clan_name%\n &7Rank: &f%player_rank%\n &7Status: &f%player_status%\n &7KDR: &e%player_kdr%\n &7Kill Totals: &8[Rival:&f%player_rival_kills% &8Neutral:&f%player_neutral_kills% &8Civilian:&f%player_civilian_kills%&8]\n &7Deaths: &f%player_deaths%\n &7Join Date: &f%player_join_date%\n &7Last Seen: &f%player_last_seen%\n &7Past Clans: &f%player_past_clans%\n &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
|
||||
accepted.invitation=&bYou have accepted {0}''s invitation
|
||||
@@ -814,6 +808,7 @@ cannot.change.member.fee.now=&cYou cannot change the member fee close to its col
|
||||
cannot.change.member.fee.hours=&cTry again in {0} hours...
|
||||
cannot.change.member.fee.minutes=&cTry again in {0} minute(s)...
|
||||
cannot.kick.last.leader=&cYou cannot kick the last leader!
|
||||
cannot.disband.permanent=&cYou cannot disband this clan. It has permanent status.
|
||||
you.can.only.set.base.in.your.land=&cYou can only set home in your land!
|
||||
only.leaders.can.create.lands=&cOnly leaders can create lands!
|
||||
only.one.land.per.clan=&cYour clan already has a land!
|
||||
@@ -825,3 +820,12 @@ land.blocked.action=&bBlocked action!
|
||||
you.do.not.own.lands=&cYou do not own a land!
|
||||
land.sharing.disabled=&cLand sharing is disabled!
|
||||
war.expired=The war with {0} has expired!
|
||||
you.cant.start.war.online.members.difference=You can''t start the war. One clan has more members online than the other.
|
||||
|
||||
land.command=land
|
||||
break.command=break
|
||||
interact.command=interact
|
||||
place_block.command=place_block
|
||||
damage.command=damage
|
||||
interact_entity.command=interact_entity
|
||||
container.command=container
|
||||
@@ -0,0 +1,8 @@
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -14,9 +14,32 @@ list.type.founded=nalezen
|
||||
list.type.active=aktivní
|
||||
profile.command=profil
|
||||
roster.command=roster
|
||||
leaderboard.command=žebříček
|
||||
ally.command=spojenec
|
||||
add.command=přidat
|
||||
remove.command=odstranit
|
||||
allow.command=povolit
|
||||
assign.command=přiřadit
|
||||
rival.command=soupeř
|
||||
war.command=válka
|
||||
acf-core.parameter.member=člen
|
||||
acf-core.parameter.rank=hodnost
|
||||
acf-core.parameter.leader=vůdce
|
||||
acf-core.parameter.name=jmeno
|
||||
acf-core.parameter.description=popis
|
||||
command.description.create=Vytvoří klan
|
||||
leader=vůdce
|
||||
roster=roster
|
||||
profile=profil
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
add=přidat
|
||||
remove=odstranit
|
||||
allow=povolit
|
||||
war=válka
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
description.command=beschreibung
|
||||
description.command=Deschreibung
|
||||
create.command=erstellen
|
||||
delete.command=löschen
|
||||
rank.command=rang
|
||||
permissions.command=berechtigung
|
||||
list.command=liste
|
||||
list.type.name=name
|
||||
rank.command=Rang
|
||||
setdisplayname.command=setdisplayname
|
||||
setdefault.command=setdefault
|
||||
removedefault.command=removedefault
|
||||
permissions.command=Berechtigungen
|
||||
list.command=Liste
|
||||
list.order.asc=aufsteigend
|
||||
list.order.desc=absteigend
|
||||
list.type.name=Name
|
||||
list.type.kdr=kdr
|
||||
list.type.size=groesse
|
||||
list.type.founded=gegründet
|
||||
list.type.active=aktiv
|
||||
profile.command=profil
|
||||
roster.command=mitglieder
|
||||
@@ -21,7 +28,7 @@ add.command=anlegen
|
||||
remove.command=entfernen
|
||||
allow.command=zulassen
|
||||
block.command=blockieren
|
||||
auto.command=auto
|
||||
auto.command=automatisch
|
||||
check.command=prüfen
|
||||
assign.command=zuweisen
|
||||
unassign.command=aufheben
|
||||
@@ -44,6 +51,7 @@ purge.command=bereinigen
|
||||
trust.command=vertrauen
|
||||
untrust.command=vertrauen entziehen
|
||||
admin.command=admin
|
||||
mod.command=mod
|
||||
promote.command=befördern
|
||||
demote.command=herunterstufen
|
||||
clanff.command=clanff
|
||||
@@ -56,17 +64,19 @@ unban.command=unban
|
||||
reload.command=reload
|
||||
globalff.command=globalff
|
||||
kills.command=kills
|
||||
mostkilled.command=mostkilled
|
||||
mostkilled.command=am meisten getötet
|
||||
war.command=krieg
|
||||
start.command=start
|
||||
end.command=ende
|
||||
home.command=home
|
||||
home.command=Basis
|
||||
regroup.command=regroup
|
||||
me.command=ich
|
||||
tp.command=tp
|
||||
setrank.command=setrank
|
||||
place.command=platzieren
|
||||
resetkdr.command=zurücksetzen kdr
|
||||
everyone.command=jeder
|
||||
setbanner.command=setbanner
|
||||
help.command=hilfe
|
||||
acf-core.parameter.member=mitglieder
|
||||
acf-core.parameter.rank=rang
|
||||
@@ -74,6 +84,8 @@ acf-core.parameter.leader=anfuehrer
|
||||
acf-core.parameter.displayname=anzeigename
|
||||
acf-core.parameter.permission=berechtigung
|
||||
acf-core.parameter.message=nachricht
|
||||
acf-core.parameter.tag=markieren
|
||||
acf-core.parameter.name=Name
|
||||
acf-core.parameter.fee=gebühr
|
||||
acf-core.parameter.description=beschreibung
|
||||
acf-core.parameter.player=spieler
|
||||
@@ -81,9 +93,114 @@ 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.land.allow.all=Erlaubt alle Aktionen in deinem Land
|
||||
command.description.land.allow.interact_entity=Ermöglicht Gildenmitgliedern die Interaktion mit Entitäten in deinem Land
|
||||
command.description.land.allow.interact=Ermöglicht Clan-Mitgliedern mit deinem Land zu interagieren
|
||||
command.description.land.allow.container=Erlaubt es Clan-Mitgliedern, Container in deinem Land zu öffnen
|
||||
command.description.land.allow.place=Ermöglicht Clan Mitgliedern Blöcke in deinem Land zu platzieren
|
||||
command.description.land.allow.break=Ermöglicht Clan Mitgliedern Blöcke in deinem Land zu zerstören
|
||||
command.description.land.allow.damage=Ermöglicht Clan-Mitgliedern, Schaden in Ihrem Land zu verursachen
|
||||
command.description.land.block.all=Blockiert alle Aktionen in deinem Land
|
||||
command.description.land.block.interact_entity=Blockiert Clan-Mitgliedern die Interaktion mit Entitäten in deinem Land
|
||||
command.description.land.block.interact=Blockiert Clan-Mitgliedern mit deinem Land zu interagieren
|
||||
command.description.land.block.container=Blockiert es Clan-Mitgliedern, Container in deinem Land zu öffnen
|
||||
command.description.land.block.place=Blockiert Clan Mitgliedern Blöcke in deinem Land zu platzieren
|
||||
command.description.land.block.break=Blockiert Clan Mitgliedern Blöcke in deinem Land zu zerstören
|
||||
command.description.land.block.damage=Ermöglicht Clan-Mitgliedern, Schaden in Ihrem Land zu verursachen
|
||||
command.description.stats=Zeigt die Mitgliederstatistik deines Clans an
|
||||
command.description.rivalries=Zeigt alle Clan-Rivalitäten
|
||||
command.description.mostkilled=Am meisten getötete Spieler (Server-weit)
|
||||
command.description.kills=Anzahl deiner Kills oder eines anderen Spielers
|
||||
command.description.lookup=Zeigt deine Informationen an
|
||||
command.description.lookup.other=Zeigt die Informationen eines anderen Spielers an
|
||||
command.description.leaderboard=Zeigt die Bestenliste
|
||||
command.description.roster.other=Listet Mitglieder eines anderen Clans auf
|
||||
command.description.roster=Listet Mitglieder deines Clans auf
|
||||
command.description.profile.other=Zeigt das Profil eines anderen Clans
|
||||
command.description.profile=Zeigt das Profil deines Clans
|
||||
command.description.vitals=Zeigt die Vitalwerte deines Clans und deiner Verbündeten an
|
||||
command.description.list=Listet alle Clans
|
||||
command.description.chat=Schreibe im Clan Chat
|
||||
command.description.ally=Schreibe im Allianz Chat
|
||||
command.description.deny=Lehnt eine Anfrage ab
|
||||
command.description.accept=Anfrage akzeptieren
|
||||
command.description.more=Mehr Informationen anzeigen
|
||||
command.description.create=Erstellt einen Clan
|
||||
command.description.ff.allow=Setzt dein persönliches Freundliches Feuer auf erlaubt
|
||||
command.description.ff.auto=Setzt dein persönliches Freundliches Feuer auf automatisch
|
||||
command.description.globalff.allow=Setzt das globale Freundliche Feuer auf erlaubt
|
||||
command.description.globalff.auto=Setzt das globale Freundliche Feuer auf auto
|
||||
command.description.clanff.allow=Setzt das Freundliche Feuer des Clans auf erlaubt
|
||||
command.description.clanff.block=Setzt das Freundliche Feuer des Clans auf auto
|
||||
command.description.description=Clanbeschreibung festlegen
|
||||
command.description.ban=Bannt einen Spieler von Clan-Befehlen
|
||||
command.description.unban=Entbannt einen Spieler von Clan-Befehlen
|
||||
command.description.regroup.me=Gruppiert deine Gildenmitglieder an deinen Standort
|
||||
command.description.regroup.home=Gruppiert deine Gildenmitglieder bei deiner Basis
|
||||
command.description.home.tp=Teleportiert dich zu deiner Clan Basis
|
||||
command.description.home.clear=Löscht die Basis deines Clans
|
||||
command.description.home.set=Legt die Basis deines Clans fest
|
||||
command.description.mod.home.set=Setzt die Basis eines Clans
|
||||
command.description.mod.home.tp=Teleportiert dich zu einer Clan Basis
|
||||
command.description.rival.remove=Entfernt einen Rivalen
|
||||
command.description.rival.add=Fügt Rivalen hinzu
|
||||
command.description.ally.remove=Entfernt einen Verbündeten
|
||||
command.description.kick=Wirf ein Mitglied aus deinem Clan
|
||||
command.description.bb.display=Zeige das schwarze Brett deines Clans
|
||||
command.description.bb.clear=Lösche das schwarze Brett deines Clans
|
||||
command.description.bb.post=Schreibe eine Nachricht auf das schwarze Brett deines Clans
|
||||
command.description.place=Fügt einen Spieler dem Clan hinzu
|
||||
command.description.reload=Lädt das Plugin und die Konfiguration neu
|
||||
command.description.trust=Vertraue einem Clan-Mitglied
|
||||
command.description.untrust=Vertrauen eines Clan-Mitglied zurückziehen
|
||||
command.description.resign=Verlasse deinen Clan
|
||||
command.description.help=Zeige die Hilfe an oder suche in ihr
|
||||
command.description.ally.add=Eine Allianz hinzufügen
|
||||
command.description.clan=Öffnet die GUI
|
||||
command.description.disband=Löse deinen Clan auf
|
||||
command.description.mod.disband=Löst einen Clan auf
|
||||
command.description.mod.kick=Verbanne ein Mitglied aus deinem Clan
|
||||
command.description.modtag=Ändere deinen Clan-Tag
|
||||
command.description.purge=Löscht die Daten von Spieler
|
||||
command.description.setbanner=Setze den Banner deines Clans
|
||||
command.description.verify=Lasse deinen Clan verifizieren
|
||||
command.description.mod.verify=Verifiziere einen Clan
|
||||
command.description.invite=Lade einen Spieler zu deinem Clan ein
|
||||
command.description.fee.check=Überprüft ob eine Clangebühr aktiviert ist und wie hoch diese eingestellt ist
|
||||
command.description.fee.set=Bestimme die Clangebühr
|
||||
command.description.bank.status=Überprüfe den Kontostand von deinem Clan
|
||||
command.description.bank.withdraw.all=Hebe den kompletten Kontostand von deinem Clankonto ab
|
||||
command.description.bank.withdraw.amount=Hebe einen bestimmten Betrag von deinem Clankonto ab
|
||||
command.description.bank.deposit.all=Überweise dein komplettes Geld auf das Konto deines Clans
|
||||
command.description.bank.deposit.amount=Überweise einen bestimmten Betrag auf das Konto deines Clans
|
||||
command.description.war.start=Startet einen Krieg mit einem anderen Clan
|
||||
command.description.war.end=Beende einen Clankrieg
|
||||
command.description.resetkdr.everyone=Alle KDR zurücksetzen
|
||||
command.description.resetkdr.player=KDR eines Spielers zurücksetzen
|
||||
command.description.resetkdr=KDR zurücksetzen
|
||||
command.description.admin.demote=Degradiert jeden Anführer von jedem Clan
|
||||
command.description.demote=Degradiere einen Calnführer
|
||||
command.description.admin.promote=Befördere jedes Mitglied von jedem Clan
|
||||
command.description.promote=Befördere ein Mitglied zum Anführer
|
||||
command.description.toggle.bb=Schaltet an, ob das Bulletinboard angezeigt werden soll, wenn du dich anmeldest
|
||||
command.description.toggle.tag=Schaltet an, ob der Tag deines Clans neben deinem Namen angezeigt werden soll
|
||||
command.description.toggle.deposit=Schalte um, ob Einzahlungen auf deinen Clan erlaubt sind
|
||||
command.description.toggle.withdraw=Schaltet um, ob Auszahlungen für deinen Clan erlaubt sind
|
||||
command.description.toggle.fee=Schaltet um, ob die Clan-Gebühr aktiviert ist
|
||||
command.description.alliances=Listet alle Gildenallianzen auf
|
||||
command.description.coords=Zeigt die Koordinaten der Mitglieder deines Clans an
|
||||
command.description.rank.assign=Einem Mitglied einen Rang zuweisen
|
||||
command.description.rank.unassign=Ein Mitglied aus einem Rang entfernen
|
||||
command.description.rank.create=Erstellt einen Rang
|
||||
command.description.rank.delete=Löscht einen Rang
|
||||
command.description.rank.list=Listet die Ränge deines Clans auf
|
||||
command.description.rank.setdisplayname=Legt den Anzeigenamen eines Rangs fest
|
||||
command.description.rank.setdefault=Legt den Standardrang fest
|
||||
command.description.rank.removedefault=Entfernt den Standardrang
|
||||
command.description.rank.permissions.available=Listet die verfügbaren Rangberechtigungen
|
||||
command.description.rank.permissions.rank=Listet die Berechtigungen eines Rangs auf
|
||||
command.description.rank.permissions.add=Fügt eine Berechtigung zu einem Rang hinzu
|
||||
command.description.rank.permissions.remove=Entfernt eine Berechtigung aus einem Rang
|
||||
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
|
||||
@@ -110,8 +227,9 @@ player=Spieler
|
||||
seen=Gesehen
|
||||
leader=Anführer
|
||||
roster=Dienstplan
|
||||
trusted=Vertrauenswürdiger
|
||||
untrusted=Unvertrauenswürdiger
|
||||
trusted=Vertrauenswürdig
|
||||
untrusted=Nicht Vertrauenswürdig
|
||||
in.rank=im Rang
|
||||
deaths=Tode
|
||||
weights=Gewichte
|
||||
stats=Statistiken
|
||||
@@ -119,6 +237,7 @@ health=Gesundheit
|
||||
armor=Rüstung
|
||||
weapons=Waffen
|
||||
food=Nahrung
|
||||
vitals=vitale
|
||||
verified=Verifiziert
|
||||
unverified=Nicht verifiziert
|
||||
profile=profil
|
||||
@@ -157,7 +276,13 @@ proposing.an.alliance={0} schlägt vor ein Allianz mit {1} einzugehen
|
||||
inviting.you.to.join={0} lädt dich zum Beitritt ein {1}
|
||||
asking.for.the.deletion={0} fragt nach einer Löschung des Clans
|
||||
asking.for.the.promotion={0} fragt nach einer Beförderung für {1}
|
||||
asking.for.the.demotion={0} möchte, dass {1} degradiert wird
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
request.message= \n &8[&8{0}&8] &b{1}\n %accept% &bor %deny%\n
|
||||
clickable.accept=&a&l[AKZEPTIEREN]
|
||||
clickable.deny=&c&l[ABLEHNEN]
|
||||
hover.click.to.accept=&aKlicken Sie hier, um zu akzeptieren
|
||||
hover.click.to.deny=&cKlicken Sie hier, um abzulehnen
|
||||
not.sufficient.money=Du hast nicht genügend Geld auf deinem Konto
|
||||
account.has.been.debited=Ihr Konto wurde belastet {0}
|
||||
mysql.connection.successful=Verbindung hergestellt
|
||||
@@ -170,6 +295,7 @@ clan.players=Clan Spieler\: {0}
|
||||
clans=Clans\: {0}
|
||||
banned=Dir wurde verboten Clan-Commands zu benutzen
|
||||
nothing.more.to.see=Nichts mehr zu sehen
|
||||
nothing.to.vote=&cNichts zum Akzeptieren oder Ablehnen
|
||||
no.leader.permissions=Du hast keine Anführer Berechtigungen
|
||||
you.have.already.voted=Du hast bereits abgestimmt
|
||||
has.voted.to.deny={0} hat fürs verweigern gestimmt
|
||||
@@ -183,8 +309,11 @@ clan.disbanded=Clan aufgelöst
|
||||
many.color.days={0}{1} Tage
|
||||
insufficient.permissions=Unzureichende Berechtigungen
|
||||
clan.is.not.verified=Clan ist nicht verifiziert
|
||||
player.not.a.member.of.any.clan=&cDer Spieler ist kein Mitglied eines Clans
|
||||
not.a.member.of.any.clan=Du bist kein Mitglied in einem Clan
|
||||
minimum.to.make.alliance=Dein Clan muss mindestens {0} Spieler haben um Allianzen zu bilden
|
||||
cannot.be.same.clan=&cDu musst einen anderen Clan als deinen einfügen\!
|
||||
other.clan.not.verified=&cDer andere Clan wurde nicht verifiziert\!
|
||||
your.clans.are.not.allies=Deine Clans sind keine Verbündeten
|
||||
has.broken.the.alliance={0} hat die Allianz mit {1} aufgelöst
|
||||
at.least.one.leader.accept.the.alliance=Mindestens ein Anführer des Clans muss online sein um die Allianz zu akzeptieren
|
||||
@@ -244,17 +373,62 @@ rank.0=Rang\: {0}
|
||||
kdr.0=KDR\: {0}
|
||||
inactive.0=Inaktiv\: {0}
|
||||
clan.commands=clan Befehle
|
||||
you.can.only.modify.the.color.and.case.of.the.tag=Du kannst nur die Farbe und die Gros- / Kleinschreibung dieses Tags ändern
|
||||
tag.changed.to.0=Tag geändert zu {0}
|
||||
0.tag.changed.to.1=&bErfolgreich den Tag von {0} zu {1} geändert
|
||||
name.0=Name\: {0}
|
||||
description.0=Beschreibung\: {0}
|
||||
leaders.0=Anführer\:{0}
|
||||
allies.0=Allianz\: {0}
|
||||
rivals.0=Rivalen\: {0}
|
||||
other.player.must.be.online=&cDer Spieler muss online sein\!
|
||||
the.player.does.not.have.the.permissions.to.lead.a.clan=Der Spieler hat nicht die Berechtigung einen Clan zu führen
|
||||
you.cannot.promote.yourself=Du kannst dich nicht selbst befördern\!
|
||||
the.player.is.already.a.leader=Der Spieler ist bereits Anführer
|
||||
configuration.reloaded=Konfiguration neugeladen
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=Letzter Anführer kann nicht zurücktreten. Du musst einen anderen Anführer ernennen oder den Clan auflösen
|
||||
0.has.resigned={0} ist zurückgetreten
|
||||
you.cannot.trust.yourself=Du kannst dir selbst nicht vertrauen
|
||||
leaders.are.already.trusted=Anführer sind bereits vertrauenswürdig
|
||||
this.player.is.already.trusted=Diesem Spieler wird schon vertraut
|
||||
has.been.given.trusted.status.by={1} vertraut nun dem Spieler {0}
|
||||
this.player.is.not.banned=Dieser Spieler ist nicht gebannt
|
||||
player.removed.from.the.banned.list=Spieler wurde von der Bannliste entfernt
|
||||
you.have.been.unbanned.from.clan.commands=Du wurdest von den Clan-Befehlen entbannt
|
||||
you.cannot.untrust.yourself=Du kannst dir nicht selbst Misstrauen
|
||||
leaders.cannot.be.untrusted=Anführern kann nicht Misstrauen werden
|
||||
this.player.is.already.untrusted=Diesem Spieler wird schon nicht vertraut
|
||||
has.been.given.untrusted.status.by={1} vertraut nun nicht mehr dem Spieler {0}
|
||||
the.clan.does.not.exist=Der Clan existiert nicht
|
||||
the.clan.is.already.verified=Der Clan ist bereits verifiziert
|
||||
the.clan.has.been.verified=Der Clan wurde verifiziert
|
||||
clan.0.has.been.verified=Gilde {0} wurde verifiziert\!
|
||||
total.clan.players.0=Gesamt Clan-Spieler\: {0}
|
||||
proposing.war={0} schlägt vor, mit dem Clan {1} einen Krieg zu beginnen
|
||||
you.can.only.start.war.with.rivals=Du kannst einen Krieg nur mit einem Rivalen beginnen
|
||||
leaders.have.been.asked.to.accept.the.war.request={0} Anführer wurden angefragt die Kriegsanfrage anzunehmen
|
||||
leaders.asked.to.end.rivalry={0} Anführer wurden gebeten den Clankrieg zu beenden
|
||||
proposing.to.end.the.war={0} möchte den Clankrieg mit {1} beenden
|
||||
clans.already.at.war=Deine Clans sind bereits in einem Krieg
|
||||
clans.not.at.war=Keiner deiner Clans führen aktuell einen Krieg
|
||||
you.are.at.war={0} ist ist aktuell in einem Krieg mit {1}
|
||||
denied.war.req={0} hat die Anfrage zu einem Clankrieg von {1} nicht angenommen
|
||||
you.are.no.longer.at.war={0} ist nicht mehr in einem Krieg mit {1}
|
||||
end.war.denied=Dein Antrag um den Krieg zu beenden wurde von {0} abgelehnt
|
||||
denied.war.end=Der Antrag von {0} um den Krieg zu beenden wurde von {1} abgelehnt
|
||||
has.initiated.a.rivalry={0} hat eine Rivalität mit {1} initiiert
|
||||
start=start
|
||||
end=ende
|
||||
add=anlegen
|
||||
remove=entfernen
|
||||
allow=zulassen
|
||||
block=blockieren
|
||||
auto=automatisch
|
||||
war=krieg
|
||||
0.s.sword.1.2.b.bow.3.4.a.arrow={0}S\=Schwert{1}, {2}B\=Bogen{3}, {4}P\=Pfeile
|
||||
weapon.S=S
|
||||
weapon.B=B
|
||||
weapon.A=P
|
||||
materials=Materialien
|
||||
armor.h=H
|
||||
armor.c=B
|
||||
armor.l=H
|
||||
@@ -269,6 +443,8 @@ hunger=Hunger
|
||||
stone=Stein
|
||||
iron=Eisen
|
||||
the.clan.cannot.be.rivaled=Der Clan kann nicht rivalieren
|
||||
bboff=BB ausgeschaltet
|
||||
bbon=BB angeschaltet
|
||||
tagoff=Kürzel ausgeschaltet
|
||||
tagon=Kürzel eingeschaltet
|
||||
depositon=Einzahlung eingeschaltet
|
||||
@@ -293,9 +469,227 @@ join=beitreten
|
||||
mute=stummschalten
|
||||
player.rank.changed=Rang würde gesetzt
|
||||
your.clans.are.already.rivals=Eure Clans sind bereits Rivalen
|
||||
player.got.money=Du hast für das töten von {1} Spielern basieren auf deiner KDR ({2}) {0} Geld bekommen
|
||||
cleared.bb=Das schwarze Brett wurde gelöscht
|
||||
clan.balance=Clan-Kontostand\: {0}
|
||||
bb.fee.player.kicked={0} wurde aus dem Clan geschmissen, da er/sie die Clangebühr nicht bezahlt hat
|
||||
bb.fee.set=Die Clangebühr beträgt {0} $
|
||||
bb.clan.deposit=Es wurden {0} $ überwiesen
|
||||
player.clan.deposit=Du hast {0} überwiesen
|
||||
bb.clan.withdraw=Es wurden {0} $ abgebucht
|
||||
player.clan.withdraw=Du hast {0} abgebucht
|
||||
clan.bank.not.enough.money=Das Konto von deinem Clan ist nicht ausreichend gedeckt
|
||||
your.clans.are.not.rivals=Eure Clans sind keine Rivalen
|
||||
the.clan.members.reached.limit=Dein Clan hat das Limit an Clanmitglieder erreicht
|
||||
you.have.reseted.your.kdr=Du hast deine KDR zurückgesetzt
|
||||
you.have.reseted.0.kdr=Du hast die KDR von {0} zurückgesetzt
|
||||
you.have.reseted.kdr.of.all.players=Du hast die KDR von allen Spielern zurückgesetzt
|
||||
resign.yes=Ja
|
||||
resign.no=Nein
|
||||
resign.confirmation=Bist du sicher dass du zurücktreten möchtest, {0}?
|
||||
resign.success=Du bist erfolgreich aus deinem Clan ausgetreten
|
||||
you.cannot.demote.the.last.leader=Du kannst den letzten Anführer nicht degradieren
|
||||
you.cannot.move.the.last.leader=Du kannst den letzten Anführer nicht versetzen
|
||||
player.successfully.demoted=Der Spieler wurde erfolgreich degradiert
|
||||
player.successfully.promoted=Der Spieler wurde erfolgreich befördert
|
||||
bb.one.minute=1 Minute
|
||||
bb.one.hour=1 Stunde
|
||||
bb.days= tage
|
||||
bb.one.day=1 Tag
|
||||
the.fee.is.0.and.its.current.value.is.1=Die Clangebühr ist {0} und hat einen aktuellen Betrag von {1} $
|
||||
fee.enabled=aktiviert
|
||||
fee.disabled=deaktiviert
|
||||
fee.set=Die Clangebühr wurde erfolgreich aktualisiert
|
||||
max.fee.allowed.is.0=Max. zulässige Gebühr ist {0}
|
||||
fee.collected=Es wurden dir {0} $ für die Clangebühr abgezogen
|
||||
player.purged=Der Spieler wurde erfolgreich entfernt
|
||||
upkeep.collected=Es wurden {0} $ für den Unterhalt abgezogen
|
||||
balance.is.not.enough.for.upkeep=Das Clankonto ist für den Unterhalt in höhe von {0} $ nicht ausreichend gedeckt. Überweise den Betrag von {0} $ auf dein Clankonto, um zu verhindern aufgelöst zu werden.
|
||||
your.clan.description.must.be.longer.than=Die Clanbeschreibung muss mehr als {0} Zeichen betragen
|
||||
your.clan.description.cannot.be.longer.than=Deine Clanbeschreibung darf nicht länger als {0} Zeichen betragen
|
||||
description.changed=Du hast erfolgreich die Beschreibung deines Clans geändert
|
||||
no.description=Keine Beschreibung
|
||||
the.player.must.wait.0.before.joining.your.clan.again=Dieser Spieler muss {0} Minute(n) warten, bevor er erneut deinem Clan beitreten kann
|
||||
disabled.command=Deaktivierter Befehl
|
||||
rank.displayname.updated=Der Anzeigename des Ranges wurde aktualisiert\!
|
||||
rank.setdefault=Der Standardrang des Clans wurde zu {0} gesetzt
|
||||
rank.removedefault=Der Standardrang des Clans wurde entfernt
|
||||
rank.0.permissions=Rang {0}''s Berechtigungen\:
|
||||
available.rank.permissions=Verfügbare Berechtigungen für Ränge\:
|
||||
rank.already.exists=Rang existiert bereits
|
||||
rank.0.does.not.exist=Rang {0} existiert nicht
|
||||
rank.created=Rang erstellt
|
||||
permission.0.added.to.rank.1=Die Berechtigung {0} wurde dem Rang {1} hinzugefügt
|
||||
permission.0.removed.from.rank.1=Die Berechtigung {0} wurde von dem Rang {1} entfernt
|
||||
rank.0.deleted=Rang {0} gelöscht
|
||||
clans.ranks=Clan Ränge\:
|
||||
ranks.list.item={0}\# {1} ({2})
|
||||
no.ranks=Keine Ränge erstellt
|
||||
rank.no.permissions=Dieser Rang hat bisher keinerlei Berechtigungen
|
||||
player.unassigned.from.rank=Spieler ist dem Rang nicht zugewiesen
|
||||
you.must.be.0.or.have.the.permission.1.to.use.this=Du musst {0} sein, oder dein Anführer muss deinem Rang die die Berechtigung {1} geben, um dies zu benutzen
|
||||
deposit.not.allowed=Überweisung ist nicht erlaubt. Benutze /%clan %toggle %deposit um die Überweisung zu erlauben
|
||||
withdraw.not.allowed=Abbuchen ist nicht erlaubt. Benutze /%clan %toggle %withdraw um das Abbuchen zu erlauben
|
||||
resign.request.cancelled=Rücktrittsanfrage abgebrochen
|
||||
promotion.vote.has.been.requested.from.all.leaders=Das Wählen der Beförderung wurde von allen Anführern angefordert
|
||||
allowed=erlaubt
|
||||
blocked=blockiert
|
||||
chat.joined=beigetreten
|
||||
chat.not.joined=nicht beigetreten
|
||||
gui.loading=&7Wird geladen...
|
||||
gui.back.title=&fZurück
|
||||
gui.previous.page.title=&fVorherige Seite
|
||||
gui.next.page.title=&fNächste Seite
|
||||
gui.lore.no.permission=&cDu hast keine Berechtigung, dies zu sehen\!
|
||||
gui.main.title={0} - Clan-Menü
|
||||
gui.main.languageselector.title=&fWähle deine Sprache
|
||||
gui.main.languageselector.lore.left.click=&7Linksklick, um Ihre Sprache zu wählen
|
||||
gui.main.languageselector.lore.right.click=&7Rechtsklick um beim Übersetzen zu helfen
|
||||
gui.main.other.commands.title=&fAndere Befehle
|
||||
gui.main.other.commands.lore=&7Linksklick, um alle Clanbefehle anzuzeigen
|
||||
gui.main.clan.list.title=&fClan Liste
|
||||
gui.main.clan.list.lore=&7Linksklick, um die Clanliste anzuzeigen
|
||||
gui.main.reset.kdr.title=&f Setze KDR zurück
|
||||
gui.main.reset.kdr.lore.price=&7Preis\: &b{0}
|
||||
gui.main.reset.kdr.lore=&7Linksklick zum Zurücksetzen deiner KDR
|
||||
gui.main.leaderboard.title=&fRangliste
|
||||
gui.main.leaderboard.lore=&7Linksklick, um die Rangliste zu sehen
|
||||
gui.main.staff.title=&fTeam
|
||||
gui.main.staff.lore=&7Linksklick zum Öffnen des Team Menüs
|
||||
gui.staff.title=Team
|
||||
gui.staff.clan.list.lore.left.click=&7Linksklick um alle Clans zu sehen
|
||||
gui.staff.clan.list.lore.right.click=&7Rechtsklick um alle Clans anzeigen zu lassen, welche nicht verifiziert sind
|
||||
gui.player.list.title=Spieler Liste
|
||||
gui.staff.player.list.title=&fSpieler Liste
|
||||
gui.staff.player.list.lore.left.click=&7Linksklick um alle Spieler anzuzeigen
|
||||
gui.staff.player.list.lore.right.click=&7Rechtsklick um alle Spieler anzuzeigen, die gerade online sind
|
||||
gui.staff.global.ff.title=&fGlobales Friendly Fire
|
||||
gui.staff.global.ff.lore.status=&7Status\: &b{0}
|
||||
gui.staff.global.ff.lore.toggle=&7Linksklick um den Friendly Fire Status umzuschalten
|
||||
gui.staff.reload.title=&fneu laden
|
||||
gui.staff.reload.lore=&7Linksklick um das Plugin neu zu laden
|
||||
gui.staff.clanlist.unverified.title=Anzahl nicht verifizierter Clans\: {0}
|
||||
gui.staff.clanlist.toplace.title=Wähle den neuen Clan von {0}
|
||||
gui.warning.title=Warnung
|
||||
gui.warning.no.permission.title=&fkeine Berechtigung
|
||||
gui.warning.no.permission.plugin.lore=&7Du hast nicht die ausreichende Berechtigung um diese Aktion auszuführen\!
|
||||
gui.warning.no.permission.leader.lore=&7Bist du einer der Anführer von dem Clans?
|
||||
gui.warning.no.permission.rank.lore=&/Du musst den Rang {0} besitzen oder dein Anführer muss deinem Rank die Berechtigung {1} geben um das zu benutzen\!
|
||||
gui.warning.not.verified.title=&fNicht verifiziert
|
||||
gui.warning.not.verified.lore=&7Dein Clan muss verifiziert sein\!
|
||||
gui.allies.title=Alliierte
|
||||
gui.allies.clan.lore=&7Rechtsklick um diese Allianz zu entfernen
|
||||
gui.allies.add.title=&fFüge eine Allianz hinzu
|
||||
gui.add.ally.title=Füge eine Allianz hinzu
|
||||
gui.add.ally.clan.lore=&7Linksklick um mit diesem Clan eine Allianz einzugehen
|
||||
gui.rivals.title=Rivalen
|
||||
gui.rivals.clan.lore=&7Rechtsklick um diese Rivalität zu beenden
|
||||
gui.rivals.add.title=&fStarte eine Rivalität
|
||||
gui.add.rival.title=Starte eine Rivalität
|
||||
gui.add.rival.clan.lore=&7Linksklick um mit diesem Clan eine Rivalität zu Starten
|
||||
gui.clanlist.title=Anzahl aller Clans\: {0}
|
||||
gui.clanlist.clan.title=&fClan\: [{0}&f] {1}
|
||||
gui.clanlist.clan.lore.position=&b\#{0}
|
||||
gui.clanlist.clan.lore.kdr=&7KDR\: &b{0}
|
||||
gui.clanlist.clan.lore.members=&Mitglieder\: &b{0}
|
||||
gui.coords.title=Koordinaten
|
||||
gui.coords.player.lore.distance=&7Distanz\: &b{0}
|
||||
gui.coords.player.lore.coords=&7Koordinaten\: &b{0} {1} {2}
|
||||
gui.coords.player.lore.world=&7Welt\: &b{0}
|
||||
gui.invite.title=Lade einen Spieler ein
|
||||
gui.invite.player.title=&f{0}
|
||||
gui.invite.player.price.lore=&7Preis\: &b{0}
|
||||
gui.invite.player.lore=&7Linksklick um einen Spieler einzuladen
|
||||
gui.roster.title=Dienstplan von {0}
|
||||
gui.roster.invite.title=&fEinladung
|
||||
gui.roster.invite.lore=&7Lade einen Spieler zu deinem Clan ein
|
||||
gui.leaderboard.title=Bestenliste - Spieler\: {0}
|
||||
gui.leaderboard.player.title=&f\#{0} {1}
|
||||
gui.ranks.title=Ränge
|
||||
gui.ranks.title.set.rank=Rang Setzten - Aktuell\: {0}
|
||||
gui.ranks.create.title=&fEinen Rang erstellen
|
||||
gui.ranks.create.lore=&7Linksklick um einen Rang zu erstellen
|
||||
gui.ranks.rank.title=&fRang\: {0}
|
||||
gui.ranks.rank.displayname.lore=&7Anzeigename\: &b{0}
|
||||
gui.ranks.rank.remove.lore=&7Rechtsklick um diesen Rang zu entfernen
|
||||
gui.ranks.rank.edit.permissions.lore=&7Linksklick um die Berechtigung des Rangs zu bearbeiten
|
||||
gui.ranks.rank.assign.lore=&7Linksklick um den Rang zu {0} zuzuweisen
|
||||
gui.permissions.title={0}''s Berechtigungen
|
||||
gui.permissions.add.title=&fFüge Berechtigungen hinzu
|
||||
gui.permissions.permission.title=&f{0}
|
||||
gui.permissions.permission.lore=&7Rechtsklick um diese Berechtigung von von dem Rang zu entfernen
|
||||
gui.add.permission.title=Berechtigung hinzufügen
|
||||
gui.add.permission.permission.title=&f{0}
|
||||
gui.add.permission.permission.lore=&7Linksklick um diese Berechtigung dem Rang hinzuzufügen
|
||||
gui.clandetails.title=[{0}] {1}
|
||||
gui.clandetails.free.agent.title=&fFreier Agent
|
||||
gui.clandetails.free.agent.create.clan.price.lore=&7Preis\: &b{0}
|
||||
gui.clandetails.free.agent.create.clan.lore=&7Linksklick, um einen Clan zu erstellen
|
||||
gui.clandetails.clan.title=&f[{0}&f] {1}
|
||||
gui.clandetails.clan.lore.description=&7Beschreibung\: &b{0}
|
||||
gui.clandetails.clan.lore.status=&7Status\: &b{0}
|
||||
gui.clandetails.clan.lore.leaders=&7Anführer\: &b{0}
|
||||
gui.clandetails.clan.lore.online.members=&7Mitglieder Online\: &b{0}/{1}
|
||||
gui.clandetails.clan.lore.kdr=&7KDR\: &b{0}
|
||||
gui.clandetails.clan.lore.kill.totals=&7Anzahl aller Kills\: &b[Rivalen\:{0} Neutral\:{1} Zivillisten\:{2}]
|
||||
gui.clandetails.clan.lore.deaths=&7Tode\: &b{0}
|
||||
gui.clandetails.clan.lore.fee=&7Gebühr\: &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=&7Allianz\: &b{0}
|
||||
gui.clandetails.clan.lore.rivals=&7Rivalen\: &b{0}
|
||||
gui.clandetails.clan.lore.founded=&7Gegründet\: &b{0}
|
||||
gui.clandetails.clan.lore.inactive=&7Inaktiv\:{0}/{1} Tage
|
||||
gui.clandetails.allies.title=&fAllianzen
|
||||
gui.clandetails.allies.lore=&7Linksklick um deine Allianzen anzuzeigen oder um neue einzugehen
|
||||
gui.clandetails.rivals.title=&fRivalen
|
||||
gui.clandetails.rivals.lore=&7Linksklick um deine Rivalitäten anzuzeigen oder neue hinzuzufügen
|
||||
gui.clandetails.roster.title=Dienstplan
|
||||
gui.clandetails.roster.lore=&7Linksklick, um die Mitglieder deines Clans zu sehen oder mehr einzuladen
|
||||
gui.staffclandetails.roster.lore=&7Linksklick, um die Mitglieder des Clans zu sehen
|
||||
gui.clandetails.coords.title=&fKoordinaten
|
||||
gui.clandetails.coords.lore=&7Linksklick, um die Koordinaten der Mitglieder deines Clans zu sehen
|
||||
gui.clandetails.home.title=&fHaus
|
||||
gui.clandetails.home.lore.teleport.price=&7Teleport-Preis\: &b{0}
|
||||
gui.clandetails.home.lore.teleport=&7Linksklick um zu deiner Clan Basis zu kommen
|
||||
gui.staffclandetails.home.lore.teleport=&7Linksklick um dich zur Basis deines Clans zu teleportieren
|
||||
gui.clandetails.home.lore.clear=&7Mittel-Klick um das Haus deines Clans zu löschen
|
||||
gui.clandetails.home.lore.set.price=&7Setze Preis\: &b{0}
|
||||
gui.clandetails.home.lore.set=&7Rechtsklick um das Haus deines Clans zu setzen
|
||||
gui.staffclandetails.home.lore.set=&7Rechtsklick um das Haus dieses Clans zu setzen
|
||||
gui.clandetails.regroup.title=&fRegruppieren
|
||||
gui.clandetails.regroup.lore.price=&7Preis\: &b{0}
|
||||
gui.clandetails.regroup.lore.home=&7Linksklick, um die Mitglieder des Clans neu zu gruppieren
|
||||
gui.clandetails.regroup.lore.me=&7Rechtsklick, um die Mitglieder deines Clans an deinem Standort neu zu gruppieren
|
||||
gui.clandetails.ff.title=&fFreundliches Feuer
|
||||
gui.clandetails.ff.personal.lore=&7Personal\: &b{0}
|
||||
gui.clandetails.ff.clan.lore=&7Clan\: &b{0}
|
||||
gui.clandetails.ff.personal.toggle.lore=&7Linksklick, um dein Friendly Fire umzuschalten
|
||||
gui.clandetails.ff.clan.toggle.lore=&7Rechtsklick, um das Friendly Fire deines Clans umzuschalten
|
||||
gui.clandetails.bank.title=&fBank
|
||||
gui.clandetails.bank.balance.lore=&7Kontostand\: &b{0}
|
||||
gui.clandetails.bank.withdraw.status.lore=&7Auszahlung\: &b{0}
|
||||
gui.clandetails.bank.deposit.status.lore=&7Einzahlung\: &b{0}
|
||||
gui.clandetails.bank.withdraw.toggle.lore=&7Mittel-Klick um den Status der Abhebungen umzuschalten
|
||||
gui.clandetails.bank.deposit.toggle.lore=&7Rechtsklick, um den Status der Einzahlung umzuschalten
|
||||
gui.clandetails.fee.title=&fGebühr
|
||||
gui.clandetails.fee.status.lore=&7Status\: &b{0}
|
||||
gui.clandetails.fee.value.lore=&7Wert\: &b{0}
|
||||
gui.clandetails.fee.toggle.lore=&7Linksklick um den Status der Gebühr umzuschalten
|
||||
gui.clandetails.rank.title=&fRang
|
||||
gui.clandetails.rank.lore=&7Linksklick um den Rang von dem Clan zu sehen und um ihn zu bearbeiten
|
||||
gui.clandetails.verified.title=&fVerifiziert
|
||||
gui.clandetails.not.verified.title=&fNicht verifiziert
|
||||
gui.clandetails.verify.price.lore=&7Preis\: &b{0}
|
||||
gui.clandetails.not.verified.lore=&7Linksklick um deinen Clan zu verifizieren
|
||||
gui.staffclandetails.not.verified.lore=&7Linksklick um diesen Clan zu verifizieren
|
||||
gui.clandetails.resign.title=&fZurücktreten
|
||||
gui.clandetails.resign.lore=&7Linksklick um aus deinem Clan zurückzutreten
|
||||
gui.clandetails.disband.title=&fAuflösen
|
||||
gui.clandetails.disband.lore=&7Middle-Klick, um deinen Clan aufzulösen
|
||||
gui.staffclandetails.disband.lore=&7Linksklick um diesen Clan aufzulösen
|
||||
gui.clandetails.chat.title=&fChat
|
||||
gui.clandetails.chat.clan.chat.lore=&7/{0} [message] - &bSendet eine Nachricht an den Clan Chat
|
||||
gui.clandetails.chat.clan.join.leave.lore=&7/{0} {1}/{2} - &bBetritt/verlässt den Clan-Chat
|
||||
@@ -327,9 +721,26 @@ gui.playerdetails.demote.lore.right.click=&7Rechtsklick zum Degradieren
|
||||
gui.playerdetails.assign.unassign.title=&fAssign/Unassign rank
|
||||
gui.playerdetails.assign.lore.left.click=&7Linksklick zum Zuweisen
|
||||
gui.playerdetails.unassign.lore.right.click=&7Rechtsklick zum Aufheben
|
||||
gui.playerdetails.trust.untrust.title=&fVertrauenswürdig/nicht Vertrauenswürdig
|
||||
gui.playerdetails.trust.untrust.title=&fVertrauenswürdig/Nicht Vertrauenswürdig
|
||||
gui.playerdetails.trust.lore.left.click=&7Linksklick zum Vertrauen
|
||||
gui.playerdetails.untrust.lore.right.click=&7Rechtsklick, um das Vertrauen aufzuheben
|
||||
gui.playerdetails.ban.unban.title=&fBannen/Entbannen
|
||||
gui.playerdetails.ban.left.click=&7Linksklick um diesen Spieler von Clans zu bannen
|
||||
gui.playerdetails.unban.right.click=&7Rechtsklick um diesen Spieler zu entbannen
|
||||
gui.playerdetails.resetkdr.lore=&7Linksklick um die KDR von diesem Spieler zurückzusetzen
|
||||
gui.playerdetails.purge.title=&fEntfernen
|
||||
gui.playerdetails.purge.lore=&7Linksklick um die Daten dieses Spielers zu entfernen
|
||||
gui.playerdetails.place.title=&fPlatzieren
|
||||
gui.playerdetails.place.lore=&7Linksklick, um einen Clan für diesen Spieler auszuwählen
|
||||
gui.languageselector.title=Sprachen - Aktuell\: {0}
|
||||
gui.languageselector.language.title=&f{0}
|
||||
gui.languageselector.language.lore.left.click=&7Linksklick, um dies als Ihre Sprache zu setzen
|
||||
gui.languageselector.language.lore.translation.status=&7Übersetzungsstatus\: &b{0}%
|
||||
gui.languageselector.language.lore.right.click=&7Rechtsklick um beim Übersetzen zu helfen
|
||||
gui.confirmation.title=Bestätigung
|
||||
gui.confirmation.confirm=&7Klicke hier, um zu bestätigen
|
||||
gui.confirmation.return=&7Hier klicken um zurückzukehren
|
||||
gui.not.supported=&cWährend dem Öffnen der GUI ist ein Fehler aufgetretren... Deaktivieren der GUI... Hast du die richtige Version heruntergeladen?
|
||||
staff.member.verify.clan=&cEin Admin muss deinen Clan verifizieren\!
|
||||
player.already.has.that.rank=&cDer Spieler hat bereits diesen Rang\!
|
||||
joined.clan.chat=&bDu bist dem Clan-Chat beigetreten
|
||||
@@ -343,5 +754,49 @@ 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
|
||||
insert.clan.tag=&bDem Clan einen Tag hinzufügen\:
|
||||
insert.clan.name=&bDem Clan einen Namen geben\:
|
||||
insert.rank.name=&bDen Rangnamen einfügen\:
|
||||
click.to.help.translating=&bKlicke auf diesen Link &r{0} &bum bei der Übersetzung zu helfen
|
||||
your.clan.must.have.members.to.verify=&cDein Clan muss mindestens {0} Mitglieder haben um verifiziert werden zu können\!
|
||||
you.must.hold.a.banner=&cDu musst einen Banner in deiner Hand halten\!
|
||||
you.changed.clan.banner=&bDu hast den Banner deines Clans geändert\!
|
||||
your.clan.already.verified=&cDein Clan ist bereits verifiziert\!
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
player.lookup.clanname=&e[&8%clan_color_tag%&e] &b%clan_name%
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
player.lookup.killtype=&7Kill-Typ\: %player_kill_type%\n
|
||||
player.lookup=\n&b%player_name%&7's Spielerinfo &8-------------------------------------------\n \n &7Clan\: &f%clan_name%\n &7Rang\: &f%player_rank%\n &7Status\: &f%player_status%\n &7KDR\: &e%player_kdr%\n &7Anzahl Kills\: &8[Rivale\:&f%player_rival_kills% &8Neutrale\:&f%player_neutral_kills% &8Zivilisten\:&f%player_civilian_kills%&8]\n &7Tode\: &f%player_deaths%\n &7Beitrittsdatum\: &f%player_join_date%\n &7Zuletzt gesehen\: &f%player_last_seen%\n &7Vergangene Clans\: &f%player_past_clans%\n &7Inaktiv\: &f%player_inactive_days%&7/&f%player_max_inactive_days% Tage\n %kill_type_line%
|
||||
economy.disabled=&cWirtschaft deaktiviert\!
|
||||
has.been.purged=Die Daten von {0} wurden entfernt
|
||||
accepted.invitation=&bDu hast die Einladung von {0} angenommen
|
||||
denied.invitation=&cDu hast die Einladung von {0} abgelehnt
|
||||
must.be.in.clan.to.pvp=&cDu und {0} müsst Mitglieder eines Clans sein um gegeneinander kämpfen zu können\!
|
||||
clans.not.at.war.pvp.denied=&cDein clan ist nicht mit {0} im Krieg\!
|
||||
cannot.attack.civilians=&cDu kannst keine Zivilisten angreifen\!
|
||||
cannot.attack.clan.member=&cDu kannst kein anderes Clanmitglied angreifen\!
|
||||
cannot.attack.ally=&cDu kannst keine Allianz angreifen\!
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
cannot.change.member.fee.now=&cWährend die Clangebühr eingezogen wird, kannst du diese nicht ändern.
|
||||
cannot.change.member.fee.hours=&cVersuche es in {0} Stunden erneut...
|
||||
cannot.change.member.fee.minutes=&cVersuche es in {0} Minute(n)...
|
||||
cannot.kick.last.leader=&cDu kannst den letzten Anführer nicht rauswerfen\!
|
||||
you.can.only.set.base.in.your.land=&cDu kannst dein Zuhause nur auf deinem eigenen Land in Anspruch nehmen\!
|
||||
only.leaders.can.create.lands=&cNur ein Anführer kann ein Land erstellen\!
|
||||
only.one.land.per.clan=&cDein Clan besitzt bereits ein Land\!
|
||||
only.clan.members.can.create.lands=&cNur Clanmitglieder können Land erstellen\!
|
||||
land.allowed.all.actions=&bAlle Aktionen sind nun erlaubt\!
|
||||
land.blocked.all.actions=&bAlle Aktionen sind nicht mehr erlaubt\!
|
||||
land.allowed.action=&bErlaubte Aktion\!
|
||||
land.blocked.action=&bVerbotene Aktion\!
|
||||
you.do.not.own.lands=&cDu besitzt kein Land\!
|
||||
land.sharing.disabled=&cDas Teilen von Land ist deaktiviert\!
|
||||
war.expired=Der Krieg mit {0} ist abgelaufen\!
|
||||
|
||||
land.command=Land
|
||||
break.command=Abbauen
|
||||
interact.command=interagieren
|
||||
place_block.command=place_block
|
||||
damage.command=Schaden
|
||||
interact_entity.command=interact_entity
|
||||
container.command=Behälter
|
||||
@@ -0,0 +1,8 @@
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -3,6 +3,8 @@ create.command=create
|
||||
delete.command=eliminar
|
||||
rank.command=rank
|
||||
setdisplayname.command=setdisplayname
|
||||
setdefault.command=setdefault
|
||||
removedefault.command=removedefault
|
||||
permissions.command=permisos
|
||||
list.command=list
|
||||
list.order.asc=asc
|
||||
@@ -22,10 +24,10 @@ vitals.command=vitals
|
||||
coords.command=coords
|
||||
stats.command=stats
|
||||
ally.command=ally
|
||||
add.command=añadir
|
||||
remove.command=eliminar
|
||||
allow.command=permitir
|
||||
block.command=bloquear
|
||||
add.command=add
|
||||
remove.command=remove
|
||||
allow.command=allow
|
||||
block.command=block
|
||||
auto.command=auto
|
||||
check.command=verificar
|
||||
assign.command=asignar
|
||||
@@ -49,6 +51,7 @@ purge.command=purge
|
||||
trust.command=trust
|
||||
untrust.command=untrust
|
||||
admin.command=admin
|
||||
mod.command=mod
|
||||
promote.command=promote
|
||||
demote.command=demote
|
||||
clanff.command=clanff
|
||||
@@ -63,8 +66,8 @@ globalff.command=globalff
|
||||
kills.command=kills
|
||||
mostkilled.command=mostkilled
|
||||
war.command=war
|
||||
start.command=iniciar
|
||||
end.command=terminar
|
||||
start.command=start
|
||||
end.command=end
|
||||
home.command=home
|
||||
regroup.command=reagrupar
|
||||
me.command=yo
|
||||
@@ -82,6 +85,7 @@ acf-core.parameter.displayname=nombre de pantalla
|
||||
acf-core.parameter.permission=permisos
|
||||
acf-core.parameter.message=mensaje
|
||||
acf-core.parameter.tag=etiqueta
|
||||
acf-core.parameter.name=nombre
|
||||
acf-core.parameter.fee=tarifa
|
||||
acf-core.parameter.description=descripcion
|
||||
acf-core.parameter.player=jugador
|
||||
@@ -89,6 +93,20 @@ 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.land.allow.all=Permite todas las acciones en tu tierra
|
||||
command.description.land.allow.interact_entity=Permite a los miembros del clan interactuar con entidades en tu tierra
|
||||
command.description.land.allow.interact=Permite a los miembros del clan interactuar con tu tierra
|
||||
command.description.land.allow.container=Permite a los miembros del clan abrir contenedores en tu tierra
|
||||
command.description.land.allow.place=Permite a los miembros del clan colocar bloques en tu tierra
|
||||
command.description.land.allow.break=Permite a los miembros del clan romper bloques en tu tierra
|
||||
command.description.land.allow.damage=Permite a los miembros del clan causar daño en tu tierra
|
||||
command.description.land.block.all=Bloquea todas las acciones en tu tierra
|
||||
command.description.land.block.interact_entity=Bloquea a los miembros del clan de interactuar con entidades en tu tierra
|
||||
command.description.land.block.interact=Bloquea que los miembros del clan interactúen con tu tierra
|
||||
command.description.land.block.container=Bloquea a los miembros del clan de abrir contenedores en tu tierra
|
||||
command.description.land.block.place=Bloquea a los miembros del clan de colocar bloques en tu tierra
|
||||
command.description.land.block.break=Bloquea a los miembros del clan de romper bloques en tu tierra
|
||||
command.description.land.block.damage=Bloquea a los miembros del clan de causar daño en tu tierra
|
||||
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
|
||||
@@ -141,6 +159,7 @@ 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.mod.kick=Expulsa a un jugador del 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
|
||||
@@ -163,6 +182,7 @@ 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.admin.permanent=Cambia el estado permanente de cualquier clan
|
||||
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
|
||||
@@ -176,6 +196,8 @@ 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.setdefault=Establece el rango por defecto
|
||||
command.description.rank.removedefault=Elimina el rango predeterminado
|
||||
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
|
||||
@@ -208,6 +230,7 @@ leader=lider
|
||||
roster=lista
|
||||
trusted=confiado
|
||||
untrusted=no confiado
|
||||
in.rank=en rango
|
||||
deaths=Muertes
|
||||
weights=Cargas
|
||||
stats=estadisticas
|
||||
@@ -218,6 +241,7 @@ food=Comida
|
||||
vitals=vitalidad
|
||||
verified=Verificado
|
||||
unverified=No Verificado
|
||||
permanent=Permanente
|
||||
profile=perfil
|
||||
civilian.abbreviation=Civ
|
||||
rank=Rango
|
||||
@@ -256,6 +280,11 @@ asking.for.the.deletion={0} esta solicitando la eliminacion del clan
|
||||
asking.for.the.promotion={0} esta solicitando promover a {1}
|
||||
asking.for.the.demotion={0} esta solicitando degradar a {1}
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
request.message= \n &8[&8{0}&8] &b{1}\n %accept% &bo %deny%\n
|
||||
clickable.accept=&a&l[ACEPTAR]
|
||||
clickable.deny=&c&l[RECHAZAR]
|
||||
hover.click.to.accept=&aClick aquí para aceptar
|
||||
hover.click.to.deny=&cClick aquí para rechazar
|
||||
not.sufficient.money=No tienes suficiente dinero en tu cuenta
|
||||
account.has.been.debited=Se ha descontado de tu cuenta {0}
|
||||
mysql.connection.successful=MySQL Connection successful
|
||||
@@ -348,6 +377,7 @@ inactive.0=Inactivo\: {0}
|
||||
clan.commands=comandos de clan
|
||||
you.can.only.modify.the.color.and.case.of.the.tag=Solo se puede modificar el color de la etiqueta
|
||||
tag.changed.to.0=Tag cambiado a {0}
|
||||
0.tag.changed.to.1=&bTag correctamente cambiado de {0} a {1}
|
||||
name.0=Nombre\: {0}
|
||||
description.0=Descripcion\: {0}
|
||||
leaders.0=Lideres\: {0}
|
||||
@@ -358,7 +388,7 @@ the.player.does.not.have.the.permissions.to.lead.a.clan=El jugador no tiene perm
|
||||
you.cannot.promote.yourself=No puedes promoverte a ti mismo
|
||||
the.player.is.already.a.leader=El jugador ya es un lider
|
||||
configuration.reloaded=Configuracion reiniciada
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=El ultimo lider no puede abandonar. Debes agregar un nuevo lider o disolver el clan.
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=El ultimo lider no puede abandonar el clan. Debes elegir otro lider o deshacer el clan
|
||||
0.has.resigned={0} ha abandonado
|
||||
you.cannot.trust.yourself=No puedes ponerte como confiable a vos mismo
|
||||
leaders.are.already.trusted=Lideres ya son confiables
|
||||
@@ -405,7 +435,7 @@ materials=Materiales
|
||||
armor.h=H
|
||||
armor.c=C
|
||||
armor.l=L
|
||||
armor.B=B
|
||||
armor.B=A
|
||||
diamond=diamante
|
||||
gold=oro
|
||||
wood=madera
|
||||
@@ -457,18 +487,18 @@ the.clan.members.reached.limit=La cantidad de miembros de tu clan llego al limit
|
||||
you.have.reseted.your.kdr=Has reseteado tu KDR
|
||||
you.have.reseted.0.kdr=Has reseteado el KDR de {0}
|
||||
you.have.reseted.kdr.of.all.players=Has reseteado el KDR de todos los jugadores
|
||||
you.have.toggled.permanent.status=Has cambiado el estado permanente para {0}
|
||||
permanent.status.enabled=El estado permanente de tu clan fue activado por {0}
|
||||
permanent.status.disabled=El estado permanente de tu clan fue desactivado por {0}
|
||||
resign.yes=Yes
|
||||
resign.no=No
|
||||
resign.confirmation=Estas seguro que quieres abandonar el clan? {0}
|
||||
resign.success=Has abandonado el clan exitosamente
|
||||
you.cannot.demote.the.last.leader=No puedes degradar al ultimo lider
|
||||
you.cannot.move.the.last.leader=No puedes mover al último líder
|
||||
player.successfully.demoted=El jugador fue degradado correctamente
|
||||
bb.ago= ago
|
||||
bb.moments=momentos
|
||||
bb.seconds= segundos
|
||||
bb.minutes= minutos
|
||||
player.successfully.promoted=El jugador fue ascendido con éxito
|
||||
bb.one.minute=1 minuto
|
||||
bb.hours= horas
|
||||
bb.one.hour=1 hora
|
||||
bb.days= dias
|
||||
bb.one.day=1 dia
|
||||
@@ -488,6 +518,8 @@ no.description=No hay descripcion
|
||||
the.player.must.wait.0.before.joining.your.clan.again=Este jugador debe esperar {0} minuto(s) antes de volver a entrar a tu clan
|
||||
disabled.command=Comando deshabilitado
|
||||
rank.displayname.updated=El nombre de muestra del clan fue actualizado\!
|
||||
rank.setdefault=El rango predeterminado del clan se ha establecido a {0}
|
||||
rank.removedefault=El rango predeterminado del clan ha sido eliminado
|
||||
rank.0.permissions=Permisos del Rango {0}\:
|
||||
available.rank.permissions=Permisos habilitados para rangos\:
|
||||
rank.already.exists=El rango ya existe
|
||||
@@ -502,7 +534,7 @@ 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=Depositos desactivados, usa /%clan %toggle %deposit para activarlo
|
||||
deposit.not.allowed=Deposit is not allowed
|
||||
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
|
||||
@@ -737,7 +769,7 @@ you.must.hold.a.banner=&cDebes tener un estandarte en tu mano\!
|
||||
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
|
||||
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_status%\n &7Lideres\: %clan_leaders%\n &7Miembros Conectados\: &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
|
||||
@@ -751,6 +783,29 @@ 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\!
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
cannot.change.member.fee.now=&cNo puedes cambiar la cuota de miembro cerca de su tiempo de recogida.
|
||||
cannot.change.member.fee.hours=&cInténtalo de nuevo en {0} horas...
|
||||
cannot.change.member.fee.minutes=&cInténtalo de nuevo en {0} minuto(s)...
|
||||
cannot.change.member.fee.minutes=&cInténtalo de nuevo en {0} minuto(s)...
|
||||
cannot.kick.last.leader=&cNo puedes expulsar al último líder\!
|
||||
cannot.disband.permanent=No puedes disolver este clan. Tiene un estatus de permanente.
|
||||
you.can.only.set.base.in.your.land=&cSolo puedes establecer tu casa en tu tierra\!
|
||||
only.leaders.can.create.lands=&cSolo los líderes pueden crear tierras\!
|
||||
only.one.land.per.clan=&cTu clan ya tiene una tierra\!
|
||||
only.clan.members.can.create.lands=&cSolo miembros del clan pueden crear tierras\!
|
||||
land.allowed.all.actions=&bAhora todas las acciones están activadas\!
|
||||
land.blocked.all.actions=&bAhora todas las acciones están bloqueadas\!
|
||||
land.allowed.action=&bAcción permitida\!
|
||||
land.blocked.action=&bAcción bloqueada\!
|
||||
you.do.not.own.lands=&cNo posees una tierra\!
|
||||
land.sharing.disabled=&cCompartir tierras está desactivado\!
|
||||
war.expired=La guerra con {0} ha terminado\!
|
||||
you.cant.start.war.online.members.difference=No puedes iniciar una guerra. Un clan tiene mas miembros conectados que el otro.
|
||||
|
||||
land.command=terreno
|
||||
break.command=romper
|
||||
interact.command=interactuar
|
||||
place_block.command=colocar_bloque
|
||||
damage.command=daño
|
||||
interact_entity.command=interactuar_entidad
|
||||
container.command=contenedor
|
||||
@@ -0,0 +1,8 @@
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -83,12 +83,20 @@ acf-core.parameter.permission=autorisation
|
||||
acf-core.parameter.message=message
|
||||
acf-core.parameter.tag=tag
|
||||
acf-core.parameter.name=nom
|
||||
acf-core.parameter.fee=frais
|
||||
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.stats=Montre les stats des membres de votre clan
|
||||
command.description.rivalries=Voir tous les rivaux du clan
|
||||
command.description.kills=Voir votre nombre de kills ou celui d'un autre joueur
|
||||
command.description.leaderboard=Voir le classement
|
||||
command.description.roster.other=Liste les membres d'un autre clan
|
||||
command.description.profile.other=Voir le profil d'un autre clan
|
||||
command.description.profile=Voir le profil de votre clan
|
||||
command.description.list=Liste de tous les clans
|
||||
command.description.chat=Parler dans le chat du clan
|
||||
command.description.ally=Parle dans le chat des alliés
|
||||
command.description.deny=Refuser une demande
|
||||
command.description.accept=Accepter une demande
|
||||
@@ -313,7 +321,6 @@ the.player.does.not.have.the.permissions.to.lead.a.clan=Le joueur n'a pas la per
|
||||
you.cannot.promote.yourself=Vous ne pouvez pas vous promouvoir vous-même
|
||||
the.player.is.already.a.leader=Le joueur est déjà un chef
|
||||
configuration.reloaded=Configuration rechargée
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=Le dernier chef ne peut pas démissionner. Vous devez nommer un autre chef ou dissoudre le clan
|
||||
0.has.resigned={0} a démissionné
|
||||
you.cannot.trust.yourself=Vous ne pouvez pas vous faire confiance
|
||||
leaders.are.already.trusted=Les chefs sont déjà de confiance
|
||||
@@ -418,12 +425,7 @@ resign.confirmation=Êtes-vous sûr de vouloir démissionner ? {0}
|
||||
resign.success=Vous avez démissionné de votre clan avec succès
|
||||
you.cannot.demote.the.last.leader=Vous ne pouvez pas rétrograder le dernier chef
|
||||
player.successfully.demoted=Le lecteur a été rétrogradé avec succès
|
||||
bb.ago= il y a
|
||||
bb.moments=moments
|
||||
bb.seconds= secondes
|
||||
bb.minutes= minutes
|
||||
bb.one.minute=1 minute
|
||||
bb.hours= heures
|
||||
bb.one.hour=1 heure
|
||||
bb.days= jours
|
||||
bb.one.day=1 jour
|
||||
@@ -477,6 +479,7 @@ gui.main.reset.kdr.lore.price=&7Prix\: &b{0}
|
||||
gui.main.reset.kdr.lore=&7Clic gauche pour réinitialiser votre KDR
|
||||
gui.main.leaderboard.title=&fClassement
|
||||
gui.main.leaderboard.lore=&fClique gauche pour voir le classement
|
||||
gui.staff.global.ff.lore.status=&fStatus\: {0}
|
||||
gui.warning.title=Avertissement
|
||||
gui.warning.no.permission.title=&fAucune permission
|
||||
gui.warning.no.permission.plugin.lore=Vous n'avez pas la permission pour effectuer cela\!
|
||||
@@ -597,6 +600,7 @@ 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.clandetails.chat.clan.status.lore=&fClan\: {0}
|
||||
gui.playerdetails.title={0}
|
||||
gui.playerdetails.player.title=&f{0}
|
||||
gui.playerdetails.player.lore.noclan=&fClan\: Aucun
|
||||
@@ -622,6 +626,7 @@ 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
|
||||
gui.languageselector.language.title=&f{0}
|
||||
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é
|
||||
@@ -631,4 +636,6 @@ your.clan.reached.max.alliances=&cVotre clan a atteint le nombre maximum d'allia
|
||||
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\!
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
description.command=Leírás
|
||||
setdefault.command=simabeallitasa
|
||||
removedefault.command=simatorlese
|
||||
list.type.founded=megalapítva
|
||||
acf-core.parameter.leader=vezető
|
||||
acf-core.parameter.description=Leírás
|
||||
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
|
||||
@@ -165,7 +170,6 @@ the.player.does.not.have.the.permissions.to.lead.a.clan=A játékosnak nincs jog
|
||||
you.cannot.promote.yourself=Nem reklámozhatod magad
|
||||
the.player.is.already.a.leader=A játékos már vezető szerepet játszik
|
||||
configuration.reloaded=A konfiguráció újratöltve
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=A legutóbbi vezető nem tud lemondani. Új vezetőt kell kijelölni vagy fel kell oszlatni a klánt
|
||||
0.has.resigned={0} lemondott
|
||||
you.cannot.trust.yourself=Nem bízhatsz magadban
|
||||
leaders.are.already.trusted=A vezetők már megbízhatóak
|
||||
@@ -238,8 +242,13 @@ 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
|
||||
bb.days= nap
|
||||
gui.allies.title=Szövetségesek
|
||||
gui.rivals.title=Versenytárs
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -2,12 +2,19 @@ description.command=descrizione
|
||||
create.command=crea
|
||||
delete.command=elimina
|
||||
rank.command=rango
|
||||
permissions.command=permessi
|
||||
list.order.asc=aSC
|
||||
profile.command=profilo
|
||||
roster.command=membri
|
||||
lookup.command=ricerca
|
||||
alliances.command=alleanze
|
||||
coords.command=coordinate
|
||||
stats.command=statistiche
|
||||
add.command=aggiungi
|
||||
remove.command=rimuovi
|
||||
allow.command=permetti
|
||||
block.command=blocca
|
||||
auto.command=automatico
|
||||
bank.command=banca
|
||||
admin.command=amministratore
|
||||
verify.command=verifica
|
||||
@@ -25,6 +32,17 @@ place.command=posiziona
|
||||
resetkdr.command=resetkdr
|
||||
everyone.command=tutti
|
||||
help.command=aiuto
|
||||
acf-core.parameter.rank=rango
|
||||
acf-core.parameter.leader=leader
|
||||
acf-core.parameter.description=descrizione
|
||||
command.description.stats=Mostra le statistiche dei membri del tuo clan
|
||||
command.description.rivalries=Mostra tutti i rivali del clan
|
||||
command.description.lookup.other=Cerca le informazioni di un giocatore
|
||||
command.description.leaderboard=Visualizza la classifica
|
||||
command.description.roster.other=Elenca i membri di un altro clan
|
||||
command.description.roster=Elenca i membri del tuo clan
|
||||
command.description.profile.other=Mostra il profilo di un altro clan
|
||||
command.description.profile=Mostra il profilo del tuo clan
|
||||
command.description.list=Mostra tutti i clan
|
||||
command.description.ally=Parli nella chat degli alleati
|
||||
command.description.deny=Rifiuta una richiesta
|
||||
@@ -56,11 +74,16 @@ 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.trust=Dai fiducia ad un membro
|
||||
command.description.untrust=Annulla la fiducia di un membro
|
||||
command.description.ally.add=Aggiungi un alleato
|
||||
command.description.clan=Apre la GUI
|
||||
command.description.disband=Sciogli il tuo clan
|
||||
command.description.mod.disband=Sciogli un clan
|
||||
command.description.mod.kick=Espelli un membro da un clan
|
||||
command.description.modtag=Modifica il tag del tuo clan
|
||||
command.description.purge=Elimina i dati di un giocatore
|
||||
command.description.setbanner=Imposta il banner del tuo clan
|
||||
command.description.verify=Verifica il tuo clan
|
||||
command.description.mod.verify=Verifica un clan
|
||||
command.description.invite=Invita un giocatore nel tuo clan
|
||||
@@ -79,8 +102,13 @@ command.description.admin.demote=Retrocedi un leader da un clan
|
||||
command.description.demote=Retrocedi un leader
|
||||
command.description.admin.promote=Promuovi un membro da un clan
|
||||
command.description.promote=Promuovi membro a Leader
|
||||
command.description.alliances=Elenca tutte le alleanze del clan
|
||||
command.description.rank.create=Crea un rango
|
||||
command.description.rank.delete=Elimina un rango
|
||||
command.description.rank.list=Elenca i ranghi del tuo clan
|
||||
command.description.rank.setdisplayname=Imposta il nome visualizzato di un rango
|
||||
command.description.rank.setdefault=Imposta il rango predefinito
|
||||
command.description.rank.removedefault=Rimuovi il rango predefinito
|
||||
clan=Clan
|
||||
allies=Alleati
|
||||
alliances=alleanze
|
||||
@@ -145,6 +173,10 @@ inviting.you.to.join={0} ti sta invitando ad unirti a {1}
|
||||
asking.for.the.deletion={0} chiede l''eliminazione del clan
|
||||
asking.for.the.promotion={0} chiede la promozione di {1}
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
clickable.accept=&a&l[ACCETTA]
|
||||
clickable.deny=&c&l[RIFIUTA]
|
||||
hover.click.to.accept=&aClicca qui per accettare
|
||||
hover.click.to.deny=&cClicca qui per rifiutare
|
||||
not.sufficient.money=Non hai abbastanza soldi sul tuo conto
|
||||
mysql.connection.successful=Connessione MySQL riuscita
|
||||
mysql.connection.failed=Connessione MySQL fallita
|
||||
@@ -154,6 +186,7 @@ clan.players=Giocatori di Clan\: {0}
|
||||
banned=Sei bannato dall'usare i comandi del clan
|
||||
nothing.more.to.see=Niente di più da vedere
|
||||
nothing.to.vote=&cNulla da accettare o negare
|
||||
no.leader.permissions=Non disponi dei diritti da leader
|
||||
you.have.already.voted=Hai già votato
|
||||
has.voted.to.deny={0} ha votato per negare
|
||||
view.next.page=Digita /{0} per visualizzare la pagina successiva.
|
||||
@@ -163,12 +196,17 @@ 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
|
||||
insufficient.permissions=Permessi insufficienti
|
||||
clan.is.not.verified=Il clan non è verificato
|
||||
player.not.a.member.of.any.clan=&cIl giocatore non è membro di nessun clan
|
||||
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
|
||||
cannot.be.same.clan=&cDevi inserire un clan diverso dal tuo\!
|
||||
other.clan.not.verified=&cL'altro clan non è verificato\!
|
||||
your.clans.are.not.allies=I tuoi clan non sono alleati
|
||||
has.broken.the.alliance={0} ha rotto l''alleanza con {1}
|
||||
at.least.one.leader.accept.the.alliance=Almeno un leader dell'alleato deve essere online per accettare l'alleanza
|
||||
leaders.have.been.asked.for.an.alliance={0} leader richiedono un''alleanza
|
||||
your.clans.are.already.allies=I tuoi clan sono già alleati
|
||||
your.clan.cannot.create.rivals=Il tuo clan non può creare rivali
|
||||
min.players.rivalries=Il tuo clan deve avere almeno {0} giocatori per poter fare rivalità
|
||||
@@ -183,9 +221,30 @@ your.tag.cannot.contain.the.following.colors=Il tuo tag non può contenere i seg
|
||||
your.tag.cannot.contain.color.codes=Il tuo tag non può contenere codici di colore
|
||||
you.cannot.set.colored.ranks=Non puoi impostare ranghi colorati
|
||||
your.clan.name.cannot.be.longer.than.characters=Il nome del tuo clan non può contenere più di {0} caratteri
|
||||
your.clan.name.cannot.contain.color.codes=Il tuo tag non può contenere codici di colore
|
||||
that.tag.name.is.disallowed=Quel nome tag non è consentito
|
||||
you.must.first.resign=È necessario prima dimettersi da {0}
|
||||
clan.with.this.tag.already.exists=Un clan con questo nome esiste già.
|
||||
clan.created=Clan {0} creati
|
||||
clan.has.been.disbanded=Il Clan {0} è stato sciolto
|
||||
clan.disband.vote.has.been.requested.from.all.leaders=È stato richiesto il voto di scioglimento del clan da tutti i leader
|
||||
friendy.fire.is.now.managed.by.your.clan=Il fuoco amichevole è ora gestito dal tuo clan
|
||||
personal.friendly.fire.is.set.to.allowed=Il fuoco amichevole personale è impostato su permesso
|
||||
global.friendy.fire.is.now.managed.by.each.clan=Il fuoco amichevole globale viene ora gestito da ogni clan
|
||||
global.friendy.fire.is.already.being.managed.by.each.clan=Il fuoco amichevole globale è già gestito da ogni clan
|
||||
global.friendly.fire.is.set.to.allowed=Il fuoco amichevole globale è impostato su consentito
|
||||
global.friendly.fire.is.already.being.allowed=Il fuoco amichevole globale è già stato consentito
|
||||
the.player.doesn.t.not.have.the.permissions.to.join.clans=Il giocatore non ha i permessi per unirsi ai clan
|
||||
you.cannot.invite.yourself=Non puoi invitare te stesso
|
||||
this.player.is.banned.from.using.clan.commands=Questo giocatore è bannato dall'utilizzo dei comandi clan
|
||||
the.player.is.already.member.of.another.clan=Il giocatore è già membro di un altro clan
|
||||
has.been.asked.to.join={0} è stato chiesto di unirsi a {1}
|
||||
you.cannot.kick.yourself=Non puoi kickarti da solo\!
|
||||
no.clans.have.been.created=Nessun clan è stato creato
|
||||
total.clans=Clan totali\:
|
||||
legend=Legenda\:
|
||||
status.0=Stato\: {0}
|
||||
rank.0=Rango\: {0}
|
||||
leaders.0=Leader\: {0}
|
||||
allies.0=Alleati\: {0}
|
||||
rivals.0=Rivali\: {0}
|
||||
@@ -207,46 +266,120 @@ leader.announce=Annuncio del Leader
|
||||
hunger=Fame
|
||||
stone=pietra
|
||||
iron=ferro
|
||||
the.clan.cannot.be.rivaled=Il clan non può essere rivale
|
||||
home.base.only.once=La base principale può essere impostata una sola volta
|
||||
now.at.homebase=Sei ora nella base del clan {0}
|
||||
hombase.set=Base del clan impostata a\: {0}
|
||||
hombase.cleared=Clan del base eliminata
|
||||
hombase.mod.set=Base del clan {0} reimpostata a\:
|
||||
hombase.not.set=la base del clan non è stata impostata ancora.
|
||||
rival.limit.reached=Hai raggiunto il limite di rivali. Non puoi rivaleggiare più clan.
|
||||
you.moved.teleport.cancelled=Ti sei mosso, teletrasporto annullato
|
||||
waiting.for.teleport.stand.still.for.0.seconds=In attesa di teletrasporto, resta fermo per {0} secondi
|
||||
player.rank.changed=Il Rango è stato impostato
|
||||
your.clans.are.already.rivals=I vostri clan sono già rivali
|
||||
player.got.money=Hai ottenuto {0} per aver ucciso {1} in base al tuo KDR\: {2}
|
||||
cleared.bb=La bacheca è stata svuotata
|
||||
resign.yes=Sì
|
||||
resign.no=No
|
||||
bb.ago= fa
|
||||
bb.moments=momenti
|
||||
bb.seconds= secondi
|
||||
bb.minutes= minuti
|
||||
resign.success=Ti sei dimesso con successo dal tuo clan
|
||||
you.cannot.demote.the.last.leader=Non puoi far retrocedere l'ultimo leader rimasto
|
||||
you.cannot.move.the.last.leader=Non puoi spostare l'ultimo leader rimasto
|
||||
player.successfully.demoted=Il giocatore è stato retrocesso con successo
|
||||
player.successfully.promoted=Il giocatore è stato promosso con successo
|
||||
bb.one.minute=1 minuto
|
||||
bb.hours= ore
|
||||
bb.one.hour=1 ora
|
||||
bb.days= giorni
|
||||
bb.one.day=1 giorno
|
||||
the.fee.is.0.and.its.current.value.is.1=La commissione è {0} e il suo valore attuale è {1}$
|
||||
fee.enabled=abilitato
|
||||
fee.disabled=disabilitato
|
||||
fee.set=La tassa è stata impostata con successo
|
||||
max.fee.allowed.is.0=La tariffa massima consentita è {0}
|
||||
your.clan.description.must.be.longer.than=La descrizione del tuo clan deve essere più lunga di {0} caratteri
|
||||
your.clan.description.cannot.be.longer.than=La descrizione del tuo clan non può essere più lunga di {0} caratteri
|
||||
no.description=Nessuna descrizione
|
||||
disabled.command=Comando disabilitato
|
||||
rank.created=Rango creato
|
||||
gui.loading=&7Caricamento...
|
||||
gui.back.title=&fIndietro
|
||||
gui.previous.page.title=Pagina Precedente
|
||||
gui.next.page.title=&fPagina Successiva
|
||||
gui.lore.no.permission=&7Non hai i permessi per vedere questo\!
|
||||
gui.main.languageselector.title=Seleziona la tua lingua
|
||||
gui.main.languageselector.lore.left.click=&7Click sinistro per selezionare la lingua
|
||||
gui.main.languageselector.lore.right.click=&7Click destro per aiutare la traduzione
|
||||
gui.main.other.commands.title=&fAltri comandi
|
||||
gui.main.other.commands.lore=&7Click sinistro per vedere tutti i comandi del clan
|
||||
gui.main.clan.list.title=&fLista Clan
|
||||
gui.main.clan.list.lore=&7Click sinistro per vedere l'elenco dei clan
|
||||
gui.main.reset.kdr.title=&fResetta il KDR
|
||||
gui.main.reset.kdr.lore.price=&7Prezzo\: &b{0}
|
||||
gui.main.reset.kdr.lore=&7Click sinistro per resettare il tuo KDR
|
||||
gui.main.leaderboard.title=&fClassifica
|
||||
gui.player.list.title=Elenco dei giocatori
|
||||
gui.staff.global.ff.lore.status=&7Stato\: &b{0}
|
||||
gui.warning.title=Attenzione
|
||||
gui.warning.no.permission.plugin.lore=&7Non hai i permessi per eseguire questa azione\!
|
||||
gui.warning.not.verified.title=&fNon verificato
|
||||
gui.warning.not.verified.lore=&7Il tuo clan deve essere verificato\!
|
||||
gui.allies.title=Alleati
|
||||
gui.allies.clan.lore=&7Click destro per rimuovere questo alleato
|
||||
gui.allies.add.title=&Aggiungi un alleato
|
||||
gui.add.ally.title=Aggiungi un alleato
|
||||
gui.add.ally.clan.lore=&7Click sinistro per alleare questo clan
|
||||
gui.rivals.title=Rivali
|
||||
gui.rivals.clan.lore=&7Click destro per rimuovere questo rivale
|
||||
gui.rivals.add.title=&fAggiungi un rivale
|
||||
gui.add.rival.title=Aggiungi un rivale
|
||||
gui.add.rival.clan.lore=&7Click sinistro per rivaleggiare questo clan
|
||||
gui.clanlist.title=Clans - Totale\: {0}
|
||||
gui.clanlist.clan.lore.kdr=&7KDR\: &b{0}
|
||||
gui.clanlist.clan.lore.members=&7Membri\: &b{0}
|
||||
gui.coords.title=Coordinate
|
||||
gui.coords.player.lore.distance=&7Distanza\: &b{0}
|
||||
gui.coords.player.lore.coords=&7Coordinate\: &b{0} {1} {2}
|
||||
gui.coords.player.lore.world=&7Mondo\: &b{0}
|
||||
gui.invite.title=Invita un giocatore
|
||||
gui.invite.player.title=&f{0}
|
||||
gui.invite.player.price.lore=&7Prezzo\: &b{0}
|
||||
gui.invite.player.lore=&7Click sinistro per invitare
|
||||
gui.roster.title={0} Lista
|
||||
gui.roster.invite.title=&fInvita
|
||||
gui.roster.invite.lore=&Invita un giocatore nel tuo clan
|
||||
gui.leaderboard.title=Classifica - Giocatori\: {0}
|
||||
gui.leaderboard.player.title=&f\#{0} {1}
|
||||
gui.ranks.title=Gradi
|
||||
gui.ranks.title.set.rank=Imposta Rango - Attuale\: {0}
|
||||
gui.ranks.create.title=&fCrea un rango
|
||||
gui.ranks.create.lore=&7Click sinistro per creare un rango
|
||||
gui.ranks.rank.title=&fRango\: {0}
|
||||
gui.ranks.rank.displayname.lore=&7Nome visualizzato\: &b{0}
|
||||
gui.ranks.rank.remove.lore=&7Click destro per rimuovere questo rango
|
||||
gui.ranks.rank.edit.permissions.lore=&7Click sinistro per modificare i permessi del rango
|
||||
gui.ranks.rank.assign.lore=&7Click sinistro per assegnare questo rango a {0}
|
||||
gui.permissions.title=Permessi di {0}
|
||||
gui.permissions.add.title=&fAggiungi un permesso
|
||||
gui.permissions.permission.title=&f{0}
|
||||
gui.permissions.permission.lore=&7Click destro per rimuovere questo permesso dal rango
|
||||
gui.add.permission.title=Aggiungi un permesso
|
||||
gui.add.permission.permission.title=&f{0}
|
||||
gui.add.permission.permission.lore=&7Click sinistro per aggiungere questo permesso al rango
|
||||
gui.clandetails.free.agent.create.clan.price.lore=&7Prezzo\: &b{0}
|
||||
gui.clandetails.free.agent.create.clan.lore=&7Click sinistro per creare un clan
|
||||
gui.clandetails.clan.lore.description=&7Descrizione\: &b{0}
|
||||
gui.clandetails.clan.lore.status=&7Stato\: &b{0}
|
||||
gui.clandetails.clan.lore.leaders=&7Leader\: &b{0}
|
||||
gui.clandetails.clan.lore.online.members=&7Membri online\: &b{0}/{1}
|
||||
gui.clandetails.clan.lore.kdr=&7KDR\: &b{0}
|
||||
gui.clandetails.clan.lore.kill.totals=&7Uccisioni Totali\: &b[Rivali\:{0} Neutrali\:{1} Civili\:{2}]
|
||||
gui.clandetails.clan.lore.deaths=&7Morti\: &b{0}
|
||||
gui.clandetails.clan.lore.fee=&7Tassa\: &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=&7Alleati\: &b{0}
|
||||
gui.clandetails.clan.lore.founded=&7Fondato\: &b{0}
|
||||
gui.clandetails.clan.lore.inactive=&7Inattivo\: &b{0}/{1} giorni
|
||||
gui.clandetails.home.title=&fCasa
|
||||
@@ -255,8 +388,48 @@ 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}
|
||||
gui.clandetails.not.verified.title=&fNon verificato
|
||||
gui.clandetails.verify.price.lore=&7Prezzo\: &b{0}
|
||||
gui.clandetails.chat.ally.status.lore=&7Alleati\: &b{0}
|
||||
gui.clandetails.chat.clan.toggle.lore=&7Click sinistro per attivare o disattivare lo stato della chat
|
||||
gui.clandetails.chat.ally.toggle.lore=&7Click destro per attivare o disattivare lo stato della chat alleata
|
||||
gui.playerdetails.title={0}
|
||||
gui.playerdetails.player.title=&f{0}
|
||||
gui.playerdetails.player.lore.noclan=&7Clan\: &bNessuno
|
||||
gui.playerdetails.player.lore.clan=&7Clan\: &b[{0}&b] {1}
|
||||
gui.playerdetails.player.lore.rank=&7Rango\: &b{0}
|
||||
gui.playerdetails.player.lore.status=&7Stato\: &b{0}
|
||||
gui.playerdetails.player.lore.kdr=&7KDR\: &b{0}
|
||||
gui.playerdetails.player.lore.kill.totals=&7Uccisioni Totali\: &b[Rivali\:{0} Neutrali\:{1} Civili\:{2}]
|
||||
gui.playerdetails.player.lore.deaths=&7Morti\: &b{0}
|
||||
gui.playerdetails.player.lore.join.date=&7Data di iscrizione\: &b{0}
|
||||
gui.playerdetails.player.lore.last.seen=&7Ultima vista\: &b{0}
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
gui.playerdetails.player.lore.past.clans.separator=&b,
|
||||
gui.playerdetails.player.lore.past.clans=&7Clan precedenti\: &b{0}
|
||||
gui.playerdetails.player.lore.inactive=&7Inattivo\: &b{0}/{1} giorni
|
||||
gui.playerdetails.kick.title=&fEspelli
|
||||
gui.playerdetails.promote.demote.title=&fPromuovi/Retrocedi
|
||||
gui.playerdetails.promote.lore.left.click=&7Click sinistro per promuovere
|
||||
gui.playerdetails.demote.lore.right.click=&7Click destro per retrocedere
|
||||
gui.playerdetails.ban.unban.title=&fBandisci/Sbandisci
|
||||
gui.languageselector.title=Lingue - Attuale\: {0}
|
||||
gui.languageselector.language.title=&f{0}
|
||||
gui.languageselector.language.lore.translation.status=&7Stato traduzione\: &b{0}%
|
||||
gui.languageselector.language.lore.right.click=&7Click destro per aiutare la traduzione
|
||||
gui.confirmation.title=Conferma
|
||||
gui.confirmation.confirm=&7Clicca qui per confermare
|
||||
gui.confirmation.return=&cClicca qui per ritornare indietro
|
||||
gui.not.supported=&cSi è verificato un errore durante l'apertura della GUI\! Disattivazione... Hai scaricato la versione corretta?
|
||||
staff.member.verify.clan=&cUn membro dello staff deve verificare il tuo clan\!
|
||||
player.already.has.that.rank=&cIl giocatore ha già questo rango\!
|
||||
joined.clan.chat=&bSei entrato nella chat del clan
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
cannot.attack.clan.member=&cNon puoi attaccare un altro membro del clan\!
|
||||
cannot.attack.ally=&cNon puoi attaccare un alleato\!
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
cannot.change.member.fee.hours=&cRiprova tra {0} ore...
|
||||
cannot.change.member.fee.minutes=&cRiprova tra {0} minuto/i...
|
||||
cannot.kick.last.leader=&cNon puoi espellere l'ultimo leader\!
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
description.command=상세정보
|
||||
create.command=만들기
|
||||
delete.command=삭제하다
|
||||
acf-core.parameter.description=상세정보
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -3,6 +3,8 @@ create.command=maak
|
||||
delete.command=verwijderen
|
||||
rank.command=rang
|
||||
setdisplayname.command=setschermnaam
|
||||
setdefault.command=standaard instellingen
|
||||
removedefault.command=verwijder standaard instellingen
|
||||
permissions.command=toestemmingen
|
||||
list.command=lijst
|
||||
list.order.asc=oplopend
|
||||
@@ -26,7 +28,6 @@ add.command=toevoegen
|
||||
remove.command=verwijderen
|
||||
allow.command=toestaan
|
||||
block.command=blokkeren
|
||||
auto.command=auto
|
||||
check.command=controle
|
||||
assign.command=toewijzen
|
||||
unassign.command=loskoppelen
|
||||
@@ -49,6 +50,7 @@ purge.command=verwijder
|
||||
trust.command=vertrouwen
|
||||
untrust.command=niet meer vertrouwen
|
||||
admin.command=beheerder
|
||||
mod.command=mod
|
||||
promote.command=promoten
|
||||
demote.command=degradeer
|
||||
clanff.command=clanff
|
||||
@@ -63,7 +65,6 @@ globalff.command=globalff
|
||||
kills.command=moorden
|
||||
mostkilled.command=meestemoorden
|
||||
war.command=oorlog
|
||||
start.command=start
|
||||
end.command=einde
|
||||
home.command=huis
|
||||
regroup.command=hergroeperen
|
||||
@@ -75,7 +76,35 @@ resetkdr.command=resetkdr
|
||||
everyone.command=iedereen
|
||||
setbanner.command=setbanner
|
||||
help.command=help
|
||||
acf-core.parameter.member=lid
|
||||
acf-core.parameter.rank=rang
|
||||
acf-core.parameter.leader=leider
|
||||
acf-core.parameter.displayname=weergavenaam
|
||||
acf-core.parameter.permission=machtigingen
|
||||
acf-core.parameter.message=bricht
|
||||
acf-core.parameter.tag=label
|
||||
acf-core.parameter.name=naam
|
||||
acf-core.parameter.fee=kosten
|
||||
acf-core.parameter.description=beschrijving
|
||||
acf-core.parameter.player=speler
|
||||
acf-core.parameter.clan=clan
|
||||
acf-core.parameter.type=type
|
||||
acf-core.parameter.order=bestelling
|
||||
acf-core.parameter.help=pagina of trefwoorden
|
||||
command.description.stats=Toont de statistieken van de clan leden
|
||||
command.description.rivalries=Toont alle clan rivaliteiten
|
||||
command.description.mostkilled=Toont de meeste gedode aantallen op de hele server
|
||||
command.description.kills=toont jouw of een andere speler zijn kill count
|
||||
command.description.lookup=Kijk naar je info
|
||||
command.description.lookup.other=Bekijk de informatie van een speler
|
||||
command.description.leaderboard=toon het scorebord
|
||||
command.description.roster.other=Toont de leden van een andere clan
|
||||
command.description.roster=Geeft een lijst van de leden van uw clan
|
||||
command.description.profile.other=toon een andere clan zijn profiel
|
||||
command.description.profile=Toont jouw clan zijn profiel
|
||||
command.description.vitals=Toont de vitaliteit van je clan en bondgenoten
|
||||
command.description.list=Toon alle clans
|
||||
command.description.chat=Praat in de clan chat
|
||||
command.description.ally=Gesprekken in de ally chat
|
||||
command.description.deny=Weigert een verzoek
|
||||
command.description.accept=Accepteert een verzoek
|
||||
@@ -91,9 +120,90 @@ 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
|
||||
command.description.regroup.home=Hergroepeert je clanleden naar het huis van je clan
|
||||
command.description.home.tp=Teleporteert naar het huis van je clan
|
||||
command.description.home.clear=Verwijdert je clan's huis
|
||||
command.description.home.set=Stelt je clan's huis in
|
||||
command.description.mod.home.set=Zet het huis van een clan
|
||||
command.description.mod.home.tp=Teleporteert naar het huis van een clan
|
||||
command.description.rival.remove=Verwijdert een rivaal
|
||||
command.description.rival.add=Voegt een rivaal toe
|
||||
command.description.ally.remove=Verwijdert een bondgenoot
|
||||
command.description.kick=Verwijdert een lid uit je clan
|
||||
command.description.bb.display=Toont het prikbord van je clan
|
||||
command.description.bb.clear=Wist het prikbord van je clan
|
||||
command.description.bb.post=Post een bericht op het prikbord van je clan
|
||||
command.description.place=Plaatst een speler in een clan
|
||||
command.description.reload=Laadt de plug-in en zijn configuratie opnieuw
|
||||
command.description.trust=Vertrouwt een lid
|
||||
command.description.untrust=Vertrouwt een lid niet
|
||||
command.description.resign=Neemt ontslag uit je clan
|
||||
command.description.help=Toont deze hulp of zoekt in de help
|
||||
allies=Bondgenoten
|
||||
alliances=alliantie
|
||||
coords=coördinaten
|
||||
name=Naam
|
||||
distance=Afstand
|
||||
coords.upper=Coördinaten
|
||||
world=Wereld
|
||||
kdr=KDR
|
||||
members=Leden
|
||||
clans.lower=clan
|
||||
rival=Rivaal
|
||||
civilian=Burger
|
||||
neutral=Neutraal
|
||||
free.agent=De Vrije Agent
|
||||
days=dagen
|
||||
rivals=Rivalen
|
||||
rivalries=rivaliteit
|
||||
online=Actief
|
||||
player=Speler
|
||||
seen=Gezien
|
||||
leader=leider
|
||||
roster=rooster
|
||||
trusted=vertrouwd
|
||||
untrusted=niet meer vertrouwen
|
||||
in.rank=in rang
|
||||
deaths=Doden
|
||||
weights=Gewichten
|
||||
stats=statistieken
|
||||
health=Gezondheid
|
||||
armor=Pantser
|
||||
weapons=Wapens
|
||||
food=Eten
|
||||
vitals=vitalen
|
||||
verified=Geverifieerd
|
||||
unverified=Niet Geverifieerd
|
||||
profile=profiel
|
||||
civilian.abbreviation=Civ
|
||||
rank=Rang
|
||||
leaders=Leiders
|
||||
none=Geen
|
||||
today=Vandaag
|
||||
kills=Moorden
|
||||
mostkilled=Meeste Kills
|
||||
killcount=Aantal keren gedood
|
||||
attacker=Aanvaller
|
||||
victim=Slachtoffer
|
||||
kill.death.ratio=Doden/Doodverhouding
|
||||
nokillsfound=Geen doden gevonden
|
||||
promoted.to.leader={0} is gepromoveerd tot leider
|
||||
denied.demotion={0} heeft de demotie van {1} geweigerd. Consensus is mislukt.
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
end=einde
|
||||
add=toevoegen
|
||||
remove=verwijderen
|
||||
allow=toestaan
|
||||
block=blokkeren
|
||||
war=oorlog
|
||||
now.at.homebase=Je bent nu op de basis van {0}\n
|
||||
bb.days= dagen
|
||||
gui.allies.title=Bondgenoten
|
||||
gui.rivals.title=Rivalen
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -42,9 +42,21 @@ place.command=sted
|
||||
resetkdr.command=tilbakesettekdr
|
||||
setbanner.command=settebanner
|
||||
help.command=hjelp
|
||||
acf-core.parameter.fee=gebyr
|
||||
acf-core.parameter.description=beskrivelse
|
||||
alliances=allianser
|
||||
coords=koord
|
||||
rivalries=rivalisering
|
||||
roster=roster
|
||||
stats=statistikk
|
||||
vitals=vitaler
|
||||
profile=profil
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
war=krig
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -1,15 +1,17 @@
|
||||
description.command=Opis
|
||||
create.command=utwórz
|
||||
delete.command=usun
|
||||
delete.command=usuń
|
||||
rank.command=ranking
|
||||
setdisplayname.command=ustaw nazwe wyswietlana
|
||||
setdisplayname.command=ustaw wyświetlaną nazwę
|
||||
setdefault.command=setdefault
|
||||
removedefault.command=removedefault
|
||||
permissions.command=uprawnienia
|
||||
list.command=lista
|
||||
list.order.asc=asc
|
||||
list.order.desc=opis
|
||||
list.type.name=nazwa
|
||||
list.type.kdr=k/d/r
|
||||
list.type.size=wielkosc
|
||||
list.type.size=rozmiar
|
||||
list.type.founded=reputacja
|
||||
list.type.active=aktywne
|
||||
profile.command=profil
|
||||
@@ -49,6 +51,7 @@ purge.command=oczysc
|
||||
trust.command=ufaj
|
||||
untrust.command=nieufaj
|
||||
admin.command=administrator
|
||||
mod.command=mod
|
||||
promote.command=awansuj
|
||||
demote.command=degraduj
|
||||
clanff.command=klanff
|
||||
@@ -82,6 +85,7 @@ 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.name=nazwa
|
||||
acf-core.parameter.fee=Opłata
|
||||
acf-core.parameter.description=Opis
|
||||
acf-core.parameter.player=Gracz
|
||||
@@ -89,6 +93,8 @@ 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.land.allow.all=Pozwala na wszystkie działania na twoim terenie
|
||||
command.description.land.allow.interact_entity=Pozwala członkom klanu na interakcję z obiektami na twoim terenie
|
||||
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
|
||||
@@ -208,6 +214,7 @@ leader=Przywodca
|
||||
roster=list
|
||||
trusted=zaufany
|
||||
untrusted=niegodny
|
||||
in.rank=w rankingu
|
||||
deaths=Zgony
|
||||
weights=Wagi
|
||||
stats=staty
|
||||
@@ -256,6 +263,11 @@ asking.for.the.deletion={0} wnioskuje za usunieciem klanu
|
||||
asking.for.the.promotion={0} wnioskuje o awansowanie {1}
|
||||
asking.for.the.demotion={0} wnioskuje o degradacje {1}
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
request.message= \n &8[&8{0}&8] &b{1}\n %accept% &blub %deny%\n
|
||||
clickable.accept=&a&[ACCEPT]
|
||||
clickable.deny=&c&[DENY]
|
||||
hover.click.to.accept=&aKliknij tutaj, aby zaakceptować
|
||||
hover.click.to.deny=&cKliknij tutaj, aby odrzucić
|
||||
not.sufficient.money=Nie posiadasz wystarczajacej ilosci dukatow
|
||||
account.has.been.debited=Twoje konto zostalo zmniejszone o {0}
|
||||
mysql.connection.successful=MySQL udane polaczenie
|
||||
@@ -348,6 +360,7 @@ inactive.0=Nieaktywny\: {0}
|
||||
clan.commands=komendy klanowe
|
||||
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}
|
||||
0.tag.changed.to.1=&bPomyślnie zmieniono tag {0} na {1}
|
||||
name.0=Nazwa\: {0}
|
||||
description.0=Opis\: {0}
|
||||
leaders.0=Przywódcy\: {0}
|
||||
@@ -358,7 +371,6 @@ the.player.does.not.have.the.permissions.to.lead.a.clan=Ten gracz nie ma uprawni
|
||||
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
|
||||
@@ -405,7 +417,7 @@ materials=Materiały
|
||||
armor.h=H
|
||||
armor.c=C
|
||||
armor.l=L
|
||||
armor.B=B
|
||||
armor.B=K
|
||||
diamond=diament
|
||||
gold=złoto
|
||||
wood=drewno
|
||||
@@ -463,12 +475,7 @@ 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ń
|
||||
@@ -488,6 +495,8 @@ 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.setdefault=Domyślny ranking klanu został ustawiony na {0}
|
||||
rank.removedefault=Domyślny ranking klanu został usunięty
|
||||
rank.0.permissions=Uprawnienia {0}rangi\:
|
||||
available.rank.permissions=Dostępne uprawnienia dla rangi\:
|
||||
rank.already.exists=Ranga już istnieje
|
||||
@@ -737,7 +746,6 @@ 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
|
||||
@@ -751,6 +759,9 @@ 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\!
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
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...
|
||||
cannot.change.member.fee.minutes=&cSpróbuj ponownie za {0} minut...
|
||||
cannot.kick.last.leader=&cNie możesz wyrzucić ostatniego lidera\!
|
||||
|
||||
@@ -3,6 +3,8 @@ create.command=criar
|
||||
delete.command=deletar
|
||||
rank.command=cargo
|
||||
setdisplayname.command=nomeexibicao
|
||||
setdefault.command=definirpadrao
|
||||
removedefault.command=removerpadrao
|
||||
permissions.command=permissoes
|
||||
list.command=listar
|
||||
list.order.asc=asc
|
||||
@@ -42,6 +44,8 @@ withdraw.command=sacar
|
||||
invite.command=convidar
|
||||
kick.command=expulsar
|
||||
bank.command=banco
|
||||
give.command=dar
|
||||
take.command=tirar
|
||||
status.command=estado
|
||||
fee.command=taxa
|
||||
set.command=definir
|
||||
@@ -65,7 +69,7 @@ kills.command=mortes
|
||||
mostkilled.command=maismatou
|
||||
war.command=guerra
|
||||
start.command=iniciar
|
||||
end.command=terminar
|
||||
end.command=finalizar
|
||||
home.command=base
|
||||
regroup.command=reagrupar
|
||||
me.command=mim
|
||||
@@ -91,6 +95,20 @@ 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.land.allow.all=Permite todas as ações no seu terreno
|
||||
command.description.land.allow.interact_entity=Permite que membros do clã interajam com entidades no seu terreno
|
||||
command.description.land.allow.interact=Permite que membros do clã interajam com o seu terreno
|
||||
command.description.land.allow.container=Permite que membros do clã abram baús (entre outros) no seu terreno
|
||||
command.description.land.allow.place=Permite que membros do clã coloquem blocos no seu terreno
|
||||
command.description.land.allow.break=Permite que membros do clã quebrem blocos no seu terreno
|
||||
command.description.land.allow.damage=Permite que membros do clã causem dano em seu terreno
|
||||
command.description.land.block.all=Bloqueia todas as ações em seu terreno
|
||||
command.description.land.block.interact_entity=Bloqueia membros do clã de interagirem com entidades em seu terreno
|
||||
command.description.land.block.interact=Bloqueia membros do clã de interagirem com seu terreno
|
||||
command.description.land.block.container=Bloqueia membros do clã de abrirem baús (entre outros) em seu terreno
|
||||
command.description.land.block.place=Bloqueia membros do clã de colocarem blocos em seu terreno
|
||||
command.description.land.block.break=Bloqueia membros do clã de quebrarem blocos em seu terreno
|
||||
command.description.land.block.damage=Bloqueia membros do clã de causarem dano em seu terreno
|
||||
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
|
||||
@@ -143,6 +161,7 @@ command.description.ally.add=Adiciona um aliado
|
||||
command.description.clan=Abre a GUI
|
||||
command.description.disband=Debanda o seu clã
|
||||
command.description.mod.disband=Debanda um clã
|
||||
command.description.mod.kick=Expulsa um jogador de um clã
|
||||
command.description.modtag=Modifica a tag do seu clã
|
||||
command.description.purge=Apaga os dados de um jogador
|
||||
command.description.setbanner=Define o estandarte do seu clã
|
||||
@@ -152,10 +171,14 @@ command.description.invite=Convida um jogador para o seu clã
|
||||
command.description.fee.check=Verifica o valor da taxa do clã e se está ativada
|
||||
command.description.fee.set=Define a taxa do seu clã
|
||||
command.description.bank.status=Verifica o saldo do banco do seu clã
|
||||
command.description.bank.admin.status=Verifica o saldo bancário de um clã
|
||||
command.description.bank.withdraw.all=Saca tudo do banco do seu clã
|
||||
command.description.bank.withdraw.amount=Saca uma quantia do banco do seu clã
|
||||
command.description.bank.admin.take=Tira uma quantia em dinheiro do banco de um clã
|
||||
command.description.bank.deposit.all=Deposita todo o seu dinheiro no banco do seu clã
|
||||
command.description.bank.deposit.amount=Deposita uma quantia no banco do seu clã
|
||||
command.description.bank.admin.give=Dá uma quantia em dinheiro ao banco de um clã
|
||||
command.description.bank.admin.set=Define uma quantia em dinheiro para o banco de um clã
|
||||
command.description.war.start=Inicia uma guerra
|
||||
command.description.war.end=Termina uma guerra
|
||||
command.description.resetkdr.everyone=Redefine o KDR de todos os jogadores
|
||||
@@ -165,6 +188,7 @@ command.description.admin.demote=Rebaixa qualquer líder de qualquer clã
|
||||
command.description.demote=Rebaixa um líder
|
||||
command.description.admin.promote=Promove qualquer membro de qualquer clã
|
||||
command.description.promote=Promove um membro para líder
|
||||
command.description.admin.permanent=Alterna o status permanente de qualquer clã
|
||||
command.description.toggle.bb=Alterna se o quadro de avisos deve ser exibido quando você entra no servidor
|
||||
command.description.toggle.tag=Alterna se a tag do seu clã deve ser exibida ao lado do seu nome
|
||||
command.description.toggle.deposit=Alterna se os depósitos são permitidos em seu clã
|
||||
@@ -178,6 +202,8 @@ command.description.rank.create=Cria um cargo
|
||||
command.description.rank.delete=Apaga um cargo
|
||||
command.description.rank.list=Lista os cargos do clã
|
||||
command.description.rank.setdisplayname=Define o nome de exibição de um cargo
|
||||
command.description.rank.setdefault=Define o cargo padrão
|
||||
command.description.rank.removedefault=Remove o cargo padrão
|
||||
command.description.rank.permissions.available=Lista as permissões de cargo disponíveis
|
||||
command.description.rank.permissions.rank=Lista as permissões de um cargo
|
||||
command.description.rank.permissions.add=Adiciona uma permissão a um cargo
|
||||
@@ -199,6 +225,7 @@ clans.lower=clãs
|
||||
rival=Rival
|
||||
civilian=Civil
|
||||
neutral=Neutro
|
||||
ally=Aliado
|
||||
free.agent=Agente Livre
|
||||
days=dias
|
||||
rivals=Rivais
|
||||
@@ -210,7 +237,7 @@ leader=líder
|
||||
roster=membros
|
||||
trusted=confiável
|
||||
untrusted=não-confiável
|
||||
in.rank=no cargo
|
||||
in.rank=em um cargo
|
||||
deaths=Morreu
|
||||
weights=Pesos
|
||||
stats=estatísticas
|
||||
@@ -221,6 +248,7 @@ food=Comida
|
||||
vitals=Saúde
|
||||
verified=Verificado
|
||||
unverified=Não verificado
|
||||
permanent=Permanente
|
||||
profile=perfil
|
||||
civilian.abbreviation=Civ
|
||||
rank=Cargo
|
||||
@@ -356,7 +384,7 @@ inactive.0=Inativo\: {0}
|
||||
clan.commands=comandos de clã
|
||||
you.can.only.modify.the.color.and.case.of.the.tag=Você pode modificar apenas a cor ou a caixa (maiúsculo ou minúsculo) da tag
|
||||
tag.changed.to.0=Tag modificada para {0}
|
||||
0.tag.changed.to.1=&bAlterou a tag do clã de {0} para {1}
|
||||
0.tag.changed.to.1=&bAlterou a tag do clã {0} para {1} com sucesso
|
||||
name.0=Nome\: {0}
|
||||
description.0=Descrição\: {0}
|
||||
leaders.0=Líderes\: {0}
|
||||
@@ -367,7 +395,7 @@ the.player.does.not.have.the.permissions.to.lead.a.clan=O jogador não tem permi
|
||||
you.cannot.promote.yourself=Você não pode se promover
|
||||
the.player.is.already.a.leader=O jogador já é um líder
|
||||
configuration.reloaded=Configuração recarregada
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=O último líder não pode abandonar. Você deve apontar outro líder ou debandar o clã
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=O último líder não pode renunciar. Você deve nomear outro líder ou dissolver o clã
|
||||
0.has.resigned={0} abandonou
|
||||
you.cannot.trust.yourself=Você não pode se marcar como confiável
|
||||
leaders.are.already.trusted=Líderes já são confiáveis
|
||||
@@ -414,7 +442,7 @@ materials=Materiais
|
||||
armor.h=E
|
||||
armor.c=P
|
||||
armor.l=C
|
||||
armor.B=B
|
||||
armor.B=A
|
||||
diamond=Diamante
|
||||
gold=Ouro
|
||||
wood=Madeira
|
||||
@@ -424,7 +452,7 @@ leader.announce=Anúncio de Líder
|
||||
hunger=Fome
|
||||
stone=pedra
|
||||
iron=ferro
|
||||
the.clan.cannot.be.rivaled=O clã não pdoe ser rivalizado
|
||||
the.clan.cannot.be.rivaled=O clã não pode ser rivalizado
|
||||
bboff=BB desativado
|
||||
bbon=BB ativado
|
||||
tagoff=Tag desativada
|
||||
@@ -454,30 +482,43 @@ your.clans.are.already.rivals=Seus clãs já são rivais
|
||||
player.got.money=Você ganhou {0} por matar {1} baseado no seu KDR\: {2}
|
||||
cleared.bb=Você limpou o quadro de avisos
|
||||
clan.balance=Saldo do clã\: {0}
|
||||
clan.admin.balance=Saldo de {0}\: {1}
|
||||
bb.fee.player.kicked={0} foi expulso por não pagar a taxa
|
||||
bb.fee.set=A taxa é {0} $
|
||||
bb.clan.deposit={0} $ foram depositados
|
||||
player.clan.deposit=Você depositou {0}
|
||||
bb.clan.withdraw={0} $ foram sacados
|
||||
bb.clan.take={0} $ foram tirados
|
||||
bb.clan.give={0} $ foram dados
|
||||
bb.clan.set={0} $ foram definidos
|
||||
player.clan.withdraw=Você sacou {0}
|
||||
clan.admin.take=Você tirou {0}$ do banco de {1}
|
||||
clan.admin.give=Você deu {0}$ para o banco de {1}
|
||||
clan.admin.set=Você definiu o saldo do banco de {0} para {1}
|
||||
clan.admin.bank.not.enough.money=O banco de {0} não tem saldo suficiente
|
||||
clan.bank.not.enough.money=O banco do seu clã não tem saldo suficiente
|
||||
your.clans.are.not.rivals=Seus clãs não são rivais
|
||||
the.clan.members.reached.limit=Seu clã atingiu o limite de membros
|
||||
you.have.reseted.your.kdr=Você redefiniu o seu KDR
|
||||
you.have.reseted.0.kdr=Você redefiniu o KDR de {0}
|
||||
you.have.reseted.kdr.of.all.players=Você redefiniu o KDR de todos os jogadores
|
||||
you.have.toggled.permanent.status=Você alternou o status permanente para {0}
|
||||
permanent.status.enabled=O status permanente do seu clã foi ativado por {0}
|
||||
permanent.status.disabled=O status permanente do seu clã foi desativado por {0}
|
||||
resign.yes=Sim
|
||||
resign.no=Não
|
||||
resign.confirmation=Tem certeza de que quer abandonar o clã? {0}
|
||||
resign.success=Você abandonou seu clã com sucesso
|
||||
you.cannot.demote.the.last.leader=Você não pode rebaixar o último líder
|
||||
you.cannot.move.the.last.leader=Você não pode mover o último líder
|
||||
player.successfully.demoted=O jogador foi rebaixado com sucesso
|
||||
bb.ago= atrás
|
||||
bb.moments=momentos
|
||||
bb.seconds= segundos
|
||||
bb.minutes= minutos
|
||||
player.successfully.promoted=O jogador foi promovido com sucesso
|
||||
bb.ago= \ atrás
|
||||
bb.moments=\ momentos
|
||||
bb.seconds= \ segundos
|
||||
bb.minutes= \ minutos
|
||||
bb.one.minute=1 minuto
|
||||
bb.hours= horas
|
||||
bb.hours= \ horas
|
||||
bb.one.hour=1 hora
|
||||
bb.days= dias
|
||||
bb.one.day=1 dia
|
||||
@@ -497,6 +538,8 @@ no.description=Sem descrição
|
||||
the.player.must.wait.0.before.joining.your.clan.again=Este jogador deve esperar {0} minuto(s) antes de poder entrar no seu clã de novo
|
||||
disabled.command=Comando desativado
|
||||
rank.displayname.updated=O nome de exibição do cargo foi atualizado\!
|
||||
rank.setdefault=O cargo padrão do clã foi definido como {0}
|
||||
rank.removedefault=O cargo padrão do clã foi removido
|
||||
rank.0.permissions=Permissões do cargo {0}\:
|
||||
available.rank.permissions=Permissões disponíveis para cargos\:
|
||||
rank.already.exists=O cargo já existe
|
||||
@@ -573,7 +616,7 @@ gui.add.rival.clan.lore=&7Clique com o botão esquerdo para rivalizar com este c
|
||||
gui.clanlist.title=Clãs - Total\: {0}
|
||||
gui.clanlist.clan.title=&fClã\: [{0}&f] {1}
|
||||
gui.clanlist.clan.lore.position=&b\#{0}
|
||||
gui.clanlist.clan.lore.kdr=&7KDR\: {0}
|
||||
gui.clanlist.clan.lore.kdr=&7KDR\: &b{0}
|
||||
gui.clanlist.clan.lore.members=&7Membros\: {0}
|
||||
gui.coords.title=Coordenadas
|
||||
gui.coords.player.lore.distance=&7Distância\: {0}
|
||||
@@ -615,7 +658,7 @@ gui.clandetails.clan.lore.leaders=&7Líderes\: &b{0}
|
||||
gui.clandetails.clan.lore.online.members=&7Membros Online\: &b{0}/{1}
|
||||
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.deaths=&7Morreu\: &b{0}
|
||||
gui.clandetails.clan.lore.fee=&7Taxa\: &b{0}, {1} $
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
gui.clandetails.clan.lore.allies.separator=&b,
|
||||
@@ -746,7 +789,7 @@ 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\!
|
||||
# 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
|
||||
clan.profile=&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_status%\n &7Líderes\: %clan_leaders%\n &7Membros Online\: &f%clan_online_count%&7/&f%clan_size%\n &7KDR\: &e%clan_kdr%\n &7Total 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\: &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
|
||||
@@ -760,6 +803,29 @@ 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\!
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
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)...
|
||||
cannot.change.member.fee.minutes=&cTente novamente em {0} minuto(s)...
|
||||
cannot.kick.last.leader=&cVocê não pode expulsar o último líder\!
|
||||
cannot.disband.permanent=&cVocê não pode dissolver este clã. Ele tem um status permanente.
|
||||
you.can.only.set.base.in.your.land=&cVocê só pode definir a base em seu terreno\!
|
||||
only.leaders.can.create.lands=&cApenas líderes podem criar terrenos\!
|
||||
only.one.land.per.clan=&cSeu clã já tem um terreno\!
|
||||
only.clan.members.can.create.lands=&cApenas membros de clã podem criar terrenos\!
|
||||
land.allowed.all.actions=&bTodas as ações estão permitidas agora\!
|
||||
land.blocked.all.actions=&bTodas as ações estão bloqueadas agora\!
|
||||
land.allowed.action=&bAção permitida\!
|
||||
land.blocked.action=&bAção bloqueada\!
|
||||
you.do.not.own.lands=&cVocê não tem um terreno\!
|
||||
land.sharing.disabled=&cCompartilhamento de terrenos está desabilitado\!
|
||||
war.expired=A guerra com {0} expirou\!
|
||||
you.cant.start.war.online.members.difference=Você não pode começar a guerra. Um clã tem mais membros online do que o outro.
|
||||
|
||||
land.command=terreno
|
||||
break.command=quebrar
|
||||
interact.command=interagir
|
||||
place_block.command=colocar_bloco
|
||||
damage.command=atacar
|
||||
interact_entity.command=interagir_entidade
|
||||
container.command=bau
|
||||
@@ -0,0 +1,45 @@
|
||||
description.command=descrição
|
||||
create.command=adicionar
|
||||
delete.command=apagar
|
||||
rank.command=cargo
|
||||
setdisplayname.command=definirnomededisplay
|
||||
setdefault.command=definirnomevisível
|
||||
removedefault.command=removerpadrão
|
||||
permissions.command=permissões
|
||||
list.command=lista
|
||||
list.order.asc=asc
|
||||
list.order.desc=desc
|
||||
list.type.name=nome
|
||||
list.type.kdr=kdr
|
||||
list.type.size=tamanho
|
||||
list.type.founded=fundado
|
||||
list.type.active=ativo
|
||||
profile.command=perfil
|
||||
roster.command=membros
|
||||
lookup.command=procurar
|
||||
leaderboard.command=placar
|
||||
alliances.command=aliança
|
||||
rivalries.command=rivalidades
|
||||
vitals.command=vitais
|
||||
coords.command=coordenadas
|
||||
kick.command=expulsar
|
||||
bank.command=banco
|
||||
purge.command=purgar
|
||||
everyone.command=todos
|
||||
acf-core.parameter.rank=cargo
|
||||
acf-core.parameter.name=nome
|
||||
acf-core.parameter.description=descrição
|
||||
alliances=aliança
|
||||
coords=coordenadas
|
||||
rivalries=rivalidades
|
||||
roster=membros
|
||||
vitals=vitais
|
||||
profile=perfil
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -26,7 +26,6 @@ add.command=adauga
|
||||
remove.command=elimina
|
||||
allow.command=permite
|
||||
block.command=blocheaza
|
||||
auto.command=auto
|
||||
check.command=verifica
|
||||
assign.command=repartizeaza
|
||||
unassign.command=anuleaza
|
||||
@@ -48,6 +47,11 @@ set.command=seteaza
|
||||
purge.command=sterge
|
||||
trust.command=incredere
|
||||
untrust.command=neincredere
|
||||
acf-core.parameter.rank=grad
|
||||
acf-core.parameter.tag=eticheta
|
||||
acf-core.parameter.name=nume
|
||||
acf-core.parameter.fee=tarif
|
||||
acf-core.parameter.description=descriere
|
||||
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
|
||||
@@ -69,9 +73,22 @@ 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
|
||||
alliances=aliante
|
||||
coords=coordonate
|
||||
rivalries=rivali
|
||||
roster=lista
|
||||
stats=status
|
||||
vitals=viata
|
||||
profile=profil
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
add=adauga
|
||||
remove=elimina
|
||||
allow=permite
|
||||
block=blocheaza
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -3,6 +3,8 @@ create.command=создать
|
||||
delete.command=удалить
|
||||
rank.command=ранг
|
||||
setdisplayname.command=установить отображаемое имя
|
||||
setdefault.command=установить по умолчанию
|
||||
removedefault.command=удалить по умолчанию
|
||||
permissions.command=права
|
||||
list.command=список
|
||||
list.order.asc=по возрастанию
|
||||
@@ -26,7 +28,7 @@ add.command=добавить
|
||||
remove.command=удалить
|
||||
allow.command=разрешить
|
||||
block.command=блокировать
|
||||
auto.command=по умолчанию
|
||||
auto.command=авто
|
||||
check.command=проверить
|
||||
assign.command=назначить
|
||||
unassign.command=забрать
|
||||
@@ -42,6 +44,8 @@ withdraw.command=вывести
|
||||
invite.command=пригласить
|
||||
kick.command=выгнать
|
||||
bank.command=банк
|
||||
give.command=дать
|
||||
take.command=взять
|
||||
status.command=статус
|
||||
fee.command=комиссия
|
||||
set.command=установить
|
||||
@@ -91,6 +95,20 @@ acf-core.parameter.clan=клан
|
||||
acf-core.parameter.type=тип
|
||||
acf-core.parameter.order=список заказов
|
||||
acf-core.parameter.help=страница или ключевые слова
|
||||
command.description.land.allow.all=Разрешить все действия на вашей территории
|
||||
command.description.land.allow.interact_entity=Разрешить участникам клана взаимодействовать с сущностями на вашей территории
|
||||
command.description.land.allow.interact=Разрешить участникам клана взаимодействовать с сущностями на вашей территории
|
||||
command.description.land.allow.container=Разрешить участникам клана открывать сундуки, печки и другие хранилища на вашей территории
|
||||
command.description.land.allow.place=Разрешить участникам клана размещать блоки на вашей территории
|
||||
command.description.land.allow.break=Разрешить участникам клана ломать блоки на вашей территории
|
||||
command.description.land.allow.damage=Разрешить участникам клана наносить и получать урон на вашей территории
|
||||
command.description.land.block.all=Запретить все действия на вашей территории
|
||||
command.description.land.block.interact_entity=Запретить участникам клана взаимодействовать с сущностями на вашей территории
|
||||
command.description.land.block.interact=Запретить участникам клана взаимодействовать на вашей территории
|
||||
command.description.land.block.container=Запретить участникам клана открывать сундуки, печки и другие хранилища на вашей территории
|
||||
command.description.land.block.place=Запретить участникам клана размещать блоки на вашей территории
|
||||
command.description.land.block.break=Запретить участникам клана ломать блоки на вашей территории
|
||||
command.description.land.block.damage=Запретить участникам клана наносить и получать урон на вашей территории
|
||||
command.description.stats=Показать статистику участников вашего клана
|
||||
command.description.rivalries=Показать всех соперников клана
|
||||
command.description.mostkilled=Показать общую статистику убийств на всём сервере
|
||||
@@ -143,6 +161,7 @@ command.description.ally.add=Добавить союзника
|
||||
command.description.clan=Открыть GUI
|
||||
command.description.disband=Расформировать ваш клан
|
||||
command.description.mod.disband=Расформировать клан
|
||||
command.description.mod.kick=Выгнать игрока из клана
|
||||
command.description.modtag=Изменить тег вашего клана
|
||||
command.description.purge=Очистить некоторые данные об игроке
|
||||
command.description.setbanner=Установить баннер вашего клана
|
||||
@@ -152,10 +171,14 @@ command.description.invite=Пригласить игрока в ваш клан
|
||||
command.description.fee.check=Узнать значение комиссии в вашем клане, если она включена
|
||||
command.description.fee.set=Установить значение комиссии вашего клана
|
||||
command.description.bank.status=Проверить баланс банка вашего клана
|
||||
command.description.bank.admin.status=Проверить баланс вашего клана
|
||||
command.description.bank.withdraw.all=Вывести все средства с банковского счета вашего клана
|
||||
command.description.bank.withdraw.amount=Вывести указанную сумму с банковского счета вашего клана
|
||||
command.description.bank.admin.take=Взять сумму из баланса клана
|
||||
command.description.bank.deposit.all=Внести все ваши средства на банковский счет вашего клана
|
||||
command.description.bank.deposit.amount=Внести указанную сумму на банковский счет вашего клана
|
||||
command.description.bank.admin.give=Выдать сумму в баланс клана
|
||||
command.description.bank.admin.set=Установить сумму баланса клана
|
||||
command.description.war.start=Объявить войну
|
||||
command.description.war.end=Закончить войну
|
||||
command.description.resetkdr.everyone=Сбросить KDR всех игроков
|
||||
@@ -165,6 +188,7 @@ command.description.admin.demote=Понизить лидера из любого
|
||||
command.description.demote=Понизить лидера
|
||||
command.description.admin.promote=Повысить любого участника из любого клана
|
||||
command.description.promote=Повысить участника до лидера
|
||||
command.description.admin.permanent=Переключает постоянный статус любого клана
|
||||
command.description.toggle.bb=Следует ли показывать доску объявлений при входе на сервер
|
||||
command.description.toggle.tag=Показывать ли рядом с вашим именем тег клана
|
||||
command.description.toggle.deposit=Можно ли вносить средства в банковский счёт вашего клана
|
||||
@@ -178,6 +202,8 @@ command.description.rank.create=Создать ранг
|
||||
command.description.rank.delete=Удалить ранг
|
||||
command.description.rank.list=Показать список рангов вашего клана
|
||||
command.description.rank.setdisplayname=Установить отображаемое имя ранга
|
||||
command.description.rank.setdefault=Установить ранг по умолчанию
|
||||
command.description.rank.removedefault=Удалить ранг по умолчанию
|
||||
command.description.rank.permissions.available=Вывести список доступных прав ранга
|
||||
command.description.rank.permissions.rank=Показать список прав для ранга
|
||||
command.description.rank.permissions.add=Добавить право для ранга
|
||||
@@ -197,15 +223,16 @@ kdr=КДР
|
||||
members=Участники
|
||||
clans.lower=кланы
|
||||
rival=Соперник
|
||||
civilian=Гражданский
|
||||
civilian=Мирный житель
|
||||
neutral=Общие
|
||||
ally=Союзник
|
||||
free.agent=без клана
|
||||
days=дней
|
||||
rivals=Соперники
|
||||
rivalries=соперничество
|
||||
online=Онлайн
|
||||
player=Игрок
|
||||
seen=Узнать
|
||||
seen=Был в сети
|
||||
leader=лидер
|
||||
roster=список
|
||||
trusted=проверенный
|
||||
@@ -221,6 +248,7 @@ food=Еда
|
||||
vitals=боеспособность
|
||||
verified=Подтвержденный
|
||||
unverified=Не подтвержденный
|
||||
permanent=Постоянный
|
||||
profile=профиль
|
||||
civilian.abbreviation=Жители
|
||||
rank=Ранг
|
||||
@@ -237,14 +265,14 @@ nokillsfound=Нет убийств
|
||||
promoted.to.leader={0} был повышен до лидера
|
||||
denied.demotion={0} отклонил понижение {1}. Не удалось придти к единому мнению.
|
||||
membership.invitation={0} отклонил приглашение в клан
|
||||
joined.the.clan={0} присоединился(-лась) к клану.
|
||||
signed.off.request.cancelled={0} подписался. Запрос на {1} отменен.
|
||||
joined.the.clan={0} присоединился к клану
|
||||
signed.off.request.cancelled={0} дал добро. Запрос на {1} отменен.
|
||||
clan.deletion={0} отказал в удалении клана. Не удалось придти к единому мнению.
|
||||
has.been.disbanded=Клан {0} был распущен
|
||||
denied.the.promotion={0} отказал в продвижении {1}. Не удалось придти к единому мнению.
|
||||
demoted.back.to.member={0} был понижен обратно до участника
|
||||
peace.agreement.denied=Мирное соглашение с {0} было отклонено
|
||||
denied.to.make.peace={0} отказал в перемирие с {1}
|
||||
denied.to.make.peace={0} отказал в перемирии с {1}
|
||||
broken.the.rivalry={0} прекратили вражду с {1}
|
||||
broken.the.rivalry.with={0} прекратили вражду с {1}
|
||||
the.alliance.was.denied=Союз с {0} был отклонен
|
||||
@@ -254,7 +282,7 @@ 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}
|
||||
inviting.you.to.join={0} пригласил вас присоединиться к клану\: {1}
|
||||
asking.for.the.deletion={0} предлагает удалить клан
|
||||
asking.for.the.promotion={0} просит повышение {1}
|
||||
asking.for.the.demotion={0} просит понизить {1}
|
||||
@@ -345,8 +373,8 @@ you.cannot.kick.another.leader=Вы не можете выгнать друго
|
||||
has.been.kicked.by={0} был выгнан из клана {1}
|
||||
no.clans.have.been.created=Клан не был создан
|
||||
total.clans=Всего кланов\:
|
||||
legend=Легенда\:
|
||||
kill.type.civilian=Тип убийства\: {0}Гражданский
|
||||
legend=Цветовые обозначения\:
|
||||
kill.type.civilian=Тип убийства\: {0}Мирный житель
|
||||
no.player.data.found=Данные игрока не найдены
|
||||
clan.0=Клан\: {0}
|
||||
status.0=Статус\: {0}
|
||||
@@ -367,7 +395,7 @@ the.player.does.not.have.the.permissions.to.lead.a.clan=У игрока нет
|
||||
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=Последний лидер не может выйти. Вы должны назначить другого лидера или распустить клан
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=Последний лидер не может выйти в отставку. Вы должны назначить другого лидера или распустить клан
|
||||
0.has.resigned={0} ушёл в отставку
|
||||
you.cannot.trust.yourself=Вы не можете установить статус доверия самому себе
|
||||
leaders.are.already.trusted=Лидерам уже доверяют
|
||||
@@ -375,7 +403,7 @@ this.player.is.already.trusted=Игроку уже доверяют
|
||||
has.been.given.trusted.status.by={0} получил доверенный статус от {1}
|
||||
this.player.is.not.banned=Этот игрок не забанен
|
||||
player.removed.from.the.banned.list=Игрок был удален из бан-листа
|
||||
you.have.been.unbanned.from.clan.commands=Вы были разблокированы в участие кланов
|
||||
you.have.been.unbanned.from.clan.commands=Вам был разблокирован доступ к командам клана
|
||||
you.cannot.untrust.yourself=Вы не можете изменить это
|
||||
leaders.cannot.be.untrusted=Нельзя портить репутацию лидера
|
||||
this.player.is.already.untrusted=Этот игрок уже имеет статус недоверия
|
||||
@@ -441,43 +469,56 @@ hombase.set=База клана\: {0}
|
||||
hombase.cleared=База клана была удалена
|
||||
hombase.mod.set=База клана {0}, была установлена на координатах\:
|
||||
hombase.not.set=У клана нет базы
|
||||
rival.limit.reached=Вы достигли лимита войн, пока что нельзя объявлять войны
|
||||
rival.limit.reached=Вы достигли лимита соперников, нельзя соперничать больше.
|
||||
you.moved.teleport.cancelled=Вы перемещены, телепортация отменена
|
||||
waiting.for.teleport.stand.still.for.0.seconds=Ожидание телепортирования, оставайтесь на месте ещё {0} секунд
|
||||
on=включить
|
||||
off=выключить
|
||||
leave=покинуть
|
||||
join=присоединиться
|
||||
mute=молчать
|
||||
mute=заглушить
|
||||
player.rank.changed=Ранг был установлен
|
||||
your.clans.are.already.rivals=Между вашими кланами уже война
|
||||
player.got.money=Вы получили {0} за убийство {1} , основанном на вашем KDR\: {2}
|
||||
cleared.bb=Доска объявлений очищена
|
||||
clan.balance=Баланс Клана\: {0}
|
||||
clan.admin.balance={0} баланс\: {1}
|
||||
bb.fee.player.kicked={0} был выгнан за невыплату комиссии
|
||||
bb.fee.set={0} $ - это комиссия
|
||||
bb.clan.deposit={0} $ сдано на хранение
|
||||
player.clan.deposit=Вы вложили {0}
|
||||
bb.clan.withdraw={0} $ снято
|
||||
bb.clan.take={0} $ взято
|
||||
bb.clan.give={0} $ получено
|
||||
bb.clan.set={0} $ установлено
|
||||
player.clan.withdraw=Вы снимаете {0}
|
||||
clan.admin.take=Вы взяли {0}$ у {1}
|
||||
clan.admin.give=Вы отдали {0}$ в банк {1}
|
||||
clan.admin.set=Вы установили баланс {0} на {1}
|
||||
clan.admin.bank.not.enough.money={0} имеет недостаточно денег
|
||||
clan.bank.not.enough.money=У вашего клана недостаточно денег
|
||||
your.clans.are.not.rivals=Ваши кланы не воюют
|
||||
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 всех игроков
|
||||
you.have.toggled.permanent.status=Вы переключили постоянный статус для {0}
|
||||
permanent.status.enabled={0} включил постоянный статус вашего клана
|
||||
permanent.status.disabled={0} выключил постоянный статус вашего клана
|
||||
resign.yes=Да
|
||||
resign.no=Нет
|
||||
resign.confirmation=Вы уверены, что хотите выйти? {0}
|
||||
resign.success=Вы покинули клан
|
||||
you.cannot.demote.the.last.leader=Вы не можете понизить последнего лидера
|
||||
you.cannot.move.the.last.leader=Вы не можете переместить последнего лидера
|
||||
player.successfully.demoted=Игрок был понижен
|
||||
bb.ago= назад
|
||||
bb.moments=моменты
|
||||
bb.seconds= секунд
|
||||
bb.minutes= минут
|
||||
player.successfully.promoted=Игрок был успешно повышен
|
||||
bb.ago= \ назад
|
||||
bb.moments=\ моменты
|
||||
bb.seconds= \ секунд
|
||||
bb.minutes= \ минут
|
||||
bb.one.minute=1 минута
|
||||
bb.hours= часов
|
||||
bb.hours= \ часов
|
||||
bb.one.hour=1 час
|
||||
bb.days= дней
|
||||
bb.one.day=1 день
|
||||
@@ -486,7 +527,7 @@ fee.enabled=включено
|
||||
fee.disabled=выключено
|
||||
fee.set=Комиссия успешно установлена
|
||||
max.fee.allowed.is.0=Максимальный размер комиссии {0}
|
||||
fee.collected={0} $ были сняты за вознаграждение Клана
|
||||
fee.collected={0} $ были сняты за комиссию клана
|
||||
player.purged=Игрок был успешно очищен
|
||||
upkeep.collected={0} $ были отозваны на содержание
|
||||
balance.is.not.enough.for.upkeep=Баланс Клана недостаточно для оплаты содержания ({0} $), пополните счет чтобы избежать роспуска
|
||||
@@ -497,6 +538,8 @@ no.description=Нет описания
|
||||
the.player.must.wait.0.before.joining.your.clan.again=Этот игрок должен подождать {0} минут, прежде чем сможет вступить в ваш клан\!
|
||||
disabled.command=Команда отключена
|
||||
rank.displayname.updated=Отображаемое имя ранга обновлено\!
|
||||
rank.setdefault=Ранг клана по умолчанию теперь установлен на {0}
|
||||
rank.removedefault=Ранг клана по умолчанию был удалён
|
||||
rank.0.permissions=Права {0} ранга\:
|
||||
available.rank.permissions=Доступные права для ранга\:
|
||||
rank.already.exists=Ранг уже существует
|
||||
@@ -614,7 +657,7 @@ 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.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"
|
||||
@@ -623,7 +666,7 @@ gui.clandetails.clan.lore.allies.separator=&b,
|
||||
gui.clandetails.clan.lore.rivals.separator=&b,
|
||||
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.founded=&7Основан\: &b{0}
|
||||
gui.clandetails.clan.lore.inactive=&7Неактивен\: &b{0}/{1} дней
|
||||
gui.clandetails.allies.title=&fСоюзники
|
||||
gui.clandetails.allies.lore=&7ЛКМ\: Посмотреть список союзников или создать новый союз
|
||||
@@ -689,7 +732,7 @@ 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.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}
|
||||
@@ -726,11 +769,11 @@ gui.confirmation.return=&7Нажмите, чтобы вернуться
|
||||
gui.not.supported=&cПроизошла ошибка при открытии GUI\! Отключение... Вы скачали правильную версию?
|
||||
staff.member.verify.clan=&cАдминистратор должен подтвердить ваш клан\!
|
||||
player.already.has.that.rank=&cУ игрока уже есть этот ранг\!
|
||||
joined.clan.chat=&bВы присоединились к Клану чата
|
||||
joined.clan.chat=&bВы присоединились к клановому чату
|
||||
left.clan.chat=&bВы покинули клановый чат
|
||||
muted.clan.chat=&bВы заглушили чат Клана
|
||||
unmuted.clan.chat=&bВы включили чат Клана
|
||||
joined.ally.chat=&bВы присоединились к чату с союзниками
|
||||
joined.ally.chat=&bВы присоединились к союзному чату
|
||||
left.ally.chat=&bВы покинули чат с союзниками
|
||||
muted.ally.chat=&bВы заглушили чат с союзниками
|
||||
unmuted.ally.chat=&bВы включили чат с союзниками
|
||||
@@ -760,6 +803,29 @@ clans.not.at.war.pvp.denied=&cВаш клан не воюет с {0}\!
|
||||
cannot.attack.civilians=&cВы не можете атаковать гражданских\!
|
||||
cannot.attack.clan.member=&cВы не можете атаковать участников других кланов\!
|
||||
cannot.attack.ally=&cВы не можете атаковать союзников\!
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
cannot.change.member.fee.now=&cИзменить комиссию участника клана невозможно, так как приближается время её сбора
|
||||
cannot.change.member.fee.hours=&cПовторите попытку через {0} часов...
|
||||
cannot.change.member.fee.minutes=&cПовторите попытку через {0} минут(ы)...
|
||||
cannot.change.member.fee.minutes=&cПовторите попытку через {0} минут(ы)...
|
||||
cannot.kick.last.leader=&cВы не можете выгнать последнего лидера\!
|
||||
cannot.disband.permanent=&cВы не можете распустить этот клан. Он имеет постоянный статус.
|
||||
you.can.only.set.base.in.your.land=&cВы можете разместить точку базы только на вашей территории\!
|
||||
only.leaders.can.create.lands=&cТолько лидеры клана могут создавать территории\!
|
||||
only.one.land.per.clan=&cУ вашего клана уже есть территория\!
|
||||
only.clan.members.can.create.lands=&cТолько участники клана могут создавать территории\!
|
||||
land.allowed.all.actions=&bВсе действия теперь разрешены\!
|
||||
land.blocked.all.actions=&bВсе действия теперь запрещены\!
|
||||
land.allowed.action=&bДействие разрешено\!
|
||||
land.blocked.action=&bДействие запрещено\!
|
||||
you.do.not.own.lands=&cВы не владеете территорией\!
|
||||
land.sharing.disabled=&cРазделение территорий отключено\!
|
||||
war.expired=Война с {0} истекла\!
|
||||
you.cant.start.war.online.members.difference=Вы не можете начать войну. Один из кланов имеет больше участников в сети, чем у другого.
|
||||
|
||||
land.command=территория
|
||||
break.command=ломать
|
||||
interact.command=взаимодействовать
|
||||
place_block.command=разместить_блок
|
||||
damage.command=урон
|
||||
interact_entity.command=взаимодействование_с_сущностью
|
||||
container.command=хранилище
|
||||
@@ -0,0 +1,11 @@
|
||||
description.command=опис
|
||||
create.command=kреирај
|
||||
acf-core.parameter.description=опис
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -32,9 +32,20 @@ verify.command=verifiera
|
||||
ban.command=ban
|
||||
unban.command=avbanna
|
||||
reload.command=omladda
|
||||
acf-core.parameter.fee=avgift
|
||||
acf-core.parameter.description=beskrivning
|
||||
alliances=allianser
|
||||
coords=kordinater
|
||||
rivalries=fiender
|
||||
roster=deltagarlista
|
||||
stats=status
|
||||
vitals=livsstatus
|
||||
profile=profil
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -20,6 +20,7 @@ ally.command=müttefik
|
||||
add.command=ekle
|
||||
remove.command=Kaldır
|
||||
allow.command=izin ver
|
||||
block.command=Blok
|
||||
auto.command=Otomatik
|
||||
check.command=kontrol
|
||||
rival.command=rakip
|
||||
@@ -61,6 +62,9 @@ help.command=yardım
|
||||
acf-core.parameter.rank=Rütbe
|
||||
acf-core.parameter.leader=Lider
|
||||
acf-core.parameter.message=Mesaj
|
||||
acf-core.parameter.name=isim
|
||||
acf-core.parameter.fee=para
|
||||
acf-core.parameter.description=Açıklama
|
||||
acf-core.parameter.player=oyuncu
|
||||
acf-core.parameter.clan=klan
|
||||
acf-core.parameter.order=sıra
|
||||
@@ -238,7 +242,6 @@ the.player.does.not.have.the.permissions.to.lead.a.clan=Oyuncu bir klana liderli
|
||||
you.cannot.promote.yourself=Kendinizi tanımlayamazsınız
|
||||
the.player.is.already.a.leader=Oyuncu zaten lider
|
||||
configuration.reloaded=Konfigürasyon yenilendi.
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=Son lider istifa edemez.Başka bir lider atamalı veya klanı dağıtmalısın
|
||||
0.has.resigned={0} Klandan ayrıldı.
|
||||
you.cannot.trust.yourself=Kendine güvenemezsin
|
||||
leaders.are.already.trusted=Liderlere zaten güveniliyor
|
||||
@@ -285,7 +288,7 @@ materials=Materyal
|
||||
armor.h=K
|
||||
armor.c=G
|
||||
armor.l=P
|
||||
armor.B=B
|
||||
armor.B=Y
|
||||
diamond=Elmas
|
||||
gold=Altın
|
||||
wood=Tahta
|
||||
@@ -343,12 +346,7 @@ resign.confirmation=Ayrılmak istediğinden emin misin? {0}
|
||||
resign.success=Klanından başarıyla ayrıldın.
|
||||
you.cannot.demote.the.last.leader=Son liderin yetkisni düşüremezsin
|
||||
player.successfully.demoted=Oyuncunun rütbesi başarıyla indirildi
|
||||
bb.ago= Önce
|
||||
bb.moments=An
|
||||
bb.seconds= Saniye
|
||||
bb.minutes= Dakika
|
||||
bb.one.minute=1 Dakika
|
||||
bb.hours= Saat
|
||||
bb.one.hour=1 Saat
|
||||
bb.days= Gün
|
||||
bb.one.day=1 Gün
|
||||
@@ -609,4 +607,6 @@ 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ı\!
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
description.command=описання
|
||||
create.command=створити
|
||||
delete.command=Видалити
|
||||
rank.command=Ранг
|
||||
setdisplayname.command=установить отображаемое имя
|
||||
setdefault.command=установить по умолчанию
|
||||
removedefault.command=дистанційне сховище
|
||||
permissions.command=дозволи
|
||||
list.command=список
|
||||
list.order.asc=зростання
|
||||
list.order.desc=Опис
|
||||
list.type.name=ім'я
|
||||
list.type.kdr=kdr
|
||||
list.type.size=розмір
|
||||
list.type.founded=заснований
|
||||
list.type.active=активний
|
||||
profile.command=профіль
|
||||
roster.command=\nперелік
|
||||
lookup.command=пошук
|
||||
@@ -11,19 +24,37 @@ vitals.command=Потужності
|
||||
coords.command=координати
|
||||
stats.command=статистика
|
||||
ally.command=союзник
|
||||
add.command=додавати
|
||||
remove.command=вилучити
|
||||
allow.command=дозволити
|
||||
block.command=блокувати
|
||||
auto.command=авто
|
||||
check.command=перевірити
|
||||
assign.command=призначити
|
||||
rival.command=суперник
|
||||
bb.command=оголошення
|
||||
clear.command=очистити
|
||||
modtag.command=Опис
|
||||
toggle.command=перемкнути
|
||||
tag.command=тег
|
||||
deposit.command=внесок
|
||||
all.command=усе
|
||||
withdraw.command=зняти
|
||||
invite.command=запрошення
|
||||
kick.command=виключення
|
||||
bank.command=банк
|
||||
status.command=статус
|
||||
fee.command=комісія
|
||||
set.command=set
|
||||
purge.command=Очистити
|
||||
trust.command=довіра
|
||||
untrust.command=не довіряти
|
||||
admin.command=Адмін
|
||||
mod.command=мод
|
||||
promote.command=підвищити
|
||||
demote.command=Понизити
|
||||
clanff.command=кланфф
|
||||
ff.command=союзні сутички
|
||||
resign.command=залишити
|
||||
disband.command=розпустити
|
||||
verify.command=перевірити
|
||||
@@ -34,14 +65,132 @@ globalff.command=глобальнийff
|
||||
kills.command=вбивства
|
||||
mostkilled.command=найбільша кількість убитих
|
||||
war.command=війна
|
||||
start.command=Розпочати
|
||||
end.command=кінець
|
||||
home.command=дім
|
||||
regroup.command=Перегрупуватися
|
||||
me.command=я
|
||||
tp.command=Телепорт
|
||||
setrank.command=\nвстановити ранг
|
||||
place.command=місце
|
||||
resetkdr.command=РесетКДР
|
||||
everyone.command=Усi
|
||||
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.name=назва
|
||||
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.land.allow.interact_entity=Дозволити членам клану взаємодіяти з сутністями на вашій території
|
||||
command.description.land.allow.container=Дозволити членам клану відчиняти сховища на вашій території
|
||||
command.description.land.allow.place=Дозволити членам клану розміщувати блоки на вашій території
|
||||
command.description.land.allow.break=Дозволити членам клану ламати блоки на вашій території
|
||||
command.description.land.allow.damage=Дозволити членам клану наносити і отримувати пошкодження на вашій терреторії
|
||||
command.description.land.block.all=Заборонити усі дії на вашій території
|
||||
command.description.land.block.interact_entity=Заборонити членам клану взаємодіяти з сутністями на вашій території
|
||||
command.description.land.block.interact=Заборонити членам клану взаємодіяти на вашій территорії
|
||||
command.description.land.block.container=Заборонити членам клану відчиняти сховища на вашій территорії
|
||||
command.description.land.block.place=Заборонити членам клану розміщувати блоки на вашій території
|
||||
command.description.land.block.break=Заборонити членам клану ламати блоки на вашій території
|
||||
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.chat=Розмовляти в клановому чаті
|
||||
command.description.create=Створити клан
|
||||
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.mod.kick=Вигнати гравця з клану
|
||||
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.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.admin.permanent=Перемикає постійний статус гравця будь-якого клану
|
||||
command.description.toggle.bb=Чи варто показувати дошку оголошень при вході на сервер
|
||||
command.description.toggle.tag=Чи варто показувати близько вашого імені тег клану
|
||||
command.description.toggle.deposit=Чи можна заносити засоби до банківського рахунку вашого клану
|
||||
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=Встановити відображене ім’я клану
|
||||
alliances=союзники
|
||||
coords=координати
|
||||
rivalries=суперники
|
||||
leader=Лідер
|
||||
roster=\nперелік
|
||||
stats=статистика
|
||||
vitals=Потужності
|
||||
profile=профіль
|
||||
mostkilled=Найбільша кількість вбивств
|
||||
killcount=Кількість вбивств
|
||||
attacker=Атакуючий
|
||||
victim=Жертва
|
||||
kill.death.ratio=Співвідношення вбивств/смертей
|
||||
nokillsfound=Немає вбивств
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
start=Розпочати
|
||||
end=кінець
|
||||
add=додавати
|
||||
remove=вилучити
|
||||
allow=дозволити
|
||||
block=блокувати
|
||||
auto=авто
|
||||
war=війна
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
description.command=mô tả
|
||||
create.command=Tạo
|
||||
delete.command=xóa
|
||||
rank.command=hạng
|
||||
setdisplayname.command=tên hiển thị
|
||||
permissions.command=quyền
|
||||
list.command=danh sách
|
||||
list.order.asc=tăn dần
|
||||
list.order.desc=giảm
|
||||
list.type.name=tên
|
||||
list.type.kdr=kdr
|
||||
list.type.size=kích thước
|
||||
list.type.founded=đã tìm thấy
|
||||
list.type.active=đang kích hoạt
|
||||
profile.command=hồ sơ
|
||||
roster.command=đội hình
|
||||
lookup.command=tra cứu
|
||||
leaderboard.command=bảng xếp hạng
|
||||
alliances.command=đồng minh
|
||||
coords.command=tọa độ
|
||||
stats.command=thông số
|
||||
ally.command=đồng minh
|
||||
add.command=thêm
|
||||
remove.command=xóa bỏ
|
||||
allow.command=cho phép
|
||||
block.command=khóa
|
||||
auto.command=tự động
|
||||
check.command=kiểm tra
|
||||
assign.command=phân công
|
||||
unassign.command=hủy phân công
|
||||
acf-core.parameter.rank=hạng
|
||||
acf-core.parameter.name=tên
|
||||
acf-core.parameter.description=mô tả
|
||||
alliances=đồng minh
|
||||
coords=tọa độ
|
||||
roster=đội hình
|
||||
stats=thông số
|
||||
profile=hồ sơ
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
add=thêm
|
||||
remove=xóa bỏ
|
||||
allow=cho phép
|
||||
block=khóa
|
||||
auto=tự động
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -11,6 +11,11 @@ vitals.command=生命
|
||||
coords.command=坐标
|
||||
stats.command=统计
|
||||
ally.command=联盟
|
||||
add.command=添加
|
||||
remove.command=移除
|
||||
allow.command=允许
|
||||
block.command=阻止
|
||||
auto.command=自动
|
||||
rival.command=敌对
|
||||
bb.command=公告板
|
||||
modtag.command=更改标签
|
||||
@@ -36,11 +41,16 @@ globalff.command=全局友军伤害
|
||||
kills.command=击杀
|
||||
mostkilled.command=死亡排名
|
||||
war.command=战争
|
||||
start.command=开始
|
||||
end.command=停止
|
||||
home.command=基地
|
||||
setrank.command=设置称号
|
||||
place.command=移动
|
||||
resetkdr.command=重置死亡比值
|
||||
help.command=用户指南
|
||||
acf-core.parameter.leader=老大
|
||||
acf-core.parameter.fee=费用
|
||||
acf-core.parameter.description=描述
|
||||
home-menu=/{0} home{1} - 传送至帮派基地
|
||||
home-set-menu=/{0} home set{1} - 设置帮派基地
|
||||
home-clear-menu=/{0} home clear{1} - 清除帮派基地
|
||||
@@ -208,7 +218,6 @@ the.player.does.not.have.the.permissions.to.lead.a.clan=玩家没有做老大的
|
||||
you.cannot.promote.yourself=你不能提升你自己
|
||||
the.player.is.already.a.leader=玩家已经是老大了
|
||||
configuration.reloaded=配置已重载 by 754503921
|
||||
last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan=最后一位老大不能离职,你必须指定另一个老大或者解散此帮派
|
||||
0.has.resigned={0} 已经离职
|
||||
you.cannot.trust.yourself=你不能信任你自己
|
||||
leaders.are.already.trusted=老大已经被信任
|
||||
@@ -294,11 +303,7 @@ you.have.reseted.0.kdr=您已经重置 {0} 的 KD 比
|
||||
you.have.reseted.kdr.of.all.players=您已重置所有玩家的 KD 比
|
||||
resign.yes=是
|
||||
resign.no=否
|
||||
bb.ago= 前
|
||||
bb.seconds= 秒
|
||||
bb.minutes= 分
|
||||
bb.one.minute=一分钟
|
||||
bb.hours= 小时
|
||||
bb.one.hour=一小时
|
||||
bb.days= 天
|
||||
bb.one.day=一天
|
||||
@@ -310,10 +315,15 @@ gui.main.reset.kdr.title=&f重置 KD 比
|
||||
gui.warning.title=警告
|
||||
gui.warning.no.permission.title=&f没有权限
|
||||
gui.warning.no.permission.plugin.lore=&7你没有这样做的权限!
|
||||
gui.allies.title=联盟
|
||||
gui.rivals.title=敌对
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
gui.clandetails.clan.lore.allies.separator=&b、
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
gui.clandetails.clan.lore.rivals.separator=&b、
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
gui.playerdetails.player.lore.past.clans.separator=&b、
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -56,11 +56,29 @@ unban.command=解除封鎖
|
||||
reload.command=重新載入
|
||||
kills.command=殺敵數
|
||||
help.command=幫助
|
||||
acf-core.parameter.rank=階級
|
||||
acf-core.parameter.name=類別名稱
|
||||
acf-core.parameter.fee=費用
|
||||
acf-core.parameter.description=說明
|
||||
command.description.deny=拒絕請求
|
||||
command.description.accept=接受請求
|
||||
alliances=聯盟
|
||||
coords=座標
|
||||
rivalries=對手
|
||||
roster=成員列表
|
||||
stats=統計
|
||||
vitals=命脈
|
||||
profile=個人資料
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
add=加入
|
||||
remove=移除
|
||||
allow=允許
|
||||
block=黑名單
|
||||
auto=自動
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
# suppress inspection "TrailingSpacesInProperty"
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
name: SimpleClans
|
||||
main: net.sacredlabyrinth.phaed.simpleclans.SimpleClans
|
||||
version: '${project.version}'
|
||||
softdepend: [ VanishNoPacket, Permissions, PermissionsBukkit, Vault, PermissionsEx, mChat, mChatSuite, PlaceholderAPI, LuckPerms, WorldGuard ]
|
||||
loadbefore: [ GriefPrevention ]
|
||||
softdepend:
|
||||
- Vault
|
||||
- PlaceholderAPI
|
||||
- LuckPerms
|
||||
- WorldGuard
|
||||
loadbefore:
|
||||
- GriefPrevention
|
||||
- PlotSquared
|
||||
api-version: '1.13'
|
||||
authors:
|
||||
- Phaed
|
||||
@@ -17,10 +23,20 @@ permissions:
|
||||
description: Can promote players to clan leaders
|
||||
simpleclans.admin.demote:
|
||||
description: Can demote clan leaders to normal players
|
||||
simpleclans.admin.permanent:
|
||||
description: Can toggle clan permanent status
|
||||
simpleclans.admin.all-seeing-eye:
|
||||
description: Can see all clan chats
|
||||
simpleclans.admin.resetkdr:
|
||||
description: Can reset player kdr (of all or just one)
|
||||
simpleclans.admin.bank.status:
|
||||
description: Can check the balance of a clan
|
||||
simpleclans.admin.bank.take:
|
||||
description: Can take money from a clan
|
||||
simpleclans.admin.bank.give:
|
||||
description: Can give money to a clan
|
||||
simpleclans.admin.bank.set:
|
||||
description: Can set the balance of a clan
|
||||
simpleclans.mod.verify:
|
||||
description: Can verify simpleclans
|
||||
simpleclans.mod.ban:
|
||||
@@ -188,6 +204,11 @@ permissions:
|
||||
simpleclans.admin.resetkdr: true
|
||||
simpleclans.admin.demote: true
|
||||
simpleclans.admin.promote: true
|
||||
simpleclans.admin.permanent: true
|
||||
simpleclans.admin.bank.status: true
|
||||
simpleclans.admin.bank.take: true
|
||||
simpleclans.admin.bank.give: true
|
||||
simpleclans.admin.bank.set: true
|
||||
simpleclans.mod.*:
|
||||
description: Permissions for moderators
|
||||
default: op
|
||||
|
||||
|
After Width: | Height: | Size: 2.6 MiB |
|
After Width: | Height: | Size: 4.5 MiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 40 KiB |