This commit is contained in:
CrazyCloudCraft | Argantiu 2022-12-30 15:14:59 +00:00 committed by GitHub
commit b21a04e516
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 987 additions and 679 deletions

View File

@ -1,32 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG]"
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.
**Server Information (please complete the following information):**
- Server version (`/bukkit:version`):
- Installed plugins (`/bukkit:plugins`):
- WorldGuard Report Pastebin Link (`/wg report -p`):
**Additional context**
Add any other context about the problem here.

104
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,104 @@
name: Bug report
description: Create a report to help us improve the Plugin
labels: 'bug'
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report for WorldSystem! Fill out the following form to your best ability to help us fix the problem.
Only use this if you're absolutely sure that you found a bug and can reproduce it. For anything else, use our Discord server or the wiki.
Do NOT use the public issue tracker to report security vulnerabilities! They are disclosed using the [github vulnerabilitie](https://github.com/trainerlord/WorldSystem/security/advisories/new) form!
- type: dropdown
attributes:
label: Server Implementation
description: Which server Implementation are you using? If your server implementation is not listed, it is not supported. Switch to a supported version first.
multiple: false
options:
- PurPur
- Paper
- Spigot
validations:
required: true
- type: dropdown
attributes:
label: Server Version
description: Which server version version you using? If your server version is not listed, it is not supported. Update to a supported version first.
multiple: false
options:
- '1.19.3'
- '1.19.2'
- '1.19.1'
- '1.19'
- '1.18.2'
- '1.18.1'
- '1.17.1'
- '1.16.5'
validations:
required: true
- type: textarea
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
attributes:
label: To Reproduce
description: Steps to reproduce this behaviour
placeholder: |
1. Go to '...'
2. Click on '...'
3. Scroll down to '...'
4. See error
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Screenshots / Videos
description: If applicable, add screenshots to help explain your problem.
- type: input
attributes:
label: Error log (if applicable)
description: If you are reporting a console error, upload any relevant log excerpts to either https://paste.gg/ or https://gist.github.com, save and the paste the link in this box.
- type: dropdown
attributes:
label: WorldSystem Version
description: What version of WorldSystem are you running? (`/ws help`)
multiple: false
options:
- '2.4.34 (dev)'
- '2.4.33 (@crazycloudcraft)'
- '2.4.32 (@crazycloudcraft)'
- '2.4.20 (default)'
validations:
required: true
- type: checkboxes
attributes:
label: Checklist
description: Make sure you have followed each of the steps outlined here.
options:
- label: I am using the newest build from https://github.com/trainerlord/WorldSystem and the issue still persists.
required: false
- label: I am using the newest build from https://github.com/CrazyCloudCraft/WorldSystem and the issue still persists.
required: false
- type: textarea
attributes:
label: Anything else?
description: You can provide additional context below.

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: WorldSystem Discord
url: https://discord.gg/WYz7Qck
about: Our support Discord, please ask questions and search support here.
- name: WorldSystem Wiki
url: https://github.com/trainerlord/WorldSystem/wiki
about: Take a look at the wiki page for instructions how to setup WorldSystem and use its commands.

View File

@ -1,20 +0,0 @@
---
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.

View File

@ -0,0 +1,29 @@
name: Feature request
description: Suggest an idea for this project
labels: 'Enhancement'
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request for WorldSystem! Fill out the following form to your best ability to help us understand your feature request and greately improve the change of it getting added.
For anything else than a feature request, use our Discord server or the wiki.
- type: textarea
attributes:
label: What feature do you want to see added?
description: A clear and concise description of your feature request.
validations:
required: true
- type: textarea
attributes:
label: Are there any alternatives?
description: List any alternatives you might have tried
validations:
required: true
- type: textarea
attributes:
label: Anything else?
description: You can provide additional context below.

2
.github/README.md vendored
View File

@ -1,5 +1,5 @@
<p align="center">
<img src="https://github.com/CrazyCloudCraft/worldsystem-depecated/raw/master/.github/Worldsystemlogo_V24X.png" />
<img src="https://raw.githubusercontent.com/trainerlord/WorldSystem/master/.github/Worldsystemlogo_V24X.png" />
</p>
<p align="center">
<a href="https://github.com/trainerlord/WorldSystem/releases">

BIN
.github/Worldsystemlogo_V24X.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

View File

@ -1,16 +0,0 @@
#!/bin/bash
# Hi, this is a release code changer to change code when you released a new version.
# This changes the README.md and pom.xml at the moment.
# Mabe i will add here more features or change them.
# Configuration
# What plugin version should be in the pom.xml
POMRELEASE=2.4.20-SNAPSHOT
# What version should be shown in the README.md latest badge
RELEASEVER=2.4.11
sed -i "0,:WorldSystem/.*/:s:WorldSystem/$RELEASEVER/" ./README.md $>/dev/null 2>&1
sed -i "0,:<version>.*</version>:s:<version>$POMRELEASE</version>" ./../pom.xml $>/dev/null 2>&1
exit 0

View File

@ -1,80 +0,0 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '21 9 * * 0'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'java' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- name: Cache Gradle
id: cache-gradle
uses: actions/cache@v1
with:
path: ~/.gradle
key: ${{ runner.os }}-gradle
- uses: actions/checkout@v1
- name: Grant execute permission to pom.xml
run: |
wget -q https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz
tar xzvf apache-maven-3.8.6-bin.tar.gz
export PATH=./apache-maven-3.8.6/bin:$PATH
- name: Build
run: mvn -B package --file pom.xml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@ -1,22 +0,0 @@
# This is a basic workflow to help you get started with Actions
name: Release code changer
on:
push:
branches: [ "master" ]
jobs:
changeversion:
runs-on: ubuntu-latest
defaults:
run:
working-directory: .github
steps:
- uses: actions/checkout@v3
- name: Run the Version changer
run: |
chmod +x release-code-changer.sh
./release-code-changer.sh

View File

@ -1,491 +0,0 @@
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for de.butzlabben:WorldSystem:jar:2.4.20-SNAPSHOT
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: com.fastasyncworldedit:FastAsyncWorldEdit-Core:jar -> version 2.4.5 vs (?) @ line 121, column 21
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] ---------------------< de.butzlabben:WorldSystem >----------------------
[INFO] Building WorldSystem 2.4.20-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ WorldSystem ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 19 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ WorldSystem ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 80 source files to /opt/lol/WorldSystem/target/classes
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] /opt/lol/WorldSystem/src/main/java/org/bstats/bukkit/Metrics.java: Some input files use or override a deprecated API.
[WARNING] /opt/lol/WorldSystem/src/main/java/org/bstats/bukkit/Metrics.java: Recompile with -Xlint:deprecation for details.
[INFO] 2 warnings
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/CommandListener.java:[74,45] cannot find symbol
symbol: method getSpawnGamemode()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/CommandListener.java:[76,33] cannot find symbol
symbol: method isSurvival()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/CommandListener.java:[101,29] cannot find symbol
symbol: method isSurvival()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/CommandListener.java:[116,33] cannot find symbol
symbol: method isSurvival()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/CommandListener.java:[144,33] cannot find symbol
symbol: method isSurvival()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[110,39] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[136,45] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[147,47] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[206,36] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[207,39] cannot find symbol
symbol: method getSpawnGamemode()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[212,54] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[255,36] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[256,39] cannot find symbol
symbol: method getSpawnGamemode()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[274,29] non-static method getUnloadingTime() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[264,58] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[307,39] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[328,43] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[347,84] cannot find symbol
symbol: method getDefaultWorldTemplate()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[384,43] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[414,29] non-static method useWorldSpawn() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[415,82] non-static method getWorldSpawn(org.bukkit.World) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[420,25] cannot find symbol
symbol: method isSurvival()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/WorldPlayer.java:[182,85] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/PlayerListener.java:[30,25] cannot find symbol
symbol: method spawnTeleportation()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/PlayerListener.java:[36,56] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/PlayerListener.java:[62,39] cannot find symbol
symbol: method getSpawnGamemode()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/PlayerListener.java:[77,33] non-static method useWorldSpawn() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/PlayerListener.java:[78,54] non-static method getWorldSpawn(org.bukkit.World) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/MoneyUtil.java:[32,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/MoneyUtil.java:[46,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/MoneyUtil.java:[47,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/SettingsConfig.java:[60,37] non-static method useWorldSpawn() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/SettingsConfig.java:[61,66] non-static method getWorldSpawn(org.bukkit.World) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/SettingsConfig.java:[84,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[67,47] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[69,34] non-static method isMultiChoose() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[71,54] cannot find symbol
symbol: method getDefaultWorldTemplate()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[75,51] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[76,51] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[83,55] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[84,55] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[101,36] cannot find symbol
symbol: method getRequestExpire()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[175,43] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[206,39] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/DependenceConfig.java:[57,61] cannot find symbol
symbol: method deleteAfter()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/DependenceConfig.java:[66,37] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerWrapper.java:[30,44] cannot find symbol
symbol: method getUUIDTableName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerWrapper.java:[47,44] cannot find symbol
symbol: method getUUIDTableName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerWrapper.java:[63,44] cannot find symbol
symbol: method getUUIDTableName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/GuiConfig.java:[105,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[28,37] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[79,29] non-static method isMultiChoose() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[106,50] cannot find symbol
symbol: method getDefaultWorldTemplate()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[110,47] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[111,47] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[197,29] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[198,67] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[199,43] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[203,36] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[204,39] cannot find symbol
symbol: method getSpawnGamemode()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/WorldConfig.java:[54,48] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/WorldConfig.java:[88,42] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/WorldConfig.java:[376,33] cannot find symbol
symbol: method contactAuth()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[51,34] cannot find symbol
symbol: variable config
location: class de.butzlabben.WorldSystem
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[69,67] non-static method getLanguage() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[81,69] cannot find symbol
symbol: variable config
location: class de.butzlabben.WorldSystem
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[124,34] cannot find symbol
symbol: method getLagCheckPeriod()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[126,25] cannot find symbol
symbol: method useGC()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[128,38] cannot find symbol
symbol: method getGCPeriod()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[185,25] cannot find symbol
symbol: method shouldDelete()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[186,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[187,93] cannot find symbol
symbol: method deleteAfter()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[194,59] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[210,42] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/SqliteConnection.java:[41,29] cannot find symbol
symbol: method getSqliteFile()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/DatabaseProvider.java:[14,37] cannot find symbol
symbol: method getDatabaseType()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/WorldTemplateProvider.java:[28,52] cannot find symbol
symbol: method getConfig()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/gui/worldoption/TntStatus.java:[21,41] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/gui/worldoption/FireStatus.java:[21,41] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[34,26] cannot find symbol
symbol: method useWorldSpawnLastLocation()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[45,40] cannot find symbol
symbol: method getWorldsTableName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[71,26] cannot find symbol
symbol: method useSpawnLastLocation()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[80,40] cannot find symbol
symbol: method getPlayersTableName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[112,26] cannot find symbol
symbol: method useSpawnLastLocation()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[119,47] cannot find symbol
symbol: method getPlayersTableName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[141,26] cannot find symbol
symbol: method useWorldSpawnLastLocation()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[152,40] cannot find symbol
symbol: method getWorldsTableName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[175,40] cannot find symbol
symbol: method getWorldsTableName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[196,46] cannot find symbol
symbol: method getWorldsTableName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[207,47] cannot find symbol
symbol: method getPlayersTableName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/WorldCheckerRunnable.java:[20,37] cannot find symbol
symbol: method getEntitysPerWorld()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/MysqlConnection.java:[32,95] cannot find symbol
symbol: method getMysqlPort()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/MysqlConnection.java:[32,29] cannot find symbol
symbol: method getMysqlHost()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/MysqlConnection.java:[32,58] cannot find symbol
symbol: method getMysqlDatabaseName()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/MysqlConnection.java:[33,29] cannot find symbol
symbol: method getMysqlUser()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/MysqlConnection.java:[33,58] cannot find symbol
symbol: method getMysqlPassword()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldAdministrateCommand.java:[125,44] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldAdministrateCommand.java:[126,47] cannot find symbol
symbol: method getSpawnGamemode()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldAdministrateCommand.java:[177,45] cannot find symbol
symbol: method getWorlddir()
location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldAdministrateCommand.java:[272,43] non-static method getPrefix() cannot be referenced from a static context
[INFO] 100 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.444 s
[INFO] Finished at: 2022-10-06T08:17:05+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project WorldSystem: Compilation failure: Compilation failure:
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/CommandListener.java:[74,45] cannot find symbol
[ERROR] symbol: method getSpawnGamemode()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/CommandListener.java:[76,33] cannot find symbol
[ERROR] symbol: method isSurvival()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/CommandListener.java:[101,29] cannot find symbol
[ERROR] symbol: method isSurvival()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/CommandListener.java:[116,33] cannot find symbol
[ERROR] symbol: method isSurvival()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/CommandListener.java:[144,33] cannot find symbol
[ERROR] symbol: method isSurvival()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[110,39] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[136,45] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[147,47] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[206,36] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[207,39] cannot find symbol
[ERROR] symbol: method getSpawnGamemode()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[212,54] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[255,36] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[256,39] cannot find symbol
[ERROR] symbol: method getSpawnGamemode()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[274,29] non-static method getUnloadingTime() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[264,58] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[307,39] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[328,43] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[347,84] cannot find symbol
[ERROR] symbol: method getDefaultWorldTemplate()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[384,43] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[414,29] non-static method useWorldSpawn() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[415,82] non-static method getWorldSpawn(org.bukkit.World) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/SystemWorld.java:[420,25] cannot find symbol
[ERROR] symbol: method isSurvival()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/WorldPlayer.java:[182,85] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/PlayerListener.java:[30,25] cannot find symbol
[ERROR] symbol: method spawnTeleportation()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/PlayerListener.java:[36,56] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/PlayerListener.java:[62,39] cannot find symbol
[ERROR] symbol: method getSpawnGamemode()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/PlayerListener.java:[77,33] non-static method useWorldSpawn() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/listener/PlayerListener.java:[78,54] non-static method getWorldSpawn(org.bukkit.World) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/MoneyUtil.java:[32,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/MoneyUtil.java:[46,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/MoneyUtil.java:[47,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/SettingsConfig.java:[60,37] non-static method useWorldSpawn() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/SettingsConfig.java:[61,66] non-static method getWorldSpawn(org.bukkit.World) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/SettingsConfig.java:[84,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[67,47] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[69,34] non-static method isMultiChoose() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[71,54] cannot find symbol
[ERROR] symbol: method getDefaultWorldTemplate()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[75,51] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[76,51] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[83,55] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[84,55] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[101,36] cannot find symbol
[ERROR] symbol: method getRequestExpire()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[175,43] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldSettingsCommands.java:[206,39] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/DependenceConfig.java:[57,61] cannot find symbol
[ERROR] symbol: method deleteAfter()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/DependenceConfig.java:[66,37] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerWrapper.java:[30,44] cannot find symbol
[ERROR] symbol: method getUUIDTableName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerWrapper.java:[47,44] cannot find symbol
[ERROR] symbol: method getUUIDTableName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerWrapper.java:[63,44] cannot find symbol
[ERROR] symbol: method getUUIDTableName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/GuiConfig.java:[105,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[28,37] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[79,29] non-static method isMultiChoose() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[106,50] cannot find symbol
[ERROR] symbol: method getDefaultWorldTemplate()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[110,47] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[111,47] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[197,29] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[198,67] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[199,43] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[203,36] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WSCommands.java:[204,39] cannot find symbol
[ERROR] symbol: method getSpawnGamemode()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/WorldConfig.java:[54,48] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/WorldConfig.java:[88,42] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/config/WorldConfig.java:[376,33] cannot find symbol
[ERROR] symbol: method contactAuth()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[51,34] cannot find symbol
[ERROR] symbol: variable config
[ERROR] location: class de.butzlabben.WorldSystem
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[69,67] non-static method getLanguage() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[81,69] cannot find symbol
[ERROR] symbol: variable config
[ERROR] location: class de.butzlabben.WorldSystem
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[124,34] cannot find symbol
[ERROR] symbol: method getLagCheckPeriod()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[126,25] cannot find symbol
[ERROR] symbol: method useGC()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[128,38] cannot find symbol
[ERROR] symbol: method getGCPeriod()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[185,25] cannot find symbol
[ERROR] symbol: method shouldDelete()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[186,63] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[187,93] cannot find symbol
[ERROR] symbol: method deleteAfter()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[194,59] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/WorldSystem.java:[210,42] non-static method getPrefix() cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/SqliteConnection.java:[41,29] cannot find symbol
[ERROR] symbol: method getSqliteFile()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/DatabaseProvider.java:[14,37] cannot find symbol
[ERROR] symbol: method getDatabaseType()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/wrapper/WorldTemplateProvider.java:[28,52] cannot find symbol
[ERROR] symbol: method getConfig()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/gui/worldoption/TntStatus.java:[21,41] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/gui/worldoption/FireStatus.java:[21,41] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[34,26] cannot find symbol
[ERROR] symbol: method useWorldSpawnLastLocation()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[45,40] cannot find symbol
[ERROR] symbol: method getWorldsTableName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[71,26] cannot find symbol
[ERROR] symbol: method useSpawnLastLocation()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[80,40] cannot find symbol
[ERROR] symbol: method getPlayersTableName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[112,26] cannot find symbol
[ERROR] symbol: method useSpawnLastLocation()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[119,47] cannot find symbol
[ERROR] symbol: method getPlayersTableName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[141,26] cannot find symbol
[ERROR] symbol: method useWorldSpawnLastLocation()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[152,40] cannot find symbol
[ERROR] symbol: method getWorldsTableName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[175,40] cannot find symbol
[ERROR] symbol: method getWorldsTableName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[196,46] cannot find symbol
[ERROR] symbol: method getWorldsTableName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/PlayerPositions.java:[207,47] cannot find symbol
[ERROR] symbol: method getPlayersTableName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/WorldCheckerRunnable.java:[20,37] cannot find symbol
[ERROR] symbol: method getEntitysPerWorld()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/MysqlConnection.java:[32,95] cannot find symbol
[ERROR] symbol: method getMysqlPort()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/MysqlConnection.java:[32,29] cannot find symbol
[ERROR] symbol: method getMysqlHost()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/MysqlConnection.java:[32,58] cannot find symbol
[ERROR] symbol: method getMysqlDatabaseName()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/MysqlConnection.java:[33,29] cannot find symbol
[ERROR] symbol: method getMysqlUser()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/util/database/MysqlConnection.java:[33,58] cannot find symbol
[ERROR] symbol: method getMysqlPassword()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldAdministrateCommand.java:[125,44] non-static method getSpawn(org.bukkit.entity.Player) cannot be referenced from a static context
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldAdministrateCommand.java:[126,47] cannot find symbol
[ERROR] symbol: method getSpawnGamemode()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldAdministrateCommand.java:[177,45] cannot find symbol
[ERROR] symbol: method getWorlddir()
[ERROR] location: class de.butzlabben.world.config.PluginConfig
[ERROR] /opt/lol/WorldSystem/src/main/java/de/butzlabben/world/command/commands/WorldAdministrateCommand.java:[272,43] non-static method getPrefix() cannot be referenced from a static context
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

50
pom.xml
View File

@ -6,7 +6,7 @@
<groupId>de.butzlabben</groupId>
<artifactId>WorldSystem</artifactId>
<version>2.4.20-SNAPSHOT</version>
<version>2.4.34-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
@ -19,6 +19,11 @@
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository>
<id>OnARandomBox</id>
<url>https://repo.onarandombox.com/content/groups/public/</url>
</repository>
<repository>
<id>placeholderapi</id>
@ -51,8 +56,8 @@
<dependencies>
<dependency>
<groupId>com.intellectualsites.bom</groupId>
<artifactId>bom-1.18.x</artifactId>
<version>1.14</version>
<artifactId>bom-newest</artifactId>
<version>1.21</version>
<scope>import</scope>
<type>pom</type>
</dependency>
@ -65,10 +70,17 @@
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.19-R0.1-SNAPSHOT</version>
<version>1.19.3-R0.1-SNAPSHOT</version> <!-- 1.19 before -->
<scope>provided</scope>
</dependency>
<!--<dependency>
<groupId>com.onarandombox.multiversecore</groupId>
<artifactId>Multiverse-Core</artifactId>
<version>4.3.2-SNAPSHOT</version>
<scope>provided</scope>
</dependency>-->
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
@ -86,7 +98,7 @@
<dependency>
<groupId>com.mojang</groupId>
<artifactId>authlib</artifactId>
<version>1.5.21</version>
<version>1.5.25</version>
<scope>provided</scope>
</dependency>
@ -100,7 +112,7 @@
<dependency>
<groupId>com.sk89q.worldedit</groupId>
<artifactId>worldedit-bukkit</artifactId>
<version>7.2.11-SNAPSHOT</version>
<version>7.2.14-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
@ -108,25 +120,20 @@
<dependency>
<groupId>com.sk89q.worldedit</groupId>
<artifactId>worldedit-core</artifactId>
<version>7.2.11-SNAPSHOT</version>
<version>7.2.14-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fastasyncworldedit</groupId>
<artifactId>FastAsyncWorldEdit-Core</artifactId>
<version>2.4.5</version>
</dependency>
<dependency>
<groupId>com.fastasyncworldedit</groupId>
<artifactId>FastAsyncWorldEdit-Core</artifactId>
<scope>provided</scope>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>com.fastasyncworldedit</groupId>
<artifactId>FastAsyncWorldEdit-Bukkit</artifactId>
<version>2.5.0</version>
<scope>provided</scope>
<exclusions>
<exclusion>
@ -138,14 +145,23 @@
<dependency>
<groupId>com.github.seeseemelk</groupId>
<artifactId>MockBukkit-v1.19</artifactId>
<version>2.29.0</version>
<version>2.141.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.1-jre</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.9.1</version>
<version>2.10</version>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.33</version>
</dependency>
</dependencies>

View File

@ -0,0 +1,733 @@
package org.bstats.bukkit;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonPrimitive;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.ServicePriority;
import javax.net.ssl.HttpsURLConnection;
import java.io.*;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.concurrent.Callable;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.zip.GZIPOutputStream;
/**
* bStats collects some data for plugin authors.
* <p>
* Check out https://bStats.org/ to learn more about bStats!
*/
@SuppressWarnings({"WeakerAccess", "unused"})
public class Metrics {
static {
// You can use the property to disable the check in your test environment
if (System.getProperty("bstats.relocatecheck") == null || !System.getProperty("bstats.relocatecheck").equals("false")) {
// Maven's Relocate is clever and changes strings, too. So we have to use this little "trick" ... :D
final String defaultPackage = new String(
new byte[]{'o', 'r', 'g', '.', 'b', 's', 't', 'a', 't', 's', '.', 'b', 'u', 'k', 'k', 'i', 't'});
final String examplePackage = new String(new byte[]{'y', 'o', 'u', 'r', '.', 'p', 'a', 'c', 'k', 'a', 'g', 'e'});
// We want to make sure nobody just copy & pastes the example and use the wrong package names
if (Metrics.class.getPackage().getName().equals(defaultPackage) || Metrics.class.getPackage().getName().equals(examplePackage)) {
throw new IllegalStateException("bStats Metrics class has not been relocated correctly!");
}
}
}
// This ThreadFactory enforces the naming convention for our Threads
private final ThreadFactory threadFactory = task -> new Thread(task, "bStats-Metrics");
// Executor service for requests
// We use an executor service because the Bukkit scheduler is affected by server lags
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1, threadFactory);
// The version of this bStats class
public static final int B_STATS_VERSION = 1;
// The url to which the data is sent
private static final String URL = "https://bStats.org/submitData/bukkit";
// Is bStats enabled on this server?
private boolean enabled;
// Should failed requests be logged?
private static boolean logFailedRequests;
// Should the sent data be logged?
private static boolean logSentData;
// Should the response text be logged?
private static boolean logResponseStatusText;
// The uuid of the server
private static String serverUUID;
// The plugin
private final Plugin plugin;
// The plugin id
private final int pluginId;
// A list with all custom charts
private final List<CustomChart> charts = new ArrayList<>();
/**
* Class constructor.
*
* @param plugin The plugin which stats should be submitted.
* @param pluginId The id of the plugin.
* It can be found at <a href="https://bstats.org/what-is-my-plugin-id">What is my plugin id?</a>
*/
public Metrics(Plugin plugin, int pluginId) {
if (plugin == null) {
throw new IllegalArgumentException("Plugin cannot be null!");
}
this.plugin = plugin;
this.pluginId = pluginId;
// Get the config file
File bStatsFolder = new File(plugin.getDataFolder().getParentFile(), "bStats");
File configFile = new File(bStatsFolder, "config.yml");
YamlConfiguration config = YamlConfiguration.loadConfiguration(configFile);
// Check if the config file exists
if (!config.isSet("serverUuid")) {
// Add default values
config.addDefault("enabled", true);
// Every server gets it's unique random id.
config.addDefault("serverUuid", UUID.randomUUID().toString());
// Should failed request be logged?
config.addDefault("logFailedRequests", false);
// Should the sent data be logged?
config.addDefault("logSentData", false);
// Should the response text be logged?
config.addDefault("logResponseStatusText", false);
// Inform the server owners about bStats
config.options().header(
"bStats collects some data for plugin authors like how many servers are using their plugins.\n" +
"To honor their work, you should not disable it.\n" +
"This has nearly no effect on the server performance!\n" +
"Check out https://bStats.org/ to learn more :)"
).copyDefaults(true);
try {
config.save(configFile);
} catch (IOException ignored) { }
}
// Load the data
enabled = config.getBoolean("enabled", true);
serverUUID = config.getString("serverUuid");
logFailedRequests = config.getBoolean("logFailedRequests", false);
logSentData = config.getBoolean("logSentData", false);
logResponseStatusText = config.getBoolean("logResponseStatusText", false);
if (enabled) {
boolean found = false;
// Search for all other bStats Metrics classes to see if we are the first one
for (Class<?> service : Bukkit.getServicesManager().getKnownServices()) {
try {
service.getField("B_STATS_VERSION"); // Our identifier :)
found = true; // We aren't the first
break;
} catch (NoSuchFieldException ignored) { }
}
// Register our service
Bukkit.getServicesManager().register(Metrics.class, this, plugin, ServicePriority.Normal);
if (!found) {
// We are the first!
startSubmitting();
}
}
}
/**
* Checks if bStats is enabled.
*
* @return Whether bStats is enabled or not.
*/
public boolean isEnabled() {
return enabled;
}
/**
* Adds a custom chart.
*
* @param chart The chart to add.
*/
public void addCustomChart(CustomChart chart) {
if (chart == null) {
throw new IllegalArgumentException("Chart cannot be null!");
}
charts.add(chart);
}
/**
* Starts the Scheduler which submits our data every 30 minutes.
*/
private void startSubmitting() {
final Runnable submitTask = () -> {
if (!plugin.isEnabled()) { // Plugin was disabled
scheduler.shutdown();
return;
}
// Nevertheless we want our code to run in the Bukkit main thread, so we have to use the Bukkit scheduler
// Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;)
Bukkit.getScheduler().runTask(plugin, this::submitData);
};
// Many servers tend to restart at a fixed time at xx:00 which causes an uneven distribution of requests on the
// bStats backend. To circumvent this problem, we introduce some randomness into the initial and second delay.
// WARNING: You must not modify and part of this Metrics class, including the submit delay or frequency!
// WARNING: Modifying this code will get your plugin banned on bStats. Just don't do it!
long initialDelay = (long) (1000 * 60 * (3 + Math.random() * 3));
long secondDelay = (long) (1000 * 60 * (Math.random() * 30));
scheduler.schedule(submitTask, initialDelay, TimeUnit.MILLISECONDS);
scheduler.scheduleAtFixedRate(submitTask, initialDelay + secondDelay, 1000 * 60 * 30, TimeUnit.MILLISECONDS);
}
/**
* Gets the plugin specific data.
* This method is called using Reflection.
*
* @return The plugin specific data.
*/
public JsonObject getPluginData() {
JsonObject data = new JsonObject();
String pluginName = plugin.getDescription().getName();
String pluginVersion = plugin.getDescription().getVersion();
data.addProperty("pluginName", pluginName); // Append the name of the plugin
data.addProperty("id", pluginId); // Append the id of the plugin
data.addProperty("pluginVersion", pluginVersion); // Append the version of the plugin
JsonArray customCharts = new JsonArray();
for (CustomChart customChart : charts) {
// Add the data of the custom charts
JsonObject chart = customChart.getRequestJsonObject();
if (chart == null) { // If the chart is null, we skip it
continue;
}
customCharts.add(chart);
}
data.add("customCharts", customCharts);
return data;
}
/**
* Gets the server specific data.
*
* @return The server specific data.
*/
private JsonObject getServerData() {
// Minecraft specific data
int playerAmount;
try {
// Around MC 1.8 the return type was changed to a collection from an array,
// This fixes java.lang.NoSuchMethodError: org.bukkit.Bukkit.getOnlinePlayers()Ljava/util/Collection;
Method onlinePlayersMethod = Class.forName("org.bukkit.Server").getMethod("getOnlinePlayers");
playerAmount = onlinePlayersMethod.getReturnType().equals(Collection.class)
? ((Collection<?>) onlinePlayersMethod.invoke(Bukkit.getServer())).size()
: ((Player[]) onlinePlayersMethod.invoke(Bukkit.getServer())).length;
} catch (Exception e) {
playerAmount = Bukkit.getOnlinePlayers().size(); // Just use the new method if the Reflection failed
}
int onlineMode = Bukkit.getOnlineMode() ? 1 : 0;
String bukkitVersion = Bukkit.getVersion();
String bukkitName = Bukkit.getName();
// OS/Java specific data
String javaVersion = System.getProperty("java.version");
String osName = System.getProperty("os.name");
String osArch = System.getProperty("os.arch");
String osVersion = System.getProperty("os.version");
int coreCount = Runtime.getRuntime().availableProcessors();
JsonObject data = new JsonObject();
data.addProperty("serverUUID", serverUUID);
data.addProperty("playerAmount", playerAmount);
data.addProperty("onlineMode", onlineMode);
data.addProperty("bukkitVersion", bukkitVersion);
data.addProperty("bukkitName", bukkitName);
data.addProperty("javaVersion", javaVersion);
data.addProperty("osName", osName);
data.addProperty("osArch", osArch);
data.addProperty("osVersion", osVersion);
data.addProperty("coreCount", coreCount);
return data;
}
/**
* Collects the data and sends it afterwards.
*/
private void submitData() {
final JsonObject data = getServerData();
JsonArray pluginData = new JsonArray();
// Search for all other bStats Metrics classes to get their plugin data
for (Class<?> service : Bukkit.getServicesManager().getKnownServices()) {
try {
service.getField("B_STATS_VERSION"); // Our identifier :)
for (RegisteredServiceProvider<?> provider : Bukkit.getServicesManager().getRegistrations(service)) {
try {
Object plugin = provider.getService().getMethod("getPluginData").invoke(provider.getProvider());
if (plugin instanceof JsonObject) {
pluginData.add((JsonObject) plugin);
} else { // old bstats version compatibility
try {
Class<?> jsonObjectJsonSimple = Class.forName("org.json.simple.JSONObject");
if (plugin.getClass().isAssignableFrom(jsonObjectJsonSimple)) {
Method jsonStringGetter = jsonObjectJsonSimple.getDeclaredMethod("toJSONString");
jsonStringGetter.setAccessible(true);
String jsonString = (String) jsonStringGetter.invoke(plugin);
JsonObject object = new JsonParser().parse(jsonString).getAsJsonObject();
pluginData.add(object);
}
} catch (ClassNotFoundException e) {
// minecraft version 1.14+
if (logFailedRequests) {
this.plugin.getLogger().log(Level.SEVERE, "Encountered unexpected exception", e);
}
}
}
} catch (NullPointerException | NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) { }
}
} catch (NoSuchFieldException ignored) { }
}
data.add("plugins", pluginData);
// Create a new thread for the connection to the bStats server
new Thread(() -> {
try {
// Send the data
sendData(plugin, data);
} catch (Exception e) {
// Something went wrong! :(
if (logFailedRequests) {
plugin.getLogger().log(Level.WARNING, "Could not submit plugin stats of " + plugin.getName(), e);
}
}
}).start();
}
/**
* Sends the data to the bStats server.
*
* @param plugin Any plugin. It's just used to get a logger instance.
* @param data The data to send.
* @throws Exception If the request failed.
*/
private static void sendData(Plugin plugin, JsonObject data) throws Exception {
if (data == null) {
throw new IllegalArgumentException("Data cannot be null!");
}
if (Bukkit.isPrimaryThread()) {
throw new IllegalAccessException("This method must not be called from the main thread!");
}
if (logSentData) {
plugin.getLogger().info("Sending data to bStats: " + data);
}
HttpsURLConnection connection = (HttpsURLConnection) new URL(URL).openConnection();
// Compress the data to save bandwidth
byte[] compressedData = compress(data.toString());
// Add headers
connection.setRequestMethod("POST");
connection.addRequestProperty("Accept", "application/json");
connection.addRequestProperty("Connection", "close");
connection.addRequestProperty("Content-Encoding", "gzip"); // We gzip our request
connection.addRequestProperty("Content-Length", String.valueOf(compressedData.length));
connection.setRequestProperty("Content-Type", "application/json"); // We send our data in JSON format
connection.setRequestProperty("User-Agent", "MC-Server/" + B_STATS_VERSION);
// Send data
connection.setDoOutput(true);
try (DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream())) {
outputStream.write(compressedData);
}
StringBuilder builder = new StringBuilder();
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
String line;
while ((line = bufferedReader.readLine()) != null) {
builder.append(line);
}
}
if (logResponseStatusText) {
plugin.getLogger().info("Sent data to bStats and received response: " + builder);
}
}
/**
* Gzips the given String.
*
* @param str The string to gzip.
* @return The gzipped String.
* @throws IOException If the compression failed.
*/
private static byte[] compress(final String str) throws IOException {
if (str == null) {
return null;
}
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try (GZIPOutputStream gzip = new GZIPOutputStream(outputStream)) {
gzip.write(str.getBytes(StandardCharsets.UTF_8));
}
return outputStream.toByteArray();
}
/**
* Represents a custom chart.
*/
public static abstract class CustomChart {
// The id of the chart
final String chartId;
/**
* Class constructor.
*
* @param chartId The id of the chart.
*/
CustomChart(String chartId) {
if (chartId == null || chartId.isEmpty()) {
throw new IllegalArgumentException("ChartId cannot be null or empty!");
}
this.chartId = chartId;
}
private JsonObject getRequestJsonObject() {
JsonObject chart = new JsonObject();
chart.addProperty("chartId", chartId);
try {
JsonObject data = getChartData();
if (data == null) {
// If the data is null we don't send the chart.
return null;
}
chart.add("data", data);
} catch (Throwable t) {
if (logFailedRequests) {
Bukkit.getLogger().log(Level.WARNING, "Failed to get data for custom chart with id " + chartId, t);
}
return null;
}
return chart;
}
protected abstract JsonObject getChartData() throws Exception;
}
/**
* Represents a custom simple pie.
*/
public static class SimplePie extends CustomChart {
private final Callable<String> callable;
/**
* Class constructor.
*
* @param chartId The id of the chart.
* @param callable The callable which is used to request the chart data.
*/
public SimplePie(String chartId, Callable<String> callable) {
super(chartId);
this.callable = callable;
}
@Override
protected JsonObject getChartData() throws Exception {
JsonObject data = new JsonObject();
String value = callable.call();
if (value == null || value.isEmpty()) {
// Null = skip the chart
return null;
}
data.addProperty("value", value);
return data;
}
}
/**
* Represents a custom advanced pie.
*/
public static class AdvancedPie extends CustomChart {
private final Callable<Map<String, Integer>> callable;
/**
* Class constructor.
*
* @param chartId The id of the chart.
* @param callable The callable which is used to request the chart data.
*/
public AdvancedPie(String chartId, Callable<Map<String, Integer>> callable) {
super(chartId);
this.callable = callable;
}
@Override
protected JsonObject getChartData() throws Exception {
JsonObject data = new JsonObject();
JsonObject values = new JsonObject();
Map<String, Integer> map = callable.call();
if (map == null || map.isEmpty()) {
// Null = skip the chart
return null;
}
boolean allSkipped = true;
for (Map.Entry<String, Integer> entry : map.entrySet()) {
if (entry.getValue() == 0) {
continue; // Skip this invalid
}
allSkipped = false;
values.addProperty(entry.getKey(), entry.getValue());
}
if (allSkipped) {
// Null = skip the chart
return null;
}
data.add("values", values);
return data;
}
}
/**
* Represents a custom drilldown pie.
*/
public static class DrilldownPie extends CustomChart {
private final Callable<Map<String, Map<String, Integer>>> callable;
/**
* Class constructor.
*
* @param chartId The id of the chart.
* @param callable The callable which is used to request the chart data.
*/
public DrilldownPie(String chartId, Callable<Map<String, Map<String, Integer>>> callable) {
super(chartId);
this.callable = callable;
}
@Override
public JsonObject getChartData() throws Exception {
JsonObject data = new JsonObject();
JsonObject values = new JsonObject();
Map<String, Map<String, Integer>> map = callable.call();
if (map == null || map.isEmpty()) {
// Null = skip the chart
return null;
}
boolean reallyAllSkipped = true;
for (Map.Entry<String, Map<String, Integer>> entryValues : map.entrySet()) {
JsonObject value = new JsonObject();
boolean allSkipped = true;
for (Map.Entry<String, Integer> valueEntry : map.get(entryValues.getKey()).entrySet()) {
value.addProperty(valueEntry.getKey(), valueEntry.getValue());
allSkipped = false;
}
if (!allSkipped) {
reallyAllSkipped = false;
values.add(entryValues.getKey(), value);
}
}
if (reallyAllSkipped) {
// Null = skip the chart
return null;
}
data.add("values", values);
return data;
}
}
/**
* Represents a custom single line chart.
*/
public static class SingleLineChart extends CustomChart {
private final Callable<Integer> callable;
/**
* Class constructor.
*
* @param chartId The id of the chart.
* @param callable The callable which is used to request the chart data.
*/
public SingleLineChart(String chartId, Callable<Integer> callable) {
super(chartId);
this.callable = callable;
}
@Override
protected JsonObject getChartData() throws Exception {
JsonObject data = new JsonObject();
int value = callable.call();
if (value == 0) {
// Null = skip the chart
return null;
}
data.addProperty("value", value);
return data;
}
}
/**
* Represents a custom multi line chart.
*/
public static class MultiLineChart extends CustomChart {
private final Callable<Map<String, Integer>> callable;
/**
* Class constructor.
*
* @param chartId The id of the chart.
* @param callable The callable which is used to request the chart data.
*/
public MultiLineChart(String chartId, Callable<Map<String, Integer>> callable) {
super(chartId);
this.callable = callable;
}
@Override
protected JsonObject getChartData() throws Exception {
JsonObject data = new JsonObject();
JsonObject values = new JsonObject();
Map<String, Integer> map = callable.call();
if (map == null || map.isEmpty()) {
// Null = skip the chart
return null;
}
boolean allSkipped = true;
for (Map.Entry<String, Integer> entry : map.entrySet()) {
if (entry.getValue() == 0) {
continue; // Skip this invalid
}
allSkipped = false;
values.addProperty(entry.getKey(), entry.getValue());
}
if (allSkipped) {
// Null = skip the chart
return null;
}
data.add("values", values);
return data;
}
}
/**
* Represents a custom simple bar chart.
*/
public static class SimpleBarChart extends CustomChart {
private final Callable<Map<String, Integer>> callable;
/**
* Class constructor.
*
* @param chartId The id of the chart.
* @param callable The callable which is used to request the chart data.
*/
public SimpleBarChart(String chartId, Callable<Map<String, Integer>> callable) {
super(chartId);
this.callable = callable;
}
@Override
protected JsonObject getChartData() throws Exception {
JsonObject data = new JsonObject();
JsonObject values = new JsonObject();
Map<String, Integer> map = callable.call();
if (map == null || map.isEmpty()) {
// Null = skip the chart
return null;
}
for (Map.Entry<String, Integer> entry : map.entrySet()) {
JsonArray categoryValues = new JsonArray();
categoryValues.add(new JsonPrimitive(entry.getValue()));
values.add(entry.getKey(), categoryValues);
}
data.add("values", values);
return data;
}
}
/**
* Represents a custom advanced bar chart.
*/
public static class AdvancedBarChart extends CustomChart {
private final Callable<Map<String, int[]>> callable;
/**
* Class constructor.
*
* @param chartId The id of the chart.
* @param callable The callable which is used to request the chart data.
*/
public AdvancedBarChart(String chartId, Callable<Map<String, int[]>> callable) {
super(chartId);
this.callable = callable;
}
@Override
protected JsonObject getChartData() throws Exception {
JsonObject data = new JsonObject();
JsonObject values = new JsonObject();
Map<String, int[]> map = callable.call();
if (map == null || map.isEmpty()) {
// Null = skip the chart
return null;
}
boolean allSkipped = true;
for (Map.Entry<String, int[]> entry : map.entrySet()) {
if (entry.getValue().length == 0) {
continue; // Skip this invalid
}
allSkipped = false;
JsonArray categoryValues = new JsonArray();
for (int categoryValue : entry.getValue()) {
categoryValues.add(new JsonPrimitive(categoryValue));
}
values.add(entry.getKey(), categoryValues);
}
if (allSkipped) {
// Null = skip the chart
return null;
}
data.add("values", values);
return data;
}
}
}

View File

@ -0,0 +1,79 @@
main: de.butzlabben.WorldSystem
name: WorldSystem
version: '2.4.33'
author: Trainerlord
authors: [Butzlabben, CrazyCloudCraft]
website: https://github.com/CrazyCloudCraft/worldsystem-updated-old
api-version: 1.18
load: STARTUP
depend:
- Vault
softdepend:
- EssentialsX
- WorldEdit
- FAWE
commands:
ws:
description: All WorldSystem commands
permission: ws.*
permission-message: You have no rights to use /ws.
usage: /ws
permissions:
ws.*:
description: Gives all permissions
default: op
children:
ws.tp.*: true
ws.get: true
ws.sethome: true
ws.tp.world: true
ws.tp.toother: true
ws.tp.other: true
ws.build: true
ws.gamemode: true
ws.delete: true
ws.lag: true
ws.big: true
ws.large: true
ws.get:
description: You can create a world via /ws get
default: true
ws.sethome:
description: You can set a different worldspawn
default: true
ws.tp:
description: You can teleport everything
default: op
children:
ws.tp.toother: true
ws.tp.other: true
ws.tp.world: true
ws.tp.world:
description: You can teleport to without rights World
default: op
ws.tp.toother:
description: You can teleport across worlds
default: op
ws.tp.other:
description: You can teleport other persons
default: op
ws.gamemode:
description: You can change GameMode on other worlds
default: op
ws.delete:
description: You can delete a world
default: op
ws.build:
description: You can build on other Worlds without WorldPermissions
default: op
ws.large:
description: World size
default: op
children:
ws.big: true
ws.big:
description: Gives you a bigger world (if set)
default: op
ws.lag:
description: You can see lag messages
default: op