diff --git a/.gitattributes b/.gitattributes index 2736f955..713fe8c0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,3 @@ *.sql linguist-detectable=true +*.md linguist-detectable=true +*.md linguist-documentation=false diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..dd84ea78 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..bbcbbe7d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/codacy.yml b/.github/workflows/codacy.yml new file mode 100644 index 00000000..caced5bb --- /dev/null +++ b/.github/workflows/codacy.yml @@ -0,0 +1,61 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# This workflow checks out code, performs a Codacy security scan +# and integrates the results with the +# GitHub Advanced Security code scanning feature. For more information on +# the Codacy security scan action usage and parameters, see +# https://github.com/codacy/codacy-analysis-cli-action. +# For more information on Codacy Analysis CLI in general, see +# https://github.com/codacy/codacy-analysis-cli. + +name: Codacy Security Scan + +on: + push: + branches: [ "master" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "master" ] + schedule: + - cron: '15 16 * * 0' + +permissions: + contents: read + +jobs: + codacy-security-scan: + permissions: + contents: read # for actions/checkout to fetch code + security-events: write # for GitHub/codeQl-action/upload-sarif to upload SARIF results + actions: read # only required for a private repository by GitHub/codeQl-action/upload-sarif to get the Action run status + name: Codacy Security Scan + runs-on: ubuntu-latest + steps: + # Checkout the repository to the GitHub Actions runner + - name: Checkout code + uses: actions/checkout@v3 + + # Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis + - name: Run Codacy Analysis CLI + uses: codacy/codacy-analysis-cli-action@d840f886c4bd4edc059706d09c6a1586111c540b + with: + # Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository + # You can also omit the token and run the tools that support default configurations + project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} + verbose: true + output: results.sarif + format: sarif + # Adjust severity of non-security issues + gh-code-scanning-compat: true + # Force 0 exit code to allow SARIF file generation + # This will handover control about PR rejection to the GitHub side + max-allowed-issues: 2147483647 + + # Upload the SARIF file generated in the previous step + - name: Upload SARIF results file + uses: github/codeql-action/upload-sarif@v2 + with: + sarif_file: results.sarif diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml new file mode 100644 index 00000000..9bbf3ba2 --- /dev/null +++ b/.github/workflows/dependency-review.yml @@ -0,0 +1,39 @@ +# Dependency Review Action +# +# This Action will scan dependency manifest files that change as part of a Pull Request, +# surfacing known-vulnerable versions of the packages declared or updated in the PR. +# Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable +# packages will be blocked from merging. +# +# Source repository: https://github.com/actions/dependency-review-action +# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement +name: 'Dependency review' +on: + pull_request: + branches: [ "master" ] + +# If using a dependency submission action in this workflow this permission will need to be set to: +# +# permissions: +# contents: write +# +# https://docs.github.com/en/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api +permissions: + contents: read + # Write permissions for pull-requests are required for using the `comment-summary-in-pr` option, comment out if you aren't using this option + pull-requests: write + +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - name: 'Checkout repository' + uses: actions/checkout@v4 + - name: 'Dependency Review' + uses: actions/dependency-review-action@v4 + # Commonly enabled options, see https://github.com/actions/dependency-review-action#configuration-options for all available options. + with: + comment-summary-in-pr: always + # fail-on-severity: moderate + # deny-licenses: GPL-1.0-or-later, LGPL-2.0-or-later + # retry-on-snapshot-warnings: true diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml new file mode 100644 index 00000000..059f460b --- /dev/null +++ b/.github/workflows/maven-publish.yml @@ -0,0 +1,33 @@ +# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path + +name: Maven Package + +on: +# push: +# branches: [ "master" ] + release: + types: [created] + +jobs: + build: + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + server-id: github # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - name: Publish to GitHub Packages Apache Maven + run: mvn --batch-mode deploy -s $GITHUB_WORKSPACE/settings.xml + env: + GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 00000000..0e5a11c5 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,37 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Java CI with Maven + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: mvn clean install --file pom.xml -Pgithub + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive + - name: Update dependency graph + uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..26d33521 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..e3645a41 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml new file mode 100644 index 00000000..901ee626 --- /dev/null +++ b/.idea/dbnavigator.xml @@ -0,0 +1,547 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
\ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 00000000..86f4b6f0 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/google-java-format.xml b/.idea/google-java-format.xml new file mode 100644 index 00000000..8b57f452 --- /dev/null +++ b/.idea/google-java-format.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..f0aa47da --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 00000000..a3b6a315 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..67e1e611 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..14733308 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/Deploy.xml b/.idea/runConfigurations/Deploy.xml new file mode 100644 index 00000000..83c9f3f6 --- /dev/null +++ b/.idea/runConfigurations/Deploy.xml @@ -0,0 +1,17 @@ + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/Start_Server.xml b/.idea/runConfigurations/Start_Server.xml new file mode 100644 index 00000000..2ac1755c --- /dev/null +++ b/.idea/runConfigurations/Start_Server.xml @@ -0,0 +1,17 @@ + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/relluessentials__clean_install_.xml b/.idea/runConfigurations/relluessentials__clean_install_.xml new file mode 100644 index 00000000..92577f0e --- /dev/null +++ b/.idea/runConfigurations/relluessentials__clean_install_.xml @@ -0,0 +1,33 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 00000000..2b63946d --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..c5aecb96 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..89c3889d --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,3 @@ +# How to +* Create an Issue (Bug, New Feature) +* Make a linked Pull Request diff --git a/MinecraftDevelopmentEnvironment.sh b/MinecraftDevelopmentEnvironment.sh deleted file mode 120000 index df7855ee..00000000 --- a/MinecraftDevelopmentEnvironment.sh +++ /dev/null @@ -1 +0,0 @@ -RelluBash-Script-Collection/MinecraftDevelopmentEnvironment.sh \ No newline at end of file diff --git a/README.md b/README.md index 9fe41dc2..f2a005f4 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,50 @@ ![Rellu Essentials](https://img.relluem94.de/logos/app/relluessentials.png) -### a Spigot Plugin compatible with Spigot 1.19.4 +### a Spigot Plugin compatible with Spigot 1.20.1 -## Development / Build +# First Steps +Find out how to get the plugin and how to use it. + +## Usage of Plugin +1. [Download](https://github.com/Relluem94s/RelluEssentials/packages) or [Build](https://github.com/Relluem94s/RelluEssentials#build) the plugin jar +2. Copy the jar into the `plugin` Directory +3. Start and Stop the Server +4. Set Host, User and Password of your MySQL Server in the config.yml +5. Start your Server again +6. Enjoy + +## Build 1. ```shell git clone https://github.com/Relluem94/RelluEssentials.git ``` -1. ```shell +2. ```shell git checkout $(git describe --tags $(git rev-list --tags --max-count=1)) ``` -1. ```shell +3. ```shell mvn clean install ``` -For Development you can use + +## Deploy Package +1. Make sure that your GitHub token is in your maven settings.xml (~/.m2/settings.xml) +2. ```shell + mvn --batch-mode deploy + ``` + + +## Development ```shell -./MinecraftDevelopmentEnvironment.sh +./RelluBash-Script-Collection/dev/MinecraftDevelopmentEnvironment.sh ``` -it will run a specified Dev-Sever (with docker mysql and phpmyadmin) +it will run a specified Dev-Sever (with docker mysql and phpmyadmin) check [RelluBash-Script-Collection](https://github.com/Relluem94s/RelluBash-Script-Collection) -## First Steps -1. Copy the jar into the `plugin` Directory -1. Start and Stop the Server -1. Set User and Password of your MySQL Server in the config.yml -1. Start your Server again -1. Enjoy +# Functionality +What does the plugin include? ## Commands -* Admin gives Clearing Chat, Fake AFK, Teleport to highest Block and Custom NPCs (`/admin`) +* Admin gives Clearing Chat, Fake AFK, Teleport to the highest Block and Custom NPCs (`/admin`) * Away from Keyboard (`/afk`) * Teleports to the latest Checkpoint (on spawn, teleport, world, warp and home) (`/back`) * Opens Bag Pack Menu (`/bags`) @@ -98,6 +113,7 @@ it will run a specified Dev-Sever (with docker mysql and phpmyadmin) * Beekeeper * Enchanter (WIP) + ## Bags * Custom Bags via Database * Mining Bag @@ -106,9 +122,11 @@ it will run a specified Dev-Sever (with docker mysql and phpmyadmin) * Shepherd Bag * Lumberjack Bag + ## Functional Block Protections * Add additional Blocks via Database or via API + ## Enchantments * Replenishment (Auto Replant Seeds) * Autosmelt (Smelts all Blocks) @@ -116,6 +134,7 @@ it will run a specified Dev-Sever (with docker mysql and phpmyadmin) * Delicate (Prevents breaking immature Crops and Stems) * Thunderstrike (Strikes Entity with a Lightning Bolt) + ## Skills * Skills will be reworked. Some as Enchant some as Skill. (WIP) * TreeFeller (Fell the whole Tree) [he is dead jim] @@ -146,6 +165,9 @@ it will run a specified Dev-Sever (with docker mysql and phpmyadmin) * Save Death Location as Home * Show Location in Chat (private) +# Documentation +How it is working? What's under the hood? + ## Helpers - AttributeHelper - BagHelper @@ -181,5 +203,9 @@ it will run a specified Dev-Sever (with docker mysql and phpmyadmin) - ProtectionAPI - WarpAPI + ## Database Model -![Database Model](https://raw.githubusercontent.com/Relluem94s/RelluEssentials/master/db_model.png) +![Database Model](https://raw.githubusercontent.com/Relluem94s/RelluEssentials/master/db_model.svg) + + +[![Java CI with Maven](https://github.com/Relluem94s/RelluEssentials/actions/workflows/maven.yml/badge.svg)](https://github.com/Relluem94s/RelluEssentials/actions/workflows/maven.yml) [![Dependency review](https://github.com/Relluem94s/RelluEssentials/actions/workflows/dependency-review.yml/badge.svg)](https://github.com/Relluem94s/RelluEssentials/actions/workflows/dependency-review.yml) [![Dependency review](https://github.com/Relluem94s/RelluEssentials/actions/workflows/dependency-review.yml/badge.svg)](https://github.com/Relluem94s/RelluEssentials/actions/workflows/dependency-review.yml) diff --git a/RelluBash-Script-Collection b/RelluBash-Script-Collection index 1d06d39a..dbb75e46 160000 --- a/RelluBash-Script-Collection +++ b/RelluBash-Script-Collection @@ -1 +1 @@ -Subproject commit 1d06d39aad8b8364f44f33c29ea9c5c188a9bd39 +Subproject commit dbb75e4610ae3968b345cbcc88fcb21e7bdc6978 diff --git a/RelluEssentials.code-workspace b/RelluEssentials.code-workspace deleted file mode 100644 index 7cd94fb9..00000000 --- a/RelluEssentials.code-workspace +++ /dev/null @@ -1,12 +0,0 @@ -{ - "folders": [ - { - "path": "." - } - ], - "settings": { - "java.compile.nullAnalysis.mode": "automatic", - "java.configuration.updateBuildConfiguration": "automatic", - "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx4G -Xms100m -Xlog:disable" - } -} \ No newline at end of file diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..1179c767 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,13 @@ +# Security Policy + +## Supported Versions + + +| Version | Supported | +|---------|--------------------| +| <3.3 | :white_check_mark: | +| >3.2 | :x: | + +## Reporting a Vulnerability + +Please create an Issue with the Vulnerability / Library diff --git a/db_model.png b/db_model.png deleted file mode 100644 index 450a8049..00000000 Binary files a/db_model.png and /dev/null differ diff --git a/db_model.svg b/db_model.svg new file mode 100644 index 00000000..01440518 --- /dev/null +++ b/db_model.svg @@ -0,0 +1,15235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml index 2b2ef0a2..ee076bb9 100644 --- a/dependency-reduced-pom.xml +++ b/dependency-reduced-pom.xml @@ -4,7 +4,7 @@ de.relluem94 relluessentials RelluEssentials - 4.0 + 4.1.8 https://github.com/Relluem94s/RelluEssentials scm:git:git@github.com:Relluem94s/RelluEssentials.git @@ -22,11 +22,18 @@ maven-compiler-plugin - 3.10.1 + 3.12.1 17 17 UTF-8 + + + org.projectlombok + lombok + ${lombok.version} + + @@ -44,10 +51,9 @@ *:* - META-INF/*.SF - META-INF/*.MF - META-INF/*.DSA - META-INF/*.RSA + META-INF/** + LICENSE + module-info.class @@ -60,15 +66,26 @@ 3.3.0 UTF-8 + + + + github + + + + + github + RelluLib + https://maven.pkg.github.com/Relluem94s/RelluLib + + + + - - jitpack.io - https://jitpack.io - central central @@ -82,6 +99,11 @@ papermc https://repo.papermc.io/repository/maven-public/ + + github + Relluem94s + https://maven.pkg.github.com/Relluem94s/RelluLib + @@ -91,72 +113,50 @@ provided - org.spigotmc - spigot - 1.20.1-R0.1-SNAPSHOT - provided - - - com.github.seeseemelk - MockBukkit-v1.18 - 2.85.2 + org.junit.jupiter + junit-jupiter-engine + 5.10.1 test - slf4j-simple - org.slf4j - - - paper-api - io.papermc.paper + junit-platform-engine + org.junit.platform - junit-jupiter + junit-jupiter-api org.junit.jupiter - hamcrest-library - org.hamcrest - - - annotations - org.jetbrains + apiguardian-api + org.apiguardian - com.github.vorburger - MariaDB4j - main-SNAPSHOT + org.junit.platform + junit-platform-runner + 1.10.1 test - logback-classic - ch.qos.logback - - - spring-boot-starter-logging - org.springframework.boot - - - mariaDB4j - com.github.vorburger.MariaDB4j + junit + junit - mariaDB4j-app - com.github.vorburger.MariaDB4j + junit-platform-launcher + org.junit.platform - mariaDB4j-core - com.github.vorburger.MariaDB4j + junit-platform-suite-api + org.junit.platform - mariaDB4j-maven-plugin - com.github.vorburger.MariaDB4j + junit-platform-suite-commons + org.junit.platform - mariaDB4j-springboot - com.github.vorburger.MariaDB4j + apiguardian-api + org.apiguardian @@ -164,13 +164,15 @@ github - GitHub Relluem94 Apache Maven Packages + GitHub Relluem94s Apache Maven Packages https://maven.pkg.github.com/Relluem94s/RelluEssentials 17 - 1.19 + 1.20 + 1.18.30 + 1.20.1-R0.1-SNAPSHOT Relluem94 windows-1252 https://www.relluem94.de diff --git a/docs/helpers/ConfigHelper.md b/docs/helpers/ConfigHelper.md index 87044f65..3786ab36 100644 --- a/docs/helpers/ConfigHelper.md +++ b/docs/helpers/ConfigHelper.md @@ -50,7 +50,7 @@ Reloads the Config * **Parameters:** * `path` — where the Location gets saved - * `l` — the Location it self + * `l` — the Location itself ## `public Location getLocation(String path)` diff --git a/docs/helpers/ProtectionHelper.md b/docs/helpers/ProtectionHelper.md index 78fa9521..b6940f80 100644 --- a/docs/helpers/ProtectionHelper.md +++ b/docs/helpers/ProtectionHelper.md @@ -9,7 +9,7 @@ Use this Method to check if Block is protectable ## `public static boolean isOpenable(Block b)` -Use this Method to check if a Block is a instance of Openable +Use this Method to check if a Block is an instance of Openable * **Parameters:** `b` — Block * **Returns:** boolean diff --git a/docs/helpers/StringHelper.md b/docs/helpers/StringHelper.md index 680449fe..0f5dbc1f 100644 --- a/docs/helpers/StringHelper.md +++ b/docs/helpers/StringHelper.md @@ -7,7 +7,7 @@ ## `public static String replaceColor(String message)` * **Parameters:** `message` — String - * **Returns:** String replaces & with § to trigger the ChatColor codes + * **Returns:** String replaces & with § to trigger the ChatColor codes ## `public static String locationToString(Location l)` diff --git a/pom.xml b/pom.xml index eca616cb..6c2eaae3 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,15 @@ - + 4.0.0 de.relluem94 relluessentials RelluEssentials - 4.0 + 4.1.8 https://github.com/Relluem94s/RelluEssentials - 1.19 + 1.18.30 + 1.20.1-R0.1-SNAPSHOT + 1.20 Relluem94 https://www.relluem94.de de.relluem94.minecraft.server.spigot.essentials.RelluEssentials @@ -16,7 +19,7 @@ github - GitHub Relluem94 Apache Maven Packages + GitHub Relluem94s Apache Maven Packages https://maven.pkg.github.com/Relluem94s/RelluEssentials @@ -26,10 +29,6 @@ https://github.com/Relluem94s/RelluEssentials - - jitpack.io - https://jitpack.io - central central @@ -43,59 +42,71 @@ papermc https://repo.papermc.io/repository/maven-public/ + + github + Relluem94s + https://maven.pkg.github.com/Relluem94s/RelluLib + + + + github + + + github + RelluLib + https://maven.pkg.github.com/Relluem94s/RelluLib + true + true + + + + org.spigotmc spigot-api - 1.20.1-R0.1-SNAPSHOT - provided - - - org.spigotmc - spigot - 1.20.1-R0.1-SNAPSHOT + ${spigot.version} provided - com.github.Relluem94s - RelluLib - 0.12 + de.relluem94 + rellulib + 0.16 compile - + com.mysql mysql-connector-j - 8.0.33 + 8.3.0 compile - com.github.seeseemelk - MockBukkit-v1.18 - 2.85.2 + org.projectlombok + lombok + ${lombok.version} + + + com.mojang + authlib + 4.0.43 + + + com.google.guava + guava + 32.1.3-jre + + + org.junit.jupiter + junit-jupiter-engine + 5.10.1 test - - - org.slf4j - slf4j-simple - - - com.github.vorburger - MariaDB4j - main-SNAPSHOT + org.junit.platform + junit-platform-runner + 1.10.1 test - - - ch.qos.logback - logback-classic - - - org.springframework.boot - spring-boot-starter-logging - - @@ -109,11 +120,18 @@ maven-compiler-plugin - 3.10.1 + 3.12.1 17 17 UTF-8 + + + org.projectlombok + lombok + ${lombok.version} + + @@ -132,10 +150,9 @@ *:* - META-INF/*.SF - META-INF/*.MF - META-INF/*.DSA - META-INF/*.RSA + META-INF/** + LICENSE + module-info.class @@ -148,7 +165,8 @@ maven-resources-plugin 3.3.0 - UTF-8 + UTF-8 + diff --git a/rellu_essentials_db_model.mwb b/rellu_essentials_db_model.mwb index b56e7d94..de081c31 100644 Binary files a/rellu_essentials_db_model.mwb and b/rellu_essentials_db_model.mwb differ diff --git a/relluessentials.iml b/relluessentials.iml new file mode 100644 index 00000000..d42b276b --- /dev/null +++ b/relluessentials.iml @@ -0,0 +1,19 @@ + + + + + + + SPIGOT + MCP + PAPER + ADVENTURE + + 1 + + + + + + \ No newline at end of file diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/CustomEnchants.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/CustomEnchants.java index c62c0a7d..dff50286 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/CustomEnchants.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/CustomEnchants.java @@ -1,7 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import org.bukkit.attribute.Attribute; @@ -28,8 +27,8 @@ private CustomEnchants(){ public static final EnchantmentHelper autosmelt = new EnchantmentHelper( new EnchantName(EnchantmentConstants.PLUGIN_ENCHANTMENT_AUTOSMELT, EnchantmentConstants.PLUGIN_ENCHANTMENT_AUTOSMELT_DISPLAYNAME), EnchantmentTarget.TOOL, - new EnchantLevel(1, 1), - Arrays.asList(Enchantment.SILK_TOUCH), + new EnchantLevel(1, 1), + List.of(Enchantment.SILK_TOUCH), EnchantmentConstants.PLUGIN_ENCHANTMENT_AUTOSMELT_LORE, Rarity.LEGENDARY, AttributeHelper.addAttribute() @@ -38,8 +37,8 @@ private CustomEnchants(){ public static final EnchantmentHelper telekinesis = new EnchantmentHelper( new EnchantName(EnchantmentConstants.PLUGIN_ENCHANTMENT_TELEKINESIS, EnchantmentConstants.PLUGIN_ENCHANTMENT_TELEKINESIS_DISPLAYNAME), EnchantmentTarget.BREAKABLE, - new EnchantLevel(1, 1), - Arrays.asList(Enchantment.SILK_TOUCH), + new EnchantLevel(1, 1), + List.of(Enchantment.SILK_TOUCH), EnchantmentConstants.PLUGIN_ENCHANTMENT_TELEKINESIS_LORE, Rarity.LEGENDARY, AttributeHelper.addAttribute() @@ -48,8 +47,8 @@ private CustomEnchants(){ public static final EnchantmentHelper replenishment = new EnchantmentHelper( new EnchantName(EnchantmentConstants.PLUGIN_ENCHANTMENT_REPLENISHMENT, EnchantmentConstants.PLUGIN_ENCHANTMENT_REPLENISHMENT_DISPLAYNAME), EnchantmentTarget.TOOL, - new EnchantLevel(1, 1), - Arrays.asList(Enchantment.SILK_TOUCH), + new EnchantLevel(1, 1), + List.of(Enchantment.SILK_TOUCH), EnchantmentConstants.PLUGIN_ENCHANTMENT_REPLENISHMENT_LORE, Rarity.LEGENDARY, AttributeHelper.addAttribute() @@ -58,8 +57,8 @@ private CustomEnchants(){ public static final EnchantmentHelper delicate = new EnchantmentHelper( new EnchantName(EnchantmentConstants.PLUGIN_ENCHANTMENT_DELICATE, EnchantmentConstants.PLUGIN_ENCHANTMENT_DELICATE_DISPLAYNAME), EnchantmentTarget.TOOL, - new EnchantLevel(1, 1), - Arrays.asList(Enchantment.SILK_TOUCH), + new EnchantLevel(1, 1), + List.of(Enchantment.SILK_TOUCH), EnchantmentConstants.PLUGIN_ENCHANTMENT_DELICATE_LORE, Rarity.LEGENDARY, AttributeHelper.addAttribute() @@ -68,8 +67,8 @@ private CustomEnchants(){ public static final EnchantmentHelper thunderstrike = new EnchantmentHelper( new EnchantName(EnchantmentConstants.PLUGIN_ENCHANTMENT_THUNDERSTRIKE, EnchantmentConstants.PLUGIN_ENCHANTMENT_THUNDERSTRIKE_DISPLAYNAME), EnchantmentTarget.WEAPON, - new EnchantLevel(1,1), - Arrays.asList(Enchantment.FIRE_ASPECT), + new EnchantLevel(1,1), + List.of(Enchantment.FIRE_ASPECT), EnchantmentConstants.PLUGIN_ENCHANTMENT_THUNDERSTRIKE_LORE, Rarity.LEGENDARY, AttributeHelper.addAttribute( diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/CustomItems.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/CustomItems.java index 5a5e141e..79b90a0f 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/CustomItems.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/CustomItems.java @@ -10,22 +10,13 @@ import static de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants.PLUGIN_ITEM_COINS_LORE; import static de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants.PLUGIN_ITEM_MAGIC_WATER_BUCKET; import static de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants.PLUGIN_ITEM_MAGIC_WATER_BUCKET_LORE; -import static de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants.PLUGIN_ITEM_RELLU_BOOTS; -import static de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants.PLUGIN_ITEM_RELLU_CHESTPLATE; -import static de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants.PLUGIN_ITEM_RELLU_HELMET; -import static de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants.PLUGIN_ITEM_RELLU_LEGGINGS; -import static de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants.PLUGIN_ITEM_RELLU_PICKAXE; -import static de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants.PLUGIN_ITEM_RELLU_SHIELD; -import static de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants.PLUGIN_ITEM_RELLU_SWORD; import java.util.Arrays; +import java.util.List; import org.bukkit.Color; -import org.bukkit.DyeColor; import org.bukkit.Material; -import org.bukkit.block.Banner; import org.bukkit.enchantments.Enchantment; -import org.bukkit.inventory.meta.BlockStateMeta; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.LeatherArmorMeta; @@ -44,7 +35,7 @@ private CustomItems() { throw new IllegalStateException(Strings.PLUGIN_INTERNAL_UTILITY_CLASS); } - public static final ItemHelper magic_water_bucket = new ItemHelper(Material.WATER_BUCKET, 1, PLUGIN_ITEM_MAGIC_WATER_BUCKET, Type.MONEY, Rarity.EPIC, Arrays.asList(PLUGIN_ITEM_MAGIC_WATER_BUCKET_LORE)){ + public static final ItemHelper magic_water_bucket = new ItemHelper(Material.WATER_BUCKET, 1, PLUGIN_ITEM_MAGIC_WATER_BUCKET, Type.GADGET, Rarity.EPIC, List.of(PLUGIN_ITEM_MAGIC_WATER_BUCKET_LORE)){ @Override public void init() { ItemMeta im = getItemMeta(); @@ -52,7 +43,7 @@ public void init() { } }; - public static final ItemHelper coins = new ItemHelper(Material.GOLD_NUGGET, 1, PLUGIN_ITEM_COINS, Type.MONEY, Rarity.COMMON, Arrays.asList(PLUGIN_ITEM_COINS_LORE)); + public static final ItemHelper coins = new ItemHelper(Material.GOLD_NUGGET, 1, PLUGIN_ITEM_COINS, Type.MONEY, Rarity.COMMON, List.of(PLUGIN_ITEM_COINS_LORE)); public static final ItemHelper cloudSailor = new ItemHelper(Material.FEATHER, 1, PLUGIN_ITEM_CLOUDSAILOR, Type.GADGET, Rarity.EPIC, Arrays.asList(PLUGIN_ITEM_CLOUDSAILOR_LORE1, PLUGIN_ITEM_CLOUDSAILOR_LORE2)); public static final ItemHelper cloudBoots = new ItemHelper(Material.LEATHER_BOOTS, 1, PLUGIN_ITEM_CLOUDBOOTS, Type.ARMOR, Rarity.LEGENDARY, Arrays.asList(PLUGIN_ITEM_CLOUDBOOTS_LORE1, PLUGIN_ITEM_CLOUDBOOTS_LORE2)) { @@ -67,111 +58,6 @@ public void init() { } }; - /** - * - * Internal Testing Stuff - * - * - */ - public static final ItemHelper relluHelmet = new ItemHelper(Material.LEATHER_HELMET, 1, PLUGIN_ITEM_RELLU_HELMET, Type.ARMOR, Rarity.LEGENDARY) { - @Override - public void init() { - LeatherArmorMeta lam = (LeatherArmorMeta) getItemMeta(); - lam.setColor(Color.fromRGB(243, 125, 0)); - lam.addEnchant(Enchantment.THORNS, 94, true); - lam.addEnchant(Enchantment.LOOT_BONUS_MOBS, 94, true); - lam.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 94, true); - lam.setUnbreakable(true); - setItemMeta(lam); - } - }; - - public static final ItemHelper relluChestPlate = new ItemHelper(Material.LEATHER_CHESTPLATE, 1, PLUGIN_ITEM_RELLU_CHESTPLATE, Type.ARMOR, Rarity.LEGENDARY) { - @Override - public void init() { - LeatherArmorMeta lam = (LeatherArmorMeta) getItemMeta(); - lam.setColor(Color.fromRGB(72, 179, 177)); - lam.addEnchant(Enchantment.THORNS, 94, true); - lam.addEnchant(Enchantment.LOOT_BONUS_MOBS, 94, true); - lam.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 94, true); - lam.setUnbreakable(true); - setItemMeta(lam); - } - }; - - public static final ItemHelper relluLeggings = new ItemHelper(Material.LEATHER_LEGGINGS, 1, PLUGIN_ITEM_RELLU_LEGGINGS, Type.ARMOR, Rarity.LEGENDARY) { - @Override - public void init() { - LeatherArmorMeta lam = (LeatherArmorMeta) getItemMeta(); - lam.setColor(Color.fromRGB(152, 216, 1)); - lam.addEnchant(Enchantment.THORNS, 94, true); - lam.addEnchant(Enchantment.LOOT_BONUS_MOBS, 94, true); - lam.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 94, true); - lam.setUnbreakable(true); - setItemMeta(lam); - } - }; - - public static final ItemHelper relluBoots = new ItemHelper(Material.LEATHER_BOOTS, 1, PLUGIN_ITEM_RELLU_BOOTS, Type.ARMOR, Rarity.LEGENDARY) { - @Override - public void init() { - LeatherArmorMeta lam = (LeatherArmorMeta) getItemMeta(); - lam.setColor(Color.fromRGB(227, 59, 46)); - lam.addEnchant(Enchantment.THORNS, 94, true); - lam.addEnchant(Enchantment.LOOT_BONUS_MOBS, 94, true); - lam.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 94, true); - lam.setUnbreakable(true); - setItemMeta(lam); - } - }; - - public static final ItemHelper relluSword = new ItemHelper(Material.NETHERITE_SWORD, 1, PLUGIN_ITEM_RELLU_SWORD, Type.WEAPON, Rarity.LEGENDARY) { - @Override - public void init() { - ItemMeta im = getItemMeta(); - im.addEnchant(Enchantment.FIRE_ASPECT, 94, true); - im.addEnchant(Enchantment.DAMAGE_ALL, 94, true); - im.addEnchant(Enchantment.SWEEPING_EDGE, 94, true); - im.addEnchant(Enchantment.LOOT_BONUS_MOBS, 94, true); - im.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 94, true); - im.setUnbreakable(true); - setItemMeta(im); - } - }; - - public static final ItemHelper relluPickAxe = new ItemHelper(Material.NETHERITE_PICKAXE, 1, PLUGIN_ITEM_RELLU_PICKAXE, Type.TOOL, Rarity.LEGENDARY) { - @Override - public void init() { - ItemMeta im = getItemMeta(); - im.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 94, true); - im.addEnchant(Enchantment.DIG_SPEED, 94, true); - im.setUnbreakable(true); - setItemMeta(im); - } - }; - - public static final ItemHelper relluShield = new ItemHelper(Material.SHIELD, 1, PLUGIN_ITEM_RELLU_SHIELD, Type.ARMOR, Rarity.LEGENDARY) { - @Override - public void init() { - BlockStateMeta bmeta = (BlockStateMeta) getItemMeta(); - - Banner banner = (Banner) bmeta.getBlockState(); - banner.setBaseColor(DyeColor.PURPLE); - - banner.update(); - - bmeta.setBlockState(banner); - - bmeta.addEnchant(Enchantment.DAMAGE_ALL, 94, true); - bmeta.addEnchant(Enchantment.THORNS, 94, true); - bmeta.addEnchant(Enchantment.LOOT_BONUS_MOBS, 94, true); - bmeta.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, 94, true); - bmeta.setUnbreakable(true); - setItemMeta(bmeta); - } - }; - - public static final ItemHelper npc_gui_disabled = new ItemHelper(Material.BLACK_STAINED_GLASS_PANE, 1, " ", Type.NPC_GUI, Rarity.NONE); public static final ItemHelper npc_gui_close = new ItemHelper(Material.BARRIER, 1, "Close", Type.NPC_GUI, Rarity.NONE); } \ No newline at end of file diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/RelluEssentials.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/RelluEssentials.java index 83c1b2d3..7e8750af 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/RelluEssentials.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/RelluEssentials.java @@ -23,6 +23,8 @@ import java.util.ResourceBundle; import java.util.UUID; +import lombok.Getter; +import lombok.Setter; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.PluginDescriptionFile; @@ -71,18 +73,34 @@ public class RelluEssentials extends JavaPlugin { private long start; private static RelluEssentials instance; - private DatabaseHelper dBH; - private PluginInformationEntry pie; + @Getter + private DatabaseHelper databaseHelper; + @Setter + @Getter + private PluginInformationEntry pluginInformation; private static Banker banker; + @Getter private boolean isUnitTest = false; + @Setter + @Getter private PlayerAPI playerAPI; + @Setter + @Getter private ProtectionAPI protectionAPI; + @Setter + @Getter private NPCAPI npcAPI; + @Setter + @Getter private BagAPI bagAPI; + @Setter + @Getter private BankAPI bankAPI; + @Setter + @Getter private WarpAPI warpAPI; public final Map selections = new HashMap<>(); @@ -99,8 +117,7 @@ public class RelluEssentials extends JavaPlugin { public final String[] oreRespawn = new String[]{PLUGIN_WORLD_WORLD_NETHER}; //TODO has to be done in Config (new Table?) #IsComming public static final boolean MONEY_LOST_ON_DEATH = true; public final String[] worlds = new String[]{PLUGIN_WORLD_WORLD, PLUGIN_WORLD_WORLD_NETHER, PLUGIN_WORLD_WORLD_THE_END, PLUGIN_WORLD_LOBBY}; - public final String[][] worldsGroup = new String[][]{new String[]{PLUGIN_WORLD_WORLD, PLUGIN_WORLD_WORLD_NETHER, PLUGIN_WORLD_WORLD_THE_END}, new String[]{PLUGIN_WORLD_LOBBY}}; - + public static synchronized RelluEssentials getInstance() { @@ -133,7 +150,7 @@ public void onEnable() { ); dm.enable(); - dBH = dm.getDatabaseHelper(); + databaseHelper = dm.getDatabaseHelper(); @@ -192,70 +209,4 @@ protected RelluEssentials(JavaPluginLoader loader, PluginDescriptionFile descrip super(loader, description, dataFolder, file); isUnitTest = true; } - - public boolean isUnitTest(){ - return isUnitTest; - } - - public DatabaseHelper getDatabaseHelper(){ - return dBH; - } - - public PluginInformationEntry getPluginInformation(){ - return pie; - } - - public void setPluginInformation(PluginInformationEntry pie){ - this.pie = pie; - } - - public PlayerAPI getPlayerAPI() { - return playerAPI; - } - - public ProtectionAPI getProtectionAPI() { - return protectionAPI; - } - - public NPCAPI getNpcAPI() { - return npcAPI; - } - - public BagAPI getBagAPI() { - return bagAPI; - } - - public BankAPI getBankAPI() { - return bankAPI; - } - - public WarpAPI getWarpAPI() { - return warpAPI; - } - - public void setPlayerAPI(PlayerAPI playerAPI) { - this.playerAPI = playerAPI; - } - - public void setProtectionAPI(ProtectionAPI protectionAPI) { - this.protectionAPI = protectionAPI; - } - - public void setNpcAPI(NPCAPI npcAPI) { - this.npcAPI = npcAPI; - } - - public void setBagAPI(BagAPI bagAPI) { - this.bagAPI = bagAPI; - } - - public void setBankAPI(BankAPI bankAPI) { - this.bankAPI = bankAPI; - } - - public void setWarpAPI(WarpAPI warpAPI) { - this.warpAPI = warpAPI; - } - - } \ No newline at end of file diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/Strings.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/Strings.java index c8b1c7e1..d97f42e3 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/Strings.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/Strings.java @@ -8,11 +8,11 @@ private Strings() { throw new IllegalStateException(Strings.PLUGIN_INTERNAL_UTILITY_CLASS); } - /*********************************************************************************/ - /* PLUGIN STUFF */ - /*********************************************************************************/ + /* ******************************************************************************* */ + /* PLUGIN STUFF */ + /* ******************************************************************************* */ - public static final String PLUGIN_EOL = System.getProperty("line.separator"); + public static final String PLUGIN_EOL = System.lineSeparator(); public static final String PLUGIN_COLOR_COMMAND = "§f"; public static final String PLUGIN_COLOR_COMMAND_NAME = "§b"; @@ -35,7 +35,6 @@ private Strings() { public static final String PLUGIN_NAME_ESSENTIALS = "Essentials"; public static final String PLUGIN_NAME_INITIAL_RELLU = "R"; public static final String PLUGIN_NAME_INITIAL_ESSENTIALS = "E"; - public static final String PLUGIN_NAME = PLUGIN_NAME_RELLU + PLUGIN_NAME_ESSENTIALS; public static final String PLUGIN_NAME_SHORT = PLUGIN_COLOR_LOGO_RELLU + PLUGIN_NAME_INITIAL_RELLU + PLUGIN_COLOR_LOGO_ESSENTIALS + PLUGIN_NAME_INITIAL_ESSENTIALS + PLUGIN_COLOR_MESSAGE; public static final String PLUGIN_NAME_PREFIX = "§o§l" + PLUGIN_COLOR_LOGO_RELLU + PLUGIN_NAME_RELLU + PLUGIN_COLOR_LOGO_ESSENTIALS + PLUGIN_NAME_ESSENTIALS + PLUGIN_COLOR_RESET + PLUGIN_COLOR_MESSAGE; public static final String PLUGIN_NAME_CONSOLE = PLUGIN_COLOR_MESSAGE + "[" + PLUGIN_NAME_PREFIX + PLUGIN_COLOR_MESSAGE + "] "; @@ -51,21 +50,19 @@ private Strings() { public static final String PLUGIN_FORMS_SPACER_CHANNEL = " >> " + PLUGIN_COLOR_COMMAND; public static final String PLUGIN_FORMS_SPACER_MESSAGE = PLUGIN_COLOR_MESSAGE_SPACER + " >> " + PLUGIN_COLOR_MESSAGE; public static final String PLUGIN_FORMS_BORDER = "<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>"; - public static final String PLUGIN_FORMS_SHORT_BORDER = "<><><><><><><><><><><><><><><><><><>"; - public static final String PLUGIN_FORMS_WHITESPACE = " "; public static final String PLUGIN_FORMS_WHITESPACE_SHORT = " "; public static final String PLUGIN_FORMS_COMMAND_PREFIX = PLUGIN_NAME_PREFIX + PLUGIN_FORMS_SPACER_MESSAGE + PLUGIN_COLOR_COMMAND; - public static final String PLUGIN_SYMBOL_HEAVY_CHECK_MARK = PLUGIN_COLOR_POSITIVE + "\u2714 "; - public static final String PLUGIN_SYMBOL_BLACK_LARGE_CIRCLE = PLUGIN_COLOR_NEUTRAL + "\u2B24 "; - public static final String PLUGIN_SYMBOL_HEAVY_MULTIPLICATION_X = PLUGIN_COLOR_NEGATIVE + "\u2716 "; - public static final String PLUGIN_SYMBOL_RIGHT_POINTING_ANGLE_BRACKET = PLUGIN_COLOR_POSITIVE + "\u232A"; - public static final String PLUGIN_SYMBOL_LEFT_POINTING_ANGLE_BRACKET = PLUGIN_COLOR_NEGATIVE + "\u2329"; - public static final String PLUGIN_SYMBOL_CROSS_MARK = PLUGIN_COLOR_NEGATIVE + "\u274C"; - public static final String PLUGIN_SYMBOL_BLACK_FOUR_POINTED_STAR = PLUGIN_COLOR_POSITIVE + "\u2726"; - public static final String PLUGIN_SYMBOL_HEART = PLUGIN_COLOR_NEGATIVE + "\u2665"; - // \u274C Cross Mark (U+274C) - // \u2726 Black Four Pointed Star (U+2726) + public static final String PLUGIN_SYMBOL_HEAVY_CHECK_MARK = PLUGIN_COLOR_POSITIVE + "✔ "; + public static final String PLUGIN_SYMBOL_BLACK_LARGE_CIRCLE = PLUGIN_COLOR_NEUTRAL + "⬤ "; + public static final String PLUGIN_SYMBOL_HEAVY_MULTIPLICATION_X = PLUGIN_COLOR_NEGATIVE + "✖ "; + public static final String PLUGIN_SYMBOL_RIGHT_POINTING_ANGLE_BRACKET = PLUGIN_COLOR_POSITIVE + "〉"; + public static final String PLUGIN_SYMBOL_LEFT_POINTING_ANGLE_BRACKET = PLUGIN_COLOR_NEGATIVE + "〈"; + public static final String PLUGIN_SYMBOL_CROSS_MARK = PLUGIN_COLOR_NEGATIVE + "âŒ"; + public static final String PLUGIN_SYMBOL_BLACK_FOUR_POINTED_STAR = PLUGIN_COLOR_POSITIVE + "✦"; + public static final String PLUGIN_SYMBOL_HEART = PLUGIN_COLOR_NEGATIVE + "♥"; + // ⌠Cross Mark (U+274C) + // ✦ Black Four Pointed Star (U+2726) public static final String PLUGIN_SIGN_NAME = PLUGIN_COLOR_MESSAGE + "[" + PLUGIN_NAME_SHORT + "]"; public static final String PLUGIN_SIGN_CLICK = PLUGIN_COLOR_MESSAGE + "[Click here]"; @@ -93,9 +90,9 @@ private Strings() { - /*********************************************************************************/ - /* COMMAND STUFF */ - /*********************************************************************************/ + /* ******************************************************************************* */ + /* COMMAND STUFF */ + /* ******************************************************************************* */ public static final String PLUGIN_COMMAND_FLYMODE = PLUGIN_FORMS_COMMAND_PREFIX + "Der Flugmodus von %s" + PLUGIN_COLOR_COMMAND + " wurde " + PLUGIN_COLOR_COMMAND_ARG + "%s!"; public static final String PLUGIN_COMMAND_FLYMODE_ACTIVATED = "aktiviert"; public static final String PLUGIN_COMMAND_FLYMODE_DEACTIVATED = "deaktiviert"; @@ -109,12 +106,10 @@ private Strings() { public static final String PLUGIN_COMMAND_COOKIES = PLUGIN_FORMS_COMMAND_PREFIX + "Ein Keks für dich, %s"; public static final String PLUGIN_COMMAND_COOKIES_PLAYER = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast %s " + PLUGIN_COLOR_COMMAND + "ein Keks geschenkt!"; public static final String PLUGIN_COMMAND_COOKIES_LORE_1 = PLUGIN_COLOR_COMMAND + "Mit viel Liebe gebacken von %s"; - public static final String PLUGIN_COMMAND_COOKIES_LORE_2 = PLUGIN_COLOR_COMMAND + "Backe doch auch einen Keks!"; public static final String PLUGIN_COMMAND_COOKIES_LORE_3 = PLUGIN_COLOR_COMMAND + "Wie selbstverliebt!"; public static final String PLUGIN_COMMAND_COOKIES_DISPLAYNAME = PLUGIN_COLOR_COMMAND + "Schokoladenkeks"; public static final String PLUGIN_COMMAND_HEAD = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast ein Kopf von " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + " erzeugt!"; - public static final String PLUGIN_COMMAND_HEAD_NOT_FOUND = PLUGIN_FORMS_COMMAND_PREFIX + "Es konnte kei Kopf erzeugt werden, Spieler nicht gefunden"; public static final String PLUGIN_COMMAND_VANISH_DISABLE = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast vanish für " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + "deaktiviert!"; public static final String PLUGIN_COMMAND_VANISH_ENABLE = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast vanish für " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + "aktiviert!"; public static final String PLUGIN_COMMAND_VANISH = PLUGIN_FORMS_COMMAND_PREFIX + "Dein vanish wurde umgeschaltet!"; @@ -122,7 +117,8 @@ private Strings() { public static final String PLUGIN_COMMAND_MORE = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast mehr von " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + " erzeugt!"; public static final String PLUGIN_COMMAND_MORE_PLAYER = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast mehr von " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + " erhalten!"; - public static final String PLUGIN_COMMAND_REPAIR = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + " repariert!"; + public static final String PLUGIN_COMMAND_REPAIR = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast " + PLUGIN_COLOR_COMMAND_ARG + "%s" + PLUGIN_COLOR_COMMAND + " repariert!"; + public static final String PLUGIN_COMMAND_CANNOT_REPAIR = PLUGIN_FORMS_COMMAND_PREFIX + "Du kannst " + PLUGIN_COLOR_COMMAND_ARG + "%s" + PLUGIN_COLOR_COMMAND + " nicht reparieren!"; public static final String PLUGIN_COMMAND_REPAIR_PLAYER = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + " repariert bekommen!"; public static final String PLUGIN_COMMAND_GAMERULES = PLUGIN_FORMS_COMMAND_PREFIX + "Die Welt " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + "hat folgende Einstellungen:"; @@ -208,10 +204,12 @@ private Strings() { public static final String PLUGIN_COMMAND_TO_LESS_ARGUMENTS = PLUGIN_FORMS_COMMAND_PREFIX + "Zu wenig Argumente!"; public static final String PLUGIN_COMMAND_TO_MANY_ARGUMENTS = PLUGIN_FORMS_COMMAND_PREFIX + "Zu viele Argumente!"; public static final String PLUGIN_COMMAND_TARGET_NOT_A_PLAYER = PLUGIN_FORMS_COMMAND_PREFIX + "%s" + PLUGIN_COLOR_COMMAND + " ist kein Spieler!"; + public static final String PLUGIN_COMMAND_WRONG_SUB_COMMAND = PLUGIN_FORMS_COMMAND_PREFIX + "Wrong Sub Command"; public static final String PLUGIN_COMMAND_PURSE_GAIN = PLUGIN_FORMS_COMMAND_PREFIX + "You gained " + PLUGIN_COLOR_MONEY + "%s " + PLUGIN_NAME_MONEY + " and now have " + PLUGIN_COLOR_MONEY + "%s " + PLUGIN_NAME_MONEY + " in your Purse!"; public static final String PLUGIN_COMMAND_PURSE_TO_ITEM = PLUGIN_FORMS_COMMAND_PREFIX + "You put out " + PLUGIN_COLOR_MONEY + "%s " + PLUGIN_NAME_MONEY; public static final String PLUGIN_COMMAND_PURSE_TO_ITEM_VALUE_TO_HIGH = PLUGIN_FORMS_COMMAND_PREFIX + "The value you entered is to high!"; + public static final String PLUGIN_COMMAND_PURSE_TO_ITEM_VALUE_INVALID = PLUGIN_FORMS_COMMAND_PREFIX + "The value you entered is invalid!"; public static final String PLUGIN_COMMAND_PURSE_TO_ITEM_NOT_ENOUGH_MONEY = PLUGIN_FORMS_COMMAND_PREFIX + "Not enough " + PLUGIN_NAME_MONEY; public static final String PLUGIN_COMMAND_PURSE_TOTAL = PLUGIN_FORMS_COMMAND_PREFIX + "You have " + PLUGIN_COLOR_MONEY + "%s " + PLUGIN_NAME_MONEY + " in your Purse!"; public static final String PLUGIN_COMMAND_PURSE_TOTAL_OTHER = PLUGIN_FORMS_COMMAND_PREFIX + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + " has " + PLUGIN_COLOR_MONEY + "%s " + PLUGIN_NAME_MONEY + " in the Purse!"; @@ -228,7 +226,6 @@ private Strings() { public static final String PLUGIN_COMMAND_PROTECT_RIGHT_ADD = PLUGIN_FORMS_COMMAND_PREFIX + "Click your Protected Block to add the Player"; public static final String PLUGIN_COMMAND_PROTECT_RIGHT_PLAYER_NOTFOUND = PLUGIN_FORMS_COMMAND_PREFIX + "No Player found with Name: " + PLUGIN_COLOR_COMMAND_ARG + "%s"; public static final String PLUGIN_COMMAND_PROTECT_RIGHT_REMOVE = PLUGIN_FORMS_COMMAND_PREFIX + "Click your Protected Block to remove the Player"; - public static final String PLUGIN_COMMAND_PROTECT_WRONG_SUB_COMMAND = PLUGIN_FORMS_COMMAND_PREFIX + "Wrong Sub Command"; public static final String PLUGIN_COMMAND_SIGN_INFO = PLUGIN_FORMS_COMMAND_PREFIX + "Use " + PLUGIN_COLOR_COMMAND_NAME + "/" + CommandNameConstants.PLUGIN_COMMAND_NAME_SIGN + " " + PLUGIN_COLOR_COMMAND_ARG + CommandNameConstants.PLUGIN_COMMAND_NAME_SIGN_COPY + PLUGIN_COLOR_MESSAGE + " or " + PLUGIN_COLOR_COMMAND_ARG + CommandNameConstants.PLUGIN_COMMAND_NAME_SIGN_EDIT; public static final String PLUGIN_COMMAND_SIGN_COPY = PLUGIN_FORMS_COMMAND_PREFIX + "Click the Sign you want to copy"; @@ -243,10 +240,8 @@ private Strings() { public static final String PLUGIN_COMMAND_ADMIN_CLEAN_PROTECTIONS_CLEANING_UP = PLUGIN_FORMS_COMMAND_PREFIX + "Cleaning Up " + PLUGIN_COLOR_COMMAND_ARG + "%s" + PLUGIN_COLOR_COMMAND + " Protections"; public static final String PLUGIN_COMMAND_ADMIN_CLEAN_PROTECTIONS_END = PLUGIN_FORMS_COMMAND_PREFIX + "Reduced to " + PLUGIN_COLOR_COMMAND_ARG + "%s" + PLUGIN_COLOR_COMMAND + " Protections"; public static final String PLUGIN_COMMAND_ADMIN_CLEAN_PROTECTIONS_NONE = PLUGIN_FORMS_COMMAND_PREFIX + "No Protections to Clean Up"; - public static final String PLUGIN_COMMAND_ADMIN_WRONG_SUBCOMMAND = PLUGIN_FORMS_COMMAND_PREFIX + "Wrong Subcommand"; public static final String PLUGIN_COMMAND_WORLD_INFO = PLUGIN_FORMS_COMMAND_PREFIX + "Use this command with the following Subcommands: list load unload unloadNoSave"; public static final String PLUGIN_COMMAND_WORLD_CREATE_INFO = PLUGIN_FORMS_COMMAND_PREFIX + "Use this command with the following arguments: name(String) type(WordType String) environment (Environment as String) structures (boolean)"; - public static final String PLUGIN_COMMAND_WORLD_WRONG_SUBCOMMAND = PLUGIN_FORMS_COMMAND_PREFIX + "Wrong Subcommand"; public static final String PLUGIN_COMMAND_WORLD_WORLD_NOT_LOADED = "World not loaded. Can't unload this World."; public static final String PLUGIN_COMMAND_WORLD_UNLOAD_WORLD = PLUGIN_FORMS_COMMAND_PREFIX + "World get's saved and unloaded."; public static final String PLUGIN_COMMAND_WORLD_UNLOAD_WORLD_NO_SAVE = PLUGIN_FORMS_COMMAND_PREFIX + "World get's unloaded without saving it."; @@ -259,8 +254,9 @@ private Strings() { public static final String PLUGIN_COMMAND_EXIT_KICK_MESSAGE = PLUGIN_COLOR_COMMAND + "exited."; public static final String PLUGIN_COMMAND_EXIT_SERVER_SHUTTING_DOWN = PLUGIN_COLOR_COMMAND + "Server is shutting down..."; + public static final String PLUGIN_COMMAND_TP_REQUEST = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast " + PLUGIN_COLOR_COMMAND_ARG + "%s" + PLUGIN_COLOR_COMMAND + " eine Teleport Anfrage geschickt"; - public static final String PLUGIN_COMMAND_TP_REQUEST_TARGET = PLUGIN_FORMS_COMMAND_PREFIX + "Teleport Anfrage von " + PLUGIN_COLOR_COMMAND_ARG + "%s" + PLUGIN_COLOR_COMMAND + ""; + public static final String PLUGIN_COMMAND_TP_REQUEST_TARGET = PLUGIN_FORMS_COMMAND_PREFIX + "Teleport Anfrage von " + PLUGIN_COLOR_COMMAND_ARG + "%s" + PLUGIN_COLOR_COMMAND; public static final String PLUGIN_COMMAND_TP_REQUEST_EXPIRED = PLUGIN_FORMS_COMMAND_PREFIX + "Teleport Anfrage ist abgelaufen!"; public static final String PLUGIN_COMMAND_TP = PLUGIN_FORMS_COMMAND_PREFIX + "Du wurdest zu " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + "teleportiert!"; public static final String PLUGIN_COMMAND_TP_TO = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + "zu dir teleportiert!"; @@ -268,11 +264,18 @@ private Strings() { public static final String PLUGIN_COMMAND_TP_ACCEPT_NO_REQUEST = PLUGIN_FORMS_COMMAND_PREFIX + "Keine offene Teleport Anfrage!"; public static final String PLUGIN_COMMAND_TP_SEND_REQUEST = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast eine Teleport Anfrage an " + PLUGIN_COLOR_COMMAND_ARG + "%s" + PLUGIN_COLOR_COMMAND + " geschickt!"; + public static final String PLUGIN_GRAPPLINGHOOK_COOLDOWN = PLUGIN_COLOR_NEGATIVE + "Please Slow down.."; + public static final String PLUGIN_BAG_AMOUNT = "Amount: " + PLUGIN_COLOR_COMMAND_ARG + "%s"; public static final String PLUGIN_BAG_RETRIEVE = "Click to retrieve"; + public static final String PLUGIN_BAG_CLICK_TO_OPEN = "Click to open"; + public static final String PLUGIN_BAG_CLICK_TO_BUY = "Click to buy this Bag"; + public static final String PLUGIN_BAG_COST_TO_BUY = "Costs: %s"; + public static final String PLUGIN_BAG_GUI_TITLE = PLUGIN_NAME_PREFIX + PLUGIN_FORMS_SPACER_MESSAGE + "Bags"; public static final String PLUGIN_BAGS_SAVED = "%s%s Bag(s) saved!"; public static final String PLUGIN_PLAYERS_SAVED = "%s%s Player(s) saved!"; + public static final String PLUGIN_PLAYERS_INVENTORY_SAVED = "%s%s Player(s) Inventory saved!"; public static final String PLUGIN_COMMAND_BAGS_NOT_FOUND = PLUGIN_FORMS_COMMAND_PREFIX + "The searched Bag " + PLUGIN_COLOR_COMMAND_ARG + "%s " + PLUGIN_COLOR_COMMAND + "was not found!"; public static final String PLUGIN_COMMAND_MARRY_SEND_REQUEST = PLUGIN_FORMS_COMMAND_PREFIX + "Du hast eine Hochzeitsanfrage an " + PLUGIN_COLOR_COMMAND_ARG + "%s" + PLUGIN_COLOR_COMMAND + " geschickt!"; diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/BagAPI.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/BagAPI.java index e8569869..93f57fb3 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/BagAPI.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/BagAPI.java @@ -4,10 +4,12 @@ import java.util.List; import de.relluem94.minecraft.server.spigot.essentials.helpers.pojo.BagTypeEntry; +import lombok.Getter; +@Getter public class BagAPI { - private List bagTypeEntryList = new ArrayList<>(); + private final List bagTypeEntryList = new ArrayList<>(); /** * @@ -16,13 +18,4 @@ public class BagAPI { public BagAPI(List bagTypes) { bagTypeEntryList.addAll(bagTypes); } - - /** - * - * Gives back a List of all BagTypes - * @return List of BagTypeEntry - */ - public List getBagTypeEntryList(){ - return bagTypeEntryList; - } } \ No newline at end of file diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/BankAPI.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/BankAPI.java index f021c65d..d8375f5b 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/BankAPI.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/BankAPI.java @@ -7,7 +7,7 @@ public class BankAPI { - private List bankTiersList = new ArrayList<>(); + private final List bankTiersList = new ArrayList<>(); /** * diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/NPCAPI.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/NPCAPI.java index 54a76ce8..762e2802 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/NPCAPI.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/NPCAPI.java @@ -16,10 +16,10 @@ public class NPCAPI { - private List npcItemstack = new ArrayList<>(); - private List npcName = new ArrayList<>(); - private List npcTraderTitle = new ArrayList<>(); - private List npcs = new ArrayList<>(); + private final List npcItemstack = new ArrayList<>(); + private final List npcName = new ArrayList<>(); + private final List npcTraderTitle = new ArrayList<>(); + private final List npcs = new ArrayList<>(); public void init(List npcEntryList){ for(NPCEntry ne : npcEntryList){ diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/PlayerAPI.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/PlayerAPI.java index 4d8565d7..bba8cbed 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/PlayerAPI.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/PlayerAPI.java @@ -6,6 +6,7 @@ import java.util.Map; import java.util.UUID; +import lombok.Getter; import org.bukkit.entity.Player; import com.google.common.collect.ArrayListMultimap; @@ -16,10 +17,13 @@ import de.relluem94.minecraft.server.spigot.essentials.helpers.pojo.PlayerEntry; import de.relluem94.minecraft.server.spigot.essentials.helpers.pojo.PlayerPartnerEntry; +import javax.annotation.Nonnull; + public class PlayerAPI { - private Map playerEntryMap = new HashMap<>(); - private Multimap playerBagEntryMap = ArrayListMultimap.create(); + @Getter + private final Map playerEntryMap = new HashMap<>(); + private final Multimap playerBagEntryMap = ArrayListMultimap.create(); public PlayerAPI(List bagEntries){ @@ -39,7 +43,7 @@ public PlayerEntry getPlayerEntry(UUID uuid){ public PlayerEntry getPlayerEntry(int id){ for(PlayerEntry pe : playerEntryMap.values()){ - if(pe.getID() == id){ + if(pe.getId() == id){ return pe; } } @@ -50,25 +54,23 @@ public PlayerEntry getPlayerEntry(Player player){ return playerEntryMap.get(player.getUniqueId()); } - public Map getPlayerEntryMap(){ - return playerEntryMap; - } - /** * - * @param playerFK + * @param playerFK int * @return Collection of BagEntries */ + + @SuppressWarnings("unused") public Collection getPlayerBagList(int playerFK){ return playerBagEntryMap.get(playerFK); } /** * Adds Player Bag to internal List - * @param playerFK - * @param bagEntry + * @param playerFK int + * @param bagEntry BagEntry */ - public void putPlayerBagEntry(int playerFK, BagEntry bagEntry){ + public void putPlayerBagEntry(int playerFK, @Nonnull BagEntry bagEntry){ playerBagEntryMap.put(playerFK, bagEntry); } @@ -82,7 +84,7 @@ public Multimap getPlayerBagMap() { public PlayerPartnerEntry getPartner(PlayerEntry pe){ if(pe.getPartner() == null){ - return RelluEssentials.getInstance().getDatabaseHelper().getPlayerPartner(pe.getID()); + return RelluEssentials.getInstance().getDatabaseHelper().getPlayerPartner(pe.getId()); } return pe.getPartner(); @@ -93,6 +95,6 @@ public void reloadPlayerHomes() { playerEntryMap.clear(); - pel.forEach(p -> RelluEssentials.getInstance().getPlayerAPI().putPlayerEntry(UUID.fromString(p.getUUID()), p)); + pel.forEach(p -> RelluEssentials.getInstance().getPlayerAPI().putPlayerEntry(UUID.fromString(p.getUuid()), p)); } } \ No newline at end of file diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/ProtectionAPI.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/ProtectionAPI.java index 34e0b754..8ab2e107 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/ProtectionAPI.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/ProtectionAPI.java @@ -13,8 +13,8 @@ public class ProtectionAPI { - private List protectionLocksList = new ArrayList<>(); - private HashMap protectionEntryMap = new HashMap<>(); + private final List protectionLocksList = new ArrayList<>(); + private final HashMap protectionEntryMap = new HashMap<>(); public ProtectionAPI(List protectionLocksEntryList, Map protectionEntryMap){ @@ -26,8 +26,8 @@ public ProtectionAPI(List protectionLocksEntryList, Map getMaterialProtectionList(){ /** * - * @return + * @return Map of Location and ProtectionEntry */ public Map getProtectionEntryList(){ return protectionEntryMap; diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/WarpAPI.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/WarpAPI.java index 856fbad1..98914bf3 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/WarpAPI.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/api/WarpAPI.java @@ -3,12 +3,14 @@ import java.util.ArrayList; import java.util.List; +import lombok.Getter; import org.bukkit.World; import de.relluem94.minecraft.server.spigot.essentials.helpers.pojo.LocationEntry; +@Getter public class WarpAPI { - private List warps; + private final List warps; public WarpAPI(List warps){ this.warps = warps; @@ -40,10 +42,6 @@ public void addWarp(LocationEntry le){ warps.add(le); } - public List getWarps(){ - return warps; - } - public List getWarps(World world){ List filteredWarps = new ArrayList<>(); @@ -55,5 +53,4 @@ public List getWarps(World world){ return filteredWarps; } - -} +} \ No newline at end of file diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/AFK.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/AFK.java index 4ad0dc55..83cae26e 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/AFK.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/AFK.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -18,7 +19,7 @@ public class AFK implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_AFK)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Admin.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Admin.java index 805d8c21..d49ca9a9 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Admin.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Admin.java @@ -10,15 +10,16 @@ import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_ADMIN_PING_OTHER; import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_ADMIN_PING_OTHER_NOT_FOUND; import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_ADMIN_TOP; -import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_ADMIN_WRONG_SUBCOMMAND; import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_NOT_A_PLAYER; import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PERMISSION_MISSING; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_WRONG_SUB_COMMAND; import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_ADMIN; import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_ADMIN_PING; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; import java.util.HashMap; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -41,7 +42,7 @@ public class Admin implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_ADMIN)) { return false; } @@ -121,7 +122,7 @@ else if (args[0].equalsIgnoreCase("cleanProtections")) { } } - if (removeMap.size() == 0) { + if (removeMap.isEmpty()) { p.sendMessage(PLUGIN_COMMAND_ADMIN_CLEAN_PROTECTIONS_NONE); } @@ -155,7 +156,7 @@ else if (args[0].equalsIgnoreCase("top")) { return true; } else { - p.sendMessage(PLUGIN_COMMAND_ADMIN_WRONG_SUBCOMMAND); + p.sendMessage(PLUGIN_COMMAND_WRONG_SUB_COMMAND); return true; } } @@ -174,7 +175,7 @@ else if (args.length == 2) { } } else { - p.sendMessage(PLUGIN_COMMAND_ADMIN_WRONG_SUBCOMMAND); + p.sendMessage(PLUGIN_COMMAND_WRONG_SUB_COMMAND); return true; } return false; diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Back.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Back.java index 37ea667e..133f6732 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Back.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Back.java @@ -10,6 +10,7 @@ import java.util.HashMap; import java.util.Map; +import lombok.NonNull; import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -21,7 +22,7 @@ public class Back implements CommandExecutor { - private static Map backPlayerLocation = new HashMap<>(); + private static final Map backPlayerLocation = new HashMap<>(); public static void addBackPoint(Player p){ removeBackPoint(p); @@ -29,13 +30,11 @@ public static void addBackPoint(Player p){ } public static void removeBackPoint(Player p){ - if(backPlayerLocation.containsKey(p)){ - backPlayerLocation.remove(p); - } + backPlayerLocation.remove(p); } @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_BACK)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Bags.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Bags.java index b9f20019..79ddc057 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Bags.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Bags.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -13,6 +14,8 @@ import de.relluem94.minecraft.server.spigot.essentials.helpers.pojo.PlayerEntry; import de.relluem94.minecraft.server.spigot.essentials.permissions.Groups; +import java.util.Objects; + import static de.relluem94.minecraft.server.spigot.essentials.Strings.*; import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_BAGS; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; @@ -20,7 +23,7 @@ public class Bags implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_BAGS)) { return false; } @@ -42,7 +45,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St return true; } - BagTypeEntry bte = null; + BagTypeEntry bte; if(TypeUtils.isInt(args[0])){ bte = BagHelper.getBagTypeById(Integer.parseInt(args[0])); } @@ -52,8 +55,8 @@ public boolean onCommand(CommandSender sender, Command command, String label, St if(bte != null){ PlayerEntry pe = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(p); - if(BagHelper.hasBag(pe.getID(), bte.getId())){ - p.openInventory(BagHelper.getBag(bte.getId(), pe)); + if(BagHelper.hasBag(pe.getId(), bte.getId())){ + p.openInventory(Objects.requireNonNull(BagHelper.getBag(bte.getId(), pe))); return true; } else{ diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Broadcast.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Broadcast.java index 71de0d63..4c4d9114 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Broadcast.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Broadcast.java @@ -12,6 +12,7 @@ import static de.relluem94.rellulib.utils.StringUtils.implode; import static de.relluem94.rellulib.utils.StringUtils.replaceSymbols; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -24,7 +25,7 @@ public class Broadcast implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_BROADCAST)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Cookies.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Cookies.java index dfc5a32f..16cdb67d 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Cookies.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Cookies.java @@ -15,6 +15,7 @@ import java.util.Arrays; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.CommandBlock; @@ -33,7 +34,7 @@ public class Cookies implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_COOCKIE)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/CustomHead.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/CustomHead.java index b1c5cae3..d5dfee4c 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/CustomHead.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/CustomHead.java @@ -1,25 +1,28 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_CUSTOMHEADS_TITLE; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_NOT_A_PLAYER; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PERMISSION_MISSING; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_CUSTOMHEADS; +import static de.relluem94.minecraft.server.spigot.essentials.helpers.PlayerHeadHelper.getCustomSkull; +import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; + +import lombok.NonNull; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import de.relluem94.minecraft.server.spigot.essentials.permissions.Permission; import de.relluem94.minecraft.server.spigot.essentials.CustomItems; import de.relluem94.minecraft.server.spigot.essentials.constants.CustomHeads; import de.relluem94.minecraft.server.spigot.essentials.helpers.InventoryHelper; import de.relluem94.minecraft.server.spigot.essentials.permissions.Groups; - -import static de.relluem94.minecraft.server.spigot.essentials.Strings.*; -import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_CUSTOMHEADS; -import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; -import static de.relluem94.minecraft.server.spigot.essentials.helpers.PlayerHeadHelper.getCustomSkull; +import de.relluem94.minecraft.server.spigot.essentials.permissions.Permission; public class CustomHead implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_CUSTOMHEADS)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Day.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Day.java index 4b803faf..3af1c10e 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Day.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Day.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.command.Command; @@ -18,7 +19,7 @@ public class Day implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_DAY)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Enderchest.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Enderchest.java index 7732a76f..fa647b16 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Enderchest.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Enderchest.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -16,7 +17,7 @@ public class Enderchest implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_ENDERCHEST)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Exit.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Exit.java index 2b0bbbc6..c8e050ef 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Exit.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Exit.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -20,7 +21,7 @@ public class Exit implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_EXIT)) { return false; } @@ -35,7 +36,7 @@ public void run() { Bukkit.getOnlinePlayers().forEach(op -> op.kickPlayer(Strings.PLUGIN_COMMAND_EXIT_SERVER_SHUTTING_DOWN)); } - }.runTaskLater(RelluEssentials.getInstance(), 10l); + }.runTaskLater(RelluEssentials.getInstance(), 10L); Bukkit.getServer().getScheduler().runTaskLater(RelluEssentials.getInstance(), Bukkit.getServer()::shutdown, 20L); return true; diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Fly.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Fly.java index 4e1ce4d4..a6ddd60f 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Fly.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Fly.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -19,7 +20,7 @@ public class Fly implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_FLY)) { return false; } @@ -61,8 +62,8 @@ public boolean onCommand(CommandSender sender, Command command, String label, St private void flyMode(Player p) { PlayerEntry pe = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(p.getUniqueId()); pe.setFlying(!pe.isFlying()); - pe.setUpdatedBy(pe.getID()); - pe.setToBeUpdated(true); + pe.setUpdatedBy(pe.getId()); + pe.setHasToBeUpdated(true); p.setAllowFlight(pe.isFlying()); p.sendMessage( PLUGIN_FORMS_COMMAND_PREFIX + diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/GameMode.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/GameMode.java index 7cd15935..02a1f866 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/GameMode.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/GameMode.java @@ -17,6 +17,7 @@ import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_GAMEMODE_3_NAME; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -32,7 +33,7 @@ public class GameMode implements CommandExecutor { private static final String LANG_KEY = "PLUGIN_COMMAND_GAMEMODE"; @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, @NonNull Command command, @NonNull String label, String[] args) { if (!Permission.isAuthorized(sender, Groups.getGroup("mod").getId())) { sender.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); return true; diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Gamerules.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/GameRules.java similarity index 87% rename from src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Gamerules.java rename to src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/GameRules.java index ad39b52e..6de994fd 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Gamerules.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/GameRules.java @@ -14,6 +14,7 @@ import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isConsole; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.GameRule; import org.bukkit.World; @@ -25,10 +26,12 @@ import de.relluem94.minecraft.server.spigot.essentials.permissions.Groups; import de.relluem94.minecraft.server.spigot.essentials.permissions.Permission; -public class Gamerules implements CommandExecutor { +import java.util.Objects; + +public class GameRules implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_GAMERULES)) { return false; } @@ -73,10 +76,10 @@ public boolean onCommand(CommandSender sender, Command command, String label, St } private void showGameRule(CommandSender sender, World world) { - String[] gamerules = world.getGameRules(); + String[] gameRules = world.getGameRules(); sendMessage(sender, String.format(PLUGIN_COMMAND_GAMERULES, world.getName())); - for (String gamerule : gamerules) { - Object value = world.getGameRuleValue(GameRule.getByName(gamerule)); + for (String gameRule : gameRules) { + Object value = world.getGameRuleValue(Objects.requireNonNull(GameRule.getByName(gameRule))); String color; if (value instanceof Boolean) { color = ((boolean)value ? PLUGIN_COLOR_POSITIVE : PLUGIN_COLOR_NEGATIVE); @@ -84,7 +87,7 @@ private void showGameRule(CommandSender sender, World world) { color = "§7"; } - sendMessage(sender, " §d" + gamerule + "§f = " + color + value); + sendMessage(sender, " §d" + gameRule + "§f = " + color + value); } } } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/God.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/God.java index d8e5e485..c5a647ef 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/God.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/God.java @@ -12,6 +12,7 @@ import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isConsole; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -24,7 +25,7 @@ public class God implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_GOD)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Head.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Head.java index bc3218e6..ee94edde 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Head.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Head.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -18,7 +19,7 @@ public class Head implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_HEAD)) { return false; } @@ -43,11 +44,6 @@ public boolean onCommand(CommandSender sender, Command command, String label, St String owner = args[0]; ItemStack is = createSkull(owner); - if(is == null){ - sendMessage(p, PLUGIN_COMMAND_HEAD_NOT_FOUND); - return true; - } - p.getInventory().addItem(is); p.updateInventory(); sendMessage(p, String.format(PLUGIN_COMMAND_HEAD, owner)); diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Heal.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Heal.java index 7ae96804..42272e7b 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Heal.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Heal.java @@ -11,6 +11,7 @@ import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isConsole; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.attribute.Attribute; import org.bukkit.command.Command; @@ -21,10 +22,12 @@ import de.relluem94.minecraft.server.spigot.essentials.permissions.Groups; import de.relluem94.minecraft.server.spigot.essentials.permissions.Permission; +import java.util.Objects; + public class Heal implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_HEAL)) { return false; } @@ -61,7 +64,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St } private void heal(Player p) { - p.setHealth(p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getDefaultValue()); + p.setHealth(Objects.requireNonNull(p.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getDefaultValue()); p.setFoodLevel(20); p.sendMessage(PLUGIN_COMMAND_HEAL); } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Home.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Home.java index 3dabedd1..6c1af1b2 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Home.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Home.java @@ -22,6 +22,7 @@ import static de.relluem94.minecraft.server.spigot.essentials.helpers.StringHelper.locationToString; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; +import lombok.NonNull; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -36,7 +37,7 @@ public class Home implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_HOME)) { switch (args.length) { case 0: @@ -65,14 +66,14 @@ public boolean onCommand(CommandSender sender, Command command, String label, St if (!pe.getHomes().isEmpty()) { p.sendMessage(PLUGIN_COMMAND_HOME_LIST); - pe.getHomes().stream().forEachOrdered(fle -> p.sendMessage(String.format(PLUGIN_COMMAND_HOME_LIST_NAME, fle.getLocationName(), locationToString(fle.getLocation())))); + pe.getHomes().forEach(fle -> p.sendMessage(String.format(PLUGIN_COMMAND_HOME_LIST_NAME, fle.getLocationName(), locationToString(fle.getLocation())))); } else { p.sendMessage(PLUGIN_COMMAND_HOME_NONE); } if(!pe.getDeaths().isEmpty()){ p.sendMessage(PLUGIN_COMMAND_HOME_LIST_DEATHPOINTS); - pe.getDeaths().stream().forEachOrdered(fle -> p.sendMessage(String.format(PLUGIN_COMMAND_HOME_LIST_DEATHPOINTS_NAME, fle.getLocationName(), locationToString(fle.getLocation())))); + pe.getDeaths().forEach(fle -> p.sendMessage(String.format(PLUGIN_COMMAND_HOME_LIST_DEATHPOINTS_NAME, fle.getLocationName(), locationToString(fle.getLocation())))); } return true; } @@ -83,7 +84,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St LocationEntry le = new LocationEntry(); le.setLocationName(args[0]); le.setLocationType(RelluEssentials.getInstance().locationTypeEntryList.get(0)); - le.setPlayerId(pe.getID()); + le.setPlayerId(pe.getId()); if (homeExists(pe, le) || deathExists(pe, le)) { le = getLocationEntry(pe, le); @@ -107,7 +108,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St le.setLocation(p.getLocation()); le.setLocationName(args[1]); le.setLocationType(RelluEssentials.getInstance().locationTypeEntryList.get(0)); - le.setPlayerId(pe.getID()); + le.setPlayerId(pe.getId()); if (args[0].equalsIgnoreCase(PLUGIN_COMMAND_NAME_HOME_SET)) { if (homeExists(pe, le)) { diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Inventory.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Inventory.java index b625a6ac..26d5f614 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Inventory.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Inventory.java @@ -8,6 +8,7 @@ import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_INVENTORY; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -20,7 +21,7 @@ public class Inventory implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_INVENTORY)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Marry.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Marry.java index 6c0a974d..38bb09e5 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Marry.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Marry.java @@ -23,6 +23,7 @@ import java.util.HashMap; import java.util.UUID; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; @@ -40,7 +41,7 @@ public class Marry implements CommandExecutor { - HashMap marryAcceptList = new HashMap<>(); + private final HashMap marryAcceptList = new HashMap<>(); private void addMarryEntry(Player player, Player target){ if(RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(player).getPartner() != null || RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(target).getPartner() != null){ @@ -78,9 +79,9 @@ public void marry(Player player, Player target){ PlayerEntry secondPlayer = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(player); PlayerPartnerEntry playerPartnerEntry = new PlayerPartnerEntry(); - playerPartnerEntry.setCreatedby(firstPlayer.getID()); - playerPartnerEntry.setFirstPlayerID(firstPlayer.getID()); - playerPartnerEntry.setSecondPlayerID(secondPlayer.getID()); + playerPartnerEntry.setCreatedBy(firstPlayer.getId()); + playerPartnerEntry.setFirstPartnerId(firstPlayer.getId()); + playerPartnerEntry.setSecondPartnerId(secondPlayer.getId()); RelluEssentials.getInstance().getDatabaseHelper().insertPlayerPartner(playerPartnerEntry); playerPartnerEntry = RelluEssentials.getInstance().getPlayerAPI().getPartner(firstPlayer); @@ -88,16 +89,15 @@ public void marry(Player player, Player target){ firstPlayer.setPartner(playerPartnerEntry); secondPlayer.setPartner(playerPartnerEntry); - Collection protectionEntryList = new ArrayList<> (); - protectionEntryList.addAll(RelluEssentials.getInstance().getProtectionAPI().getProtectionEntryList().values()); + Collection protectionEntryList = new ArrayList<>(RelluEssentials.getInstance().getProtectionAPI().getProtectionEntryList().values()); for(ProtectionEntry pre : protectionEntryList){ - if(pre.getCreatedBy() == firstPlayer.getID()){ - BetterLock.addRight(target, pre, secondPlayer.getID(), true); + if(pre.getCreatedBy() == firstPlayer.getId()){ + BetterLock.addRight(target, pre, secondPlayer.getId(), true); } - if(pre.getCreatedBy() == secondPlayer.getID()){ - BetterLock.addRight(player, pre, firstPlayer.getID(), true); + if(pre.getCreatedBy() == secondPlayer.getId()){ + BetterLock.addRight(player, pre, firstPlayer.getId(), true); } } @@ -109,10 +109,10 @@ public void marry(Player player, Player target){ private void divorce(PlayerEntry pe) { PlayerPartnerEntry ppe = pe.getPartner(); - PlayerEntry secondPlayerEntry = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry((ppe.getSecondPlayerID() != pe.getID() ? ppe.getSecondPlayerID() : ppe.getFirstPlayerID())); + PlayerEntry secondPlayerEntry = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry((ppe.getSecondPartnerId() != pe.getId() ? ppe.getSecondPartnerId() : ppe.getFirstPartnerId())); - Player firstPlayer = Bukkit.getPlayer(UUID.fromString(pe.getUUID())); - OfflinePlayer secondOfflinePlayer = Bukkit.getOfflinePlayer(UUID.fromString(secondPlayerEntry.getUUID())); + Player firstPlayer = Bukkit.getPlayer(UUID.fromString(pe.getUuid())); + OfflinePlayer secondOfflinePlayer = Bukkit.getOfflinePlayer(UUID.fromString(secondPlayerEntry.getUuid())); if(firstPlayer != null && secondOfflinePlayer != null){ if(secondOfflinePlayer.isOnline()){ @@ -124,22 +124,21 @@ private void divorce(PlayerEntry pe) { firstPlayer.sendMessage(String.format(PLUGIN_COMMAND_MARRY_DIVORCED, secondOfflinePlayer.getName())); } - ppe.setDeletedBy(pe.getID()); + ppe.setDeletedBy(pe.getId()); pe.setPartner(null); secondPlayerEntry.setPartner(null); RelluEssentials.getInstance().getDatabaseHelper().deletePlayerPartner(ppe); - Collection protectionEntryList = new ArrayList<> (); - protectionEntryList.addAll(RelluEssentials.getInstance().getProtectionAPI().getProtectionEntryList().values()); + Collection protectionEntryList = new ArrayList<>(RelluEssentials.getInstance().getProtectionAPI().getProtectionEntryList().values()); for(ProtectionEntry pre : protectionEntryList){ - if(pre.getCreatedBy() == pe.getID()){ - BetterLock.removeRight(firstPlayer, pre, secondPlayerEntry.getID(), true); + if(pre.getCreatedBy() == pe.getId()){ + BetterLock.removeRight(firstPlayer, pre, secondPlayerEntry.getId(), true); } - if(pre.getCreatedBy() == secondPlayerEntry.getID()){ - BetterLock.removeRight(secondOfflinePlayer, pre, pe.getID()); + if(pre.getCreatedBy() == secondPlayerEntry.getId()){ + BetterLock.removeRight(secondOfflinePlayer, pre, pe.getId()); } } @@ -148,7 +147,7 @@ private void divorce(PlayerEntry pe) { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_MARRY)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Message.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Message.java index 3a82a62d..f40f9b52 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Message.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Message.java @@ -3,6 +3,7 @@ import java.util.HashMap; import java.util.Map; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -24,7 +25,7 @@ public class Message implements CommandExecutor { public static final Map reply = new HashMap<>(); @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_MSG)) { if (isPlayer(sender)) { Player p = (Player) sender; @@ -72,12 +73,8 @@ private boolean msg(CommandSender sender, Player target, String[] args, int star if (Permission.isAuthorized(p, Groups.getGroup("user").getId())) { String message = implode(start, args); - if (reply.containsKey(p)) { - reply.remove(p); - } - if (reply.containsKey(target)) { - reply.remove(target); - } + reply.remove(p); + reply.remove(target); reply.put(p, target); reply.put(target, p); diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/More.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/More.java index ae60ea2f..8769b61f 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/More.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/More.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -16,14 +17,14 @@ public class More implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_MORE)) { if (args.length == 0) { if (isPlayer(sender)) { Player p = (Player) sender; if (Permission.isAuthorized(p, Groups.getGroup("mod").getId())) { p.getInventory().getItemInMainHand().setAmount(64); - p.sendMessage(String.format(PLUGIN_COMMAND_MORE, p.getInventory().getItemInMainHand().getType().toString())); + p.sendMessage(String.format(PLUGIN_COMMAND_MORE, p.getInventory().getItemInMainHand().getType())); return true; } else { p.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); @@ -37,8 +38,8 @@ public boolean onCommand(CommandSender sender, Command command, String label, St Player p = (Player) sender; if (Permission.isAuthorized(p, Groups.getGroup("mod").getId())) { target.getInventory().getItemInMainHand().setAmount(64); - p.sendMessage(String.format(PLUGIN_COMMAND_MORE, target.getInventory().getItemInMainHand().getType().toString())); - target.sendMessage(String.format(PLUGIN_COMMAND_MORE_PLAYER, target.getInventory().getItemInMainHand().getType().toString())); + p.sendMessage(String.format(PLUGIN_COMMAND_MORE, target.getInventory().getItemInMainHand().getType())); + target.sendMessage(String.format(PLUGIN_COMMAND_MORE_PLAYER, target.getInventory().getItemInMainHand().getType())); return true; } else { p.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Nick.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Nick.java index 95672883..e43344a5 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Nick.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Nick.java @@ -7,6 +7,7 @@ import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_NICK; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -21,7 +22,7 @@ public class Nick implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_NICK)) { return false; } @@ -45,8 +46,8 @@ public boolean onCommand(CommandSender sender, Command command, String label, St PlayerEntry pe = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(target.getUniqueId()); pe.setCustomName(args[1]); - pe.setUpdatedBy(isPlayer(sender) ? RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(((Player)sender).getUniqueId()).getID() : 1); - pe.setToBeUpdated(true); + pe.setUpdatedBy(isPlayer(sender) ? RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(((Player)sender).getUniqueId()).getId() : 1); + pe.setHasToBeUpdated(true); target.setCustomName(pe.getGroup().getPrefix() + args[1]); target.setPlayerListName(pe.getGroup().getPrefix() + args[1]); sender.sendMessage(String.format(PLUGIN_COMMAND_NICK, pe.getGroup().getPrefix() + target.getName())); diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Night.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Night.java index c48766eb..dcdb13a3 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Night.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Night.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.command.Command; @@ -17,7 +18,7 @@ public class Night implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_NIGHT)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PermissionsGroup.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PermissionsGroup.java index 43611a89..d0cdd0db 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PermissionsGroup.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PermissionsGroup.java @@ -1,9 +1,9 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; -import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_NOT_A_PLAYER; import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PERMISSION_MISSING; import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_SETGROUP; import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_SETGROUP_GROUP_NOT_FOUND; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_TARGET_NOT_A_PLAYER; import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_TO_LESS_ARGUMENTS; import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_TO_MANY_ARGUMENTS; import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_SETGROUP; @@ -11,21 +11,26 @@ import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isConsole; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; +import lombok.NonNull; import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import de.relluem94.minecraft.server.spigot.essentials.RelluEssentials; import de.relluem94.minecraft.server.spigot.essentials.helpers.PlayerHelper; import de.relluem94.minecraft.server.spigot.essentials.helpers.pojo.GroupEntry; import de.relluem94.minecraft.server.spigot.essentials.permissions.Groups; import de.relluem94.minecraft.server.spigot.essentials.permissions.Permission; +import java.util.Objects; + public class PermissionsGroup implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_SETGROUP)) { return false; } @@ -40,43 +45,52 @@ public boolean onCommand(CommandSender sender, Command command, String label, St return true; } - Player target = Bukkit.getPlayer(args[0]); + OfflinePlayer target = PlayerHelper.getOfflinePlayer(args[0]); if (target == null) { - sender.sendMessage(PLUGIN_COMMAND_NOT_A_PLAYER); + sender.sendMessage(String.format(PLUGIN_COMMAND_TARGET_NOT_A_PLAYER, args[0])); + return true; + } + + if(RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(target.getUniqueId()) == null){ + sender.sendMessage(String.format(PLUGIN_COMMAND_TARGET_NOT_A_PLAYER, args[0])); return true; } if (isPlayer(sender)) { Player p = (Player) sender; - GroupEntry g = Groups.getGroup(args[1]); - - if(g == null){ - p.sendMessage(PLUGIN_COMMAND_SETGROUP_GROUP_NOT_FOUND); - return true; - } - - if (!Permission.isAuthorized(p, Groups.getGroup("mod").getId())) { - p.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); - return true; - } - - p.sendMessage(String.format(PLUGIN_COMMAND_SETGROUP, g.getPrefix() + g.getName(), target.getDisplayName())); - PlayerHelper.updateGroup(target, g); + GroupEntry g = checkGroupExists(args[1], p); + setGroupForTarget(p, Objects.requireNonNull(g), target); return true; } else if (isCMDBlock(sender) || isConsole(sender)) { GroupEntry g = Groups.getGroup(args[1]); - - if(g == null){ - sender.sendMessage(PLUGIN_COMMAND_SETGROUP_GROUP_NOT_FOUND); - return true; - } - - sender.sendMessage(String.format(PLUGIN_COMMAND_SETGROUP, g.getPrefix() + g.getName(), target.getDisplayName())); - PlayerHelper.updateGroup(target, g); + setGroupForTarget(sender, Objects.requireNonNull(g), target); return true; } return false; } + + private static GroupEntry checkGroupExists(String groupName, Player p) { + GroupEntry g = Groups.getGroup(groupName); + + if(!Groups.groupExists(groupName)){ + p.sendMessage(PLUGIN_COMMAND_SETGROUP_GROUP_NOT_FOUND); + return null; + } + + if (!Permission.isAuthorized(p, Objects.requireNonNull(Groups.getGroup("mod")).getId())) { + p.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); + return null; + } + return g; + } + + private static void setGroupForTarget(CommandSender s, GroupEntry g, OfflinePlayer target) { + s.sendMessage(String.format(PLUGIN_COMMAND_SETGROUP, g.getPrefix() + g.getName(), target.getName())); + if(target.isOnline() && Bukkit.getPlayer(target.getUniqueId()) != null){ + Objects.requireNonNull(Bukkit.getPlayer(target.getUniqueId())).sendMessage(String.format(PLUGIN_COMMAND_SETGROUP, g.getPrefix() + g.getName(), target.getName())); + } + PlayerHelper.updateGroup(target, g); + } } \ No newline at end of file diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PlayerInfo.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PlayerInfo.java index b07eea40..cec4d126 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PlayerInfo.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PlayerInfo.java @@ -20,6 +20,7 @@ import java.util.Date; +import lombok.NonNull; import org.bukkit.Material; import org.bukkit.OfflinePlayer; import org.bukkit.Statistic; @@ -38,7 +39,7 @@ public class PlayerInfo implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_PLAYERINFO)) { return false; } @@ -90,12 +91,12 @@ private void showPlayerInfo(CommandSender sender, String targetName){ sender.sendMessage(String.format(PLUGIN_COMMAND_PLAYERINFO_GROUP, pet.getGroup().getPrefix() + pet.getGroup().getName())); if(pet.getPartner() != null){ - sender.sendMessage(String.format(PLUGIN_COMMAND_PLAYERINFO_MARRIED_TO, RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(pet.getPartner().getFirstPlayerID()).getName(), RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(pet.getPartner().getSecondPlayerID()))); + sender.sendMessage(String.format(PLUGIN_COMMAND_PLAYERINFO_MARRIED_TO, RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(pet.getPartner().getFirstPartnerId()).getName(), RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(pet.getPartner().getSecondPartnerId()))); sender.sendMessage(String.format(PLUGIN_COMMAND_PLAYERINFO_MARRIED_SINCE, pet.getPartner().getCreated())); } - sender.sendMessage(String.format(PLUGIN_COMMAND_PLAYERINFO_LAST_ONLINE, new Date(target.getLastPlayed()).toString())); - sender.sendMessage(String.format(PLUGIN_COMMAND_PLAYERINFO_FIRST_ONLINE, new Date(target.getFirstPlayed()).toString())); + sender.sendMessage(String.format(PLUGIN_COMMAND_PLAYERINFO_LAST_ONLINE, new Date(target.getLastPlayed()))); + sender.sendMessage(String.format(PLUGIN_COMMAND_PLAYERINFO_FIRST_ONLINE, new Date(target.getFirstPlayed()))); sender.sendMessage(String.format(PLUGIN_COMMAND_PLAYERINFO_MINED, Material.STONE.name(), target.getStatistic(Statistic.MINE_BLOCK, Material.STONE))); sender.sendMessage(String.format(PLUGIN_COMMAND_PLAYERINFO_MINED, Material.DIRT.name(), target.getStatistic(Statistic.MINE_BLOCK, Material.DIRT))); diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Poke.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Poke.java index bad21f23..93ef1d57 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Poke.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Poke.java @@ -12,6 +12,7 @@ import static de.relluem94.minecraft.server.spigot.essentials.helpers.ChatHelper.sendMessage; import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.Effect; import org.bukkit.Sound; @@ -26,7 +27,7 @@ public class Poke implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_POKE)) { return false; } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PortableCraftingBench.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PortableCraftingBench.java index bcb5bf46..7327fbee 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PortableCraftingBench.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/PortableCraftingBench.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -15,7 +16,7 @@ public class PortableCraftingBench implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_CRAFT)) { return false; diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Print.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Print.java index d52f2b68..bec74825 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Print.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Print.java @@ -18,7 +18,9 @@ import java.util.Arrays; import java.util.List; +import java.util.Objects; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.block.CommandBlock; import org.bukkit.command.BlockCommandSender; @@ -36,7 +38,7 @@ public class Print implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { Player targetedPlayerBySelector = null; if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_PRINT)) { @@ -90,7 +92,7 @@ public boolean onCommand(CommandSender sender, Command command, String label, St message = replaceSymbols(replaceColor(message)); if(targetedPlayerBySelector != null){ - message = message.replace("@p", targetedPlayerBySelector.getCustomName()); + message = message.replace("@p", Objects.requireNonNull(targetedPlayerBySelector.getCustomName())); } Bukkit.broadcastMessage(name + PLUGIN_FORMS_SPACER_MESSAGE+ PLUGIN_COLOR_MESSAGE + message); diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Protect.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Protect.java index 8d827b7d..3daf9285 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Protect.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Protect.java @@ -1,22 +1,45 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PERMISSION_MISSING; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_ADD; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_COMMAND_INFO; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_FLAG; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_FLAG_ADD; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_FLAG_NOT_FOUND; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_FLAG_REMOVE; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_INFO; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_REMOVE; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_RIGHT; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_RIGHT_ADD; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_RIGHT_PLAYER_NOTFOUND; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PROTECT_RIGHT_REMOVE; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_WRONG_SUB_COMMAND; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PROTECT; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PROTECT_ADD; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PROTECT_FLAG; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PROTECT_FLAG_ADD; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PROTECT_FLAG_REMOVE; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PROTECT_INFO; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PROTECT_REMOVE; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PROTECT_RIGHT; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PROTECT_RIGHT_ADD; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PROTECT_RIGHT_REMOVE; +import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; + +import lombok.NonNull; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import de.relluem94.minecraft.server.spigot.essentials.permissions.Permission; -import de.relluem94.minecraft.server.spigot.essentials.permissions.Groups; import de.relluem94.minecraft.server.spigot.essentials.RelluEssentials; import de.relluem94.minecraft.server.spigot.essentials.constants.PlayerState; import de.relluem94.minecraft.server.spigot.essentials.constants.ProtectionFlags; import de.relluem94.minecraft.server.spigot.essentials.helpers.PlayerHelper; import de.relluem94.minecraft.server.spigot.essentials.helpers.pojo.OfflinePlayerEntry; import de.relluem94.minecraft.server.spigot.essentials.helpers.pojo.PlayerEntry; - -import static de.relluem94.minecraft.server.spigot.essentials.Strings.*; -import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.*; -import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; +import de.relluem94.minecraft.server.spigot.essentials.permissions.Groups; +import de.relluem94.minecraft.server.spigot.essentials.permissions.Permission; public class Protect implements CommandExecutor { @@ -26,13 +49,13 @@ private String getFlags(){ StringBuilder sb = new StringBuilder(); sb.append("Available Flags: "); for(ProtectionFlags flag : flags){ - sb.append(flag.getName() + " "); + sb.append(flag.getName()).append(" "); } return sb.toString(); } @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, @NonNull Command command, @NonNull String label, String[] args) { if (isPlayer(sender)) { Player p = (Player) sender; @@ -63,7 +86,7 @@ else if(args[0].equalsIgnoreCase(PLUGIN_COMMAND_NAME_PROTECT_INFO)){ p.sendMessage(PLUGIN_COMMAND_PROTECT_INFO); } else{ - p.sendMessage(PLUGIN_COMMAND_PROTECT_WRONG_SUB_COMMAND); + p.sendMessage(PLUGIN_COMMAND_WRONG_SUB_COMMAND); } } else if (args.length == 3) { @@ -93,7 +116,7 @@ else if(args[1].equalsIgnoreCase(PLUGIN_COMMAND_NAME_PROTECT_FLAG_REMOVE)){ } } else{ - p.sendMessage(PLUGIN_COMMAND_PROTECT_WRONG_SUB_COMMAND); + p.sendMessage(PLUGIN_COMMAND_WRONG_SUB_COMMAND); } } else if(args[0].equalsIgnoreCase(PLUGIN_COMMAND_NAME_PROTECT_RIGHT)){ @@ -103,7 +126,7 @@ else if(args[0].equalsIgnoreCase(PLUGIN_COMMAND_NAME_PROTECT_RIGHT)){ if(player != null){ p.sendMessage(PLUGIN_COMMAND_PROTECT_RIGHT_ADD); pe.setPlayerState(PlayerState.PROTECTION_RIGHT_ADD); - pe.setPlayerStateParameter(player.getID().toString()); + pe.setPlayerStateParameter(player.getId().toString()); } else{ p.sendMessage(String.format(PLUGIN_COMMAND_PROTECT_RIGHT_PLAYER_NOTFOUND, args[2])); @@ -115,22 +138,22 @@ else if(args[1].equalsIgnoreCase(PLUGIN_COMMAND_NAME_PROTECT_RIGHT_REMOVE)){ if(player != null){ p.sendMessage(PLUGIN_COMMAND_PROTECT_RIGHT_REMOVE); pe.setPlayerState(PlayerState.PROTECTION_RIGHT_REMOVE); - pe.setPlayerStateParameter(player.getID().toString()); + pe.setPlayerStateParameter(player.getId().toString()); } else{ p.sendMessage(String.format(PLUGIN_COMMAND_PROTECT_RIGHT_PLAYER_NOTFOUND, args[2])); } } else{ - p.sendMessage(PLUGIN_COMMAND_PROTECT_WRONG_SUB_COMMAND); + p.sendMessage(PLUGIN_COMMAND_WRONG_SUB_COMMAND); } } else{ - p.sendMessage(PLUGIN_COMMAND_PROTECT_WRONG_SUB_COMMAND); + p.sendMessage(PLUGIN_COMMAND_WRONG_SUB_COMMAND); } } else{ - p.sendMessage(PLUGIN_COMMAND_PROTECT_WRONG_SUB_COMMAND); + p.sendMessage(PLUGIN_COMMAND_WRONG_SUB_COMMAND); } return true; } else { diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Purse.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Purse.java index 77da2b6e..6f1fe88d 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Purse.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Purse.java @@ -1,5 +1,20 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_NOT_A_PLAYER; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PERMISSION_MISSING; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PURSE_TOTAL; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PURSE_TOTAL_OTHER; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PURSE_TO_ITEM; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PURSE_TO_ITEM_NOT_ENOUGH_MONEY; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PURSE_TO_ITEM_VALUE_INVALID; +import static de.relluem94.minecraft.server.spigot.essentials.Strings.PLUGIN_COMMAND_PURSE_TO_ITEM_VALUE_TO_HIGH; +import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PURSE; +import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; + +import java.util.Collections; +import java.util.Objects; + +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -9,95 +24,87 @@ import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.persistence.PersistentDataType; -import de.relluem94.minecraft.server.spigot.essentials.permissions.Permission; -import de.relluem94.minecraft.server.spigot.essentials.permissions.Groups; import de.relluem94.minecraft.server.spigot.essentials.CustomItems; import de.relluem94.minecraft.server.spigot.essentials.RelluEssentials; import de.relluem94.minecraft.server.spigot.essentials.constants.ItemConstants; import de.relluem94.minecraft.server.spigot.essentials.helpers.StringHelper; import de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper; import de.relluem94.minecraft.server.spigot.essentials.helpers.pojo.PlayerEntry; - -import static de.relluem94.minecraft.server.spigot.essentials.Strings.*; -import static de.relluem94.minecraft.server.spigot.essentials.constants.CommandNameConstants.PLUGIN_COMMAND_NAME_PURSE; -import static de.relluem94.minecraft.server.spigot.essentials.helpers.TypeHelper.isPlayer; - -import java.util.Arrays; +import de.relluem94.minecraft.server.spigot.essentials.permissions.Groups; +import de.relluem94.minecraft.server.spigot.essentials.permissions.Permission; public class Purse implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { + if (!command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_PURSE)) { + return false; + } + + if (!isPlayer(sender)) { + sender.sendMessage(PLUGIN_COMMAND_NOT_A_PLAYER); + return true; + } + + Player p = (Player) sender; + + if (!Permission.isAuthorized(sender, Groups.getGroup("user").getId())) { + sender.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); + return true; + } + if (args.length == 0) { - if (isPlayer(sender)) { - Player p = (Player) sender; - if (Permission.isAuthorized(p, Groups.getGroup("user").getId())) { - if (command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_PURSE)) { - PlayerEntry pe = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(p.getUniqueId()); - p.sendMessage(String.format(PLUGIN_COMMAND_PURSE_TOTAL, StringHelper.formatDouble(pe.getPurse()))); - return true; - } else { - return false; - } - } else { - p.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); - return true; - } - } - } else { + PlayerEntry pe = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(p.getUniqueId()); + p.sendMessage(String.format(PLUGIN_COMMAND_PURSE_TOTAL, StringHelper.formatDouble(pe.getPurse()))); + return true; + } + + if (Permission.isAuthorized(p, Groups.getGroup("mod").getId())) { Player target = Bukkit.getPlayer(args[0]); - if (isPlayer(sender)) { - Player p = (Player) sender; - if (target != null) { - if (Permission.isAuthorized(p, Groups.getGroup("mod").getId())) { - - if (command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_PURSE)) { - PlayerEntry pe = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(target.getUniqueId()); - p.sendMessage(String.format(PLUGIN_COMMAND_PURSE_TOTAL_OTHER, target.getCustomName(), StringHelper.formatDouble(pe.getPurse()))); - return true; - } else { - return false; - } - } else { - p.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); - return true; - } - } - if(TypeHelper.isInt(args[0])){ - PlayerEntry pe = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(p.getUniqueId()); - double purse = pe.getPurse(); - int coins = Math.abs(Integer.parseInt(args[0])); - - - if((purse >= coins)){ - ItemStack coin = CustomItems.coins.getCustomItem(); - ItemMeta im = coin.getItemMeta(); - im.setLore(Arrays.asList(String.format(ItemConstants.PLUGIN_ITEM_COINS_LORE, StringHelper.formatInt(coins)))); - im.getPersistentDataContainer().set(ItemConstants.PLUGIN_ITEM_COINS_NAMESPACE, PersistentDataType.INTEGER, coins); - - coin.setItemMeta(im); - - pe.setPurse(pe.getPurse() - coins); - pe.setToBeUpdated(true); - pe.setUpdatedBy(pe.getID()); - - p.getInventory().addItem(coin); - p.sendMessage(String.format(PLUGIN_COMMAND_PURSE_TO_ITEM, StringHelper.formatInt(coins))); - return true; - } - else{ - p.sendMessage(PLUGIN_COMMAND_PURSE_TO_ITEM_NOT_ENOUGH_MONEY); - return true; - } - } - else if(TypeHelper.isLong(args[0])){ - p.sendMessage(PLUGIN_COMMAND_PURSE_TO_ITEM_VALUE_TO_HIGH); - return true; - } + if (target != null) { + PlayerEntry pe = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(target.getUniqueId()); + p.sendMessage(String.format(PLUGIN_COMMAND_PURSE_TOTAL_OTHER, target.getCustomName(), + StringHelper.formatDouble(pe.getPurse()))); + return true; } + } else { + p.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); + return true; + } + + if (TypeHelper.isLong(args[0])) { + p.sendMessage(PLUGIN_COMMAND_PURSE_TO_ITEM_VALUE_TO_HIGH); + return true; } - return false; - } + + if (!TypeHelper.isInt(args[0])) { + p.sendMessage(PLUGIN_COMMAND_PURSE_TO_ITEM_VALUE_INVALID); + return true; + } + + PlayerEntry pe = RelluEssentials.getInstance().getPlayerAPI().getPlayerEntry(p.getUniqueId()); + double purse = pe.getPurse(); + int coins = Math.abs(Integer.parseInt(args[0])); + + if (purse >= coins) { + ItemStack coin = CustomItems.coins.getCustomItem(); + ItemMeta im = coin.getItemMeta(); + Objects.requireNonNull(im).setLore(Collections.singletonList(String.format(ItemConstants.PLUGIN_ITEM_COINS_LORE, StringHelper.formatInt(coins)))); + im.getPersistentDataContainer().set(ItemConstants.PLUGIN_ITEM_COINS_NAMESPACE, PersistentDataType.INTEGER, coins); + + coin.setItemMeta(im); + + pe.setPurse(pe.getPurse() - coins); + pe.setHasToBeUpdated(true); + pe.setUpdatedBy(pe.getId()); + + p.getInventory().addItem(coin); + p.sendMessage(String.format(PLUGIN_COMMAND_PURSE_TO_ITEM, StringHelper.formatInt(coins))); + } else { + p.sendMessage(PLUGIN_COMMAND_PURSE_TO_ITEM_NOT_ENOUGH_MONEY); + } + return true; + } } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rain.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rain.java index ec018c13..0766bb54 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rain.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rain.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.Bukkit; import org.bukkit.WeatherType; import org.bukkit.command.Command; @@ -17,7 +18,7 @@ public class Rain implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_RAIN)) { if (args.length == 0) { if (isPlayer(sender)) { diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rename.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rename.java index 4946dd51..47eb32e6 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rename.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rename.java @@ -1,5 +1,6 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -21,11 +22,12 @@ public class Rename implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_RENAME)) { if (args.length >= 1) { if (isPlayer(sender)) { - return rename((Player) sender, args); + rename((Player) sender, args); + return true; } } else { sender.sendMessage(PLUGIN_COMMAND_RENAME_INFO); @@ -35,18 +37,18 @@ public boolean onCommand(CommandSender sender, Command command, String label, St return false; } - private boolean rename(Player p, String[] args) { + private void rename(Player p, String[] args) { if (!Permission.isAuthorized(p, Groups.getGroup("mod").getId())) { p.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); - return true; + return; } String message = implode(0, args); message = replaceSymbols(replaceColor(message)); ItemStack is = p.getInventory().getItemInMainHand(); - if (!is.getType().equals(Material.AIR)) { - ItemMeta im = is.getItemMeta(); + ItemMeta im = is.getItemMeta(); + if (!is.getType().equals(Material.AIR) && im != null) { im.setDisplayName(message); is.setItemMeta(im); p.sendMessage(PLUGIN_COMMAND_RENAME); @@ -54,6 +56,5 @@ private boolean rename(Player p, String[] args) { } else { p.sendMessage(PLUGIN_COMMAND_RENAME_AIR); } - return true; } } diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Repair.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Repair.java index 399d5d68..5e49c833 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Repair.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Repair.java @@ -1,5 +1,8 @@ package de.relluem94.minecraft.server.spigot.essentials.commands; +import lombok.NonNull; +import net.md_5.bungee.api.chat.TextComponent; +import net.md_5.bungee.api.chat.TranslatableComponent; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -19,7 +22,7 @@ public class Repair implements CommandExecutor { @Override - public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + public boolean onCommand(@NonNull CommandSender sender, Command command, @NonNull String label, String[] args) { if (command.getName().equalsIgnoreCase(PLUGIN_COMMAND_NAME_REPAIR)) { if (args.length == 0) { if (isPlayer(sender)) { @@ -29,15 +32,15 @@ public boolean onCommand(CommandSender sender, Command command, String label, St ItemStack item = p.getInventory().getItemInMainHand(); ItemMeta im = item.getItemMeta(); - if (im instanceof Damageable) { - Damageable dmg = (Damageable) im; - if (dmg.hasDamage()) { - dmg.setDamage(0); - } + if (im instanceof Damageable dmg && dmg.hasDamage()) { + dmg.setDamage(0); item.setItemMeta(im); + p.sendMessage(String.format(PLUGIN_COMMAND_REPAIR, p.getInventory().getItemInMainHand().getType().name())); + } + else{ + p.sendMessage(String.format(PLUGIN_COMMAND_CANNOT_REPAIR, p.getInventory().getItemInMainHand().getType().name())); } - p.sendMessage(String.format(PLUGIN_COMMAND_REPAIR, p.getInventory().getItemInMainHand().getType().toString())); return true; } else { p.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); @@ -54,16 +57,16 @@ public boolean onCommand(CommandSender sender, Command command, String label, St ItemStack item = target.getInventory().getItemInMainHand(); ItemMeta im = item.getItemMeta(); - if (im instanceof Damageable) { - Damageable dmg = (Damageable) im; - if (dmg.hasDamage()) { - dmg.setDamage(0); - } + if (im instanceof Damageable dmg && dmg.hasDamage()) { + dmg.setDamage(0); item.setItemMeta(im); + p.sendMessage(String.format(PLUGIN_COMMAND_REPAIR, target.getInventory().getItemInMainHand().getType().name())); + target.sendMessage(String.format(PLUGIN_COMMAND_REPAIR_PLAYER, target.getInventory().getItemInMainHand().getType().name())); + } + else{ + p.sendMessage(String.format(PLUGIN_COMMAND_CANNOT_REPAIR, p.getInventory().getItemInMainHand().getType().name())); } - p.sendMessage(String.format(PLUGIN_COMMAND_REPAIR, target.getInventory().getItemInMainHand().getType().toString())); - target.sendMessage(String.format(PLUGIN_COMMAND_REPAIR_PLAYER, target.getInventory().getItemInMainHand().getType().toString())); return true; } else { p.sendMessage(PLUGIN_COMMAND_PERMISSION_MISSING); diff --git a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rollback.java b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rollback.java index 1e47d0f4..21e72334 100644 --- a/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rollback.java +++ b/src/main/java/de/relluem94/minecraft/server/spigot/essentials/commands/Rollback.java @@ -3,6 +3,7 @@ import java.util.List; import java.util.UUID; +import lombok.NonNull; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -29,9 +30,9 @@ public class Rollback implements CommandExecutor { /rollback -> Info /rollback player --> Rolls back Player last to first block. // DONE /rollback player