From 00cb3c2b8cff2b7a13f47b2a2009d5ee8a4d7e61 Mon Sep 17 00:00:00 2001 From: unurled Date: Thu, 6 Jan 2022 11:24:01 +0100 Subject: [PATCH] final update of the plugin --- build.gradle | 109 ++++++++ gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 234 ++++++++++++++++++ gradlew.bat | 89 +++++++ main.drawio | 0 main.png | Bin 0 -> 45593 bytes main.svg | 1 + main1.drawio | 1 + pom.xml | 179 -------------- settings.gradle | 10 + .../raxen/components/lootchest/GUI.java | 2 + .../lootchest/loots/CustomLoot.java | 2 + .../components/lootchest/loots/LootItem.java | 2 + .../lootchest/loots/test/TestSword.java | 2 + .../listener/player/ClickBlockEvent.java | 2 + .../gq/unurled/raxen/manager/LootManager.java | 2 + .../gq/unurled/raxen/utils/WorldEdit.java | 4 + src/main/resources/gate.yml | 0 18 files changed, 465 insertions(+), 179 deletions(-) create mode 100644 build.gradle create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat create mode 100644 main.drawio create mode 100644 main.png create mode 100644 main.svg create mode 100644 main1.drawio delete mode 100644 pom.xml create mode 100644 settings.gradle create mode 100644 src/main/java/gq/unurled/raxen/components/lootchest/GUI.java create mode 100644 src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java create mode 100644 src/main/java/gq/unurled/raxen/components/lootchest/loots/LootItem.java create mode 100644 src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java create mode 100644 src/main/java/gq/unurled/raxen/listener/player/ClickBlockEvent.java create mode 100644 src/main/java/gq/unurled/raxen/manager/LootManager.java create mode 100644 src/main/java/gq/unurled/raxen/utils/WorldEdit.java create mode 100644 src/main/resources/gate.yml diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..cf48a6b --- /dev/null +++ b/build.gradle @@ -0,0 +1,109 @@ +plugins { + id 'java' + id 'maven-publish' + id "com.github.johnrengelman.shadow" version "7.1.2" + id("io.papermc.paperweight.userdev") version "1.3.3" +} + +apply plugin: "java" +apply plugin: "io.papermc.paperweight.userdev" + +repositories { + mavenLocal() + maven { + url = uri('https://jitpack.io') + } + + maven { + url = uri('https://papermc.io/repo/repository/maven-public/') + } + + maven { + url = uri('https://oss.sonatype.org/content/groups/public/') + } + + maven { + name = 'CodeMC' + url = 'https://repo.codemc.org/repository/maven-public/' + } + + maven { + url = uri('https://repo.dmulloy2.net/repository/public/') + } + + maven { + url = uri('https://repo.essentialsx.net/releases/') + } + + maven { + url = uri('https://s01.oss.sonatype.org/content/repositories/snapshots/') + } + + maven { + url = uri('https://repo.maven.apache.org/maven2/') + } +} + +dependencies { + //lombok stuff + implementation 'org.projectlombok:lombok:1.18.22' + annotationProcessor 'org.projectlombok:lombok:1.18.22' + testCompileOnly 'org.projectlombok:lombok:1.18.22' + testAnnotationProcessor 'org.projectlombok:lombok:1.18.22' + + //mongo stuff + implementation 'org.mongodb:mongodb-driver-sync:4.4.0' + implementation 'org.mongodb:bson:4.4.0' + implementation 'org.mongodb:mongodb-driver-core:4.4.0' + + implementation 'de.tr7zw:item-nbt-api-plugin:2.9.0' + compileOnly 'io.papermc.paper:paper-api:1.18.1-R0.1-SNAPSHOT' + compileOnly 'com.comphenix.protocol:ProtocolLib:4.7.0' + compileOnly 'net.luckperms:api:5.3' + compileOnly 'com.github.MilkBowl:VaultAPI:1.7.1' + compileOnly 'net.essentialsx:EssentialsX:2.19.2' + compileOnly 'com.fastasyncworldedit:FastAsyncWorldEdit-Core:2.0.0-SNAPSHOT' + compileOnly 'com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit:2.0.0-SNAPSHOT' + compileOnly fileTree(dir: 'libs', include: '*.jar') + paperweightDevelopmentBundle("io.papermc.paper:dev-bundle:1.18.1-R0.1-SNAPSHOT") +} + +group = 'gq.unurled' +version = '0.4.4' +description = 'Raxen' +java.sourceCompatibility = JavaVersion.VERSION_17 + +publishing { + publications { + maven(MavenPublication) { + from(components.java) + } + } +} + +tasks.withType(JavaCompile) { + options.encoding = 'UTF-8' +} + +tasks { + assemble { + dependsOn(reobfJar) + } +} + +shadowJar { + dependencies { + include dependency('de.tr7zw:item-nbt-api-plugin:2.9.0') + include dependency('org.mongodb:mongodb-driver-sync:4.4.0') + include dependency('org.mongodb:bson:4.4.0') + include dependency('org.mongodb:mongodb-driver-core:4.4.0') + include dependency('org.slf4j:slf4j-api:2.0.0-alpha5') + } + relocate("de.tr7zw.changeme", "gq.unurled.libs.de.tr7zw") + relocate("de.tr7zw", "gq.unurled.libs.de.tr7zw") + relocate("com.mongodb", 'gq.unurled.libs.com.mongodb') + relocate("org.bson", 'gq.unurled.libs.org.bson') + processResources { + expand version: project.version + } +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2e6e589 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..1b6c787 --- /dev/null +++ b/gradlew @@ -0,0 +1,234 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..107acd3 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/main.drawio b/main.drawio new file mode 100644 index 0000000..e69de29 diff --git a/main.png b/main.png new file mode 100644 index 0000000000000000000000000000000000000000..0f13f40c29c5adce75ff5f811be00ca6fc40a0af GIT binary patch literal 45593 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 literal 0 HcmV?d00001 diff --git a/main.svg b/main.svg new file mode 100644 index 0000000..4e11870 --- /dev/null +++ b/main.svg @@ -0,0 +1 @@ +
Raxen
Raxen
RPG
RPG
Custom Mobs
Custom Mobs
Custom Items
Custom Items
Dungeons accesed via Gates
Dungeons accesed via...
Combat
Combat
Attack with
Attack with
Attack
Attack
loots
loots
obtain
obtain
better loots with better luck
better loots wi...
Player
Player
Stats
Stats
Custom Items
Custom Items
Health, Strength, Defense, Mana, Luck, Agility, Stamina
Health, Strength, De...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/main1.drawio b/main1.drawio new file mode 100644 index 0000000..023c826 --- /dev/null +++ b/main1.drawio @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pom.xml b/pom.xml deleted file mode 100644 index 18b485e..0000000 --- a/pom.xml +++ /dev/null @@ -1,179 +0,0 @@ - - - 4.0.0 - - gq.unurled - raxen - 0.4.4 - jar - - Raxen - - - 1.17 - UTF-8 - - - - - maven-snapshots - https://repository.apache.org/content/repositories/snapshots/ - - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 17 - 17 - --enable-preview - - - - org.apache.maven.plugins - maven-shade-plugin - 3.3.1-SNAPSHOT - - - package - - shade - - - - - de.tr7zw.changeme.nbtapi - de.tr7zw.nbtapi - - - false - - - - - - - - src/main/resources - true - - - - - - - jitpack.io - https://jitpack.io - - - papermc-repo - https://papermc.io/repo/repository/maven-public/ - - - sonatype - https://oss.sonatype.org/content/groups/public/ - - - codemc-repo - https://repo.codemc.org/repository/maven-public/ - default - - - dmulloy2-repo - https://repo.dmulloy2.net/repository/public/ - - - essentials-releases - https://repo.essentialsx.net/releases/ - - - - - - - io.papermc.paper - paper-api - 1.18.1-R0.1-SNAPSHOT - provided - - - io.papermc.paper - nms - 4.7.0 - system - /media/QDISK/DOCUMENT/prog/MC/Elixium/dev/Raxen/api/paper-1.18.1.jar - - - org.projectlombok - lombok - 1.18.22 - compile - - - org.mongodb - mongodb-driver-sync - 4.4.0 - compile - - - de.tr7zw - nbt-data-api - 2.9.0-SNAPSHOT - compile - - - - com.comphenix.protocol - ProtocolLib - 4.7.0 - provided - - - - net.luckperms - api - 5.3 - provided - - - com.github.MilkBowl - VaultAPI - 1.7 - provided - - - net.essentialsx - EssentialsX - 2.19.0 - provided - - - - diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..3a919a8 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,10 @@ +pluginManagement { + repositories { + gradlePluginPortal() + maven{ + url = uri("https://papermc.io/repo/repository/maven-public/") + } + } +} + +rootProject.name = 'raxen' diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java b/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java new file mode 100644 index 0000000..45d98f6 --- /dev/null +++ b/src/main/java/gq/unurled/raxen/components/lootchest/GUI.java @@ -0,0 +1,2 @@ +package gq.unurled.raxen.components.lootchest;public class GUI { +} diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java b/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java new file mode 100644 index 0000000..8686d70 --- /dev/null +++ b/src/main/java/gq/unurled/raxen/components/lootchest/loots/CustomLoot.java @@ -0,0 +1,2 @@ +package gq.unurled.raxen.components.lootchest.loots;public class CustomLoot { +} diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/loots/LootItem.java b/src/main/java/gq/unurled/raxen/components/lootchest/loots/LootItem.java new file mode 100644 index 0000000..0a715dc --- /dev/null +++ b/src/main/java/gq/unurled/raxen/components/lootchest/loots/LootItem.java @@ -0,0 +1,2 @@ +package gq.unurled.raxen.components.lootchest.loots;public class LootItem { +} diff --git a/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java b/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java new file mode 100644 index 0000000..fe20803 --- /dev/null +++ b/src/main/java/gq/unurled/raxen/components/lootchest/loots/test/TestSword.java @@ -0,0 +1,2 @@ +package gq.unurled.raxen.components.lootchest.loots.test;public class TestSword { +} diff --git a/src/main/java/gq/unurled/raxen/listener/player/ClickBlockEvent.java b/src/main/java/gq/unurled/raxen/listener/player/ClickBlockEvent.java new file mode 100644 index 0000000..f1b9b9c --- /dev/null +++ b/src/main/java/gq/unurled/raxen/listener/player/ClickBlockEvent.java @@ -0,0 +1,2 @@ +package gq.unurled.raxen.listener.player;public class ClickBlockEvent { +} diff --git a/src/main/java/gq/unurled/raxen/manager/LootManager.java b/src/main/java/gq/unurled/raxen/manager/LootManager.java new file mode 100644 index 0000000..ad708cc --- /dev/null +++ b/src/main/java/gq/unurled/raxen/manager/LootManager.java @@ -0,0 +1,2 @@ +package gq.unurled.raxen.manager;public class LootManager { +} diff --git a/src/main/java/gq/unurled/raxen/utils/WorldEdit.java b/src/main/java/gq/unurled/raxen/utils/WorldEdit.java new file mode 100644 index 0000000..e811f54 --- /dev/null +++ b/src/main/java/gq/unurled/raxen/utils/WorldEdit.java @@ -0,0 +1,4 @@ +package gq.unurled.raxen.utils; + +public class WorldEdit { +} diff --git a/src/main/resources/gate.yml b/src/main/resources/gate.yml new file mode 100644 index 0000000..e69de29