Skip to content
Permalink
Browse files

Merge pull request #116 from EngineHub/1.13

1.13 support
  • Loading branch information
DarkArc committed Jan 1, 2020
2 parents 7c3efaa + b7c6b13 commit 9c57e2bcc9aebd7cf5ea11e83524366052dcb9d2
Showing with 632 additions and 1,234 deletions.
  1. +4 −1 .gitignore
  2. +2 −2 CONTRIBUTING.md
  3. +1 −1 README.md
  4. +160 −0 build.gradle
  5. +2 −0 gradle.properties
  6. BIN gradle/wrapper/gradle-wrapper.jar
  7. +6 −0 gradle/wrapper/gradle-wrapper.properties
  8. +188 −0 gradlew
  9. +100 −0 gradlew.bat
  10. +0 −230 pom.xml
  11. +1 −0 settings.gradle
  12. +0 −34 src/main/assembly/default.xml
  13. +0 −1 src/main/java/com/sk89q/commandbook/CommandBook.java
  14. +9 −3 src/main/java/com/sk89q/commandbook/FunComponent.java
  15. +0 −3 src/main/java/com/sk89q/commandbook/HelpComponent.java
  16. +47 −29 src/main/java/com/sk89q/commandbook/InventoryComponent.java
  17. +7 −2 src/main/java/com/sk89q/commandbook/ThorComponent.java
  18. +17 −32 src/main/java/com/sk89q/commandbook/{ → jinglenote}/JingleNoteComponent.java
  19. +24 −17 src/main/java/com/sk89q/{ → commandbook}/jinglenote/JingleNoteManager.java
  20. +8 −5 src/main/java/com/sk89q/commandbook/kits/FlatFileKitsManager.java
  21. +6 −2 src/main/java/com/sk89q/commandbook/util/LocationUtil.java
  22. +27 −18 src/main/java/com/sk89q/commandbook/util/item/InventoryUtil.java
  23. +15 −167 src/main/java/com/sk89q/commandbook/util/item/ItemUtil.java
  24. +0 −29 src/main/java/com/sk89q/jinglenote/Instrument.java
  25. +0 −72 src/main/java/com/sk89q/jinglenote/JingleNotePlayer.java
  26. +0 −57 src/main/java/com/sk89q/jinglenote/JingleSequencer.java
  27. +0 −234 src/main/java/com/sk89q/jinglenote/MidiJingleSequencer.java
  28. +0 −236 src/main/java/com/sk89q/jinglenote/StringJingleSequencer.java
  29. +0 −52 src/main/java/com/sk89q/jinglenote/bukkit/BukkitJingleNotePlayer.java
  30. +1 −1 src/main/resources/{ → defaults}/components.yml
  31. 0 src/main/resources/{ → defaults}/config-comments.yml
  32. +5 −5 src/main/resources/{ → defaults}/kits.txt
  33. +2 −1 src/main/resources/plugin.yml
@@ -2,6 +2,9 @@
.project
.settings
*.iml
target
.idea/

.gradle/
build/

.DS_Store
@@ -8,9 +8,9 @@ ask that you make note of the following guidelines.
* **Follow the [Oracle coding conventions](http://www.oracle.com/technetwork/java/codeconv-138413.html).**
We can't stress this enough; if your code has notable issues, it may delay
the process significantly.
* **Target Java 6 for source and compilation.** Make sure to mark methods with
* **Target Java 8 for source and compilation.** Make sure to mark methods with
` @Override` that override methods of parent classes, or that implement
methods of interfaces (Java 6+).
methods of interfaces.
* **Use only spaces for indentation.** Our indents are 4-spaces long, and tabs
are unacceptable.
* **Wrap code to a 89 column limit.** We do this to make side by side diffs
@@ -16,7 +16,7 @@ CommandBook adds essential commands for managing your server, from teleportation
Compiling
---------

The project is written for Java 6 and our build process makes use of [Maven](http://maven.apache.org). Detailed compilation information [can be found on the wiki](http://wiki.sk89q.com/wiki/CommandBook/Development#Compiling).
The project is written for Java 8 and our build process makes use of [Maven](http://maven.apache.org). Detailed compilation information [can be found on the wiki](http://wiki.sk89q.com/wiki/CommandBook/Development#Compiling).

Dependencies are automatically handled by Maven.

@@ -0,0 +1,160 @@
println """
*******************************************
You are building CommandBook!
If you encounter trouble:
1) Read CONTRIBUTING.md if you haven't yet
2) Try running 'build' in a separate Gradle run
3) Use gradlew and not gradle
4) If you still need help, ask on Discord! https://discord.gg/enginehub
Output files will be in [subproject]/build/libs
*******************************************
"""
buildscript {
repositories {
mavenCentral()
maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
jcenter()
}

configurations.all {
resolutionStrategy {
force 'com.google.guava:guava:21.0'
}
}

dependencies {
classpath "com.github.jengelman.gradle.plugins:shadow:4.0.3"
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.7.5'
classpath 'org.ajoberstar:gradle-git:1.7.2'
}
}

if (!project.hasProperty("artifactory_contextUrl")) ext.artifactory_contextUrl = "http://localhost"
if (!project.hasProperty("artifactory_user")) ext.artifactory_user = "guest"
if (!project.hasProperty("artifactory_password")) ext.artifactory_password = ""

if (!project.hasProperty("gitCommitHash")) {
try {
def repo = org.ajoberstar.grgit.Grgit.open(project.file('.'))
ext.gitCommitHash = repo.head().abbreviatedId
} catch (Exception e) {
ext.gitCommitHash = "no_git_id"
}
}

allprojects {
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'com.jfrog.artifactory'

group = pluginGroup
version = pluginVersion
ext.internalVersion = version + ";" + gitCommitHash

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
mavenLocal()
mavenCentral()
maven {
name = 'sk89q-repo'
url = 'http://maven.sk89q.com/repo/'
}
maven {
name = 'Destroystokyo Repo'
url = 'https://repo.destroystokyo.com/repository/maven-public/'
}
}

dependencies {
compile 'com.destroystokyo.paper:paper-api:1.15.1-R0.1-SNAPSHOT'
compile 'com.sk89q.worldedit:worldedit-core:7.1.0-SNAPSHOT'
compile 'com.sk89q.worldedit:worldedit-bukkit:7.1.0-SNAPSHOT'
compile 'org.enginehub.jinglenote:jinglenote-core:1.0.0-SNAPSHOT'
compile 'org.enginehub.jinglenote:jinglenote-bukkit:1.0.0-SNAPSHOT'
compile 'com.zachsthings.libcomponents:libcomponents-bukkit:1.3.0-SNAPSHOT'
compile 'net.sf.opencsv:opencsv:2.0'

testCompile group: 'junit', name: 'junit', version: '4.12'
}

task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}

task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}

artifacts {
archives shadowJar
archives sourcesJar
archives javadocJar
}

build.dependsOn(sourcesJar)
build.dependsOn(javadocJar)

jar {
manifest {
attributes("Class-Path": "CommandBook/WorldEdit.jar lib/WorldEdit.jar ../lib/WorldEdit.jar ../WorldEdit.jar",
"WorldEdit-Version": version)
}
}

shadowJar {
classifier 'dist'

dependencies {
include(dependency('net.sf.opencsv:opencsv'))
include(dependency('com.zachsthings.libcomponents:libcomponents-bukkit'))
relocate ("org.enginehub.jinglenote", "com.sk89q.commandbook.enginehub.jinglenote") {
include(dependency("org.enginehub.jinglenote:jinglenote-core"))
include(dependency("org.enginehub.jinglenote:jinglenote-bukkit"))
}
}

exclude 'GradleStart**'
exclude '.cache'
exclude 'LICENSE*'
}

artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = project.version.contains("SNAPSHOT") ? 'libs-snapshot-local' : 'libs-release-local'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true

}
}

resolve {
repository {
repoKey = 'repo'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
}
}

processResources {
from (sourceSets.main.resources.srcDirs) {
expand 'internalVersion': project.internalVersion
include 'plugin.yml'
}

from (sourceSets.main.resources.srcDirs) {
exclude 'plugin.yml'
}
}
}
@@ -0,0 +1,2 @@
pluginGroup=com.sk89q
pluginVersion=2.5-SNAPSHOT
Binary file not shown.
@@ -0,0 +1,6 @@
#Wed Jan 01 12:08:20 EST 2020
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
188 gradlew
@@ -0,0 +1,188 @@
#!/usr/bin/env sh

#
# Copyright 2015 the original author or 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
#
# http://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 UN*X
##
##############################################################################

# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null

APP_NAME="Gradle"
APP_BASE_NAME=`basename "$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 "$*"
}

die () {
echo
echo "$*"
echo
exit 1
}

# 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
;;
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" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi

# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi

# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`

# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option

if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi

# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")

# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"

# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi

exec "$JAVACMD" "$@"

0 comments on commit 9c57e2b

Please sign in to comment.
You can’t perform that action at this time.