diff --git a/build.gradle b/build.gradle index 45ad7f70a..d316a3919 100644 --- a/build.gradle +++ b/build.gradle @@ -1,35 +1,23 @@ buildscript { repositories { - jcenter() - maven { url = "http://files.minecraftforge.net/maven" } + maven { url = "http://files.minecraftforge.net/maven" } + jcenter() mavenCentral() } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' - classpath 'org.ajoberstar:grgit:1.7.2' + classpath 'net.minecraftforge.gradle:ForgeGradle:3.+' } } - plugins { -// id 'io.franzbecker.gradle-lombok' version '3.1.0' // must use gradle v3.0+ for this version of shadow (2.0.1). Update gradle-wrapper.properties - id "com.github.johnrengelman.shadow" version "2.0.1" + id "com.github.johnrengelman.shadow" version "4.0.4" } -apply plugin: 'net.minecraftforge.gradle.forge' +apply plugin: 'net.minecraftforge.gradle' //Only edit below this line, the above code adds and enables the nessasary things for Forge to be setup. +apply plugin: 'eclipse' +apply plugin: 'maven-publish' -ext { - // Open the Git repository in the parent directory. -// git = org.ajoberstar.grgit.Grgit.open(file('../')) - - // Get commit id of HEAD. -// revision = git.head().id - // Alternative is using abbreviatedId of head() method. - // revision = git.head().abbreviatedId -} - -//version = "mc${mc_version}-v${mod_version}-${git.head().abbreviatedId}" version = "mc${mc_version}-f${forge_version}-${mod_version_type}${mod_version}" group = "${package_group}" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "${mod_name}" @@ -40,54 +28,68 @@ compileJava { } minecraft { - version = "${mc_version}-${forge_version}" - runDir = "run" + // The mappings can be changed at any time, and must be in the following format. + // snapshot_YYYYMMDD Snapshot are built nightly. + // stable_# Stables are built at the discretion of the MCP team. + // Use non-default mappings at your own risk. they may not always work. + // Simply re-run your setup task after changing the mappings to update your workspace. + mappings channel: 'snapshot', version: '20171003-1.12' + // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. + + // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') + + // Default run configurations. + // These can be tweaked, removed, or duplicated as needed. + runs { + client { + workingDirectory project.file('run') + + // Recommended logging data for a userdev environment + property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' + + // Recommended logging level for the console + property 'forge.logging.console.level', 'debug' + } - if (project.hasProperty('mappings_version')) - mappings = project.mappings_version -} + server { + // Recommended logging data for a userdev environment + property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' -//Optional: change the project structure -sourceSets.main{ - java{ - srcDirs 'src' //, 'test' //set the source folder as the /src subfolder - } - resources{ - srcDirs 'src/resources' //set the resources folder as the /resources subfolder - } + // Recommended logging level for the console + property 'forge.logging.console.level', 'debug' + } + } } -def gottschcore_path="../gottsch-minecraft-GottschCore/GottschCore${mc_version}/build/libs/GottschCore-mc${mc_version}-f${forge_version}-v${gottschcore_version}.jar" - +def gottschcore_path="../gottsch-minecraft-GottschCore/GottschCore${mc_version}/build/libs/GottschCore-mc${mc_version}-f${gottschcore_forge_version}-v${gottschcore_version}.jar" +println gottschcore_path dependencies { -compile files('../ModCommonLibs/libs/commons-cli-1.4.jar') + minecraft 'net.minecraftforge:forge:1.12.2-14.23.5.2854' + compile files('../ModCommonLibs/libs/commons-cli-1.4.jar') //compile files(gottschcore_path) shadow files(gottschcore_path) - compileOnly "vazkii.patchouli:Patchouli:${patchouli_version}" } -repositories { - maven { - name = 'Patchouli' - url = "https://maven.blamejared.com" +jar { + manifest { + attributes([ + "Specification-Title": "${archivesBaseName}", + "Specification-Vendor": "Some Guys Software", + "Specification-Version": "1", // We are version 1 of ourselves + "Implementation-Title": "${archivesBaseName}-${version}", + "Implementation-Version": "${version}", + "Implementation-Vendor" :"Some Guys Software", + "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") + ]) } - } -processResources -{ - // this will ensure that this task is redone when the versions change. - inputs.property "version", project.version - inputs.property "mcversion", project.minecraft.version - - // replace stuff in mcmod.info, nothing else - from(sourceSets.main.resources.srcDirs) { - include 'mcmod.info' - - // replace version and mcversion - expand 'version':project.version, 'mcversion':project.minecraft.version - } } shadowJar { + // with version 4.0.4+ of ShadowJar, the dependencies are required to instruct what files + // are included in the shadow + dependencies { + include(dependency(files('../ModCommonLibs/libs/commons-cli-1.4.jar'))) + } // move everything under "io.github" (which in the DelaunayTriangulator lib) to "com.someguyssoftware.dungeons2.triangulation" relocate "org.apache.commons.cli", "com.someguyssoftware.treasure2.cli" // Replace the default JAR diff --git a/gradle.properties b/gradle.properties index 7a8b259da..4f0f700de 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,15 +7,17 @@ package_group=someguyssoftware.treasure2 # user alpha, beta, or v (for version) mod_version_type=v -mod_version=1.13.1 +mod_version=1.14.0 #versions mc_version=1.12.2 -forge_version=14.23.5.2768 -mappings_version=snapshot_20171003 -gottschcore_version=1.13.1 +#forge_version=14.23.5.2768 +forge_version=14.23.5.2854 +mappings_version=20171003-1.12 +gottschcore_version=1.14.0 +gottschcore_forge_version=14.23.5.2854 patchouli_version=1.0-20.108 # paths dest_folder=E:/Minecraft/mods/1.12.2/ -dest_server_folder=F:/Minecraft Server/mods/ +dest_server_folder=F:/Minecraft Server 1.12.2/mods/ diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 30d399d8d..7a3265ee9 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5633f0c5e..949819d28 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Mon Sep 14 12:28:28 PDT 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip diff --git a/gradlew b/gradlew index 91a7e269e..cccdd3d51 100644 --- a/gradlew +++ b/gradlew @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh ############################################################################## ## @@ -6,20 +6,38 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# 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="" + # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -30,6 +48,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,31 +59,11 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# For Cygwin, ensure paths are in UNIX format before anything is touched. -if $cygwin ; then - [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` -fi - -# 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\"`/" >&- -APP_HOME="`pwd -P`" -cd "$SAVED" >&- - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -90,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +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 @@ -114,6 +113,7 @@ fi 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` @@ -154,11 +154,19 @@ if $cygwin ; then esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +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" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index aec99730b..e95643d6a 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -8,14 +8,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@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= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@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= + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,10 +46,9 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -60,11 +59,6 @@ set _SKIP=2 if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ :execute @rem Setup the command line diff --git a/models/CardboardBoxEntity.bbmodel b/models/CardboardBoxEntity.bbmodel new file mode 100644 index 000000000..d85a710a0 --- /dev/null +++ b/models/CardboardBoxEntity.bbmodel @@ -0,0 +1 @@ +{"meta":{"format_version":"3.6","creation_time":1606177658,"model_format":"modded_entity","box_uv":true},"name":"CardboardBoxEntity","geometry_name":"","modded_entity_version":"1.12","visible_box":[1,1,0],"layered_textures":true,"resolution":{"width":128,"height":128},"elements":[{"name":"cube","from":[-7,0,-7],"to":[7,14,7],"autouv":0,"color":6,"locked":false,"origin":[-7,0,-7],"faces":{"north":{"uv":[14,14,28,28],"texture":0},"east":{"uv":[0,14,14,28],"texture":0},"south":{"uv":[42,14,56,28],"texture":0},"west":{"uv":[28,14,42,28],"texture":0},"up":{"uv":[28,14,14,0],"texture":0},"down":{"uv":[42,0,28,14],"texture":0}},"uuid":"7cab9805-ecf6-ce70-6b82-3c2b0664b4fa"},{"name":"rightFlap","from":[-7,14,-7],"to":[0,15,7],"autouv":0,"color":1,"locked":false,"origin":[-7,14,0],"uv_offset":[28,29],"faces":{"north":{"uv":[42,43,49,44],"texture":0},"east":{"uv":[28,43,42,44],"texture":0},"south":{"uv":[63,43,70,44],"texture":0},"west":{"uv":[49,43,63,44],"texture":0},"up":{"uv":[49,43,42,29],"texture":0},"down":{"uv":[56,29,49,43],"texture":0}},"uuid":"d3376753-63c4-9bef-f50f-5de951b8f3fa"},{"name":"leftFlap","from":[0,14,-7],"to":[7,15,7],"autouv":0,"color":1,"locked":false,"origin":[8,14,0],"uv_offset":[0,28],"faces":{"north":{"uv":[14,42,21,43],"texture":0},"east":{"uv":[0,42,14,43],"texture":0},"south":{"uv":[35,42,42,43],"texture":0},"west":{"uv":[21,42,35,43],"texture":0},"up":{"uv":[21,42,14,28],"texture":0},"down":{"uv":[28,28,21,42],"texture":0}},"uuid":"cbcd12de-2c41-46d7-0150-c6ea084239fa"},{"name":"southFlap","from":[-7,13.999,0.9989999999999997],"to":[7,14.999,6.999],"autouv":0,"color":2,"locked":false,"origin":[0,14,7],"uv_offset":[42,7],"faces":{"north":{"uv":[48,13,62,14],"texture":0},"east":{"uv":[42,13,48,14],"texture":0},"south":{"uv":[68,13,82,14],"texture":0},"west":{"uv":[62,13,68,14],"texture":0},"up":{"uv":[62,13,48,7],"texture":0},"down":{"uv":[76,7,62,13],"texture":0}},"uuid":"3d03b67a-f700-64fc-0ea2-4786d167e0d4"},{"name":"northFlap","from":[-7,13.999000000000002,-6.999],"to":[7,14.999000000000002,-0.9990000000000006],"autouv":0,"color":2,"locked":false,"origin":[-7,14,-7],"uv_offset":[42,0],"faces":{"north":{"uv":[48,6,62,7],"texture":0},"east":{"uv":[42,6,48,7],"texture":0},"south":{"uv":[68,6,82,7],"texture":0},"west":{"uv":[62,6,68,7],"texture":0},"up":{"uv":[62,6,48,0],"texture":0},"down":{"uv":[76,0,62,6],"texture":0}},"uuid":"073f75b2-c62c-9ebe-41e4-2a500c292863"}],"outliner":["7cab9805-ecf6-ce70-6b82-3c2b0664b4fa","d3376753-63c4-9bef-f50f-5de951b8f3fa","cbcd12de-2c41-46d7-0150-c6ea084239fa","3d03b67a-f700-64fc-0ea2-4786d167e0d4","073f75b2-c62c-9ebe-41e4-2a500c292863"],"textures":[{"path":"/Users/jzmjsr/Documents/Blockbench/cardboard-box.png","name":"cardboard-box.png","folder":"Blockbench","namespace":"","id":"0","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"5b7d5a41-7c1a-f6ed-7fcf-b8af457c0d2b","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAALaklEQVR4Xu2c2ZIjVxGGT2npRT2DI3gM9uUOmyCCZ/DAjW0wBgI8MwYizOJn8AV4vECEsbENF4xnHoLAmCvA4A1eg+lFaqmkIv5T+mtS1VUt6YyyZ1KkIjrUkurkSWV+lSfzLMpC4uP9N64XRVEE/OGRZVn1PJvNQrfbja+n02l85mu2ke26g/2QT2eh1+1EOZOj4zMyP/ftF8sOao/337ga9UCfeO73d0Oe5/Gqfr8f+8Vn+INsPlNn6n16ehqv7XQ6sS3l4XNeg88+88QLjXokmvG+N0v+Mh++9aPi+bf+FPZ2u6EIJQR8ZCELWbc0ZDGdxefjYR6ee/Lr0UnSYRGOwX6Y5NPQ75XQzIajCizK/MJ3Xm7U9b3Xv1/QQbi2k+1EAPDezs5OdCoghEPhQH4GHXAN3sMzAMD/fC0Bxed8/dlv3Ui22X33doMCyV8GALz49jthNMzD3l5Per+8e+d3UjGbhdEoD/uDnXD9yiNnnE8AZATIj08Wgcqy0BYB/vbqUwWcxru3mHUXAOj1ehUAcOR4PF4AgQ5fAHgORgRYRBe0//yTLyXbbKsAwBDw8q1343canQKCfhkqsxDgdAJwfHQaBoN+fA0AcDfW767eYLAwBJweHkZZ8u/Tj/+q0fD/+t21gmGesuFk/I8IcHBwEJ8nk0kYjUZxWEA0kENTU9iX7+FagIR+PvXYLx0AOB2Gf+X2X0uo4fQiC51u6bRZPj0zBGBIAAAcn2Oz+Z1WB2B0585CeMZ1bYb/4M1nIgCAigDA2XTa3t5edccDDLzmnc3oAJ0ABtoBFvQ3HA6rYQSfAxo82oaiB/HuXkWnZJph+JdiBOD4P0+WshBm02nIsnkOUJSGw+trVx6udJJRoA7A+Oho3uZuFGiLAO+99vQCAHCqTOB4J8s8AMDAyTJBRIcEAG1OTk4iOIweAAQPzwHmLvz4Dz8pbtx8Zx7OF5PAokDGXSZ0RVFWAXgNAGh0WUGskgQifEuH7O/vR7mMKHAwHMhcoF51MNow+WMU4BgPaOBs6gV5TApxrawkIAv9I6KgT7T58vd+k3wzrXKnal2TrPRHv/9xcePmn2UAiOM8h4CAMbyDsQEQlCXa1UcfjmNpPQ/YuXRpIQfAEMAhgndr2xDwj9/+MFYBsgylw2RGTwdS7rptrDp4GTjJALAKECNADPNwej4Zhw4iwNwxZbgvwrUrj1S1uBwC+gcHYTorQrdTlmUSAN6F5wFAp8pn1vsEQ0YcGqUJGgmGbPOl7/462VbLnHA/P0/+Um0AICHM80noROcjD7jbxTPf/OqZMhAGBwCyDEQVQGfyLm7LARABpONpTA4Nsranw1kByPkDOZw0tdm28q+6CVLpK5PAv8QQf3IyCYMDJEllKJ5OJ2U0yDrh8HAcLl/eiRHg+jdKAOoziL2DQcjzWej1OpAQmpLAthk4JIFN34EAVJVGrxejC/qWlYhse16bbUv+7hmAOA9w+927E0HVjY5Zs3LalZXA8fFpGOz3w9OPfqUaq9edCm5zwD9fv9oIACsBfFE4HrkHnuUcQB2c89o4ADVrAQBMBWOS58wDLqklgcfH4/Ds41+r5tplm3oVMD0ZnhHZNhOI+Yi2KEaHEoAyOt2diGpq19amrf/UCPqgtEvOAWh4mWTxS3ExqGmGrb54hNdNZSBk8dqmzJ1lnyzdeLfLIUbKoEzojIggcwLOAWAY4PrB/0UZmLqaBkOdjvPQ6WRhVoQwzfNw8MmHQrfTCVOsBsZs/qia0YuzdTPU1ovz66uu3rG/WC10Oyv3t20zd5uOHFnqahrrak6sxImUT1xeAACLOnKxJc7GFePqzot37Iqrd6n9bWv2vikQstTVNIZTOBV/uMN3Ll+qwideAwDW1QzL40kJxbqrd6n9bevYvTEAUlfTqMC6U7DMD5iNA4xVVu9S+9vW7H1jAKSupnGmjRGAUYAhv76jRg4FKat3qf05AOejkqWupjEzr0L7fKMFF2Hqiye7u7uxBmeWzeXbVVfvUvtzAJYA8PdXf1Atp8aSbL5UyhJJLqJAlNzvJ8szhPFqXK/tooEsrMPD+byO4Gj35wAsAQBDgFwAWXVzJOpmhuV16mYJDf7X7s8BWAIAkkDOl+N51c2R9ckWhPj6PL/sGnK5CeMi+9vWVbyNJYEYAqRDpGC+zxKsnthJCLjQwpm3thk4Ro11N2NCl5T+vvjUK8mznZsy8oMsJyaBULBtT3zb5kgMAQRDOrsNAMqhMS6qPwdgyRCAdf2UzZG8IwlBjAC7OwszgVjU4V1LANDXRfbnU8ErJIEpmyO5qYJ3fCz/9nbPACBX1+LU73wWUFYXq2zGTO3Pp4KXAIBlXVkFyFW2pt2x3IyJck6G++jYwf7CVDCOeNHRXLWrVwHa/flU8BIAUhOUprOBPOMXRqPWs4FelqVaXKddcoaM3AERQO6i4bp+dzKJ4zwe3GbF1217+5Z9vQ9v/jRGqqaDo3Jyqn4Y1YFTigAAQDo/VhLzU76d+awg3qs7JBWAD/74bKxWmg6OcoPHJoFbBuS2fJ4cATgEyDGdJ3yK0bB1CEgFgBGg6eAoy9hNArctDl72PZIBkHvxqp2380Oe05PjjQ8B/771izgENB0c5UqkA7DM3Wc/TwYAawicA2AUYAQAAG0/EJE6Jv/n9nMRgKaDoygjN51zrG9Kmy2SAcDZQOYA1VzA/IceiuGw1SGpADACNJ0Z4JnApgiQ2p9Nd66vdTIAOBvYdsYPEYA7alkpcA0gdWLmo7d/1poE8ih4UxLoAFxQFcAjXti1Oz68U60tyEUc/J/qEDkEcMjhXgJEgE0Dt/69ZLNFcgSol4HyjN/pnf9GAOggmgZOSq0CMAS0HRzF0XEuLm0KOJvuXF/rZACQBLad8ZscHS4AIBeEUn9lS1YBjABcUsaveWwauPVNabNFMgCYB6hXAZwIQhJYP1XDRDE1B/j41s+LtoOj3FXEiLMJ4Gy6c32t7xkA2SWngjPxk2syCcS1qcuzSALbpoKbfs3jXoFb35Q2WyQD0HQ2kABwMajpbGDq6hyrgKaDo3B2UxJ4L8DZdOf6Wmepy8HcESQPhxKAXp4v/CBkPDY2//0djt9NBzPPW36e9cvFJawFyKEnvjf/ZdJNAre+KW22SI4AqV83FbjzAJD7ETe1/2Dbfg+wzV8XDkAqON5OxwIOgI5dzUh1AMy4SkdRB0DHrmakOgBmXKWjqAOgY1czUh0AM67SUdQB0LGrGakOgBlX6SjqAOjY1YxUB8CMq3QUdQB07GpGqgNgxlU6ijoAOnY1I9UBMOMqHUUdAB27mpHqAJhxlY6iDoCOXc1IdQDMuEpHUQdAx65mpDoAZlylo6gDoGNXM1IdADOu0lHUAdCxqxmpDoAZV+ko6gDo2NWMVAfAjKt0FHUAdOxqRqoDYMZVOoo6ADp2NSPVATDjKh1FHQAdu5qR6gCYcZWOog6Ajl3NSHUAzLhKR1EHQMeuZqQ6AGZcpaOoA6BjVzNSHQAzrtJR1AHQsasZqQ6AGVfpKOoA6NjVjFQHwIyrdBR1AHTsakaqA2DGVTqKOgA6djUj1QEw4yodRR0AHbuakeoAmHGVjqIOgI5dzUh1AMy4SkdRB0DHrmakOgBmXKWjqAOgY1czUh0AM67SUdQB0LGrGakOgBlX6SjqAOjY1YxUB8CMq3QUdQB07GpGqgNgxlU6ijoAOnY1I9UBMOMqHUUdAB27mpHqAJhxlY6iDoCOXc1IdQDMuEpHUQdAx65mpDoAZlylo6gDoGNXM1IdADOu0lHUAdCxqxmpDoAZV+ko6gDo2NWMVAfAjKt0FHUAdOxqRqoDYMZVOoo6ADp2NSPVATDjKh1FHQAdu5qR6gCYcZWOog6Ajl3NSHUAzLhKR1EHQMeuZqT+DxSKkQjj3OuwAAAAAElFTkSuQmCC"}]} \ No newline at end of file diff --git a/src/com/someguyssoftware/treasure2/client/render/tileentity/CauldronChestTileEntityRenderer.java b/src/com/someguyssoftware/treasure2/client/render/tileentity/CauldronChestTileEntityRenderer.java deleted file mode 100644 index d9a470c08..000000000 --- a/src/com/someguyssoftware/treasure2/client/render/tileentity/CauldronChestTileEntityRenderer.java +++ /dev/null @@ -1,149 +0,0 @@ -/** - * - */ -package com.someguyssoftware.treasure2.client.render.tileentity; - -import com.someguyssoftware.treasure2.client.model.CauldronChestModel; -import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; -import com.someguyssoftware.treasure2.lock.LockState; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; -import com.someguyssoftware.treasure2.tileentity.CauldronChestTileEntity; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.item.ItemStack; - -/** - * @author Mark Gottschling onJan 9, 2018 - * - */ -public class CauldronChestTileEntityRenderer extends TreasureChestTileEntityRenderer { - - /** - * - * @param texture - */ - public CauldronChestTileEntityRenderer(String texture, ITreasureChestModel model) { - super(texture, model); - } - - /** - * - * @param te - * @param x - * @param y - * @param z - * @param partialTicks - * @param destroyStage - * @param alpha - */ - @Override - public void render(AbstractTreasureChestTileEntity te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) { - - if (!(te instanceof CauldronChestTileEntity)) return; // should never happen - - // add the destory textures - if (destroyStage >= 0) { - this.bindTexture(DESTROY_STAGES[destroyStage]); - GlStateManager.matrixMode(5890); - GlStateManager.pushMatrix(); - GlStateManager.scale(4.0F, 4.0F, 1.0F); - GlStateManager.translate(0.0625F, 0.0625F, 0.0625F); - GlStateManager.matrixMode(5888); - } - - // get the model - CauldronChestModel model = (CauldronChestModel) getModel(); - - // bind the texture - this.bindTexture(getTexture()); - // get the chest rotation - int meta = 0; - if (te.hasWorld()) { - meta = te.getBlockMetadata(); - } - int rotation = getRotation(meta); - - // start render matrix - GlStateManager.pushMatrix(); - // initial position (centered moved up) - // (chest entity were created in Techne and need different translations than vanilla tile entities) - GlStateManager.translate((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); - - // This rotation part is very important! Without it, your model will render upside-down. - // (rotate 180 degrees around the z-axis) - GlStateManager.rotate(180F, 0F, 0F, 1.0F); - // rotate block to the correct direction that it is facing. - GlStateManager.rotate((float)rotation, 0.0F, 1.0F, 0.0F); - - CauldronChestTileEntity cte = (CauldronChestTileEntity) te; - float lidRotation = cte.prevLidAngle + (cte.lidAngle - cte.prevLidAngle) * partialTicks; - lidRotation = 1.0F - lidRotation; - lidRotation = 1.0F - lidRotation * lidRotation * lidRotation; - // NOTE positive rotation here (getLid() returns lidLeft property) - model.getLid().rotateAngleZ = (lidRotation * (float)Math.PI / getAngleModifier()); - - model.renderAll(te); - - GlStateManager.popMatrix(); - // end of rendering chest entity //// - - - // pop the destroy stage matrix - if (destroyStage >= 0) { - GlStateManager.matrixMode(5890); - GlStateManager.popMatrix(); - GlStateManager.matrixMode(5888); - } - - ////////////// render the locks ////////////////////////////////////// - if (!te.getLockStates().isEmpty()) { - renderLocks(te, x, y, z); - } - ////////////// end of render the locks ////////////////////////////////////// - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - } - - /** - * - * @param te - * @param x - * @param y - * @param z - */ - @Override - public void renderLocks(AbstractTreasureChestTileEntity te, double x, double y, double z) { - /* - * UP and DOWN facing locks will not get rotated like the other directions do, so get the chest's rotation - */ - int meta = 0; - if (te.hasWorld()) { - meta = te.getBlockMetadata(); - } - int rotation = getRotation(meta); - - // render locks - for (LockState lockState : te.getLockStates()) { - // Treasure.logger.debug("Render LS:" + lockState); - if (lockState.getLock() != null) { - // convert lock to an item stack - ItemStack lockStack = new ItemStack(lockState.getLock()); - - GlStateManager.pushMatrix(); - // NOTE when rotating the item to match the face of chest, must adjust the - // amount of offset to the x,z axises and not rotate() the item - // - rotate() just spins it in place, not around the axis of the block - GlStateManager.translate((float) x + lockState.getSlot().getXOffset(), (float) y + lockState.getSlot().getYOffset(), (float) z + lockState.getSlot().getZOffset()); - // rotate the locks on the x axis to lay flat - GlStateManager.rotate(90, 1.0F, 0.0F, 0.0F); // NOTE changed from Y to X axis - // rotate lock to the correct direction that the block is facing. - GlStateManager.rotate(/*(float)rotation*/lockState.getSlot().getRotation(), 0.0F, 0.0F, 1.0F); // NOTE now Z axis is the Y axis since we rotated on the X axis first. - // shrink the locks a bit - GlStateManager.scale(0.35F, 0.35F, 0.35F); - Minecraft.getMinecraft().getRenderItem().renderItem(lockStack, ItemCameraTransforms.TransformType.NONE); - GlStateManager.popMatrix(); - } - } - } -} \ No newline at end of file diff --git a/src/com/someguyssoftware/treasure2/client/render/tileentity/CompressorChestTileEntityRenderer.java b/src/com/someguyssoftware/treasure2/client/render/tileentity/CompressorChestTileEntityRenderer.java deleted file mode 100644 index 46131b164..000000000 --- a/src/com/someguyssoftware/treasure2/client/render/tileentity/CompressorChestTileEntityRenderer.java +++ /dev/null @@ -1,153 +0,0 @@ -/** - * - */ -package com.someguyssoftware.treasure2.client.render.tileentity; - -import com.someguyssoftware.treasure2.Treasure; -import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; -import com.someguyssoftware.treasure2.lock.LockState; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; - -/** - * - * @author Mark Gottschling on Mar 23, 2018 - * - */ -public class CompressorChestTileEntityRenderer extends TreasureChestTileEntityRenderer { - - /** - * - * @param texture - */ - public CompressorChestTileEntityRenderer(String texture, ITreasureChestModel model) { - super(texture, model); - } - - /** - * - * @param te - * @param x - * @param y - * @param z - * @param partialTicks - * @param destroyStage - * @param alpha - */ - public void render(AbstractTreasureChestTileEntity te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) { - - if (!(te instanceof AbstractTreasureChestTileEntity)) return; // should never happen - - // add the destory textures - if (destroyStage >= 0) { - this.bindTexture(DESTROY_STAGES[destroyStage]); - GlStateManager.matrixMode(5890); - GlStateManager.pushMatrix(); - GlStateManager.scale(4.0F, 4.0F, 1.0F); - GlStateManager.translate(0.0625F, 0.0625F, 0.0625F); - GlStateManager.matrixMode(5888); - } - - // get the model - ITreasureChestModel model = getModel(); - // bind the texture - this.bindTexture(getTexture()); - // get the chest rotation - int meta = 0; - if (te.hasWorld()) { - meta = te.getBlockMetadata(); - } - int rotation = getRotation(meta); - - // start render matrix - GlStateManager.pushMatrix(); - // initial position (centered moved up) - // (chest entity were created in Techne and need different translations than vanilla tile entities) - GlStateManager.translate((float)x + 0.5F, (float)y + 0.75F, (float)z + 0.5F); - - // This rotation part is very important! Without it, your model will render upside-down. - // (rotate 180 degrees around the z-axis) - GlStateManager.rotate(180F, 0F, 0F, 1.0F); - // rotate block to the correct direction that it is facing. - GlStateManager.rotate((float)rotation, 0.0F, 1.0F, 0.0F); - // shrink the size of the chest by half - GlStateManager.scale(0.5F, 0.5F, 0.5F); - - float lidRotation = te.prevLidAngle + (te.lidAngle - te.prevLidAngle) * partialTicks; - lidRotation = 1.0F - lidRotation; - lidRotation = 1.0F - lidRotation * lidRotation * lidRotation; - model.getLid().rotateAngleX = -(lidRotation * (float)Math.PI / 2.0F); - - model.renderAll(te); - - GlStateManager.popMatrix(); - // end of rendering chest entity //// - - - // pop the destroy stage matrix - if (destroyStage >= 0) { - GlStateManager.matrixMode(5890); - GlStateManager.popMatrix(); - GlStateManager.matrixMode(5888); - } - - ////////////// render the locks ////////////////////////////////////// - if (te.getLockStates() != null && !te.getLockStates().isEmpty()) { - renderLocks(te, x, y, z); - } - ////////////// end of render the locks ////////////////////////////////////// - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); - } - - /** - * - * @param meta - * @return - */ - public int getRotation(int meta) { - switch(meta) { - case NORTH: return 0; - case SOUTH: return 180; - case WEST: return -90; - case EAST: return 90; - } - return 0; - } - - /** - * - * @param te - * @param x - * @param y - * @param z - */ - public void renderLocks(AbstractTreasureChestTileEntity te, double x, double y, double z) { -// Treasure.logger.debug("====================================================================="); - // render locks - for (LockState lockState : te.getLockStates()) { -// Treasure.logger.debug("Render LS:" + lockState); - if (lockState.getLock() != null) { - // convert lock to an item stack - ItemStack lockStack = new ItemStack(lockState.getLock()); - - GlStateManager.pushMatrix(); - // NOTE when rotating the item to match the face of chest, must adjust the amount of offset to the x,z axises and - // not rotate() the item - rotate() just spins it in place, not around the axis of the block - GlStateManager.translate( - (float)x + lockState.getSlot().getXOffset(), - (float)y + lockState.getSlot().getYOffset(), - (float)z + lockState.getSlot().getZOffset()); - GlStateManager.rotate(lockState.getSlot().getRotation(), 0F, 1.0F, 0.0F); - GlStateManager.scale(0.20F, 0.20F, 0.20F); - Minecraft.getMinecraft().getRenderItem().renderItem(lockStack, ItemCameraTransforms.TransformType.NONE); - GlStateManager.popMatrix(); - } - } - } -} diff --git a/src/com/someguyssoftware/treasure2/client/render/tileentity/SkullChestTileEntityRenderer.java b/src/com/someguyssoftware/treasure2/client/render/tileentity/SkullChestTileEntityRenderer.java deleted file mode 100644 index 0ab667973..000000000 --- a/src/com/someguyssoftware/treasure2/client/render/tileentity/SkullChestTileEntityRenderer.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - * - */ -package com.someguyssoftware.treasure2.client.render.tileentity; - -import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; -import com.someguyssoftware.treasure2.lock.LockState; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.item.ItemStack; - -/** - * @author Mark Gottschling onJan 9, 2018 - * - */ -public class SkullChestTileEntityRenderer extends TreasureChestTileEntityRenderer { - - /** - * - * @param texture - */ - public SkullChestTileEntityRenderer(String texture, ITreasureChestModel model) { - super(texture, model); - } - - /** - * Set the max swing angle of 60 degrees - */ - @Override - public float getAngleModifier() { - return 3.0F; - } - - // TODO this is exactly the same as Strongbox - /** - * - * @param te - * @param x - * @param y - * @param z - */ - public void renderLocks(AbstractTreasureChestTileEntity te, double x, double y, double z) { - // render locks - for (LockState lockState : te.getLockStates()) { - if (lockState.getLock() != null) { - // convert lock to an item stack - ItemStack lockStack = new ItemStack(lockState.getLock()); - - GlStateManager.pushMatrix(); - // NOTE when rotating the item to match the face of chest, must adjust the amount of offset to the x,z axises and - // not rotate() the item - rotate() just spins it in place, not around the axis of the block - GlStateManager.translate( - (float)x + lockState.getSlot().getXOffset(), - (float)y + lockState.getSlot().getYOffset(), - (float)z + lockState.getSlot().getZOffset()); - GlStateManager.rotate(lockState.getSlot().getRotation(), 0F, 1.0F, 0.0F); - GlStateManager.scale(0.25F, 0.25F, 0.25F); - Minecraft.getMinecraft().getRenderItem().renderItem(lockStack, ItemCameraTransforms.TransformType.NONE); - GlStateManager.popMatrix(); - } - } - } -} diff --git a/src/com/someguyssoftware/treasure2/client/render/tileentity/StrongboxTileEntityRenderer.java b/src/com/someguyssoftware/treasure2/client/render/tileentity/StrongboxTileEntityRenderer.java deleted file mode 100644 index 538da25ae..000000000 --- a/src/com/someguyssoftware/treasure2/client/render/tileentity/StrongboxTileEntityRenderer.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * - */ -package com.someguyssoftware.treasure2.client.render.tileentity; - -import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; -import com.someguyssoftware.treasure2.lock.LockState; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.item.ItemStack; - -/** - * @author Mark Gottschling onJan 9, 2018 - * - */ -public class StrongboxTileEntityRenderer extends TreasureChestTileEntityRenderer { - - /** - * - * @param texture - */ - public StrongboxTileEntityRenderer(String texture, ITreasureChestModel model) { - super(texture, model); - } - - /** - * - * @param te - * @param x - * @param y - * @param z - */ - public void renderLocks(AbstractTreasureChestTileEntity te, double x, double y, double z) { - // render locks - for (LockState lockState : te.getLockStates()) { - if (lockState.getLock() != null) { - // convert lock to an item stack - ItemStack lockStack = new ItemStack(lockState.getLock()); - - GlStateManager.pushMatrix(); - // NOTE when rotating the item to match the face of chest, must adjust the amount of offset to the x,z axises and - // not rotate() the item - rotate() just spins it in place, not around the axis of the block - GlStateManager.translate( - (float)x + lockState.getSlot().getXOffset(), - (float)y + lockState.getSlot().getYOffset(), - (float)z + lockState.getSlot().getZOffset()); - GlStateManager.rotate(lockState.getSlot().getRotation(), 0F, 1.0F, 0.0F); - GlStateManager.scale(0.25F, 0.25F, 0.25F); - Minecraft.getMinecraft().getRenderItem().renderItem(lockStack, ItemCameraTransforms.TransformType.NONE); - GlStateManager.popMatrix(); - } - } - } -} diff --git a/src/com/someguyssoftware/treasure2/command/SpawnChestCommand.java b/src/com/someguyssoftware/treasure2/command/SpawnChestCommand.java deleted file mode 100644 index 279bfbb4a..000000000 --- a/src/com/someguyssoftware/treasure2/command/SpawnChestCommand.java +++ /dev/null @@ -1,194 +0,0 @@ -/** - * - */ -package com.someguyssoftware.treasure2.command; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Random; - -import javax.annotation.Nullable; - -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.CommandLineParser; -import org.apache.commons.cli.DefaultParser; -import org.apache.commons.cli.Options; - -import com.someguyssoftware.gottschcore.loot.LootTable; -import com.someguyssoftware.treasure2.Treasure; -import com.someguyssoftware.treasure2.block.AbstractChestBlock; -import com.someguyssoftware.treasure2.enums.Rarity; -import com.someguyssoftware.treasure2.enums.WorldGeneratorType; -import com.someguyssoftware.treasure2.generator.chest.IChestGenerator; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; -import com.someguyssoftware.treasure2.worldgen.SurfaceChestWorldGenerator; - -import net.minecraft.command.CommandBase; -import net.minecraft.command.ICommandSender; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -/** - * - * @author Mark Gottschling on Feb 10, 2017 - * - */ -public class SpawnChestCommand extends CommandBase { - private static final String RARITY_ARG = "rarity"; - - @Override - public String getName() { - return "t2-chest"; - } - - @Override - public String getUsage(ICommandSender var1) { - return "/t2-chest [-rarity ]: generates a Treasure! chest at location (x,y,z)"; - } - - /** - * Return the required permission level for this command. - */ - @Override - public int getRequiredPermissionLevel() { - return 2; - } - - /** - * Return the x, y, or z position for the whoever issued the command. - * coordinateValue should be 'x', 'y', or 'z'. - */ - private int getOriginValue (ICommandSender commandSender, char coordName) { - switch(coordName) { - case 'z': return commandSender.getPosition().getZ(); - case 'y': return commandSender.getPosition().getY(); - default: return commandSender.getPosition().getX(); - } - } - - /** - * Return the x, y, or z position based on the string entered. - * designed to detect relative positioning using ~. - * coordinateValue should be 'x', 'y', or 'z'. - */ - private int getPositionValue (String coordStr, ICommandSender commandSender, char coordName) { - int value = 0; - int origin = 0; - - // just ~ notation - if (coordStr.equals("~")) { - origin = getOriginValue (commandSender, coordName); - } - - // ~ plus number notation - else if (coordStr.charAt(0) == '~') { - try { - value = Integer.parseInt(coordStr.substring(1)); - } - catch (Exception e) { - Treasure.logger.error("Error with " + coordName + " coordinate: ", e); - value = 0; - } - origin = getOriginValue (commandSender, coordName); - } - // just number notation - else { - try { - value = Integer.parseInt(coordStr); - } - catch (Exception e) { - Treasure.logger.error("Error with " + coordName + " coordinate: ", e); - value = 0; - } - } - return value + origin; - } - - @Override - public void execute(MinecraftServer server, ICommandSender commandSender, String[] args) { - Treasure.logger.debug("Starting to spawn Treasure! chest ..."); - try { - - int x, y, z = 0; - x = getPositionValue(args[0], commandSender, 'x'); - y = getPositionValue(args[1], commandSender, 'y'); - z = getPositionValue(args[2], commandSender, 'z'); - - String[] parserArgs = (String[]) Arrays.copyOfRange(args, 3, args.length); - - // create the parser - CommandLineParser parser = new DefaultParser(); - - // create Options object - Options options = new Options(); - options.addOption(RARITY_ARG, true, ""); - - // parse the command line arguments - CommandLine line = parser.parse(options, parserArgs); - - // get the rarity enum - Rarity rarity = Rarity.COMMON; - if (line.hasOption(RARITY_ARG)) { - String rarityArg = line.getOptionValue(RARITY_ARG); - rarity = Rarity.valueOf(rarityArg.toUpperCase()); - } - Treasure.logger.debug("Rarity:" + rarity + "; " + rarity.ordinal()); - - // if (player != null) { - World world = commandSender.getEntityWorld(); - Random random = new Random(); - - // get the chest world generator - SurfaceChestWorldGenerator chestGens = (SurfaceChestWorldGenerator) Treasure.WORLD_GENERATORS - .get(WorldGeneratorType.SURFACE_CHEST); - // get the rarity chest generator - IChestGenerator gen = chestGens.getChestGenMap().get(rarity).next(); - BlockPos pos = new BlockPos(x, y, z); - - AbstractChestBlock chest = gen.selectChest(random, rarity); - - world.setBlockState(pos, chest.getDefaultState()); - AbstractTreasureChestTileEntity tileEntity = (AbstractTreasureChestTileEntity) world.getTileEntity(pos); - - if (tileEntity != null) { - - // get the loot table - LootTable lootTable = gen.selectLootTable(Random::new, rarity); - - if (lootTable == null) { - Treasure.logger.warn("Unable to select a lootTable for rarity -> {}", rarity); - } - - Treasure.logger.debug("Generating loot from loot table for rarity {}", rarity); - List stacks = lootTable.generateLootFromPools(new Random(), - Treasure.LOOT_TABLES.getContext()); - Treasure.logger.debug("Generated loot:"); - for (ItemStack stack : stacks) { - Treasure.logger.debug(stack.getDisplayName()); - } - - lootTable.fillInventory((IInventory) tileEntity, new Random(), Treasure.LOOT_TABLES.getContext()); - } - } catch (Exception e) { - Treasure.logger.error("Error generating Treasure! chest: ", e); - } - } - - /** - * Get a list of options for when the user presses the TAB key - */ - @Override - public List getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, - @Nullable BlockPos targetPos) { - if (args.length > 3) { - if (args[args.length - 2].equals("-" + RARITY_ARG)) { - return getListOfStringsMatchingLastWord(args, Rarity.getNames()); - } - } - return Collections.emptyList(); - } -} diff --git a/src/com/someguyssoftware/treasure2/generator/chest/IChestGenerator.java b/src/com/someguyssoftware/treasure2/generator/chest/IChestGenerator.java deleted file mode 100644 index 1eae8a679..000000000 --- a/src/com/someguyssoftware/treasure2/generator/chest/IChestGenerator.java +++ /dev/null @@ -1,349 +0,0 @@ -/** - * - */ -package com.someguyssoftware.treasure2.generator.chest; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import java.util.function.Supplier; - -import com.someguyssoftware.gottschcore.loot.LootTable; -import com.someguyssoftware.gottschcore.positional.ICoords; -import com.someguyssoftware.gottschcore.random.RandomHelper; -import com.someguyssoftware.gottschcore.world.gen.structure.BlockContext; - -import static com.someguyssoftware.treasure2.Treasure.logger; - -import com.someguyssoftware.treasure2.Treasure; -import com.someguyssoftware.treasure2.block.AbstractChestBlock; -import com.someguyssoftware.treasure2.block.IMimicBlock; -import com.someguyssoftware.treasure2.block.TreasureBlocks; -import com.someguyssoftware.treasure2.chest.TreasureChestType; -import com.someguyssoftware.treasure2.config.IChestConfig; -import com.someguyssoftware.treasure2.config.TreasureConfig; -import com.someguyssoftware.treasure2.enums.Rarity; -import com.someguyssoftware.treasure2.generator.ChestGeneratorData; -import com.someguyssoftware.treasure2.generator.GenUtil; -import com.someguyssoftware.treasure2.generator.GeneratorResult; -import com.someguyssoftware.treasure2.generator.marker.GravestoneMarkerGenerator; -import com.someguyssoftware.treasure2.generator.marker.StructureMarkerGenerator; -import com.someguyssoftware.treasure2.item.LockItem; -import com.someguyssoftware.treasure2.item.TreasureItems; -import com.someguyssoftware.treasure2.lock.LockState; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; - -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.inventory.IInventory; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -/** - * @author Mark Gottschling on Dec 4, 2019 - * - */ -public interface IChestGenerator { - - default public GeneratorResult generate(final World world, final Random random, ICoords coords, - final Rarity rarity, IBlockState state) { - GeneratorResult result = new GeneratorResult<>(ChestGeneratorData.class); - result.getData().setSpawnCoords(coords); - // select a loot table - // LootTable lootTable = selectLootTable(random, rarity); - // if (lootTable == null) { - // logger.warn("Unable to select a lootTable."); - // return result.fail(); - // } - - // select a chest from the rarity - AbstractChestBlock chest = selectChest(random, rarity); - if (chest == null) { - logger.warn("Unable to select a chest for rarity {}.", rarity); - return result.fail(); - } - - // place the chest in the world - TileEntity tileEntity = null; - if (state != null) { - tileEntity = placeInWorld(world, random, coords, chest, state); - } else { - tileEntity = placeInWorld(world, random, chest, coords); - } - - if (tileEntity == null) { - logger.debug("Unable to locate tile entity for chest -> {}", coords); - return result.fail(); - } - - // seal the chest - addSeal((AbstractTreasureChestTileEntity) tileEntity); - - // update the backing tile entity's generation contxt - addGenerationContext((AbstractTreasureChestTileEntity) tileEntity, rarity); - - // if (!(chest instanceof IMimicBlock)) { - // logger.debug("Generating loot from loot table for rarity {}", rarity); - // lootTable.fillInventory((IInventory) te, random, Treasure.LOOT_TABLES.getContext()); - // } - - // add locks - addLocks(random, chest, (AbstractTreasureChestTileEntity) tileEntity, rarity); - - // update result - result.getData().setChestContext(new BlockContext(coords, state)); - - return result.success(); - } - - /** - * - * @param rarity - * @return - */ - default public List buildLootTableList(Rarity rarity) { - return Treasure.LOOT_TABLES.getLootTableByRarity(rarity); - } - - /** - * - * @param rarity - * @return - */ - default public AbstractChestBlock selectChest(final Random random, final Rarity rarity) { - List chestList = (List) TreasureBlocks.chests.get(rarity); - AbstractChestBlock chest = (AbstractChestBlock) chestList - .get(RandomHelper.randomInt(random, 0, chestList.size() - 1)); - - // TODO should have a map of available mimics mapped by chest. for now, since - // only one mimic, just test for it determine if should be mimic get the config - IChestConfig config = TreasureConfig.CHESTS.surfaceChests.configMap.get(rarity); - if (chest == TreasureBlocks.WOOD_CHEST) { - if (RandomHelper.checkProbability(random, config.getMimicProbability())) { - chest = (AbstractChestBlock) TreasureBlocks.WOOD_MIMIC; - logger.debug("Selecting a WOOD MIMIC chest!"); - } - } else if (chest == TreasureBlocks.PIRATE_CHEST) { - if (RandomHelper.checkProbability(random, config.getMimicProbability())) { - chest = (AbstractChestBlock) TreasureBlocks.PIRATE_MIMIC; - logger.debug("Selecting a PIRATE MIMIC chest!"); - } - } - return chest; - } - - /** - * - * @param random - * @param rarity - * @return - */ - @Deprecated - default public LootTable selectLootTable(Random random, final Rarity rarity) { - LootTable table = null; - - // select the loot table by rarity - List tables = buildLootTableList(rarity); - - // select a random table from the list - if (tables != null && !tables.isEmpty()) { - int index = 0; - if (tables.size() == 1) { - table = tables.get(0); - } else { - index = RandomHelper.randomInt(random, 0, tables.size() - 1); - table = tables.get(index); - } - logger.debug("Selected loot table index --> {}", index); - } - return table; - } - - /** - * - * @param tileEntity - * @param rarity - */ - public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rarity rarity); - - /** - * - * @param factory - * @param rarity - * @return - */ - default public LootTable selectLootTable(Supplier factory, final Rarity rarity) { - LootTable table = null; - - // select the loot table by rarity - List tables = buildLootTableList(rarity); - - // select a random table from the list - if (tables != null && !tables.isEmpty()) { - int index = 0; - if (tables.size() == 1) { - table = tables.get(0); - } else { - index = RandomHelper.randomInt(factory.get(), 0, tables.size() - 1); - table = tables.get(index); - } - logger.debug("Selected loot table index --> {}", index); - } - return table; - } - - /** - * - * @param tileEntity - */ - default public void addSeal(AbstractTreasureChestTileEntity tileEntity) { - tileEntity.setSealed(true); - } - - /** - * Default implementation. Select locks only from with the same Rarity. - * - * @param chest - */ - default public void addLocks(Random random, AbstractChestBlock chest, AbstractTreasureChestTileEntity chestTileEntity, - Rarity rarity) { - List locks = new ArrayList<>(); - locks.addAll(TreasureItems.locks.get(rarity)); - addLocks(random, chest, chestTileEntity, locks); - locks.clear(); - } - - /** - * - * @param random - * @param chest - * @param te - * @param locks - */ - default public void addLocks(Random random, AbstractChestBlock chest, AbstractTreasureChestTileEntity chestTileEntity, - List locks) { - int numLocks = randomizedNumberOfLocksByChestType(random, chest.getChestType()); - - // get the lock states - List lockStates = chestTileEntity.getLockStates(); - - for (int i = 0; i < numLocks; i++) { - LockItem lock = locks.get(RandomHelper.randomInt(random, 0, locks.size() - 1)); - logger.debug("adding lock: {}", lock); - // add the lock to the chest - lockStates.get(i).setLock(lock); - } - } - - /** - * - * @param random - * @param type - * @return - */ - default public int randomizedNumberOfLocksByChestType(Random random, TreasureChestType type) { - // determine the number of locks to add - int numLocks = RandomHelper.randomInt(random, 0, type.getMaxLocks()); - logger.debug("# of locks to use: {})", numLocks); - return numLocks; - } - - /** - * Wrapper method so that is can be overridden (as used in the Template Pattern) - * - * @param world - * @param random - * @param coods - */ - default public void addMarkers(World world, Random random, ICoords coords, final boolean isSurfaceChest) { -// boolean isChestOnSurface = false; - // don't place if the block underneath is of GenericBlock ChestConfig or - // Container -// Block block = world.getBlockState(coords/*.add(0, -1, 0)*/.toPos()).getBlock(); -// if(block instanceof BlockContainer || block instanceof AbstractModContainerBlock || block instanceof ITreasureBlock) { -// isChestOnSurface = true; -// } - // GenUtil.placeMarkers(world, random, coords); - if (!isSurfaceChest && TreasureConfig.WORLD_GEN.getMarkerProperties().isMarkerStructuresAllowed && RandomHelper - .checkProbability(random, TreasureConfig.WORLD_GEN.getMarkerProperties().markerStructureProbability)) { - logger.debug("generating a random structure marker -> {}", coords.toShortString()); - new StructureMarkerGenerator().generate(world, random, coords); - } else { - new GravestoneMarkerGenerator().generate(world, random, coords); - } - } - - /** - * - * @param world - * @param random - * @param chest - * @param chestCoords - * @return - */ - default public TileEntity placeInWorld(World world, Random random, AbstractChestBlock chest, ICoords chestCoords) { - // replace block @ coords - boolean isPlaced = GenUtil.replaceBlockWithChest(world, random, chest, chestCoords); - - // get the backing tile entity of the chest - TileEntity tileEntity = (TileEntity) world.getTileEntity(chestCoords.toPos()); - - // check to ensure the chest has been generated - if (!isPlaced || !(world.getBlockState(chestCoords.toPos()).getBlock() instanceof AbstractChestBlock)) { - logger.debug("Unable to place chest @ {}", chestCoords.toShortString()); - // remove the title entity (if exists) - - if (tileEntity != null && (tileEntity instanceof AbstractTreasureChestTileEntity)) { - world.removeTileEntity(chestCoords.toPos()); - } - return null; - } - - // if tile entity failed to create, remove the chest - if (tileEntity == null || !(tileEntity instanceof AbstractTreasureChestTileEntity)) { - // remove chest - world.setBlockToAir(chestCoords.toPos()); - logger.debug("Unable to create TileEntityChest, removing BlockChest"); - return null; - } - return tileEntity; - } - - /** - * - * @param world - * @param random - * @param chestCoords - * @param chest - * @param state - * @return - */ - default public TileEntity placeInWorld(World world, Random random, ICoords chestCoords, AbstractChestBlock chest, - IBlockState state) { - // replace block @ coords - boolean isPlaced = GenUtil.replaceBlockWithChest(world, random, chestCoords, chest, state); - logger.debug("isPlaced -> {}", isPlaced); - // get the backing tile entity of the chest - TileEntity tileEntity = (TileEntity) world.getTileEntity(chestCoords.toPos()); - - // check to ensure the chest has been generated - if (!isPlaced || !(world.getBlockState(chestCoords.toPos()).getBlock() instanceof AbstractChestBlock)) { - logger.debug("Unable to place chest @ {}", chestCoords.toShortString()); - // remove the title entity (if exists) - - if (tileEntity != null && (tileEntity instanceof AbstractTreasureChestTileEntity)) { - world.removeTileEntity(chestCoords.toPos()); - } - return null; - } - - // if tile entity failed to create, remove the chest - if (tileEntity == null || !(tileEntity instanceof AbstractTreasureChestTileEntity)) { - // remove chest - world.setBlockToAir(chestCoords.toPos()); - logger.debug("Unable to create TileEntityChest, removing BlockChest"); - return null; - } - return tileEntity; - } -} diff --git a/src/com/someguyssoftware/treasure2/item/PearlItem.java b/src/com/someguyssoftware/treasure2/item/PearlItem.java deleted file mode 100644 index eefa69b14..000000000 --- a/src/com/someguyssoftware/treasure2/item/PearlItem.java +++ /dev/null @@ -1,159 +0,0 @@ -/** - * - */ -package com.someguyssoftware.treasure2.item; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import com.someguyssoftware.gottschcore.cube.Cube; -import com.someguyssoftware.gottschcore.item.ModItem; -import com.someguyssoftware.gottschcore.loot.LootTable; -import com.someguyssoftware.gottschcore.positional.Coords; -import com.someguyssoftware.gottschcore.positional.ICoords; -import com.someguyssoftware.gottschcore.random.RandomHelper; -import com.someguyssoftware.gottschcore.world.WorldInfo; -import com.someguyssoftware.treasure2.Treasure; -import com.someguyssoftware.treasure2.block.IWishingWellBlock; -import com.someguyssoftware.treasure2.enums.Pearls; -import com.someguyssoftware.treasure2.item.wish.IWishable; -import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster.SpecialLootTables; - -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.inventory.InventoryHelper; -import net.minecraft.item.ItemStack; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.util.text.translation.I18n; -import net.minecraft.world.World; - -/** - * - * @author Mark Gottschling on Aug 18, 2019 - * - */ -public class PearlItem extends ModItem implements IWishable, IPouchable { - - public static final int MAX_STACK_SIZE = 8; - private Pearls pearl; - - /** - * - */ - public PearlItem (String modID, String name) { - super(); - this.setItemName(modID, name); - this.setMaxStackSize(MAX_STACK_SIZE); - this.setCreativeTab(Treasure.TREASURE_TAB); - this.pearl = Pearls.WHITE; - } - - /** - * - * @param pearl - */ - public PearlItem(String modID, String name, Pearls pearl) { - this(modID, name); - this.setPearl(pearl); - } - - /** - * - */ - @SuppressWarnings("deprecation") - @Override - public void addInformation(ItemStack stack, World worldIn, List tooltip, ITooltipFlag flagIn) { - super.addInformation(stack, worldIn, tooltip, flagIn); - tooltip.add(TextFormatting.GOLD + I18n.translateToLocal("tooltip.label.coin")); - } - - /** - * - */ - @Override - public boolean onEntityItemUpdate(EntityItem entityItem) { - World world = entityItem.getEntityWorld(); - if (WorldInfo.isClientSide(world)) { - return super.onEntityItemUpdate(entityItem); - } - - // get the position - ICoords coords = new Coords(entityItem.getPosition()); - Cube cube = new Cube(world, coords); - int numWishingWellBlocks = 0; - // check if in water - if (cube.equalsBlock(Blocks.WATER)) { - // check if the water block is adjacent to 2 wishing well blocks - ICoords checkCoords = coords.add(-1, 0, -1); - for (int z = 0; z < 3; z++) { - for (int x = 0; x < 3; x++) { - Cube checkCube = new Cube(world, checkCoords); -// if (checkCube.equalsBlock(TreasureBlocks.WISHING_WELL_BLOCK)) { - if (checkCube.toBlock() instanceof IWishingWellBlock) { - numWishingWellBlocks++; - } - if (numWishingWellBlocks >= 2) { - break; - } - } - } - - List lootTables = new ArrayList<>(); - if (numWishingWellBlocks >=2) { - Random random = new Random(); - - // determine pearl type - if (getPearl() == Pearls.WHITE) { - lootTables.add(Treasure.LOOT_TABLES.getSpecialLootTable(SpecialLootTables.WHITE_PEARL_WELL)); - } - else if (getPearl() == Pearls.BLACK) { - lootTables.add(Treasure.LOOT_TABLES.getSpecialLootTable(SpecialLootTables.BLACK_PEARL_WELL)); - } - - ItemStack stack = null; - // handle if loot tables is null or size = 0. return an item (apple) to ensure continuing functionality - if (lootTables == null || lootTables.size() == 0) { - stack = new ItemStack(Items.DIAMOND); - } - else { - // select a table - LootTable table = lootTables.get(RandomHelper.randomInt(random, 0, lootTables.size()-1)); - - // generate a list of itemStacks from the table pools - List list =table.generateLootFromPools(random, Treasure.LOOT_TABLES.getContext()); - - // select one item randomly - stack = list.get(random.nextInt(list.size())); - } - - // spawn the item - if (stack != null) { - InventoryHelper.spawnItemStack(world, (double)coords.getX(), (double)coords.getY()+1, (double)coords.getZ(), stack); - } - - // remove the item entity - entityItem.setDead(); - return true; - } - } - - return super.onEntityItemUpdate(entityItem); - } - - /** - * @return the pearl - */ - public Pearls getPearl() { - return pearl; - } - /** - * @param pearl the pearl to set - */ - public PearlItem setPearl(Pearls pearl) { - this.pearl = pearl; - return this; - } -} diff --git a/src/com/someguyssoftware/treasure2/item/wish/IWishable.java b/src/com/someguyssoftware/treasure2/item/wish/IWishable.java deleted file mode 100644 index 8d84dcf98..000000000 --- a/src/com/someguyssoftware/treasure2/item/wish/IWishable.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * - */ -package com.someguyssoftware.treasure2.item.wish; - -import java.util.List; -import java.util.Optional; - -import com.someguyssoftware.gottschcore.positional.ICoords; -import com.someguyssoftware.treasure2.wish.IWishProvider; -import com.someguyssoftware.treasure2.wish.IWishProviderFunction; - -import net.minecraft.world.World; - -/** - * @author Mark Gottschling on Apr 24, 2020 - * - */ -public interface IWishable { - - /** - * - * @param world - * @param coords - * @param wishProviders - * @return - */ - default public Optional getWishProvider(World world, ICoords coords, List wishProviders) { - for(IWishProvider provider : wishProviders) { - if (provider.isValidAt(world, coords)) { - return Optional.of(provider); - } - } - return Optional.empty(); - } - - /** - * - * @param world - * @param coords - * @param wishProviders - * @param function - * @return - */ - default public Optional getWishProvider(World world, ICoords coords, List wishProviders, IWishProviderFunction function) { - return Optional.ofNullable(function.getProvider(world, coords, wishProviders)); - } -} diff --git a/src/com/someguyssoftware/treasure2/loot/TreasureLootTableMaster.java b/src/com/someguyssoftware/treasure2/loot/TreasureLootTableMaster.java deleted file mode 100644 index 8d582df3d..000000000 --- a/src/com/someguyssoftware/treasure2/loot/TreasureLootTableMaster.java +++ /dev/null @@ -1,248 +0,0 @@ -/** - * - */ -package com.someguyssoftware.treasure2.loot; - -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import com.google.common.collect.HashBasedTable; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Table; -import com.google.common.io.Files; -import com.someguyssoftware.gottschcore.loot.LootTable; -import com.someguyssoftware.gottschcore.loot.LootTableManager; -import com.someguyssoftware.gottschcore.loot.LootTableMaster; -import com.someguyssoftware.gottschcore.mod.IMod; -import com.someguyssoftware.treasure2.Treasure; -import com.someguyssoftware.treasure2.config.TreasureConfig; -import com.someguyssoftware.treasure2.enums.Rarity; - -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.common.Loader; - -/** - * @author Mark Gottschling on Jul 4, 2019 - * - */ -public class TreasureLootTableMaster extends LootTableMaster { - private static final String CUSTOM_LOOT_TABLES_RESOURCE_PATH = "/loot_tables/"; - private static final String CUSTOM_LOOT_TABLES_PATH = "loot_tables"; - - public static final String CUSTOM_LOOT_TABLE_KEY = "CUSTOM"; - - /* - * - */ - private final Map SPECIAL_LOOT_TABLES_MAP = new HashMap<>(); - - /* - * Guava Table of LootTable ResourceLocations based on LootTableManager-key and Rarity - */ - private final Table> CHEST_LOOT_TABLES_RESOURCE_LOCATION_TABLE = HashBasedTable.create(); - - /* - * Guava Table of LootTables based on LootTableManager-key and Rarity - */ - private final Table> CHEST_LOOT_TABLES_TABLE = HashBasedTable.create(); - - /* - * list of special loot table locations - */ - private static final List SPECIAL_CHEST_LOOT_TABLE_FOLDER_LOCATIONS = ImmutableList.of( - "chests/special" - ); - - /* - * relative location of chest loot tables - in resource path or file system - */ - private static final List CHEST_LOOT_TABLE_FOLDER_LOCATIONS = ImmutableList.of( - "chests/common", - "chests/uncommon", - "chests/scarce", - "chests/rare", - "chests/epic" - ); - - /* - * relative location of other loot tables - in resource path or file system - */ - private static final List NON_CHEST_LOOT_TABLE_FOLDER_LOCATIONS = ImmutableList.of( - "treasure", - "armor", - "food", - "items", - "potions", - "tools" - ); - - /** - * @param mod - * @param resourcePath - * @param folderName - */ - public TreasureLootTableMaster(IMod mod, String resourcePath, String folderName) { - super(mod, resourcePath, folderName); - - if (TreasureConfig.MOD.enableDefaultLootTablesCheck) { - buildAndExpose(Treasure.MODID); - for (String foreignModID : TreasureConfig.FOREIGN_MODS.enableForeignModIDs) { - if (Loader.isModLoaded(foreignModID)) { - buildAndExpose(foreignModID); - } - } - } - - // initialize the maps - for (Rarity r : Rarity.values()) { - CHEST_LOOT_TABLES_RESOURCE_LOCATION_TABLE.put(CUSTOM_LOOT_TABLE_KEY, r, new ArrayList()); - CHEST_LOOT_TABLES_TABLE.put(CUSTOM_LOOT_TABLE_KEY, r, new ArrayList()); - } - } - - /** - * - */ - public void clear() { - super.getLootTablesMap().clear(); - super.getLootTablesResourceLocationMap().clear(); - CHEST_LOOT_TABLES_TABLE.clear(); - CHEST_LOOT_TABLES_RESOURCE_LOCATION_TABLE.clear(); - SPECIAL_LOOT_TABLES_MAP.clear(); - } - - /** - * - * @param modID - */ - private void buildAndExpose(String modID) { - buildAndExpose(CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, CHEST_LOOT_TABLE_FOLDER_LOCATIONS); - buildAndExpose(CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, NON_CHEST_LOOT_TABLE_FOLDER_LOCATIONS); - buildAndExpose(CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, SPECIAL_CHEST_LOOT_TABLE_FOLDER_LOCATIONS); - } - - /** - * Call in WorldEvent.Load event handler. - * Overide this method if you have a different cache mechanism. - * @param modIDIn - * @param location - */ - public void register(String modID) { - /* - * register special loot tables - */ - for (String location : SPECIAL_CHEST_LOOT_TABLE_FOLDER_LOCATIONS) { - List specialLocations = getLootTablesResourceLocations(modID, location); - - // load each ResourceLocation as LootTable and map it. - for (ResourceLocation loc : specialLocations) { - Path path = Paths.get(loc.getResourcePath()); - // create loot table - LootTable lootTable = getLootTableManager().getLootTableFromLocation(loc); - // add to map - SpecialLootTables specialLootTables = SpecialLootTables.valueOf(Files.getNameWithoutExtension(path.getName(path.getNameCount()-1).toString().toUpperCase())); - // add to map - SPECIAL_LOOT_TABLES_MAP.put(specialLootTables, lootTable); - } - } - for (String location : CHEST_LOOT_TABLE_FOLDER_LOCATIONS) { - // get loot table files as ResourceLocations from the file system location - List locs = getLootTablesResourceLocations(modID, location); - - // load each ResourceLocation as LootTable and map it. - for (ResourceLocation loc : locs) { - Path path = Paths.get(loc.getResourcePath()); - Treasure.logger.debug("path to resource loc -> {}", path.toString()); - // map the loot table resource location - Rarity key = Rarity.valueOf(path.getName(path.getNameCount()-2).toString().toUpperCase()); - // add to resourcemap - CHEST_LOOT_TABLES_RESOURCE_LOCATION_TABLE.get(CUSTOM_LOOT_TABLE_KEY, key).add(loc); - // create loot table - LootTable lootTable = getLootTableManager().getLootTableFromLocation(loc); - // add loot table to map - CHEST_LOOT_TABLES_TABLE.get(CUSTOM_LOOT_TABLE_KEY, key).add(lootTable); - Treasure.logger.debug("tabling loot table: {} {} -> {}", CUSTOM_LOOT_TABLE_KEY, key, loc); - } - } - } - - /** - * - * @param rarity - * @return - */ - public List getLootTableByRarity(Rarity rarity) { - // get all loot tables by column key - List tables = new ArrayList<>(); - Map> mapOfLootTables = CHEST_LOOT_TABLES_TABLE.column(rarity); - // convert to a single list - for(Entry> n : mapOfLootTables.entrySet()) { - Treasure.logger.debug("Adding table entry to loot table list -> {} {}: size {}", rarity, n.getKey(), n.getValue().size()); - tables.addAll(n.getValue()); - } - return tables; - } - - /** - * - * @param rarity - * @return - */ - public List getLootTableResourceByRarity(Rarity rarity) { - // get all loot tables by column key - List tables = new ArrayList<>(); - Map> mapOfLootTableResourceLocations = CHEST_LOOT_TABLES_RESOURCE_LOCATION_TABLE.column(rarity); - // convert to a single list - for(Entry> n : mapOfLootTableResourceLocations.entrySet()) { -// Treasure.logger.debug("Adding table resource location entry to loot table resource location list -> {} {}: size {}", rarity, n.getKey(), n.getValue().size()); - tables.addAll(n.getValue()); - } - return tables; - } - - /** - * - * @param tableEnum - * @return - */ - public LootTable getSpecialLootTable(SpecialLootTables table) { - LootTable lootTable = SPECIAL_LOOT_TABLES_MAP.get(table); - return lootTable; - } - - /** - * - * @return - */ - public Table> getChestLootTablesTable() { - return CHEST_LOOT_TABLES_TABLE; - } - - /** - * - */ - public LootTableManager getLootTableManager() { - return super.getLootTableManager(); - } - - /* - * Enum of special loot tables (not necessarily chests) - */ - public enum SpecialLootTables { - WITHER_CHEST, - SKULL_CHEST, - GOLD_SKULL_CHEST, - CAULDRON_CHEST, - CLAM_CHEST, - OYSTER_CHEST, - SILVER_WELL, - GOLD_WELL, - WHITE_PEARL_WELL, - BLACK_PEARL_WELL - } -} diff --git a/src/com/someguyssoftware/treasure2/Treasure.java b/src/main/java/com/someguyssoftware/treasure2/Treasure.java similarity index 94% rename from src/com/someguyssoftware/treasure2/Treasure.java rename to src/main/java/com/someguyssoftware/treasure2/Treasure.java index 6aef05bff..40baa8789 100644 --- a/src/com/someguyssoftware/treasure2/Treasure.java +++ b/src/main/java/com/someguyssoftware/treasure2/Treasure.java @@ -10,13 +10,13 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.Appender; +import org.apache.logging.log4j.core.config.AppenderRef; import com.someguyssoftware.gottschcore.GottschCore; import com.someguyssoftware.gottschcore.annotation.Credits; import com.someguyssoftware.gottschcore.command.ShowVersionCommand; import com.someguyssoftware.gottschcore.config.IConfig; import com.someguyssoftware.gottschcore.config.ILoggerConfig; -import com.someguyssoftware.gottschcore.loot.functions.LootFunctionManager; import com.someguyssoftware.gottschcore.mod.AbstractMod; import com.someguyssoftware.gottschcore.mod.IMod; import com.someguyssoftware.gottschcore.version.BuildVersion; @@ -48,7 +48,7 @@ import com.someguyssoftware.treasure2.eventhandler.WorldEventHandler; import com.someguyssoftware.treasure2.item.PaintingItem; import com.someguyssoftware.treasure2.item.TreasureItems; -import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster; +import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster2; import com.someguyssoftware.treasure2.loot.function.CharmRandomly; import com.someguyssoftware.treasure2.loot.function.SetCharms; import com.someguyssoftware.treasure2.meta.TreasureMetaManager; @@ -91,7 +91,7 @@ * @author Mark Gottschling onDec 22, 2017 * */ -@Mod(modid = Treasure.MODID, name = Treasure.NAME, version = Treasure.VERSION, dependencies = "required-after:gottschcore@[1.13.0,)", acceptedMinecraftVersions = "[1.12.2]", updateJSON = Treasure.UPDATE_JSON_URL) +@Mod(modid = Treasure.MODID, name = Treasure.NAME, version = Treasure.VERSION, dependencies = "required-after:gottschcore@[1.14.0,)", acceptedMinecraftVersions = "[1.12.2]", updateJSON = Treasure.UPDATE_JSON_URL) @Credits(values = { "Treasure was first developed by Mark Gottschling on Aug 27, 2014.", "Treasure2 was first developed by Mark Gottschling on Jan 2018.", "Credits to Mason Gottschling for ideas and debugging.", @@ -99,13 +99,13 @@ "Credits to mn_ti for Chinese and to DarkKnightComes for Polish translation.", "Credits to Mythical Sausage for tutorials on house/tower designs.", "Credits to OdinsRagnarok for Spanish translation and DarvinSlav for Russian translation.", - "Credits to sfs131010 for updated Chinese translation."}) +"Credits to sfs131010 for updated Chinese translation."}) public class Treasure extends AbstractMod { // constants public static final String MODID = "treasure2"; protected static final String NAME = "Treasure2"; - protected static final String VERSION = "1.13.1"; + protected static final String VERSION = "1.14.0"; public static final String UPDATE_JSON_URL = "https://raw.githubusercontent.com/gottsch/gottsch-minecraft-Treasure/master/update.json"; @@ -123,7 +123,7 @@ public class Treasure extends AbstractMod { // NOTE can't make final here as it is set during world load // loot tables management - public static TreasureLootTableMaster LOOT_TABLES; + public static TreasureLootTableMaster2 LOOT_TABLE_MASTER; /* * Treasure Creative Tab Must be initialized before any registry events @@ -173,8 +173,8 @@ public void preInt(FMLPreInitializationEvent event) { MinecraftForge.EVENT_BUS.register(new LogoutEventHandler(getInstance())); MinecraftForge.EVENT_BUS.register(new PlayerEventHandler(getInstance())); MinecraftForge.EVENT_BUS.register(new WorldEventHandler(getInstance())); - MinecraftForge.EVENT_BUS.register(new MimicEventHandler(getInstance())); - MinecraftForge.EVENT_BUS.register(new AnvilEventHandler(getInstance())); + MinecraftForge.EVENT_BUS.register(new MimicEventHandler(getInstance())); + MinecraftForge.EVENT_BUS.register(new AnvilEventHandler(getInstance())); // configure logging // create a rolling file appender @@ -196,15 +196,16 @@ public void preInt(FMLPreInitializationEvent event) { 15, Side.SERVER); simpleNetworkWrapper.registerMessage(CharmMessageHandlerOnClient.class, CharmMessageToClient.class, 25, Side.CLIENT); - + // add capabilities CapabilityManager.INSTANCE.register(ICharmCapability.class, new CharmStorage(), CharmCapability::new); CapabilityManager.INSTANCE.register(IKeyRingCapability.class, new KeyRingStorage(), KeyRingCapability::new); CapabilityManager.INSTANCE.register(IEffectiveMaxDamageCapability.class, new EffectiveMaxDamageStorage(), EffectiveMaxDamageCapability::new); - + // register custom loot functions - LootFunctionManager.registerFunction(new CharmRandomly.Serializer()); - LootFunctionManager.registerFunction(new SetCharms.Serializer()); + net.minecraft.world.storage.loot.functions.LootFunctionManager.registerFunction(new CharmRandomly.Serializer()); + net.minecraft.world.storage.loot.functions.LootFunctionManager.registerFunction(new SetCharms.Serializer()); + } /** @@ -258,8 +259,8 @@ public void init(FMLInitializationEvent event) { } // add the loot table managers - LOOT_TABLES = new TreasureLootTableMaster(Treasure.instance, "", "loot_tables"); - + LOOT_TABLE_MASTER = new TreasureLootTableMaster2(Treasure.instance); + TEMPLATE_MANAGER = new TreasureTemplateManager(Treasure.instance, "/structures", FMLCommonHandler.instance().getDataFixer()); @@ -282,7 +283,7 @@ public void postInit(FMLPostInitializationEvent event) { // associate painting items to painting blocks and vice versa ((PaintingItem) TreasureItems.PAINTING_BLOCKS_BRICKS).setPaintingBlock(TreasureBlocks.PAINTING_BLOCKS_BRICKS); ((PaintingItem) TreasureItems.PAINTING_BLOCKS_COBBLESTONE) - .setPaintingBlock(TreasureBlocks.PAINTING_BLOCKS_COBBLESTONE); + .setPaintingBlock(TreasureBlocks.PAINTING_BLOCKS_COBBLESTONE); ((PaintingItem) TreasureItems.PAINTING_BLOCKS_DIRT).setPaintingBlock(TreasureBlocks.PAINTING_BLOCKS_DIRT); ((PaintingItem) TreasureItems.PAINTING_BLOCKS_LAVA).setPaintingBlock(TreasureBlocks.PAINTING_BLOCKS_LAVA); ((PaintingItem) TreasureItems.PAINTING_BLOCKS_SAND).setPaintingBlock(TreasureBlocks.PAINTING_BLOCKS_SAND); @@ -309,7 +310,7 @@ public void postInit(FMLPostInitializationEvent event) { */ @Override public IConfig getConfig() { -// return Configs.modConfig; + // return Configs.modConfig; return TreasureConfig.instance; } diff --git a/src/com/someguyssoftware/treasure2/biome/TreasureBiomeHelper.java b/src/main/java/com/someguyssoftware/treasure2/biome/TreasureBiomeHelper.java similarity index 100% rename from src/com/someguyssoftware/treasure2/biome/TreasureBiomeHelper.java rename to src/main/java/com/someguyssoftware/treasure2/biome/TreasureBiomeHelper.java diff --git a/src/com/someguyssoftware/treasure2/block/AbstractChestBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/AbstractChestBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/AbstractChestBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/AbstractChestBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/AbstractPaintingBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/AbstractPaintingBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/AbstractPaintingBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/AbstractPaintingBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/BlackstoneBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/BlackstoneBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/BlackstoneBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/BlackstoneBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/DesertWishingWellBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/DesertWishingWellBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/DesertWishingWellBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/DesertWishingWellBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/FallingGrassBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/FallingGrassBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/FallingGrassBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/FallingGrassBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/FallingRedSandBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/FallingRedSandBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/FallingRedSandBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/FallingRedSandBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/FallingSandBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/FallingSandBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/FallingSandBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/FallingSandBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/FogBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/FogBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/FogBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/FogBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/GravestoneBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/GravestoneBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/GravestoneBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/GravestoneBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/GravestoneSpawnerBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/GravestoneSpawnerBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/GravestoneSpawnerBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/GravestoneSpawnerBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/IFogSupport.java b/src/main/java/com/someguyssoftware/treasure2/block/IFogSupport.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/IFogSupport.java rename to src/main/java/com/someguyssoftware/treasure2/block/IFogSupport.java diff --git a/src/com/someguyssoftware/treasure2/block/IMimicBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/IMimicBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/IMimicBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/IMimicBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/IMistSupport.java b/src/main/java/com/someguyssoftware/treasure2/block/IMistSupport.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/IMistSupport.java rename to src/main/java/com/someguyssoftware/treasure2/block/IMistSupport.java diff --git a/src/com/someguyssoftware/treasure2/block/ITreasureBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/ITreasureBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/ITreasureBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/ITreasureBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/ITreasureChestProxy.java b/src/main/java/com/someguyssoftware/treasure2/block/ITreasureChestProxy.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/ITreasureChestProxy.java rename to src/main/java/com/someguyssoftware/treasure2/block/ITreasureChestProxy.java diff --git a/src/com/someguyssoftware/treasure2/block/IWishingWellBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/IWishingWellBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/IWishingWellBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/IWishingWellBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/MimicChestBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/MimicChestBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/MimicChestBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/MimicChestBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/ModLogBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/ModLogBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/ModLogBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/ModLogBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/OreBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/OreBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/OreBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/OreBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/Painting1x1Block.java b/src/main/java/com/someguyssoftware/treasure2/block/Painting1x1Block.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/Painting1x1Block.java rename to src/main/java/com/someguyssoftware/treasure2/block/Painting1x1Block.java diff --git a/src/com/someguyssoftware/treasure2/block/PoisonFogBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/PoisonFogBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/PoisonFogBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/PoisonFogBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/ProximityBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/ProximityBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/ProximityBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/ProximityBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/SkeletonBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/SkeletonBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/SkeletonBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/SkeletonBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/SkullAndBonesBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/SkullAndBonesBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/SkullAndBonesBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/SkullAndBonesBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/SpanishMossBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/SpanishMossBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/SpanishMossBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/SpanishMossBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/TreasureBlocks.java b/src/main/java/com/someguyssoftware/treasure2/block/TreasureBlocks.java similarity index 89% rename from src/com/someguyssoftware/treasure2/block/TreasureBlocks.java rename to src/main/java/com/someguyssoftware/treasure2/block/TreasureBlocks.java index ed2012e41..7cea04f39 100644 --- a/src/com/someguyssoftware/treasure2/block/TreasureBlocks.java +++ b/src/main/java/com/someguyssoftware/treasure2/block/TreasureBlocks.java @@ -13,7 +13,6 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; -import com.someguyssoftware.gottschcore.block.ModBlock; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.chest.TreasureChestTypes; import com.someguyssoftware.treasure2.client.gui.GuiHandler; @@ -24,15 +23,18 @@ import com.someguyssoftware.treasure2.enums.Rarity; import com.someguyssoftware.treasure2.item.MimicChestItemBlock; import com.someguyssoftware.treasure2.item.TreasureChestItemBlock; +import com.someguyssoftware.treasure2.tileentity.CardboardBoxTileEntity; import com.someguyssoftware.treasure2.tileentity.CauldronChestTileEntity; import com.someguyssoftware.treasure2.tileentity.CompressorChestTileEntity; import com.someguyssoftware.treasure2.tileentity.CrateChestTileEntity; +import com.someguyssoftware.treasure2.tileentity.CrystalSkullChestTileEntity; import com.someguyssoftware.treasure2.tileentity.DreadPirateChestTileEntity; import com.someguyssoftware.treasure2.tileentity.GoldSkullChestTileEntity; import com.someguyssoftware.treasure2.tileentity.GoldStrongboxTileEntity; import com.someguyssoftware.treasure2.tileentity.GravestoneProximitySpawnerTileEntity; import com.someguyssoftware.treasure2.tileentity.IronStrongboxTileEntity; import com.someguyssoftware.treasure2.tileentity.IronboundChestTileEntity; +import com.someguyssoftware.treasure2.tileentity.MilkCrateTileEntity; import com.someguyssoftware.treasure2.tileentity.MistEmitterTileEntity; import com.someguyssoftware.treasure2.tileentity.MoldyCrateChestTileEntity; import com.someguyssoftware.treasure2.tileentity.PirateChestTileEntity; @@ -77,9 +79,12 @@ public class TreasureBlocks { public static final Block WITHER_CHEST_TOP; public static final Block SKULL_CHEST; public static final Block GOLD_SKULL_CHEST; + public static final Block CRYSTAL_SKULL_CHEST; public static final Block CAULDRON_CHEST; public static final Block SPIDER_CHEST; public static final Block VIKING_CHEST; + public static final Block CARDBOARD_BOX; + public static final Block MILK_CRATE; // mimic chests public static final Block WOOD_MIMIC; @@ -96,7 +101,7 @@ public class TreasureBlocks { // gravestone holder public static List gravestones; - + // gravestone spawner holder public static List gravestoneSpawners; @@ -124,12 +129,12 @@ public class TreasureBlocks { public static final Block GRAVESTONE3_OBSIDIAN; public static final Block SKULL_CROSSBONES; public static final Block SKELETON; - + // gravestone spawners public static final Block GRAVESTONE1_SPAWNER_STONE; public static final Block GRAVESTONE2_SPAWNER_COBBLESTONE; public static final Block GRAVESTONE3_SPAWNER_OBSIDIAN; - + // wells public static final Block WISHING_WELL_BLOCK; public static final Block DESERT_WISHING_WELL_BLOCK; @@ -156,7 +161,7 @@ public class TreasureBlocks { public static final Block FALLING_SAND; public static final Block FALLING_RED_SAND; public static final Block BLACKSTONE; - + // treasures: paintings public static final AbstractPaintingBlock PAINTING_BLOCKS_BRICKS; public static final AbstractPaintingBlock PAINTING_BLOCKS_COBBLESTONE; @@ -183,18 +188,18 @@ public class TreasureBlocks { IRONBOUND_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.IRONBOUND_CHEST_ID, IronboundChestTileEntity.class, TreasureChestTypes.STANDARD, Rarity.UNCOMMON).setBounds(stdChestBounds) - .setHardness(3.0F); + .setHardness(3.0F); PIRATE_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.PIRATE_CHEST_ID, PirateChestTileEntity.class, TreasureChestTypes.STANDARD, Rarity.SCARCE).setBounds(stdChestBounds) - .setHardness(3.0F); + .setHardness(3.0F); CRATE_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.CRATE_CHEST_ID, CrateChestTileEntity.class, TreasureChestTypes.CRATE, Rarity.UNCOMMON).setBounds(stdChestBounds).setHardness(2.5F); MOLDY_CRATE_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.MOLDY_CRATE_CHEST_ID, MoldyCrateChestTileEntity.class, TreasureChestTypes.CRATE, Rarity.COMMON).setBounds(stdChestBounds) - .setHardness(2.0F); + .setHardness(2.0F); // safe chest bounds AxisAlignedBB[] safeBounds = new AxisAlignedBB[4]; @@ -215,15 +220,15 @@ public class TreasureBlocks { IRON_STRONGBOX = new TreasureChestBlock(Treasure.MODID, TreasureConfig.IRON_STRONGBOX_ID, IronStrongboxTileEntity.class, TreasureChestTypes.STRONGBOX, Rarity.SCARCE) - .setChestGuiID(GuiHandler.STRONGBOX_CHEST_GUIID).setBounds(strongboxBounds).setHardness(4.0F); + .setChestGuiID(GuiHandler.STRONGBOX_CHEST_GUIID).setBounds(strongboxBounds).setHardness(4.0F); GOLD_STRONGBOX = new TreasureChestBlock(Treasure.MODID, TreasureConfig.GOLD_STRONGBOX_ID, GoldStrongboxTileEntity.class, TreasureChestTypes.STRONGBOX, Rarity.RARE) - .setChestGuiID(GuiHandler.STRONGBOX_CHEST_GUIID).setBounds(strongboxBounds).setHardness(4.0F); + .setChestGuiID(GuiHandler.STRONGBOX_CHEST_GUIID).setBounds(strongboxBounds).setHardness(4.0F); DREAD_PIRATE_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.DREAD_PIRATE_CHEST_ID, DreadPirateChestTileEntity.class, TreasureChestTypes.STANDARD, Rarity.EPIC).setBounds(stdChestBounds) - .setHardness(4.0F); + .setHardness(4.0F); AxisAlignedBB compressorBB = new AxisAlignedBB(0.28125D, 0.0D, 0.28125D, 0.71875D, 0.4375D, 0.71875D); AxisAlignedBB[] compressorChestBounds = new AxisAlignedBB[4]; @@ -234,8 +239,8 @@ public class TreasureBlocks { COMPRESSOR_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.COMPRESSOR_CHEST_ID, CompressorChestTileEntity.class, TreasureChestTypes.COMPRESSOR, Rarity.EPIC) - .setChestGuiID(GuiHandler.COMPRESSOR_CHEST_GUIID).setBounds(compressorChestBounds) - .setHardness(3.0F); + .setChestGuiID(GuiHandler.COMPRESSOR_CHEST_GUIID).setBounds(compressorChestBounds) + .setHardness(3.0F); AxisAlignedBB witherBounds = new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 1.6563D, 0.9375D); // .875 @@ -247,7 +252,7 @@ public class TreasureBlocks { WITHER_CHEST = new WitherChestBlock(Treasure.MODID, TreasureConfig.WITHER_CHEST_ID, WitherChestTileEntity.class, TreasureChestTypes.ARMOIRE, Rarity.SCARCE).setChestGuiID(GuiHandler.WITHER_CHEST_GUIID) - .setBounds(witherChestBounds).setHardness(2.5F); + .setBounds(witherChestBounds).setHardness(2.5F); WITHER_CHEST_TOP = new WitherChestTopBlock(Treasure.MODID, TreasureConfig.WITHER_CHEST_TOP_ID) .setHardness(2.5F); @@ -261,24 +266,20 @@ public class TreasureBlocks { SKULL_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.SKULL_CHEST_ID, SkullChestTileEntity.class, TreasureChestTypes.SKULL, Rarity.SCARCE).setChestGuiID(GuiHandler.SKULL_CHEST_GUIID) - .setBounds(skullChestBounds).setHardness(3.0F); + .setBounds(skullChestBounds).setHardness(3.0F); GOLD_SKULL_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.GOLD_SKULL_CHEST_ID, GoldSkullChestTileEntity.class, TreasureChestTypes.SKULL, Rarity.RARE) - .setChestGuiID(GuiHandler.SKULL_CHEST_GUIID).setBounds(skullChestBounds).setHardness(3.0F); + .setChestGuiID(GuiHandler.SKULL_CHEST_GUIID).setBounds(skullChestBounds).setHardness(3.0F); + + CRYSTAL_SKULL_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.CRYSTAL_SKULL_CHEST_ID, + CrystalSkullChestTileEntity.class, TreasureChestTypes.SKULL, Rarity.EPIC) + .setChestGuiID(GuiHandler.SKULL_CHEST_GUIID).setBounds(skullChestBounds).setHardness(3.0F); CAULDRON_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.CAULDRON_CHEST_ID, Material.IRON, CauldronChestTileEntity.class, TreasureChestTypes.TOP_SPLIT, Rarity.EPIC) - .setChestGuiID(GuiHandler.STANDARD_CHEST_GUIID).setHardness(3.0F); + .setChestGuiID(GuiHandler.STANDARD_CHEST_GUIID).setHardness(3.0F); -// WHALE_BONE_PIRATE_CHEST = new TreasureChestBlock( -// Treasure.MODID, -// TreasureConfig.WHALE_BONE_PIRATE_CHEST_ID, -// WhaleBonePirateChestTileEntity.class, -// TreasureChestTypes.STANDARD, -// Rarity.EPIC) -// .setBounds(stdChestBounds) -// .setHardness(4.0F); AxisAlignedBB molluscBB = new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.375D, 0.9375D); AxisAlignedBB[] molluscChestBounds = new AxisAlignedBB[4]; @@ -287,25 +288,6 @@ public class TreasureBlocks { molluscChestBounds[2] = molluscBB; // N molluscChestBounds[3] = molluscBB; // E -// OYSTER_CHEST = new TreasureChestBlock( -// Treasure.MODID, -// TreasureConfig.OYSTER_CHEST_ID, -// OysterChestTileEntity.class, -// TreasureChestTypes.LOW_RISE, -// Rarity.EPIC) -// .setChestGuiID(GuiHandler.MOLLUSCS_CHEST_GUIID) -// .setBounds(molluscChestBounds) -// .setHardness(3.0F); - -// CLAM_CHEST = new TreasureChestBlock( -// Treasure.MODID, -// TreasureConfig.CLAM_CHEST_ID, -// ClamChestTileEntity.class, -// TreasureChestTypes.LOW_RISE, -// Rarity.RARE) -// .setChestGuiID(GuiHandler.MOLLUSCS_CHEST_GUIID) -// .setBounds(molluscChestBounds) -// .setHardness(3.0F); SPIDER_CHEST = new TreasureChestBlock(Treasure.MODID, TreasureConfig.SPIDER_CHEST_ID, SpiderChestTileEntity.class, TreasureChestTypes.SINGLE_STANDARD, Rarity.RARE).setHardness(3.0F); @@ -318,18 +300,36 @@ public class TreasureBlocks { new AxisAlignedBB(0, 0, 0.125, 1, 0.9375, 0.875), // N new AxisAlignedBB(0.125, 0, 0, 0.875, 0.9375, 1)} ).setHardness(3.0F); - + + CARDBOARD_BOX = new TreasureChestBlock(Treasure.MODID, TreasureConfig.CARDBOARD_BOX_ID, CardboardBoxTileEntity.class, + TreasureChestTypes.TOP_SPLIT, Rarity.COMMON).setBounds( + new AxisAlignedBB[] { + new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.9375D, 0.9375D), + new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.9375D, 0.9375D), + new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.9375D, 0.9375D), + new AxisAlignedBB(0.0625D, 0.0D, 0.0625D, 0.9375D, 0.9375D, 0.9375D) + }).setHardness(2.5F); + + MILK_CRATE = new TreasureChestBlock(Treasure.MODID, TreasureConfig.MILK_CRATE_ID, MilkCrateTileEntity.class, + TreasureChestTypes.MILK_CRATE, Rarity.COMMON).setBounds( + new AxisAlignedBB[] { + new AxisAlignedBB(0.171875D, 0.0D, 0.171875D, 0.828125D, 0.640625D, 0.828125D), + new AxisAlignedBB(0.171875D, 0.0D, 0.171875D, 0.828125D, 0.640625D, 0.828125D), + new AxisAlignedBB(0.171875D, 0.0D, 0.171875D, 0.828125D, 0.640625D, 0.828125D), + new AxisAlignedBB(0.171875D, 0.0D, 0.171875D, 0.828125D, 0.640625D, 0.828125D) + }).setHardness(2.5F); + // map the chests by rarity chests = ArrayListMultimap.create(); // mimics WOOD_MIMIC = new MimicChestBlock(Treasure.MODID, TreasureConfig.WOOD_MIMIC_ID, WoodChestTileEntity.class, WoodMimicEntity.class, TreasureChestTypes.STANDARD, Rarity.COMMON).setBounds(stdChestBounds) - .setHardness(2.5F); + .setHardness(2.5F); PIRATE_MIMIC = new MimicChestBlock(Treasure.MODID, TreasureConfig.PIRATE_MIMIC_ID, PirateChestTileEntity.class, PirateMimicEntity.class, TreasureChestTypes.STANDARD, Rarity.SCARCE).setBounds(stdChestBounds) - .setHardness(2.5F); + .setHardness(2.5F); // gravestone bounds AxisAlignedBB[] gbs = new AxisAlignedBB[4]; @@ -353,7 +353,7 @@ public class TreasureBlocks { TreasureConfig.GRAVESTONE1_POLISHED_DIORITE_ID, Material.ROCK).setBounds(gbs); GRAVESTONE1_OBSIDIAN = new GravestoneSpawnerBlock(Treasure.MODID, TreasureConfig.GRAVESTONE1_OBSIDIAN_ID, Material.ROCK).setBounds(gbs); - + AxisAlignedBB[] gbs2 = new AxisAlignedBB[4]; gbs2[0] = new AxisAlignedBB(0.125D, 0.0D, 0.375D, 0.875D, 1.375D, 0.675D); // S gbs2[1] = new AxisAlignedBB(0.375D, 0.0D, 0.125D, 0.675D, 1.375D, 0.875D); // W @@ -398,7 +398,7 @@ public class TreasureBlocks { Material.ROCK).setBounds(gbs2); GRAVESTONE3_SPAWNER_OBSIDIAN = new GravestoneSpawnerBlock(Treasure.MODID, TreasureConfig.GRAVESTONE3_SPAWNER_OBSIDIAN_ID, Material.ROCK).setBounds(gbs2); - + // other SKULL_CROSSBONES = new SkullAndBonesBlock(Treasure.MODID, TreasureConfig.SKULL_CROSSBONES_ID, Material.ROCK); @@ -454,7 +454,7 @@ public class TreasureBlocks { FALLING_SAND = new FallingSandBlock(Treasure.MODID, TreasureConfig.FALLING_SAND_ID); FALLING_RED_SAND = new FallingRedSandBlock(Treasure.MODID, TreasureConfig.FALLING_RED_SAND_ID); BLACKSTONE = new BlackstoneBlock(Treasure.MODID, TreasureConfig.BLACKSTONE_ID); - + // treasures: paintings AxisAlignedBB[] pbs = new AxisAlignedBB[4]; pbs[0] = new AxisAlignedBB(0D, 0D, 0D, 1D, 1D, 0.0625D); // S @@ -503,10 +503,11 @@ public static void registerBlocks(final RegistryEvent.Register event) { final Block[] blocks = { WOOD_CHEST, CRATE_CHEST, MOLDY_CRATE_CHEST, IRONBOUND_CHEST, PIRATE_CHEST, IRON_STRONGBOX, GOLD_STRONGBOX, SAFE, DREAD_PIRATE_CHEST, -// WHALE_BONE_PIRATE_CHEST, COMPRESSOR_CHEST, SPIDER_CHEST, VIKING_CHEST, + CARDBOARD_BOX, + MILK_CRATE, WOOD_MIMIC, PIRATE_MIMIC, GRAVESTONE1_STONE, @@ -536,19 +537,20 @@ public static void registerBlocks(final RegistryEvent.Register event) { FALLING_SAND, FALLING_RED_SAND, BLACKSTONE - }; - + }; + registry.registerAll(blocks); // register speciality chests separately (so they aren't in the rarity map) registry.register(WITHER_CHEST); registry.register(SKULL_CHEST); registry.register(GOLD_SKULL_CHEST); + registry.register(CRYSTAL_SKULL_CHEST); registry.register(CAULDRON_CHEST); registry.register(PROXIMITY_SPAWNER); // mapping -// registry.register(OYSTER_CHEST); -// registry.register(CLAM_CHEST); + // registry.register(OYSTER_CHEST); + // registry.register(CLAM_CHEST); // map the block by rarity for (Block block : blocks) { @@ -572,12 +574,17 @@ public static void registerItemBlocks(final RegistryEvent.Register event) new TreasureChestItemBlock(PIRATE_CHEST), new TreasureChestItemBlock(IRON_STRONGBOX), new TreasureChestItemBlock(GOLD_STRONGBOX), new TreasureChestItemBlock(SAFE), new TreasureChestItemBlock(DREAD_PIRATE_CHEST), -// new TreasureChestItemBlock(WHALE_BONE_PIRATE_CHEST), + // new TreasureChestItemBlock(WHALE_BONE_PIRATE_CHEST), new TreasureChestItemBlock(COMPRESSOR_CHEST), new TreasureChestItemBlock(WITHER_CHEST), - new TreasureChestItemBlock(SKULL_CHEST), new TreasureChestItemBlock(GOLD_SKULL_CHEST), + new TreasureChestItemBlock(SKULL_CHEST), + new TreasureChestItemBlock(GOLD_SKULL_CHEST), + new TreasureChestItemBlock(CRYSTAL_SKULL_CHEST), new TreasureChestItemBlock(CAULDRON_CHEST), new TreasureChestItemBlock(SPIDER_CHEST), new TreasureChestItemBlock(VIKING_CHEST), + new TreasureChestItemBlock(CARDBOARD_BOX), + new TreasureChestItemBlock(MILK_CRATE), + new MimicChestItemBlock(WOOD_MIMIC), new MimicChestItemBlock(PIRATE_MIMIC), @@ -641,23 +648,26 @@ public static void registerItemBlocks(final RegistryEvent.Register event) new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.SKULL_CHEST_TE_ID)); GameRegistry.registerTileEntity(GoldSkullChestTileEntity.class, new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.GOLD_SKULL_CHEST_TE_ID)); + GameRegistry.registerTileEntity(CrystalSkullChestTileEntity.class, + new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.CRYSTAL_SKULL_CHEST_TE_ID)); GameRegistry.registerTileEntity(CauldronChestTileEntity.class, new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.CAULDRON_CHEST_TE_ID)); GameRegistry.registerTileEntity(SpiderChestTileEntity.class, new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.SPIDER_CHEST_TE_ID)); GameRegistry.registerTileEntity(VikingChestTileEntity.class, new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.VIKING_CHEST_TE_ID)); - + + GameRegistry.registerTileEntity(CardboardBoxTileEntity.class, + new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.CARDBOARD_BOX_TE_ID)); + GameRegistry.registerTileEntity(MilkCrateTileEntity.class, + new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.MILK_CRATE_TE_ID)); + GameRegistry.registerTileEntity(ProximitySpawnerTileEntity.class, new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.PROXIMITY_SPAWNER_TE_ID)); GameRegistry.registerTileEntity(GravestoneProximitySpawnerTileEntity.class, new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.GRAVESTONE_PROXIMITY_SPAWNER_TE_ID)); GameRegistry.registerTileEntity(MistEmitterTileEntity.class, new ResourceLocation(Treasure.MODID + ":" + TreasureConfig.GRAVESTONE_TE_ID)); -// GameRegistry.registerTileEntity(WhaleBonePirateChestTileEntity.class, new ResourceLocation(Treasure.MODID+":"+TreasureConfig.WHALE_BONE_PIRATE_CHEST_TE_ID)); -// GameRegistry.registerTileEntity(OysterChestTileEntity.class, new ResourceLocation(Treasure.MODID+":"+TreasureConfig.OYSTER_CHEST_TE_ID)); -// GameRegistry.registerTileEntity(ClamChestTileEntity.class, new ResourceLocation(Treasure.MODID+":"+TreasureConfig.CLAM_CHEST_TE_ID)); - } } } diff --git a/src/com/someguyssoftware/treasure2/block/TreasureChestBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/TreasureChestBlock.java similarity index 98% rename from src/com/someguyssoftware/treasure2/block/TreasureChestBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/TreasureChestBlock.java index 8181bbdf2..b97e004a6 100644 --- a/src/com/someguyssoftware/treasure2/block/TreasureChestBlock.java +++ b/src/main/java/com/someguyssoftware/treasure2/block/TreasureChestBlock.java @@ -130,9 +130,8 @@ public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, Enti Direction direction = Direction.fromFacing(placer.getHorizontalFacing().getOpposite()); // rotate the lock states - shouldUpdate = rotateLockStates(worldIn, pos, oldPersistedChestDirection.getRotation(direction)); // old -> - // Direction.NORTH - // // + shouldUpdate = rotateLockStates(worldIn, pos, oldPersistedChestDirection.getRotation(direction)); + // old -> Direction.NORTH // Treasure.logger.debug("New lock states ->"); // for (LockState ls : tcte.getLockStates()) { diff --git a/src/com/someguyssoftware/treasure2/block/WishingWellBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/WishingWellBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/WishingWellBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/WishingWellBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/WitherBranchBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/WitherBranchBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/WitherBranchBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/WitherBranchBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/WitherBrokenLogBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/WitherBrokenLogBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/WitherBrokenLogBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/WitherBrokenLogBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/WitherChestBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/WitherChestBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/WitherChestBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/WitherChestBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/WitherChestTopBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/WitherChestTopBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/WitherChestTopBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/WitherChestTopBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/WitherFogBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/WitherFogBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/WitherFogBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/WitherFogBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/WitherLogBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/WitherLogBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/WitherLogBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/WitherLogBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/WitherLogSoulBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/WitherLogSoulBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/WitherLogSoulBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/WitherLogSoulBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/WitherPlanksBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/WitherPlanksBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/WitherPlanksBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/WitherPlanksBlock.java diff --git a/src/com/someguyssoftware/treasure2/block/WitherRootBlock.java b/src/main/java/com/someguyssoftware/treasure2/block/WitherRootBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/block/WitherRootBlock.java rename to src/main/java/com/someguyssoftware/treasure2/block/WitherRootBlock.java diff --git a/src/com/someguyssoftware/treasure2/capability/CharmCapability.java b/src/main/java/com/someguyssoftware/treasure2/capability/CharmCapability.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/CharmCapability.java rename to src/main/java/com/someguyssoftware/treasure2/capability/CharmCapability.java diff --git a/src/com/someguyssoftware/treasure2/capability/CharmCapabilityProvider.java b/src/main/java/com/someguyssoftware/treasure2/capability/CharmCapabilityProvider.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/CharmCapabilityProvider.java rename to src/main/java/com/someguyssoftware/treasure2/capability/CharmCapabilityProvider.java diff --git a/src/com/someguyssoftware/treasure2/capability/CharmStorage.java b/src/main/java/com/someguyssoftware/treasure2/capability/CharmStorage.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/CharmStorage.java rename to src/main/java/com/someguyssoftware/treasure2/capability/CharmStorage.java diff --git a/src/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageCapability.java b/src/main/java/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageCapability.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageCapability.java rename to src/main/java/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageCapability.java diff --git a/src/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageCapabilityProvider.java b/src/main/java/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageCapabilityProvider.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageCapabilityProvider.java rename to src/main/java/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageCapabilityProvider.java diff --git a/src/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageStorage.java b/src/main/java/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageStorage.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageStorage.java rename to src/main/java/com/someguyssoftware/treasure2/capability/EffectiveMaxDamageStorage.java diff --git a/src/com/someguyssoftware/treasure2/capability/ICharmCapability.java b/src/main/java/com/someguyssoftware/treasure2/capability/ICharmCapability.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/ICharmCapability.java rename to src/main/java/com/someguyssoftware/treasure2/capability/ICharmCapability.java diff --git a/src/com/someguyssoftware/treasure2/capability/IEffectiveMaxDamageCapability.java b/src/main/java/com/someguyssoftware/treasure2/capability/IEffectiveMaxDamageCapability.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/IEffectiveMaxDamageCapability.java rename to src/main/java/com/someguyssoftware/treasure2/capability/IEffectiveMaxDamageCapability.java diff --git a/src/com/someguyssoftware/treasure2/capability/IKeyRingCapability.java b/src/main/java/com/someguyssoftware/treasure2/capability/IKeyRingCapability.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/IKeyRingCapability.java rename to src/main/java/com/someguyssoftware/treasure2/capability/IKeyRingCapability.java diff --git a/src/com/someguyssoftware/treasure2/capability/KeyRingCapability.java b/src/main/java/com/someguyssoftware/treasure2/capability/KeyRingCapability.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/KeyRingCapability.java rename to src/main/java/com/someguyssoftware/treasure2/capability/KeyRingCapability.java diff --git a/src/com/someguyssoftware/treasure2/capability/KeyRingCapabilityProvider.java b/src/main/java/com/someguyssoftware/treasure2/capability/KeyRingCapabilityProvider.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/KeyRingCapabilityProvider.java rename to src/main/java/com/someguyssoftware/treasure2/capability/KeyRingCapabilityProvider.java diff --git a/src/com/someguyssoftware/treasure2/capability/KeyRingStorage.java b/src/main/java/com/someguyssoftware/treasure2/capability/KeyRingStorage.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/KeyRingStorage.java rename to src/main/java/com/someguyssoftware/treasure2/capability/KeyRingStorage.java diff --git a/src/com/someguyssoftware/treasure2/capability/PouchCapabilityProvider.java b/src/main/java/com/someguyssoftware/treasure2/capability/PouchCapabilityProvider.java similarity index 100% rename from src/com/someguyssoftware/treasure2/capability/PouchCapabilityProvider.java rename to src/main/java/com/someguyssoftware/treasure2/capability/PouchCapabilityProvider.java diff --git a/src/com/someguyssoftware/treasure2/chest/ChestInfo.java b/src/main/java/com/someguyssoftware/treasure2/chest/ChestInfo.java similarity index 100% rename from src/com/someguyssoftware/treasure2/chest/ChestInfo.java rename to src/main/java/com/someguyssoftware/treasure2/chest/ChestInfo.java diff --git a/src/com/someguyssoftware/treasure2/chest/ILockSlot.java b/src/main/java/com/someguyssoftware/treasure2/chest/ILockSlot.java similarity index 100% rename from src/com/someguyssoftware/treasure2/chest/ILockSlot.java rename to src/main/java/com/someguyssoftware/treasure2/chest/ILockSlot.java diff --git a/src/com/someguyssoftware/treasure2/chest/LockSlot.java b/src/main/java/com/someguyssoftware/treasure2/chest/LockSlot.java similarity index 100% rename from src/com/someguyssoftware/treasure2/chest/LockSlot.java rename to src/main/java/com/someguyssoftware/treasure2/chest/LockSlot.java diff --git a/src/com/someguyssoftware/treasure2/chest/TreasureChestType.java b/src/main/java/com/someguyssoftware/treasure2/chest/TreasureChestType.java similarity index 100% rename from src/com/someguyssoftware/treasure2/chest/TreasureChestType.java rename to src/main/java/com/someguyssoftware/treasure2/chest/TreasureChestType.java diff --git a/src/com/someguyssoftware/treasure2/chest/TreasureChestTypes.java b/src/main/java/com/someguyssoftware/treasure2/chest/TreasureChestTypes.java similarity index 77% rename from src/com/someguyssoftware/treasure2/chest/TreasureChestTypes.java rename to src/main/java/com/someguyssoftware/treasure2/chest/TreasureChestTypes.java index 2cfa9a499..c5cc1c166 100644 --- a/src/com/someguyssoftware/treasure2/chest/TreasureChestTypes.java +++ b/src/main/java/com/someguyssoftware/treasure2/chest/TreasureChestTypes.java @@ -17,80 +17,85 @@ public class TreasureChestTypes { public static final TreasureChestType SINGLE_STANDARD; public static final TreasureChestType STRONGBOX; public static final TreasureChestType SAFE; -// public static TreasureChestType SINGLE; -// public static TreasureChestType POT; + // public static TreasureChestType SINGLE; + // public static TreasureChestType POT; public static final TreasureChestType COMPRESSOR; public static final TreasureChestType ARMOIRE; public static final TreasureChestType SKULL; public static final TreasureChestType TOP_SPLIT; public static final TreasureChestType LOW_RISE; public static final TreasureChestType VIKING; + public static final TreasureChestType MILK_CRATE; + - static { STANDARD = new TreasureChestType(3).addSlots( - new LockSlot(0, Direction.NORTH, 0.5F, 0.3F, 0.05F, 0F), - new LockSlot(1, Direction.EAST, 0.95F, 0.3F, 0.5F, 90F), - new LockSlot(2, Direction.WEST, 0.05F, 0.3F, 0.5F, -90F) - ); - + new LockSlot(0, Direction.NORTH, 0.5F, 0.3F, 0.05F, 0F), + new LockSlot(1, Direction.EAST, 0.95F, 0.3F, 0.5F, 90F), + new LockSlot(2, Direction.WEST, 0.05F, 0.3F, 0.5F, -90F) + ); + STANDARD2 = new TreasureChestType(3).addSlots( new LockSlot(0, Direction.NORTH, 0.5F, 0.2F, 0.05F, 0F), new LockSlot(1, Direction.EAST, 0.95F, 0.3F, 0.5F, 90F), new LockSlot(2, Direction.WEST, 0.05F, 0.3F, 0.5F, -90F) - ); - + ); + SINGLE_STANDARD = new TreasureChestType(1).addSlots( new LockSlot(0, Direction.NORTH, 0.5F, 0.3F, 0.05F, 0F) - ); - + ); + CRATE = new TreasureChestType(1).addSlots( new LockSlot(0, Direction.NORTH, 0.5F, 0.6F, 0.05F, 0F) - ); - + ); + + MILK_CRATE = new TreasureChestType(1).addSlots( + new LockSlot(0, Direction.NORTH, 0.5F, 0.412F, 0.15F, 0F) + ); + STRONGBOX = new TreasureChestType(3).addSlots( - new LockSlot(0, Direction.NORTH, 0.5F, 0.2F, 0.20F, 0F), - new LockSlot(1, Direction.EAST, 0.825F, 0.2F, 0.5F, 90F), - new LockSlot(2, Direction.WEST, 0.175F, 0.2F, 0.5F, -90F) - ); - + new LockSlot(0, Direction.NORTH, 0.5F, 0.2F, 0.20F, 0F), + new LockSlot(1, Direction.EAST, 0.825F, 0.2F, 0.5F, 90F), + new LockSlot(2, Direction.WEST, 0.175F, 0.2F, 0.5F, -90F) + ); + SAFE = new TreasureChestType(2).addSlots( - new LockSlot(0, Direction.NORTH, 0.25F, 0.6F, 0.1125F, 0F), - new LockSlot(1, Direction.NORTH, 0.25F, 0.3F, 0.1125F, 0F) - ); - + new LockSlot(0, Direction.NORTH, 0.25F, 0.6F, 0.1125F, 0F), + new LockSlot(1, Direction.NORTH, 0.25F, 0.3F, 0.1125F, 0F) + ); + // starts in the NW bottom corner and moves E and S and up, so (0,0,0) is NW corner and (1,1,1) is the SE corner top COMPRESSOR = new TreasureChestType(4).addSlots( new LockSlot(0, Direction.NORTH, 0.61F, 0.18F, 0.27F, 0F), new LockSlot(1, Direction.EAST, 0.73F, 0.18F, 0.61F, 90F), new LockSlot(2, Direction.WEST, 0.27F, 0.18F, 0.39F, -90F), new LockSlot(3, Direction.SOUTH, 0.39F, 0.18F, 0.73F, 0F) - ); - + ); + ARMOIRE = new TreasureChestType(2).addSlots( new LockSlot(0, Direction.NORTH, 0.5F, 0.95F, 0.05F, 0F), new LockSlot(1, Direction.NORTH, 0.5F, 0.4F, 0.05F, 0F) - ); - + ); + SKULL = new TreasureChestType(1).addSlots( new LockSlot(0, Direction.EAST, 0.72F, 0.18F, 0.5F, 90F) - ); - + ); + // NOTE the locks are meant to be on top of the chest, but they will not get rotated properly if Direction.UP. // Use the direction that the locks should initially face and have the renderer implementation render the locks on the correct axis. TOP_SPLIT = new TreasureChestType(2).addSlots( new LockSlot(0, Direction.NORTH, 0.5F, 0.95F, 0.3F, 0F), new LockSlot(1, Direction.NORTH, 0.5F, 0.95F, 0.7F, 0F) - ); - + ); + LOW_RISE = new TreasureChestType(3).addSlots( new LockSlot(0, Direction.NORTH, 0.5F, 0.2F, 0.05F, 0F), new LockSlot(1, Direction.EAST, 0.88F, 0.2F, 0.5F, 90F), new LockSlot(2, Direction.WEST, 0.12F, 0.2F, 0.5F, -90F) - ); - + ); + VIKING = new TreasureChestType(1).addSlots( new LockSlot(0, Direction.NORTH, 0.5F, 0.55F, 0.17F, 0F) - ); + ); } } diff --git a/src/com/someguyssoftware/treasure2/client/gui/GuiHandler.java b/src/main/java/com/someguyssoftware/treasure2/client/gui/GuiHandler.java similarity index 88% rename from src/com/someguyssoftware/treasure2/client/gui/GuiHandler.java rename to src/main/java/com/someguyssoftware/treasure2/client/gui/GuiHandler.java index 1f502d69b..6ecf1a097 100644 --- a/src/com/someguyssoftware/treasure2/client/gui/GuiHandler.java +++ b/src/main/java/com/someguyssoftware/treasure2/client/gui/GuiHandler.java @@ -44,6 +44,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldServer; +import net.minecraft.world.storage.loot.LootPool; import net.minecraftforge.fml.common.network.IGuiHandler; /** @@ -78,31 +79,17 @@ public Object getServerGuiElement(int ID, EntityPlayer player, World world, int if (tileEntity instanceof ITreasureChestTileEntity) { ITreasureChestTileEntity chestTileEntity = (ITreasureChestTileEntity) tileEntity; -// logger.debug("is chest sealed -> {}", chestTileEntity.isSealed()); + logger.debug("is chest sealed -> {}", chestTileEntity.isSealed()); if (chestTileEntity.isSealed()) { chestTileEntity.setSealed(false); -// logger.debug("chest gen type -> {}", chestTileEntity.getGenerationContext().getChestGeneratorType()); + logger.debug("chest gen type -> {}", chestTileEntity.getGenerationContext().getChestGeneratorType()); // construct the chest generator used to create the tile entity IChestGenerator chestGenerator = chestTileEntity.getGenerationContext().getChestGeneratorType().getChestGenerator(); -// logger.debug("chest gen -> {}", chestTileEntity.getGenerationContext().getChestGeneratorType().getChestGenerator().getClass().getSimpleName()); + logger.debug("chest gen -> {}", chestTileEntity.getGenerationContext().getChestGeneratorType().getChestGenerator().getClass().getSimpleName()); - // select a loot table - LootTable lootTable = chestGenerator.selectLootTable(Random::new, chestTileEntity.getGenerationContext().getLootRarity()); - if (lootTable == null) { - logger.warn("Unable to select a lootTable."); - return null; - } - logger.debug("Generating loot from loot table for rarity {}", chestTileEntity.getGenerationContext().getLootRarity()); - LootContext lootContext = new LootContext.Builder((WorldServer) world, Treasure.LOOT_TABLES.getLootTableManager()) - .withLuck(player.getLuck()) - .withPlayer(player) - .build(); - if (lootContext == null) { - lootContext = Treasure.LOOT_TABLES.getContext(); - } - lootTable.fillInventory((IInventory) tileEntity, new Random(), lootContext); - - // TODO future IChestGenerator.addSpecialLoot(world, random, chestTileEntity); + // fill the chest with loot + chestGenerator.fillChest(world, new Random(), tileEntity, chestTileEntity.getGenerationContext().getLootRarity(), player); + } } diff --git a/src/com/someguyssoftware/treasure2/client/gui/inventory/ArmoireChestGui.java b/src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/ArmoireChestGui.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/gui/inventory/ArmoireChestGui.java rename to src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/ArmoireChestGui.java diff --git a/src/com/someguyssoftware/treasure2/client/gui/inventory/CompressorChestGui.java b/src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/CompressorChestGui.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/gui/inventory/CompressorChestGui.java rename to src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/CompressorChestGui.java diff --git a/src/com/someguyssoftware/treasure2/client/gui/inventory/KeyRingGui.java b/src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/KeyRingGui.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/gui/inventory/KeyRingGui.java rename to src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/KeyRingGui.java diff --git a/src/com/someguyssoftware/treasure2/client/gui/inventory/MolluscChestGui.java b/src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/MolluscChestGui.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/gui/inventory/MolluscChestGui.java rename to src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/MolluscChestGui.java diff --git a/src/com/someguyssoftware/treasure2/client/gui/inventory/PouchGui.java b/src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/PouchGui.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/gui/inventory/PouchGui.java rename to src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/PouchGui.java diff --git a/src/com/someguyssoftware/treasure2/client/gui/inventory/SkullChestGui.java b/src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/SkullChestGui.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/gui/inventory/SkullChestGui.java rename to src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/SkullChestGui.java diff --git a/src/com/someguyssoftware/treasure2/client/gui/inventory/StandardChestGui.java b/src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/StandardChestGui.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/gui/inventory/StandardChestGui.java rename to src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/StandardChestGui.java diff --git a/src/com/someguyssoftware/treasure2/client/gui/inventory/StrongboxChestGui.java b/src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/StrongboxChestGui.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/gui/inventory/StrongboxChestGui.java rename to src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/StrongboxChestGui.java diff --git a/src/com/someguyssoftware/treasure2/client/gui/inventory/WitherChestGui.java b/src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/WitherChestGui.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/gui/inventory/WitherChestGui.java rename to src/main/java/com/someguyssoftware/treasure2/client/gui/inventory/WitherChestGui.java diff --git a/src/com/someguyssoftware/treasure2/client/model/BandedChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/BandedChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/BandedChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/BandedChestModel.java diff --git a/src/main/java/com/someguyssoftware/treasure2/client/model/CardboardBoxModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/CardboardBoxModel.java new file mode 100644 index 000000000..fc2c452b9 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/client/model/CardboardBoxModel.java @@ -0,0 +1,87 @@ +package com.someguyssoftware.treasure2.client.model; + +import com.someguyssoftware.treasure2.tileentity.ITreasureChestTileEntity; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelBox; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +/** + * + * @author Mark Gottschling on Nov 29, 2020 + * + */ +public class CardboardBoxModel extends ModelBase implements ITreasureChestModel { + private final ModelRenderer base; + private final ModelRenderer rightFlap; + private final ModelRenderer leftFlap; + private final ModelRenderer southFlap; + private final ModelRenderer northFlap; + + public CardboardBoxModel() { + textureWidth = 128; + textureHeight = 128; + + base = new ModelRenderer(this); + base.setRotationPoint(7.0F, 10.0F, -7.0F); + base.cubeList.add(new ModelBox(base, 0, 0, -14.0F, 0.0F, 0.0F, 14, 14, 14, 0.0F, false)); + + rightFlap = new ModelRenderer(this); + rightFlap.setRotationPoint(7.0F, 10.0F, 0.0F); + rightFlap.cubeList.add(new ModelBox(rightFlap, 28, 29, -7.0F, -1.0F, -7.0F, 7, 1, 14, 0.0F, false)); + + leftFlap = new ModelRenderer(this); + leftFlap.setRotationPoint(-7.0F, 10.0F, 0.0F); + leftFlap.cubeList.add(new ModelBox(leftFlap, 0, 28, 0.0F, -1.0F, -7.0F, 7, 1, 14, 0.0F, false)); + + southFlap = new ModelRenderer(this); + southFlap.setRotationPoint(0.0F, 10.0F, 7.0F); + southFlap.cubeList.add(new ModelBox(southFlap, 42, 7, -7.0F, -0.999F, -6.001F, 14, 1, 6, 0.0F, false)); + + northFlap = new ModelRenderer(this); + northFlap.setRotationPoint(0.0F, 10.0F, -7.0F); + northFlap.cubeList.add(new ModelBox(northFlap, 42, 0, -7.0F, -0.999F, 0.001F, 14, 1, 6, 0.0F, false)); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + base.render(f5); + rightFlap.render(f5); + leftFlap.render(f5); + southFlap.render(f5); + northFlap.render(f5); + } + + public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } + + @Override + public void renderAll(ITreasureChestTileEntity te) { + float angle = 0.0625F; + + // set the angles of the latch to same as the lib + rightFlap.rotateAngleZ = -leftFlap.rotateAngleZ; + southFlap.rotateAngleX = -northFlap.rotateAngleX; + + base.render(angle); + rightFlap.render(angle); + leftFlap.render(angle); + southFlap.render(angle); + northFlap.render(angle); + } + + @Override + public ModelRenderer getLid() { + return leftFlap; + } + + public ModelRenderer getInnerLid() { + return northFlap; + } +} \ No newline at end of file diff --git a/src/com/someguyssoftware/treasure2/client/model/CauldronChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/CauldronChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/CauldronChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/CauldronChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/ClamChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/ClamChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/ClamChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/ClamChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/CompressorChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/CompressorChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/CompressorChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/CompressorChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/CrateChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/CrateChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/CrateChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/CrateChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/DreadPirateChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/DreadPirateChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/DreadPirateChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/DreadPirateChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/ITreasureChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/ITreasureChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/ITreasureChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/ITreasureChestModel.java diff --git a/src/main/java/com/someguyssoftware/treasure2/client/model/MilkCrateModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/MilkCrateModel.java new file mode 100644 index 000000000..24146d181 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/client/model/MilkCrateModel.java @@ -0,0 +1,102 @@ +package com.someguyssoftware.treasure2.client.model; + +import com.someguyssoftware.treasure2.tileentity.ITreasureChestTileEntity; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class MilkCrateModel extends ModelBase implements ITreasureChestModel { + private final ModelRenderer northFace; + private final ModelRenderer lid; + private final ModelRenderer padBottom; + private final ModelRenderer southFace; + private final ModelRenderer eastFace; + private final ModelRenderer westFace; + private final ModelRenderer bottomFace; + + public MilkCrateModel() { + textureWidth = 128; + textureHeight = 128; + + northFace = new ModelRenderer(this); + northFace.setRotationPoint(0.0F, 14.0F, 7.0F); + northFace.setTextureOffset(41, 8).addBox(-7.0F, 7.0F, -14.0F, 14, 3, 1, false); + northFace.setTextureOffset(42, 5).addBox(-7.0F, 3.0F, -14.0F, 14, 3, 1, false); + northFace.setTextureOffset(42, 1).addBox(-7.0F, -0.9F, -14.0F, 14, 3, 1, false); + northFace.setTextureOffset(0, 0).addBox(5.1F, -1.0F, -14.1F, 2, 11, 2, false); + northFace.setTextureOffset(0, 0).addBox(-7.1F, -1.0F, -14.1F, 2, 11, 2, false); + + lid = new ModelRenderer(this); + lid.setRotationPoint(0.0F, 13.0F, 7.0F); + lid.setTextureOffset(0, 0).addBox(-7.0F, -2.0F, -14.0F, 14, 2, 14, false); + lid.setTextureOffset(0, 16).addBox(-2.0F, -2.0F, -14.2F, 4, 2, 1, false); + lid.setTextureOffset(8, 8).addBox(-1.0F, -1.0F, -15.0F, 2, 2, 1, false); + + padBottom = new ModelRenderer(this); + padBottom.setRotationPoint(0.0F, 15.0F, 7.0F); + padBottom.setTextureOffset(0, 19).addBox(-2.0F, -2.0F, -14.2F, 4, 2, 1, false); + + southFace = new ModelRenderer(this); + southFace.setRotationPoint(0.0F, 14.0F, 7.0F); + southFace.setTextureOffset(42, 8).addBox(-7.0F, 7.0F, -1.0F, 14, 3, 1, false); + southFace.setTextureOffset(42, 5).addBox(-7.0F, 3.0F, -1.0F, 14, 3, 1, false); + southFace.setTextureOffset(42, 1).addBox(-7.0F, -0.9F, -1.0F, 14, 3, 1, false); + southFace.setTextureOffset(0, 0).addBox(5.1F, -1.0F, -1.9F, 2, 11, 2, false); + southFace.setTextureOffset(0, 0).addBox(-7.1F, -1.0F, -1.9F, 2, 11, 2, false); + + eastFace = new ModelRenderer(this); + eastFace.setRotationPoint(0.0F, 14.0F, 7.0F); + eastFace.setTextureOffset(0, 44).addBox(-7.0F, 7.0F, -13.0F, 1, 3, 12, false); + eastFace.setTextureOffset(26, 29).addBox(-7.0F, 3.0F, -13.0F, 1, 3, 12, false); + eastFace.setTextureOffset(0, 29).addBox(-7.0F, -0.9F, -13.0F, 1, 3, 12, false); + + westFace = new ModelRenderer(this); + westFace.setRotationPoint(0.0F, 14.0F, 7.0F); + westFace.setTextureOffset(0, 44).addBox(6.0F, 7.0F, -13.0F, 1, 3, 12, false); + westFace.setTextureOffset(26, 29).addBox(6.0F, 3.0F, -13.0F, 1, 3, 12, false); + westFace.setTextureOffset(0, 29).addBox(6.0F, -0.9F, -13.0F, 1, 3, 12, false); + + bottomFace = new ModelRenderer(this); + bottomFace.setRotationPoint(0.0F, 24.0F, 0.0F); + bottomFace.setTextureOffset(0, 16).addBox(-6.0F, -1.0F, -6.0F, 12, 1, 12, false); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + lid.render(f5); + padBottom.render(f5); + northFace.render(f5); + southFace.render(f5); + eastFace.render(f5); + westFace.render(f5); + bottomFace.render(f5); + } + + public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } + + @Override + public void renderAll(ITreasureChestTileEntity te) { + float angle = 0.0625F; + + lid.render(angle); + padBottom.render(angle); + northFace.render(angle); + southFace.render(angle); + eastFace.render(angle); + westFace.render(angle); + bottomFace.render(angle); + } + + @Override + public ModelRenderer getLid() { + return lid; + } + +} \ No newline at end of file diff --git a/src/com/someguyssoftware/treasure2/client/model/MimicModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/MimicModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/MimicModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/MimicModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/OysterChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/OysterChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/OysterChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/OysterChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/SafeModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/SafeModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/SafeModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/SafeModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/SkullChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/SkullChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/SkullChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/SkullChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/SpiderChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/SpiderChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/SpiderChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/SpiderChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/StandardChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/StandardChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/StandardChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/StandardChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/StrongboxModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/StrongboxModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/StrongboxModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/StrongboxModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/VikingChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/VikingChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/VikingChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/VikingChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/model/WitherChestModel.java b/src/main/java/com/someguyssoftware/treasure2/client/model/WitherChestModel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/model/WitherChestModel.java rename to src/main/java/com/someguyssoftware/treasure2/client/model/WitherChestModel.java diff --git a/src/com/someguyssoftware/treasure2/client/render/entity/BoundSoulRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/entity/BoundSoulRenderer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/render/entity/BoundSoulRenderer.java rename to src/main/java/com/someguyssoftware/treasure2/client/render/entity/BoundSoulRenderer.java diff --git a/src/com/someguyssoftware/treasure2/client/render/entity/MimicEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/entity/MimicEntityRenderer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/render/entity/MimicEntityRenderer.java rename to src/main/java/com/someguyssoftware/treasure2/client/render/entity/MimicEntityRenderer.java diff --git a/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CardboardBoxTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CardboardBoxTileEntityRenderer.java new file mode 100644 index 000000000..6054e4dfe --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CardboardBoxTileEntityRenderer.java @@ -0,0 +1,64 @@ +/** + * + */ +package com.someguyssoftware.treasure2.client.render.tileentity; + +import com.someguyssoftware.treasure2.client.model.CardboardBoxModel; +import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; +import com.someguyssoftware.treasure2.lock.LockState; +import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; +import com.someguyssoftware.treasure2.tileentity.CardboardBoxTileEntity; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms; +import net.minecraft.item.ItemStack; + +/** + * @author Mark Gottschling onJan 9, 2018 + * + */ +public class CardboardBoxTileEntityRenderer extends TreasureChestTileEntityRenderer { + + /** + * + * @param texture + */ + public CardboardBoxTileEntityRenderer(String texture, ITreasureChestModel model) { + super(texture, model); + } + + @Override + public void updateModelLidRotation(AbstractTreasureChestTileEntity te, float partialTicks) { + CardboardBoxTileEntity cte = (CardboardBoxTileEntity) te; + + // update in the inner lid + float innerLidRotation = cte.prevInnerLidAngle + (cte.innerLidAngle - cte.prevInnerLidAngle) * partialTicks; + innerLidRotation = 1.0F - innerLidRotation; + innerLidRotation = 1.0F - innerLidRotation * innerLidRotation * innerLidRotation; + ((CardboardBoxModel)getModel()).getInnerLid().rotateAngleX = (innerLidRotation * (float) Math.PI / getAngleModifier()); // not negated + + float lidRotation = te.prevLidAngle + (te.lidAngle - te.prevLidAngle) * partialTicks; + lidRotation = 1.0F - lidRotation; + lidRotation = 1.0F - lidRotation * lidRotation * lidRotation; + getModel().getLid().rotateAngleZ = -(lidRotation * (float) Math.PI / getAngleModifier()); + } + + @Override + public float getAngleModifier() { + return 0.8F; + } + + @Override + public void updateLockRotation(LockState lockState) { + // rotate the locks on the x axis to lay flat + GlStateManager.rotate(90, 1.0F, 0.0F, 0.0F); // NOTE changed from Y to X axis + // rotate lock to the correct direction that the block is facing. + GlStateManager.rotate(lockState.getSlot().getRotation(), 0.0F, 0.0F, 1.0F); // NOTE now Z axis is the Y axis since we rotated on the X axis first. + } + + @Override + public void updateLockScale() { + GlStateManager.scale(0.35F, 0.35F, 0.35F); + } +} \ No newline at end of file diff --git a/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CauldronChestTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CauldronChestTileEntityRenderer.java new file mode 100644 index 000000000..1c40d5264 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CauldronChestTileEntityRenderer.java @@ -0,0 +1,49 @@ +/** + * + */ +package com.someguyssoftware.treasure2.client.render.tileentity; + +import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; +import com.someguyssoftware.treasure2.lock.LockState; +import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; +import com.someguyssoftware.treasure2.tileentity.CauldronChestTileEntity; + +import net.minecraft.client.renderer.GlStateManager; + +/** + * @author Mark Gottschling onJan 9, 2018 + * + */ +public class CauldronChestTileEntityRenderer extends TreasureChestTileEntityRenderer { + + /** + * + * @param texture + */ + public CauldronChestTileEntityRenderer(String texture, ITreasureChestModel model) { + super(texture, model); + } + + @Override + public void updateModelLidRotation(AbstractTreasureChestTileEntity te, float partialTicks) { + CauldronChestTileEntity cte = (CauldronChestTileEntity) te; + float lidRotation = cte.prevLidAngle + (cte.lidAngle - cte.prevLidAngle) * partialTicks; + lidRotation = 1.0F - lidRotation; + lidRotation = 1.0F - lidRotation * lidRotation * lidRotation; + // NOTE positive rotation here (getLid() returns lidLeft property) + getModel().getLid().rotateAngleZ = (lidRotation * (float)Math.PI / getAngleModifier()); + } + + @Override + public void updateLockRotation(LockState lockState) { + // rotate the locks on the x axis to lay flat + GlStateManager.rotate(90, 1.0F, 0.0F, 0.0F); // NOTE changed from Y to X axis + // rotate lock to the correct direction that the block is facing. + GlStateManager.rotate(lockState.getSlot().getRotation(), 0.0F, 0.0F, 1.0F); // NOTE now Z axis is the Y axis since we rotated on the X axis first. + } + + @Override + public void updateLockScale() { + GlStateManager.scale(0.35F, 0.35F, 0.35F); + } +} \ No newline at end of file diff --git a/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CompressorChestTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CompressorChestTileEntityRenderer.java new file mode 100644 index 000000000..a7ababf71 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CompressorChestTileEntityRenderer.java @@ -0,0 +1,41 @@ +/** + * + */ +package com.someguyssoftware.treasure2.client.render.tileentity; + +import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; + +import net.minecraft.client.renderer.GlStateManager; + +/** + * + * @author Mark Gottschling on Mar 23, 2018 + * + */ +public class CompressorChestTileEntityRenderer extends TreasureChestTileEntityRenderer { + + /** + * + * @param texture + */ + public CompressorChestTileEntityRenderer(String texture, ITreasureChestModel model) { + super(texture, model); + } + + @Override + public void updateTranslation(double x, double y, double z) { + // initial position (centered moved up only half as normal as the size if half as normal) + GlStateManager.translate((float)x + 0.5F, (float)y + 0.75F, (float)z + 0.5F); + } + + @Override + public void updateScale() { + // shrink the size of the chest by half + GlStateManager.scale(0.5F, 0.5F, 0.5F); + } + + @Override + public void updateLockScale() { + GlStateManager.scale(0.20F, 0.20F, 0.20F); + } +} diff --git a/src/com/someguyssoftware/treasure2/client/render/tileentity/CrateChestTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CrateChestTileEntityRenderer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/render/tileentity/CrateChestTileEntityRenderer.java rename to src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/CrateChestTileEntityRenderer.java diff --git a/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/ITreasureChestTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/ITreasureChestTileEntityRenderer.java new file mode 100644 index 000000000..200dcda55 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/ITreasureChestTileEntityRenderer.java @@ -0,0 +1,119 @@ +package com.someguyssoftware.treasure2.client.render.tileentity; + +import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; +import com.someguyssoftware.treasure2.lock.LockState; +import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; + +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.util.ResourceLocation; + +public interface ITreasureChestTileEntityRenderer { + + int NORTH = 2; + int SOUTH = 3; + int WEST = 4; + int EAST = 5; + + /** + * + * @param meta + * @return + */ + default public int getRotation(int meta) { + switch (meta) { + case NORTH: + return 0; + case SOUTH: + return 180; + case WEST: + return -90; + case EAST: + return 90; + } + return 0; + } + + /** + * + * @param x + * @param y + * @param z + */ + default public void updateTranslation(double x, double y, double z) { + GlStateManager.translate((float)x + 0.5F, (float)y + 1.5F, (float)z + 0.5F); + } + + /** + * + */ + default public void updateScale() { + GlStateManager.scale(1F, 1F, 1F); + } + + /** + * + */ + default public void updateLockScale() { + GlStateManager.scale(0.5F, 0.5F, 0.5F); + } + + /** + * + * @param lockState + */ + default public void updateLockRotation(LockState lockState) { + GlStateManager.rotate(lockState.getSlot().getRotation(), 0F, 1.0F, 0.0F); + } + + /** + * + * @param te + * @param partialTicks + */ + default public void updateModelLidRotation(AbstractTreasureChestTileEntity te, float partialTicks) { + float lidRotation = te.prevLidAngle + (te.lidAngle - te.prevLidAngle) * partialTicks; + lidRotation = 1.0F - lidRotation; + lidRotation = 1.0F - lidRotation * lidRotation * lidRotation; + getModel().getLid().rotateAngleX = -(lidRotation * (float) Math.PI / getAngleModifier()); + } + + /** + * @return the texture + */ + ResourceLocation getTexture(); + + /** + * @param texture + * the texture to set + */ + void setTexture(ResourceLocation texture); + + /** + * @return the model + */ + ITreasureChestModel getModel(); + + /** + * @param model + * the model to set + */ + void setModel(ITreasureChestModel model); + + /** + * Modifies the max angle that the lid can swing. + * The max swing angle by default is 180 degrees. The max swing angle is divided the modifier. + * Increasing the size of the modifier reduces the size of the max swing angle. + * Ex: + * Return 0.8 = 225 degrees + * Return 1.0 = 180 degrees + * Return 2.0 = 90 degrees + * Return 3.0 = 60 degrees + * Return 4.0 = 45 degrees + * + * @return + */ + default public float getAngleModifier() { + return 2.0F; + } + +} \ No newline at end of file diff --git a/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/MilkCrateTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/MilkCrateTileEntityRenderer.java new file mode 100644 index 000000000..1d03e3d80 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/MilkCrateTileEntityRenderer.java @@ -0,0 +1,41 @@ +/** + * + */ +package com.someguyssoftware.treasure2.client.render.tileentity; + +import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; + +import net.minecraft.client.renderer.GlStateManager; + +/** + * + * @author Mark Gottschling on Mar 23, 2018 + * + */ +public class MilkCrateTileEntityRenderer extends TreasureChestTileEntityRenderer { + + /** + * + * @param texture + */ + public MilkCrateTileEntityRenderer(String texture, ITreasureChestModel model) { + super(texture, model); + } + + @Override + public void updateTranslation(double x, double y, double z) { + // initial position (centered moved up only half as normal as the size if half as normal) + GlStateManager.translate((float)x + 0.5F, (float)y + 1.15625F, (float)z + 0.5F); + } + + @Override + public void updateScale() { + // shrink the size of the chest by half + GlStateManager.scale(0.75F, 0.75F, 0.75F); + } + + @Override + public void updateLockScale() { + GlStateManager.scale(0.28F, 0.28F, 0.28F); + } +} diff --git a/src/com/someguyssoftware/treasure2/client/render/tileentity/MolluscChestTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/MolluscChestTileEntityRenderer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/render/tileentity/MolluscChestTileEntityRenderer.java rename to src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/MolluscChestTileEntityRenderer.java diff --git a/src/com/someguyssoftware/treasure2/client/render/tileentity/SafeTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/SafeTileEntityRenderer.java similarity index 67% rename from src/com/someguyssoftware/treasure2/client/render/tileentity/SafeTileEntityRenderer.java rename to src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/SafeTileEntityRenderer.java index 666aa3f1e..12b69da47 100644 --- a/src/com/someguyssoftware/treasure2/client/render/tileentity/SafeTileEntityRenderer.java +++ b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/SafeTileEntityRenderer.java @@ -80,15 +80,7 @@ public void render(AbstractTreasureChestTileEntity te, double x, double y, doubl GlStateManager.rotate((float)rotation, 0.0F, 1.0F, 0.0F); SafeTileEntity ste = (SafeTileEntity) te; -// float latchRotation = ste.prevLatchAngle + (ste.latchAngle - ste.prevLatchAngle) * partialTicks; -// latchRotation = 1.0F - latchRotation; -// latchRotation = 1.0F - latchRotation * latchRotation * latchRotation; -// model.getLatch1().rotateAngleX = -(latchRotation * (float)Math.PI / 2.0F); - -// float latchSlide = ste.prevLatchPos + (ste.latchPos - ste.prevLatchPos) * partialTicks; -// latchSlide = 1.0F - latchSlide; -// model.latch1.rotationPointX += latchSlide; - + if (ste.isLidClosed) { float handleRotation = ste.prevHandleAngle + (ste.handleAngle - ste.prevHandleAngle) * partialTicks; handleRotation = 1.0F - handleRotation; @@ -124,37 +116,9 @@ public void render(AbstractTreasureChestTileEntity te, double x, double y, doubl ////////////// end of render the locks ////////////////////////////////////// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); } - - /** - * - * @param te - * @param x - * @param y - * @param z - */ + @Override - public void renderLocks(AbstractTreasureChestTileEntity te, double x, double y, double z) { - // render locks - for (LockState lockState : te.getLockStates()) { - if (lockState.getLock() != null) { - // convert lock to an item stack - ItemStack lockStack = new ItemStack(lockState.getLock()); - - GlStateManager.pushMatrix(); - // NOTE when rotating the item to match the face of chest, must adjust the amount of offset to the x,z axises and - // not rotate() the item - rotate() just spins it in place, not around the axis of the block - GlStateManager.translate( - (float)x + lockState.getSlot().getXOffset(), - (float)y + lockState.getSlot().getYOffset(), - (float)z + lockState.getSlot().getZOffset()); - GlStateManager.rotate(lockState.getSlot().getRotation(), 0F, 1.0F, 0.0F); - // TODO would be better if there was a property for scale - // reduce the size of the locks - GlStateManager.scale(0.3F, 0.3F, 0.3F); - Minecraft.getMinecraft().getRenderItem().renderItem(lockStack, ItemCameraTransforms.TransformType.NONE); - GlStateManager.popMatrix(); - } - } - } - + public void updateLockScale() { + GlStateManager.scale(0.3F, 0.3F, 0.3F); + } } diff --git a/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/SkullChestTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/SkullChestTileEntityRenderer.java new file mode 100644 index 000000000..11125c9b0 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/SkullChestTileEntityRenderer.java @@ -0,0 +1,41 @@ +/** + * + */ +package com.someguyssoftware.treasure2.client.render.tileentity; + +import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; +import com.someguyssoftware.treasure2.lock.LockState; +import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms; +import net.minecraft.item.ItemStack; + +/** + * @author Mark Gottschling on Jan 9, 2018 + * + */ +public class SkullChestTileEntityRenderer extends TreasureChestTileEntityRenderer { + + /** + * + * @param texture + */ + public SkullChestTileEntityRenderer(String texture, ITreasureChestModel model) { + super(texture, model); + } + + /** + * Set the max swing angle of 60 degrees + */ + @Override + public float getAngleModifier() { + return 3.0F; + } + + @Override + public void updateLockScale() { + GlStateManager.scale(0.25F, 0.25F, 0.25F); + } +} diff --git a/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/StrongboxTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/StrongboxTileEntityRenderer.java new file mode 100644 index 000000000..441252707 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/StrongboxTileEntityRenderer.java @@ -0,0 +1,33 @@ +/** + * + */ +package com.someguyssoftware.treasure2.client.render.tileentity; + +import com.someguyssoftware.treasure2.client.model.ITreasureChestModel; +import com.someguyssoftware.treasure2.lock.LockState; +import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.block.model.ItemCameraTransforms; +import net.minecraft.item.ItemStack; + +/** + * @author Mark Gottschling on Jan 9, 2018 + * + */ +public class StrongboxTileEntityRenderer extends TreasureChestTileEntityRenderer { + + /** + * + * @param texture + */ + public StrongboxTileEntityRenderer(String texture, ITreasureChestModel model) { + super(texture, model); + } + + @Override + public void updateLockScale() { + GlStateManager.scale(0.25F, 0.25F, 0.25F); + } +} diff --git a/src/com/someguyssoftware/treasure2/client/render/tileentity/TreasureChestTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/TreasureChestTileEntityRenderer.java similarity index 69% rename from src/com/someguyssoftware/treasure2/client/render/tileentity/TreasureChestTileEntityRenderer.java rename to src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/TreasureChestTileEntityRenderer.java index 5dc613a61..0f413f9d5 100644 --- a/src/com/someguyssoftware/treasure2/client/render/tileentity/TreasureChestTileEntityRenderer.java +++ b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/TreasureChestTileEntityRenderer.java @@ -19,12 +19,7 @@ * @author Mark Gottschling onJan 9, 2018 * */ -public class TreasureChestTileEntityRenderer extends TileEntitySpecialRenderer { - public static final int NORTH = 2; - public static final int SOUTH = 3; - public static final int WEST = 4; - public static final int EAST = 5; - +public class TreasureChestTileEntityRenderer extends TileEntitySpecialRenderer implements ITreasureChestTileEntityRenderer { private ResourceLocation texture; private ITreasureChestModel model; @@ -97,18 +92,19 @@ public void render(AbstractTreasureChestTileEntity te, double x, double y, doubl // start render matrix GlStateManager.pushMatrix(); + // initial position (centered moved up) - // (chest entity were created in Techne and need different translations than - // vanilla tile entities) - GlStateManager.translate((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + updateTranslation(x, y, z); - // This rotation part is very important! Without it, your model will render - // upside-down. + // This rotation part is very important! Without it, your model will render upside-down. // (rotate 180 degrees around the z-axis) GlStateManager.rotate(180F, 0F, 0F, 1.0F); // rotate block to the correct direction that it is facing. GlStateManager.rotate((float) rotation, 0.0F, 1.0F, 0.0F); - + + // add scale method + updateScale(); + // update the lid rotation updateModelLidRotation(te, partialTicks); @@ -122,60 +118,14 @@ public void render(AbstractTreasureChestTileEntity te, double x, double y, doubl popDestroyGlState(destroyStage); ////////////// render the locks ////////////////////////////////////// - if (!te.getLockStates().isEmpty()) { + if (te.getLockStates() != null && !te.getLockStates().isEmpty()) { renderLocks(te, x, y, z); } + ////////////// end of render the locks ////////////////////////////////////// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); } - // TODO move out to interface - /** - * - * @param te - * @param partialTicks - */ - public void updateModelLidRotation(AbstractTreasureChestTileEntity te, float partialTicks) { - float lidRotation = te.prevLidAngle + (te.lidAngle - te.prevLidAngle) * partialTicks; - lidRotation = 1.0F - lidRotation; - lidRotation = 1.0F - lidRotation * lidRotation * lidRotation; - model.getLid().rotateAngleX = -(lidRotation * (float) Math.PI / getAngleModifier()); - } - - /** - * Modifies the max angle that the lid can swing. - * The max swing angle by default is 180 degrees. The max swing angle is divided the modifier. - * Increasing the size of the modifier reduces the size of the max swing angle. - * Ex: - * Return 2.0 = 90 degrees - * Return 3.0 = 60 degrees - * Return 4.0 = 45 degrees - * - * @return - */ - public float getAngleModifier() { - return 2.0F; - } - - /** - * - * @param meta - * @return - */ - public int getRotation(int meta) { - switch (meta) { - case NORTH: - return 0; - case SOUTH: - return 180; - case WEST: - return -90; - case EAST: - return 90; - } - return 0; - } - /** * * @param te @@ -194,12 +144,15 @@ public void renderLocks(AbstractTreasureChestTileEntity te, double x, double y, GlStateManager.pushMatrix(); // NOTE when rotating the item to match the face of chest, must adjust the - // amount of offset to the x,z axises and - // not rotate() the item - rotate() just spins it in place, not around the axis - // of the block - GlStateManager.translate((float) x + lockState.getSlot().getXOffset(), (float) y + lockState.getSlot().getYOffset(), (float) z + lockState.getSlot().getZOffset()); - GlStateManager.rotate(lockState.getSlot().getRotation(), 0F, 1.0F, 0.0F); - GlStateManager.scale(0.5F, 0.5F, 0.5F); + // amount of offset to the x,z axises and not rotate() the item - rotate() just + // spins it in place, not around the axis of the block + GlStateManager.translate( + (float) x + lockState.getSlot().getXOffset(), + (float) y + lockState.getSlot().getYOffset(), + (float) z + lockState.getSlot().getZOffset()); +// GlStateManager.rotate(lockState.getSlot().getRotation(), 0F, 1.0F, 0.0F); + updateLockRotation(lockState); + updateLockScale(); Minecraft.getMinecraft().getRenderItem().renderItem(lockStack, ItemCameraTransforms.TransformType.NONE); GlStateManager.popMatrix(); } @@ -209,6 +162,7 @@ public void renderLocks(AbstractTreasureChestTileEntity te, double x, double y, /** * @return the texture */ + @Override public ResourceLocation getTexture() { return texture; } @@ -217,6 +171,7 @@ public ResourceLocation getTexture() { * @param texture * the texture to set */ + @Override public void setTexture(ResourceLocation texture) { this.texture = texture; } @@ -224,6 +179,7 @@ public void setTexture(ResourceLocation texture) { /** * @return the model */ + @Override public ITreasureChestModel getModel() { return model; } @@ -232,6 +188,7 @@ public ITreasureChestModel getModel() { * @param model * the model to set */ + @Override public void setModel(ITreasureChestModel model) { this.model = model; } diff --git a/src/com/someguyssoftware/treasure2/client/render/tileentity/WitherChestTileEntityRenderer.java b/src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/WitherChestTileEntityRenderer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/client/render/tileentity/WitherChestTileEntityRenderer.java rename to src/main/java/com/someguyssoftware/treasure2/client/render/tileentity/WitherChestTileEntityRenderer.java diff --git a/src/main/java/com/someguyssoftware/treasure2/command/SpawnChestCommand.java b/src/main/java/com/someguyssoftware/treasure2/command/SpawnChestCommand.java new file mode 100644 index 000000000..f21cc52fd --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/command/SpawnChestCommand.java @@ -0,0 +1,322 @@ +/** + * + */ +package com.someguyssoftware.treasure2.command; + +import static com.someguyssoftware.treasure2.Treasure.logger; +import com.someguyssoftware.treasure2.block.TreasureBlocks; + + +import java.util.Arrays; +import java.util.Collections; +import java.util.EnumSet; +import java.util.List; +import java.util.Optional; +import java.util.Random; +import java.util.stream.Collectors; + +import javax.annotation.Nullable; + +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.CommandLineParser; +import org.apache.commons.cli.DefaultParser; +import org.apache.commons.cli.Options; + +import com.someguyssoftware.gottschcore.enums.Direction; +import com.someguyssoftware.gottschcore.loot.LootTableShell; +import com.someguyssoftware.treasure2.Treasure; +import com.someguyssoftware.treasure2.block.AbstractChestBlock; +import com.someguyssoftware.treasure2.block.TreasureChestBlock; +import com.someguyssoftware.treasure2.enums.ChestGeneratorType; +import com.someguyssoftware.treasure2.enums.Rarity; +import com.someguyssoftware.treasure2.enums.WorldGeneratorType; +import com.someguyssoftware.treasure2.generator.chest.IChestGenerator; +import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; +import com.someguyssoftware.treasure2.worldgen.SurfaceChestWorldGenerator; + +import net.minecraft.block.Block; +import net.minecraft.command.CommandBase; +import net.minecraft.command.ICommandSender; +import net.minecraft.server.MinecraftServer; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +/** + * + * @author Mark Gottschling on Feb 10, 2017 + * + */ +public class SpawnChestCommand extends CommandBase { + private static final String RARITY_ARG = "rarity"; + private static final String FACING_ARG = "facing"; + private static final String CHEST_ARG = "chest"; + private static final String LOCKED_ARG = "locked"; + private static final String SEALED_ARG = "sealed"; +// private static final String LOCKS_ARG = "locks"; +// private static final String LOOTTABLE_ARG = "loottable"; + + private enum Chests { + WOOD(TreasureBlocks.WOOD_CHEST), + CRATE(TreasureBlocks.CRATE_CHEST), + MOLDY_CRATE(TreasureBlocks.MOLDY_CRATE_CHEST), + IRON_BOUND(TreasureBlocks.IRONBOUND_CHEST), + PIRATE(TreasureBlocks.PIRATE_CHEST), + IRON_STRONGBOX(TreasureBlocks.IRON_STRONGBOX), + GOLD_STRONGBOX(TreasureBlocks.GOLD_STRONGBOX), + SAFE(TreasureBlocks.SAFE), + DREAD_PIRATE(TreasureBlocks.DREAD_PIRATE_CHEST), + COMPRESSOR(TreasureBlocks.COMPRESSOR_CHEST), + SPIDER(TreasureBlocks.SPIDER_CHEST), + VIKING(TreasureBlocks.VIKING_CHEST), + CARDBOARD_BOX(TreasureBlocks.CARDBOARD_BOX), + MILK_CRATE(TreasureBlocks.MILK_CRATE), + WITHER(TreasureBlocks.WITHER_CHEST), + SKULL(TreasureBlocks.SKULL_CHEST), + GOLD_SKULL(TreasureBlocks.GOLD_SKULL_CHEST), + CRYSTAL_SKULL(TreasureBlocks.CRYSTAL_SKULL_CHEST), + CAULDRON(TreasureBlocks.CAULDRON_CHEST); + + Block chest; + + Chests(Block chestBlock) { + this.chest = chestBlock; + } + public static List getNames() { + List names = EnumSet.allOf(Chests.class).stream().map(x -> x.name()).collect(Collectors.toList()); + return names; + } + } + + @Override + public String getName() { + return "t2-chest"; + } + + @Override + public String getUsage(ICommandSender var1) { + return "/t2-chest [-rarity ] [-facing ] [-chest ] [-locked] [-sealed]: generates a Treasure! chest at location (x,y,z)"; + // [-locks ] + // [-loottable ] + } + + /** + * Return the required permission level for this command. + */ + @Override + public int getRequiredPermissionLevel() { + return 2; + } + + @Override + public void execute(MinecraftServer server, ICommandSender commandSender, String[] args) { + Treasure.logger.debug("Starting to spawn Treasure! chest ..."); + try { + + int x, y, z = 0; + x = getPositionValue(args[0], commandSender, 'x'); + y = getPositionValue(args[1], commandSender, 'y'); + z = getPositionValue(args[2], commandSender, 'z'); + + String[] parserArgs = (String[]) Arrays.copyOfRange(args, 3, args.length); + + // create the parser + CommandLineParser parser = new DefaultParser(); + + // create Options object + Options options = new Options(); + options.addOption(RARITY_ARG, true, ""); + options.addOption(FACING_ARG, true, ""); + options.addOption(CHEST_ARG, true, ""); + options.addOption(LOCKED_ARG, false, ""); + options.addOption(SEALED_ARG, false, ""); + + // parse the command line arguments + CommandLine line = parser.parse(options, parserArgs); + + // get the rarity enum + Rarity rarity = Rarity.COMMON; + if (line.hasOption(RARITY_ARG)) { + String rarityArg = line.getOptionValue(RARITY_ARG); + try { + rarity = Rarity.valueOf(rarityArg.toUpperCase()); + } + catch(Exception e) { + logger.warn("unable to set rarity to -> {}, defaulting to {}", rarityArg, rarity); + } + } + if (logger.isDebugEnabled()) { + logger.debug("rarity -> {}", rarity); + } + + // get the direction enum + Direction direction = Direction.NORTH; + if (line.hasOption(FACING_ARG)) { + String directionArg = line.getOptionValue(FACING_ARG); + try { + direction = Direction.valueOf(directionArg.toUpperCase()); + } + catch(Exception e) { + logger.warn("unable to set direction to -> {}, defaulting to NORTH", directionArg); + } + } + if (logger.isDebugEnabled()) { + logger.debug("facing -> {}", direction); + } + + // get the direction enum + Optional chests = Optional.empty(); + Block chest = null; + if (line.hasOption(CHEST_ARG)) { + String chestArg = line.getOptionValue(CHEST_ARG); + try { + chests = Optional.of(Chests.valueOf(chestArg.toUpperCase())); + } + catch(Exception e) { + logger.warn("unable to set chest to -> {}, defaulting based on rarity", chestArg); + } + } + if (logger.isDebugEnabled() && chests.isPresent()) { + logger.debug("chest -> {}", chests.get()); + } + + // TODO get the loottable property + // TODO get the locks property + + World world = commandSender.getEntityWorld(); + Random random = new Random(); + + // get the chest world generator + IChestGenerator gen = null; + if (chests.isPresent() && ChestGeneratorType.getNames().contains(chests.get().name())) { + gen = ChestGeneratorType.valueOf(chests.get().name()).getChestGenerator(); + } + else { + SurfaceChestWorldGenerator chestGens = (SurfaceChestWorldGenerator) Treasure.WORLD_GENERATORS + .get(WorldGeneratorType.SURFACE_CHEST); + // get the rarity chest generator + gen = chestGens.getChestGenMap().get(rarity).next(); + } + + // select the chest + if (chests.isPresent()) { + chest = chests.get().chest; + } + else { + chest = gen.selectChest(random, rarity); + } + + // place the chest + BlockPos pos = new BlockPos(x, y, z); + world.setBlockState(pos, chest.getDefaultState().withProperty(TreasureChestBlock.FACING, direction.toFacing())); + + // select loot table + // TODO determine if a loottable override has been specified + Optional lootTableShell = gen.selectLootTable2(random, rarity); + ResourceLocation lootTableResourceLocation = null; + if (lootTableShell.isPresent()) { + lootTableResourceLocation = lootTableShell.get().getResourceLocation(); + } + if (lootTableResourceLocation == null) { + logger.debug("Unable to select a LootTable for rarity -> {}", rarity); + return; + } + + AbstractTreasureChestTileEntity tileEntity = (AbstractTreasureChestTileEntity) world.getTileEntity(pos); + if (tileEntity != null) { + // add the loot table + if (line.hasOption(LOCKED_ARG) || line.hasOption(SEALED_ARG)) { + gen.addLootTable((AbstractTreasureChestTileEntity) tileEntity, lootTableResourceLocation); + + // seal the chest + gen.addSeal((AbstractTreasureChestTileEntity) tileEntity); + } + + // update the backing tile entity's generation contxt + gen.addGenerationContext((AbstractTreasureChestTileEntity) tileEntity, rarity); + + if (line.hasOption(LOCKED_ARG)) { + // add the locks + gen.addLocks(random, (AbstractChestBlock)chest, (AbstractTreasureChestTileEntity) tileEntity, rarity); + // rotate the locks + ((AbstractChestBlock)chest).rotateLockStates(world, pos, Direction.NORTH.getRotation(direction)); + // update the client + ((AbstractTreasureChestTileEntity) tileEntity).sendUpdates(); + } + } + + } catch (Exception e) { + Treasure.logger.error("Error generating Treasure! chest: ", e); + } + } + + /** + * Get a list of options for when the user presses the TAB key + */ + @Override + public List getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, + @Nullable BlockPos targetPos) { + if (args.length > 3) { + if (args[args.length - 2].equals("-" + RARITY_ARG)) { + return getListOfStringsMatchingLastWord(args, Rarity.getNames()); + } + else if (args[args.length - 2].equals("-" + FACING_ARG)) { + return getListOfStringsMatchingLastWord(args, Direction.getHorizontalNames()); + } + else if (args[args.length - 2].equals("-" + CHEST_ARG)) { + return getListOfStringsMatchingLastWord(args, Chests.getNames()); + } + } + return Collections.emptyList(); + } + + /** + * Return the x, y, or z position for the whoever issued the command. + * coordinateValue should be 'x', 'y', or 'z'. + */ + private int getOriginValue(ICommandSender commandSender, char coordName) { + switch(coordName) { + case 'z': return commandSender.getPosition().getZ(); + case 'y': return commandSender.getPosition().getY(); + default: return commandSender.getPosition().getX(); + } + } + + /** + * Return the x, y, or z position based on the string entered. + * designed to detect relative positioning using ~. + * coordinateValue should be 'x', 'y', or 'z'. + */ + private int getPositionValue(String coordStr, ICommandSender commandSender, char coordName) { + int value = 0; + int origin = 0; + + // just ~ notation + if (coordStr.equals("~")) { + origin = getOriginValue (commandSender, coordName); + } + + // ~ plus number notation + else if (coordStr.charAt(0) == '~') { + try { + value = Integer.parseInt(coordStr.substring(1)); + } + catch (Exception e) { + Treasure.logger.error("Error with " + coordName + " coordinate: ", e); + value = 0; + } + origin = getOriginValue (commandSender, coordName); + } + // just number notation + else { + try { + value = Integer.parseInt(coordStr); + } + catch (Exception e) { + Treasure.logger.error("Error with " + coordName + " coordinate: ", e); + value = 0; + } + } + return value + origin; + } +} diff --git a/src/com/someguyssoftware/treasure2/command/SpawnOasisCommand.java b/src/main/java/com/someguyssoftware/treasure2/command/SpawnOasisCommand.java similarity index 100% rename from src/com/someguyssoftware/treasure2/command/SpawnOasisCommand.java rename to src/main/java/com/someguyssoftware/treasure2/command/SpawnOasisCommand.java diff --git a/src/com/someguyssoftware/treasure2/command/SpawnPitCommand.java b/src/main/java/com/someguyssoftware/treasure2/command/SpawnPitCommand.java similarity index 100% rename from src/com/someguyssoftware/treasure2/command/SpawnPitCommand.java rename to src/main/java/com/someguyssoftware/treasure2/command/SpawnPitCommand.java diff --git a/src/com/someguyssoftware/treasure2/command/SpawnPitOnlyCommand.java b/src/main/java/com/someguyssoftware/treasure2/command/SpawnPitOnlyCommand.java similarity index 100% rename from src/com/someguyssoftware/treasure2/command/SpawnPitOnlyCommand.java rename to src/main/java/com/someguyssoftware/treasure2/command/SpawnPitOnlyCommand.java diff --git a/src/com/someguyssoftware/treasure2/command/SpawnPitStructureOnlyCommand.java b/src/main/java/com/someguyssoftware/treasure2/command/SpawnPitStructureOnlyCommand.java similarity index 100% rename from src/com/someguyssoftware/treasure2/command/SpawnPitStructureOnlyCommand.java rename to src/main/java/com/someguyssoftware/treasure2/command/SpawnPitStructureOnlyCommand.java diff --git a/src/com/someguyssoftware/treasure2/command/SpawnRuinsCommand.java b/src/main/java/com/someguyssoftware/treasure2/command/SpawnRuinsCommand.java similarity index 100% rename from src/com/someguyssoftware/treasure2/command/SpawnRuinsCommand.java rename to src/main/java/com/someguyssoftware/treasure2/command/SpawnRuinsCommand.java diff --git a/src/com/someguyssoftware/treasure2/command/SpawnWellStructureCommand.java b/src/main/java/com/someguyssoftware/treasure2/command/SpawnWellStructureCommand.java similarity index 100% rename from src/com/someguyssoftware/treasure2/command/SpawnWellStructureCommand.java rename to src/main/java/com/someguyssoftware/treasure2/command/SpawnWellStructureCommand.java diff --git a/src/com/someguyssoftware/treasure2/command/SpawnWitherTreeCommand.java b/src/main/java/com/someguyssoftware/treasure2/command/SpawnWitherTreeCommand.java similarity index 100% rename from src/com/someguyssoftware/treasure2/command/SpawnWitherTreeCommand.java rename to src/main/java/com/someguyssoftware/treasure2/command/SpawnWitherTreeCommand.java diff --git a/src/com/someguyssoftware/treasure2/config/BiomesConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/BiomesConfig.java similarity index 100% rename from src/com/someguyssoftware/treasure2/config/BiomesConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/BiomesConfig.java diff --git a/src/com/someguyssoftware/treasure2/config/ChestConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/ChestConfig.java similarity index 100% rename from src/com/someguyssoftware/treasure2/config/ChestConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/ChestConfig.java diff --git a/src/com/someguyssoftware/treasure2/config/IBiomesConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/IBiomesConfig.java similarity index 100% rename from src/com/someguyssoftware/treasure2/config/IBiomesConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/IBiomesConfig.java diff --git a/src/com/someguyssoftware/treasure2/config/IChestConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/IChestConfig.java similarity index 100% rename from src/com/someguyssoftware/treasure2/config/IChestConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/IChestConfig.java diff --git a/src/com/someguyssoftware/treasure2/config/IOasisConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/IOasisConfig.java similarity index 100% rename from src/com/someguyssoftware/treasure2/config/IOasisConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/IOasisConfig.java diff --git a/src/com/someguyssoftware/treasure2/config/IWellConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/IWellConfig.java similarity index 100% rename from src/com/someguyssoftware/treasure2/config/IWellConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/IWellConfig.java diff --git a/src/com/someguyssoftware/treasure2/config/IWitherTreeConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/IWitherTreeConfig.java similarity index 100% rename from src/com/someguyssoftware/treasure2/config/IWitherTreeConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/IWitherTreeConfig.java diff --git a/src/com/someguyssoftware/treasure2/config/LoggerConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/LoggerConfig.java similarity index 100% rename from src/com/someguyssoftware/treasure2/config/LoggerConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/LoggerConfig.java diff --git a/src/com/someguyssoftware/treasure2/config/ModConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/ModConfig.java similarity index 100% rename from src/com/someguyssoftware/treasure2/config/ModConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/ModConfig.java diff --git a/src/com/someguyssoftware/treasure2/config/OasisConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/OasisConfig.java similarity index 100% rename from src/com/someguyssoftware/treasure2/config/OasisConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/OasisConfig.java diff --git a/src/com/someguyssoftware/treasure2/config/TreasureConfig.java b/src/main/java/com/someguyssoftware/treasure2/config/TreasureConfig.java similarity index 96% rename from src/com/someguyssoftware/treasure2/config/TreasureConfig.java rename to src/main/java/com/someguyssoftware/treasure2/config/TreasureConfig.java index e8b6c6437..4ff47f893 100644 --- a/src/com/someguyssoftware/treasure2/config/TreasureConfig.java +++ b/src/main/java/com/someguyssoftware/treasure2/config/TreasureConfig.java @@ -69,19 +69,22 @@ public class TreasureConfig implements IConfig, ILoggerConfig { @Ignore public static final String WITHER_CHEST_TOP_ID = "wither_chest_top"; @Ignore public static final String SKULL_CHEST_ID = "skull_chest"; @Ignore public static final String GOLD_SKULL_CHEST_ID = "gold_skull_chest"; + @Ignore public static final String CRYSTAL_SKULL_CHEST_ID = "crystal_skull_chest"; @Ignore public static final String CAULDRON_CHEST_ID = "cauldron_chest"; @Ignore public static final String SPIDER_CHEST_ID = "spider_chest"; @Ignore public static final String VIKING_CHEST_ID = "viking_chest"; - + @Ignore public static final String CARDBOARD_BOX_ID = "cardboard_box"; + @Ignore public static final String MILK_CRATE_ID = "milk_crate"; + // mimics @Ignore public static final String WOOD_MIMIC_ID = "wood_mimic"; @Ignore public static final String PIRATE_MIMIC_ID = "pirate_mimic"; // locks @Ignore public static final String WOOD_LOCK_ID = "wood_lock"; - @Ignore public static final String STONE_LOCK_ID = "stone_lock"; - @Ignore public static final String EMBER_LOCK_ID = "ember_lock"; - @Ignore public static final String LEAF_LOCK_ID = "leaf_lock"; + @Ignore public static final String STONE_LOCK_ID = "stone_lock"; + @Ignore public static final String EMBER_LOCK_ID = "ember_lock"; + @Ignore public static final String LEAF_LOCK_ID = "leaf_lock"; @Ignore public static final String IRON_LOCK_ID = "iron_lock"; @Ignore public static final String GOLD_LOCK_ID = "gold_lock"; @Ignore public static final String DIAMOND_LOCK_ID = "diamond_lock"; @@ -94,10 +97,10 @@ public class TreasureConfig implements IConfig, ILoggerConfig { // keys @Ignore public static final String WOOD_KEY_ID = "wood_key"; @Ignore public static final String STONE_KEY_ID = "stone_key"; - @Ignore public static final String EMBER_KEY_ID = "ember_key"; - @Ignore public static final String LEAF_KEY_ID = "leaf_key"; - @Ignore public static final String LIGHTNING_KEY_ID = "lightning_key"; - + @Ignore public static final String EMBER_KEY_ID = "ember_key"; + @Ignore public static final String LEAF_KEY_ID = "leaf_key"; + @Ignore public static final String LIGHTNING_KEY_ID = "lightning_key"; + @Ignore public static final String GOLD_KEY_ID = "gold_key"; @Ignore public static final String IRON_KEY_ID = "iron_key"; @Ignore public static final String DIAMOND_KEY_ID = "diamond_key"; @@ -118,7 +121,7 @@ public class TreasureConfig implements IConfig, ILoggerConfig { @Ignore public static final String LUCKY_POUCH_ID = "lucky_pouch"; @Ignore public static final String APPRENTICES_POUCH_ID = "apprentices_pouch"; @Ignore public static final String MASTERS_POUCH_ID = "masters_pouch"; - + @Ignore public static final String GOLD_COIN_ID = "gold_coin"; @Ignore public static final String SILVER_COIN_ID = "silver_coin"; @Ignore public static final String CHARMED_SILVER_COIN_ID = "charmed_silver_coin"; @@ -127,7 +130,7 @@ public class TreasureConfig implements IConfig, ILoggerConfig { @Ignore public static final String CHARMED_SAPPHIRE_ID ="charmed_sapphire"; @Ignore public static final String ANGEL_BLESSED_ID = "angel_blessed"; @Ignore public static final String MINERS_FRIEND_ID = "miners_friend"; - + @Ignore public static final String WHITE_PEARL_ID = "white_pearl"; @Ignore public static final String BLACK_PEARL_ID = "black_pearl"; @@ -167,7 +170,7 @@ public class TreasureConfig implements IConfig, ILoggerConfig { @Ignore public static final String GRAVESTONE1_SPAWNER_STONE_ID = "gravestone1_spawner_stone"; @Ignore public static final String GRAVESTONE2_SPAWNER_COBBLESTONE_ID = "gravestone2_spawner_cobblestone"; @Ignore public static final String GRAVESTONE3_SPAWNER_OBSIDIAN_ID = "gravestone3_spawner_obsidian"; - + @Ignore public static final String SKULL_CROSSBONES_ID = "skull_and_crossbones"; @Ignore public static final String SKELETON_ID = "skeleton"; @@ -207,7 +210,7 @@ public class TreasureConfig implements IConfig, ILoggerConfig { @Ignore public static final String FALLING_GRASS_ID = "falling_grass"; @Ignore public static final String FALLING_SAND_ID = "falling_sand"; @Ignore public static final String FALLING_RED_SAND_ID = "falling_red_sand"; - + @Ignore public static final String WITHER_PLANKS_ID = "wither_planks"; @Ignore public static final String SAPPHIRE_ORE_ID = "sapphire_ore"; @@ -234,11 +237,14 @@ public class TreasureConfig implements IConfig, ILoggerConfig { @Ignore public static final String WITHER_CHEST_TE_ID = "wither_chest_tile_entity"; @Ignore public static final String SKULL_CHEST_TE_ID = "skull_chest_tile_entity"; @Ignore public static final String GOLD_SKULL_CHEST_TE_ID = "gold_skull_chest_tile_entity"; + @Ignore public static final String CRYSTAL_SKULL_CHEST_TE_ID = "crystal_skull_chest_tile_entity"; @Ignore public static final String CAULDRON_CHEST_TE_ID = "cauldron_chest_tile_entity"; @Ignore public static final String OYSTER_CHEST_TE_ID = "oyster_chest_tile_entity"; @Ignore public static final String CLAM_CHEST_TE_ID = "clam_chest_tile_entity"; @Ignore public static final String SPIDER_CHEST_TE_ID = "spider_chest_tile_entity"; @Ignore public static final String VIKING_CHEST_TE_ID = "viking_chest_tile_entity"; + @Ignore public static final String CARDBOARD_BOX_TE_ID = "cardboard_box_tile_entity"; + @Ignore public static final String MILK_CRATE_TE_ID = "milk_crate_tile_entity"; @Ignore public static final String PROXIMITY_SPAWNER_TE_ID = "proximity_spawner_tile_entity"; @Ignore public static final String GRAVESTONE_TE_ID = "gravestone_tile_entity"; @Ignore public static final String GRAVESTONE_PROXIMITY_SPAWNER_TE_ID = "gravestone_proximity_spawner_tile_entity"; @@ -288,7 +294,7 @@ public class TreasureConfig implements IConfig, ILoggerConfig { public static final WorldGen WORLD_GEN = new WorldGen(); @Name("10 foreign mods") - @Comment("Foreign mod properties") + @Comment({"Foreign mod properties", "@Deprecated - As of v1.14.0, these properties are no longer used."}) public static final ForeignModEnablements FOREIGN_MODS = new ForeignModEnablements(); @Name("11 oasis") @@ -320,11 +326,11 @@ public static void init() { * */ public static class ForeignModEnablements { - @Comment({ "Add mod's MODID to this list to enable custom loot tables for a mod." }) + @Comment({ "Add mod's MODID to this list to enable custom loot tables for a mod.", "@Deprecated - As of v1.14.0, this property is no longer used."}) @Name("01. Foreign mod IDs for custom loot tables:") public String[] enableForeignModIDs = new String[] { "mocreatures", "sgs_metals" }; @Comment({ "A list of mods that have prebuilt loot tables available.", - "Note: used for informational purposes only." }) + "Note: used for informational purposes only.", "@Deprecated - As of v1.14.0, this property is no longer used." }) @Name("02. Pre-build loot tables for foreign mod IDs:") public String[] availableForeignModLootTables = new String[] { "mocreatures", "sgs_metals" }; } @@ -720,7 +726,7 @@ public static class Oases { public OasisConfig desertOasisProperties = new OasisConfig( true, 1000, 80, new String[] {"desert", "desert_hills", "desert_lakes", "badlands", - "badlands_plateau"}, + "badlands_plateau"}, new String[] {}, new String[] {"mesa", "dry"}, new String[] { }); @@ -844,8 +850,8 @@ public static class KeysAndLocks { @Name("06. Stone key max uses:") @RangeInt(min = 1, max = 32000) @RequiresMcRestart - public int stoneKeyMaxUses = 10; - + public int stoneKeyMaxUses = 10; + @Comment({ "The maximum uses for a given iron key." }) @Name("07. Iron key max. uses:") @RangeInt(min = 1, max = 32000) @@ -910,21 +916,21 @@ public static class KeysAndLocks { @Name("17. Wither key max. uses:") @RangeInt(min = 1, max = 32000) @RequiresMcRestart - public int witherKeyMaxUses = 5; - - @Comment({ "The maximum uses for a given ember key." }) + public int witherKeyMaxUses = 5; + + @Comment({ "The maximum uses for a given ember key." }) @Name("18. Ember key max uses:") @RangeInt(min = 1, max = 32000) @RequiresMcRestart public int emberKeyMaxUses = 15; - - @Comment({ "The maximum uses for a given leaf key." }) + + @Comment({ "The maximum uses for a given leaf key." }) @Name("19. Leaf key max uses:") @RangeInt(min = 1, max = 32000) @RequiresMcRestart public int leafKeyMaxUses = 15; - - @Comment({ "The maximum uses for a given lightning key." }) + + @Comment({ "The maximum uses for a given lightning key." }) @Name("20. Lightning key max uses:") @RangeInt(min = 1, max = 32000) @RequiresMcRestart diff --git a/src/com/someguyssoftware/treasure2/entity/TreasureEntities.java b/src/main/java/com/someguyssoftware/treasure2/entity/TreasureEntities.java similarity index 100% rename from src/com/someguyssoftware/treasure2/entity/TreasureEntities.java rename to src/main/java/com/someguyssoftware/treasure2/entity/TreasureEntities.java diff --git a/src/com/someguyssoftware/treasure2/entity/monster/BoundSoulEntity.java b/src/main/java/com/someguyssoftware/treasure2/entity/monster/BoundSoulEntity.java similarity index 92% rename from src/com/someguyssoftware/treasure2/entity/monster/BoundSoulEntity.java rename to src/main/java/com/someguyssoftware/treasure2/entity/monster/BoundSoulEntity.java index 38e6bec70..3120e9d2c 100644 --- a/src/com/someguyssoftware/treasure2/entity/monster/BoundSoulEntity.java +++ b/src/main/java/com/someguyssoftware/treasure2/entity/monster/BoundSoulEntity.java @@ -7,6 +7,7 @@ import javax.annotation.Nullable; +import com.someguyssoftware.gottschcore.world.WorldInfo; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.particle.AbstractMistParticle; import com.someguyssoftware.treasure2.particle.MistParticle; @@ -98,9 +99,14 @@ protected void applyEntityAttributes() { public void onLivingUpdate() { super.onLivingUpdate(); - // create a mist particle - if (!this.isServerWorld()) { - spawnMist(); + /* + * create a mist particle if on client. + * this is slight change to the vanilla call EntityLiving#isServerWorld() + */ + if (WorldInfo.isClientSide(this.world)) { + if (!this.isAIDisabled()) { + spawnMist(); + } } // regeneration diff --git a/src/com/someguyssoftware/treasure2/entity/monster/MimicEntity.java b/src/main/java/com/someguyssoftware/treasure2/entity/monster/MimicEntity.java similarity index 90% rename from src/com/someguyssoftware/treasure2/entity/monster/MimicEntity.java rename to src/main/java/com/someguyssoftware/treasure2/entity/monster/MimicEntity.java index 5a2835900..8e5fb03ae 100644 --- a/src/com/someguyssoftware/treasure2/entity/monster/MimicEntity.java +++ b/src/main/java/com/someguyssoftware/treasure2/entity/monster/MimicEntity.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Random; +import com.someguyssoftware.gottschcore.loot.LootTableShell; import com.someguyssoftware.gottschcore.random.RandomHelper; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.enums.Rarity; @@ -156,26 +157,26 @@ protected ResourceLocation getLootTable() { * @return */ protected ResourceLocation selectLootTableResourceLocation(Random random, final Rarity chestRarity) { - ResourceLocation location = null; + LootTableShell location = null; // select the loot table by rarity - List locations = Treasure.LOOT_TABLES.getLootTableResourceByRarity(chestRarity); + List tableShells = Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.SCARCE); // select a random location from the list - if (locations != null && !locations.isEmpty()) { + if (tableShells != null && !tableShells.isEmpty()) { int index = 0; /* * get a random container */ - if (locations.size() == 1) { - location = locations.get(0); + if (tableShells.size() == 1) { + location = tableShells.get(0); } else { - index = RandomHelper.randomInt(random, 0, locations.size()-1); - location = locations.get(index); + index = RandomHelper.randomInt(random, 0, tableShells.size()-1); + location = tableShells.get(index); } Treasure.logger.debug("Selected resource location index --> {}", index); } - return location; + return location.getResourceLocation(); } } diff --git a/src/com/someguyssoftware/treasure2/entity/monster/PirateMimicEntity.java b/src/main/java/com/someguyssoftware/treasure2/entity/monster/PirateMimicEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/entity/monster/PirateMimicEntity.java rename to src/main/java/com/someguyssoftware/treasure2/entity/monster/PirateMimicEntity.java diff --git a/src/com/someguyssoftware/treasure2/entity/monster/WoodMimicEntity.java b/src/main/java/com/someguyssoftware/treasure2/entity/monster/WoodMimicEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/entity/monster/WoodMimicEntity.java rename to src/main/java/com/someguyssoftware/treasure2/entity/monster/WoodMimicEntity.java diff --git a/src/com/someguyssoftware/treasure2/enums/Category.java b/src/main/java/com/someguyssoftware/treasure2/enums/Category.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/Category.java rename to src/main/java/com/someguyssoftware/treasure2/enums/Category.java diff --git a/src/com/someguyssoftware/treasure2/enums/ChestGeneratorType.java b/src/main/java/com/someguyssoftware/treasure2/enums/ChestGeneratorType.java similarity index 61% rename from src/com/someguyssoftware/treasure2/enums/ChestGeneratorType.java rename to src/main/java/com/someguyssoftware/treasure2/enums/ChestGeneratorType.java index 9b9ef81b5..c82afbe8e 100644 --- a/src/com/someguyssoftware/treasure2/enums/ChestGeneratorType.java +++ b/src/main/java/com/someguyssoftware/treasure2/enums/ChestGeneratorType.java @@ -3,10 +3,14 @@ */ package com.someguyssoftware.treasure2.enums; +import java.util.EnumSet; +import java.util.List; import java.util.function.Supplier; +import java.util.stream.Collectors; import com.someguyssoftware.treasure2.generator.chest.CauldronChestGenerator; import com.someguyssoftware.treasure2.generator.chest.CommonChestGenerator; +import com.someguyssoftware.treasure2.generator.chest.CrystalSkullChestGenerator; import com.someguyssoftware.treasure2.generator.chest.EpicChestGenerator; import com.someguyssoftware.treasure2.generator.chest.GoldSkullChestGenerator; import com.someguyssoftware.treasure2.generator.chest.IChestGenerator; @@ -29,21 +33,31 @@ public enum ChestGeneratorType { WITHER(WitherChestGenerator::new), SKULL(SkullChestGenerator::new), GOLD_SKULL(GoldSkullChestGenerator::new), - CAULDRON(CauldronChestGenerator::new); - - private Supplier factory; + CRYSTAL_SKULL(CrystalSkullChestGenerator::new), + CAULDRON(CauldronChestGenerator::new); - /** - * - */ - ChestGeneratorType(Supplier factory) { - this.factory = factory; - } + private Supplier factory; - /** - * - */ - public IChestGenerator getChestGenerator() { - return factory.get(); - } + /** + * + */ + ChestGeneratorType(Supplier factory) { + this.factory = factory; + } + + /** + * + */ + public IChestGenerator getChestGenerator() { + return factory.get(); + } + + /** + * + * @return + */ + public static List getNames() { + List names = EnumSet.allOf(ChestGeneratorType.class).stream().map(x -> x.name()).collect(Collectors.toList()); + return names; + } } diff --git a/src/com/someguyssoftware/treasure2/enums/Coins.java b/src/main/java/com/someguyssoftware/treasure2/enums/Coins.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/Coins.java rename to src/main/java/com/someguyssoftware/treasure2/enums/Coins.java diff --git a/src/com/someguyssoftware/treasure2/enums/FogHeight.java b/src/main/java/com/someguyssoftware/treasure2/enums/FogHeight.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/FogHeight.java rename to src/main/java/com/someguyssoftware/treasure2/enums/FogHeight.java diff --git a/src/com/someguyssoftware/treasure2/enums/FogType.java b/src/main/java/com/someguyssoftware/treasure2/enums/FogType.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/FogType.java rename to src/main/java/com/someguyssoftware/treasure2/enums/FogType.java diff --git a/src/com/someguyssoftware/treasure2/enums/IEnum.java b/src/main/java/com/someguyssoftware/treasure2/enums/IEnum.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/IEnum.java rename to src/main/java/com/someguyssoftware/treasure2/enums/IEnum.java diff --git a/src/com/someguyssoftware/treasure2/enums/Pearls.java b/src/main/java/com/someguyssoftware/treasure2/enums/Pearls.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/Pearls.java rename to src/main/java/com/someguyssoftware/treasure2/enums/Pearls.java diff --git a/src/com/someguyssoftware/treasure2/enums/PitTypes.java b/src/main/java/com/someguyssoftware/treasure2/enums/PitTypes.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/PitTypes.java rename to src/main/java/com/someguyssoftware/treasure2/enums/PitTypes.java diff --git a/src/com/someguyssoftware/treasure2/enums/Pits.java b/src/main/java/com/someguyssoftware/treasure2/enums/Pits.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/Pits.java rename to src/main/java/com/someguyssoftware/treasure2/enums/Pits.java diff --git a/src/com/someguyssoftware/treasure2/enums/Rarity.java b/src/main/java/com/someguyssoftware/treasure2/enums/Rarity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/Rarity.java rename to src/main/java/com/someguyssoftware/treasure2/enums/Rarity.java diff --git a/src/com/someguyssoftware/treasure2/enums/Wells.java b/src/main/java/com/someguyssoftware/treasure2/enums/Wells.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/Wells.java rename to src/main/java/com/someguyssoftware/treasure2/enums/Wells.java diff --git a/src/com/someguyssoftware/treasure2/enums/WorldGeneratorType.java b/src/main/java/com/someguyssoftware/treasure2/enums/WorldGeneratorType.java similarity index 100% rename from src/com/someguyssoftware/treasure2/enums/WorldGeneratorType.java rename to src/main/java/com/someguyssoftware/treasure2/enums/WorldGeneratorType.java diff --git a/src/com/someguyssoftware/treasure2/eventhandler/AnvilEventHandler.java b/src/main/java/com/someguyssoftware/treasure2/eventhandler/AnvilEventHandler.java similarity index 100% rename from src/com/someguyssoftware/treasure2/eventhandler/AnvilEventHandler.java rename to src/main/java/com/someguyssoftware/treasure2/eventhandler/AnvilEventHandler.java diff --git a/src/com/someguyssoftware/treasure2/eventhandler/LogoutEventHandler.java b/src/main/java/com/someguyssoftware/treasure2/eventhandler/LogoutEventHandler.java similarity index 100% rename from src/com/someguyssoftware/treasure2/eventhandler/LogoutEventHandler.java rename to src/main/java/com/someguyssoftware/treasure2/eventhandler/LogoutEventHandler.java diff --git a/src/com/someguyssoftware/treasure2/eventhandler/MimicEventHandler.java b/src/main/java/com/someguyssoftware/treasure2/eventhandler/MimicEventHandler.java similarity index 100% rename from src/com/someguyssoftware/treasure2/eventhandler/MimicEventHandler.java rename to src/main/java/com/someguyssoftware/treasure2/eventhandler/MimicEventHandler.java diff --git a/src/com/someguyssoftware/treasure2/eventhandler/PlayerEventHandler.java b/src/main/java/com/someguyssoftware/treasure2/eventhandler/PlayerEventHandler.java similarity index 91% rename from src/com/someguyssoftware/treasure2/eventhandler/PlayerEventHandler.java rename to src/main/java/com/someguyssoftware/treasure2/eventhandler/PlayerEventHandler.java index 4ed7ec67a..312c16e6a 100644 --- a/src/com/someguyssoftware/treasure2/eventhandler/PlayerEventHandler.java +++ b/src/main/java/com/someguyssoftware/treasure2/eventhandler/PlayerEventHandler.java @@ -25,14 +25,17 @@ import com.someguyssoftware.treasure2.item.charm.ICharm; import com.someguyssoftware.treasure2.item.charm.ICharmState; import com.someguyssoftware.treasure2.item.charm.ICharmed; +import com.someguyssoftware.treasure2.item.wish.IWishable; import com.someguyssoftware.treasure2.network.CharmMessageToClient; import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.MobEffects; +import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -41,6 +44,7 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraftforge.common.capabilities.ICapabilityProvider; +import net.minecraftforge.event.entity.item.ItemTossEvent; import net.minecraftforge.event.entity.living.LivingDamageEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; import net.minecraftforge.event.world.BlockEvent; @@ -196,6 +200,14 @@ public void checkCharmsInteractionWithBlock(BlockEvent.HarvestDropsEvent event) if (event.getHarvester() == null) { return; } + + // if the harvested blcok has a tile entity then don't process + // NOTE this may exclude non-inventory blocks + IBlockState harvestedState = event.getState(); + Block harvestedBlock = harvestedState.getBlock(); + if (harvestedBlock.hasTileEntity(harvestedState)) { + return; + } // get the player EntityPlayerMP player = (EntityPlayerMP) event.getHarvester(); @@ -292,6 +304,25 @@ else if (mainHeldStack.getItem() instanceof IPouch && ((IPouch)mainHeldStack.get return Optional.of(context); } + /** + * + * @param event + */ + @SubscribeEvent + public void onTossCoinEvent(ItemTossEvent event) { + if (WorldInfo.isClientSide(event.getPlayer().world)) { + return; + } + + Item item = event.getEntityItem().getItem().getItem(); + if (item instanceof IWishable) { + ItemStack stack = event.getEntityItem().getItem(); + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString(IWishable.DROPPED_BY_KEY, event.getPlayer().getName()); + stack.setTagCompound(nbt); + } + } + /** * @return the mod */ diff --git a/src/com/someguyssoftware/treasure2/eventhandler/ServerEventHandler.java b/src/main/java/com/someguyssoftware/treasure2/eventhandler/ServerEventHandler.java similarity index 78% rename from src/com/someguyssoftware/treasure2/eventhandler/ServerEventHandler.java rename to src/main/java/com/someguyssoftware/treasure2/eventhandler/ServerEventHandler.java index 448cdd846..d5f6d5795 100644 --- a/src/com/someguyssoftware/treasure2/eventhandler/ServerEventHandler.java +++ b/src/main/java/com/someguyssoftware/treasure2/eventhandler/ServerEventHandler.java @@ -26,10 +26,12 @@ public ServerEventHandler(IMod mod) { } @SubscribeEvent - public void checkFogInteraction(FMLServerStoppingEvent event) { + public void onServerStopping(FMLServerStoppingEvent event) { Treasure.logger.debug("Closing out of world."); // clear all resource managers - Treasure.LOOT_TABLES.clear(); +// Treasure.LOOT_TABLE_MASTER.clear(); +// Treasure.LOOT_TABLES.clear(); + // TODO implement similar registries like LOOT_TABLE_MASTER Treasure.TEMPLATE_MANAGER.clear(); Treasure.META_MANAGER.clear(); } diff --git a/src/com/someguyssoftware/treasure2/eventhandler/WorldEventHandler.java b/src/main/java/com/someguyssoftware/treasure2/eventhandler/WorldEventHandler.java similarity index 56% rename from src/com/someguyssoftware/treasure2/eventhandler/WorldEventHandler.java rename to src/main/java/com/someguyssoftware/treasure2/eventhandler/WorldEventHandler.java index 0f17b2e6e..85d0c837d 100644 --- a/src/com/someguyssoftware/treasure2/eventhandler/WorldEventHandler.java +++ b/src/main/java/com/someguyssoftware/treasure2/eventhandler/WorldEventHandler.java @@ -3,28 +3,31 @@ */ package com.someguyssoftware.treasure2.eventhandler; +import static com.someguyssoftware.treasure2.Treasure.logger; + import java.util.Map.Entry; import com.someguyssoftware.gottschcore.mod.IMod; import com.someguyssoftware.gottschcore.world.WorldInfo; import com.someguyssoftware.treasure2.Treasure; -import com.someguyssoftware.treasure2.config.TreasureConfig; import com.someguyssoftware.treasure2.enums.WorldGeneratorType; +import com.someguyssoftware.treasure2.loot.TreasureLootTableRegistry; import com.someguyssoftware.treasure2.persistence.GenDataPersistence; import com.someguyssoftware.treasure2.registry.ChestRegistry; -import com.someguyssoftware.treasure2.worldgen.GemOreWorldGenerator; import com.someguyssoftware.treasure2.worldgen.ITreasureWorldGenerator; -import com.someguyssoftware.treasure2.worldgen.SubmergedChestWorldGenerator; -import com.someguyssoftware.treasure2.worldgen.SurfaceChestWorldGenerator; -import com.someguyssoftware.treasure2.worldgen.WellWorldGenerator; -import com.someguyssoftware.treasure2.worldgen.WitherTreeWorldGenerator; -import net.minecraft.world.World; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.WorldServer; -import net.minecraft.world.storage.MapStorage; +import net.minecraft.world.storage.loot.LootEntry; +import net.minecraft.world.storage.loot.LootEntryTable; +import net.minecraft.world.storage.loot.LootPool; +import net.minecraft.world.storage.loot.LootTable; +import net.minecraft.world.storage.loot.LootTableList; +import net.minecraft.world.storage.loot.RandomValueRange; +import net.minecraft.world.storage.loot.conditions.LootCondition; +import net.minecraftforge.event.LootTableLoadEvent; import net.minecraftforge.event.world.WorldEvent; -import net.minecraftforge.fml.common.IWorldGenerator; -import net.minecraftforge.fml.common.Loader; +import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; /** @@ -35,7 +38,7 @@ public class WorldEventHandler { // reference to the mod. private IMod mod; - + /** * */ @@ -43,48 +46,59 @@ public WorldEventHandler(IMod mod) { setMod(mod); } - @SubscribeEvent + @SubscribeEvent(priority = EventPriority.HIGH) public void onWorldLoad(WorldEvent.Load event) { -// Treasure.logger.debug("In world load event for dimension {}", event.getWorld().provider.getDimension()); - + Treasure.logger.debug("In world load event for dimension {}", event.getWorld().provider.getDimension()); + /* * On load of dimension 0 (overworld), initialize the loot table's context and other static loot tables */ if (WorldInfo.isServerSide(event.getWorld()) && event.getWorld().provider.getDimension() == 0) { -// Treasure.logger.debug("server event"); + // Treasure.logger.debug("server event"); WorldServer world = (WorldServer) event.getWorld(); -// TreasureLootTables.init(world); - Treasure.LOOT_TABLES.init(world); - Treasure.LOOT_TABLES.register(getMod().getId()); - // register any foreign mod loot tables - for (String foreignModID : TreasureConfig.FOREIGN_MODS.enableForeignModIDs) { - if (Loader.isModLoaded(foreignModID)) { - Treasure.LOOT_TABLES.register(foreignModID); - } - } + + // called once to initiate world-level properties in the LootTableMaster + Treasure.LOOT_TABLE_MASTER.init(world); + + // register mod's loot tables + TreasureLootTableRegistry.register(mod.getId()); + + // register files with their respective managers Treasure.META_MANAGER.register(getMod().getId()); Treasure.TEMPLATE_MANAGER.register(getMod().getId()); Treasure.DECAY_MANAGER.register(getMod().getId()); - + /* * clear the current World Gens values and reload */ for (Entry worldGenEntry : Treasure.WORLD_GENERATORS.entrySet()) { worldGenEntry.getValue().init(); } - + /* * un-load the chest registry */ Treasure.logger.debug("Chest registry size BEFORE cleaning -> {}", ChestRegistry.getInstance().getValues().size()); ChestRegistry.getInstance().clear(); Treasure.logger.debug("Chest registry size AFTER cleaning -> {}", ChestRegistry.getInstance().getValues().size()); - + GenDataPersistence.get(world); Treasure.logger.debug("Chest registry size after world event load -> {}", ChestRegistry.getInstance().getValues().size()); } } - + + @SubscribeEvent + public void lootLoad(LootTableLoadEvent event) { + if (event.getName().toString().equals(LootTableList.CHESTS_SIMPLE_DUNGEON.toString()/*"minecraft:chests/simple_dungeon"*/)) { + + // load a loot table + ResourceLocation location = new ResourceLocation(Treasure.MODID, "pools/treasure/scarce"); + LootEntry entry = new LootEntryTable(location, 1, 1, new LootCondition[] {}, "treasure"); + LootPool pool = new LootPool(new LootEntry[] {entry}, new LootCondition[] {}, new RandomValueRange(1), new RandomValueRange(1), "treasure"); + event.getTable().addPool(pool); + } + } + /** * @return the mod */ diff --git a/src/com/someguyssoftware/treasure2/generator/ChestGeneratorData.java b/src/main/java/com/someguyssoftware/treasure2/generator/ChestGeneratorData.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/ChestGeneratorData.java rename to src/main/java/com/someguyssoftware/treasure2/generator/ChestGeneratorData.java diff --git a/src/com/someguyssoftware/treasure2/generator/GenUtil.java b/src/main/java/com/someguyssoftware/treasure2/generator/GenUtil.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/GenUtil.java rename to src/main/java/com/someguyssoftware/treasure2/generator/GenUtil.java diff --git a/src/com/someguyssoftware/treasure2/generator/GeneratorData.java b/src/main/java/com/someguyssoftware/treasure2/generator/GeneratorData.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/GeneratorData.java rename to src/main/java/com/someguyssoftware/treasure2/generator/GeneratorData.java diff --git a/src/com/someguyssoftware/treasure2/generator/GeneratorResult.java b/src/main/java/com/someguyssoftware/treasure2/generator/GeneratorResult.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/GeneratorResult.java rename to src/main/java/com/someguyssoftware/treasure2/generator/GeneratorResult.java diff --git a/src/com/someguyssoftware/treasure2/generator/IGeneratorData.java b/src/main/java/com/someguyssoftware/treasure2/generator/IGeneratorData.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/IGeneratorData.java rename to src/main/java/com/someguyssoftware/treasure2/generator/IGeneratorData.java diff --git a/src/com/someguyssoftware/treasure2/generator/IGeneratorResult.java b/src/main/java/com/someguyssoftware/treasure2/generator/IGeneratorResult.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/IGeneratorResult.java rename to src/main/java/com/someguyssoftware/treasure2/generator/IGeneratorResult.java diff --git a/src/com/someguyssoftware/treasure2/generator/TemplateGeneratorData.java b/src/main/java/com/someguyssoftware/treasure2/generator/TemplateGeneratorData.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/TemplateGeneratorData.java rename to src/main/java/com/someguyssoftware/treasure2/generator/TemplateGeneratorData.java diff --git a/src/com/someguyssoftware/treasure2/generator/chest/CauldronChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/CauldronChestGenerator.java similarity index 72% rename from src/com/someguyssoftware/treasure2/generator/chest/CauldronChestGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/chest/CauldronChestGenerator.java index 671f41762..0a54aa679 100644 --- a/src/com/someguyssoftware/treasure2/generator/chest/CauldronChestGenerator.java +++ b/src/main/java/com/someguyssoftware/treasure2/generator/chest/CauldronChestGenerator.java @@ -3,16 +3,17 @@ */ package com.someguyssoftware.treasure2.generator.chest; +import java.util.Optional; import java.util.Random; import java.util.function.Supplier; -import com.someguyssoftware.gottschcore.loot.LootTable; +import com.someguyssoftware.gottschcore.loot.LootTableShell; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.block.TreasureBlocks; import com.someguyssoftware.treasure2.block.TreasureChestBlock; import com.someguyssoftware.treasure2.enums.ChestGeneratorType; import com.someguyssoftware.treasure2.enums.Rarity; -import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster.SpecialLootTables; +import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster2.SpecialLootTables; import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; /** @@ -42,13 +43,13 @@ public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rar * @return */ @Override - public LootTable selectLootTable(Random random, final Rarity chestRarity) { - return Treasure.LOOT_TABLES.getSpecialLootTable(SpecialLootTables.CAULDRON_CHEST); + public Optional selectLootTable2(Random random, final Rarity chestRarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.CAULDRON_CHEST)); } @Override - public LootTable selectLootTable(Supplier factory, final Rarity rarity) { - return Treasure.LOOT_TABLES.getSpecialLootTable(SpecialLootTables.CAULDRON_CHEST); + public Optional selectLootTable2(Supplier factory, final Rarity rarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.CAULDRON_CHEST)); } /** diff --git a/src/com/someguyssoftware/treasure2/generator/chest/CommonChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/CommonChestGenerator.java similarity index 82% rename from src/com/someguyssoftware/treasure2/generator/chest/CommonChestGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/chest/CommonChestGenerator.java index 49eefc500..d3549c5f0 100644 --- a/src/com/someguyssoftware/treasure2/generator/chest/CommonChestGenerator.java +++ b/src/main/java/com/someguyssoftware/treasure2/generator/chest/CommonChestGenerator.java @@ -7,7 +7,7 @@ import java.util.List; import java.util.Random; -import com.someguyssoftware.gottschcore.loot.LootTable; +import com.someguyssoftware.gottschcore.loot.LootTableShell; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.block.AbstractChestBlock; import com.someguyssoftware.treasure2.enums.ChestGeneratorType; @@ -44,11 +44,11 @@ public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rar * @return */ @Override - public List buildLootTableList(final Rarity chestRarity) { + public List buildLootTableList2(final Rarity chestRarity) { // get all loot tables by column key - List tables = new ArrayList<>(); - tables.addAll(Treasure.LOOT_TABLES.getLootTableByRarity(Rarity.COMMON)); - tables.addAll(Treasure.LOOT_TABLES.getLootTableByRarity(Rarity.UNCOMMON)); + List tables = new ArrayList<>(); + tables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.COMMON)); + tables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.UNCOMMON)); return tables; } diff --git a/src/main/java/com/someguyssoftware/treasure2/generator/chest/CrystalSkullChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/CrystalSkullChestGenerator.java new file mode 100644 index 000000000..4616e43cf --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/generator/chest/CrystalSkullChestGenerator.java @@ -0,0 +1,95 @@ +/** + * + */ +package com.someguyssoftware.treasure2.generator.chest; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.Random; +import java.util.function.Supplier; + +import com.someguyssoftware.gottschcore.loot.LootTableShell; +import com.someguyssoftware.gottschcore.random.RandomHelper; +import com.someguyssoftware.treasure2.Treasure; +import com.someguyssoftware.treasure2.block.AbstractChestBlock; +import com.someguyssoftware.treasure2.block.TreasureBlocks; +import com.someguyssoftware.treasure2.block.TreasureChestBlock; +import com.someguyssoftware.treasure2.chest.TreasureChestType; +import com.someguyssoftware.treasure2.enums.ChestGeneratorType; +import com.someguyssoftware.treasure2.enums.Rarity; +import com.someguyssoftware.treasure2.item.LockItem; +import com.someguyssoftware.treasure2.item.TreasureItems; +import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster2.SpecialLootTables; +import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; + +/** + * + * @author Mark Gottschling on Dec 9, 2020 + * + */ +public class CrystalSkullChestGenerator implements IChestGenerator { + + /** + * + */ + public CrystalSkullChestGenerator() {} + + /** + * + */ + @Override + public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rarity rarity) { + AbstractTreasureChestTileEntity.GenerationContext generationContext = tileEntity.new GenerationContext(rarity, ChestGeneratorType.CRYSTAL_SKULL); + tileEntity.setGenerationContext(generationContext); + } + + /* + * @param random + * @param chestRarity + * @return + */ + @Override + public Optional selectLootTable2(Random random, final Rarity chestRarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.CRYSTAL_SKULL_CHEST)); + } + + @Override + public Optional selectLootTable2(Supplier factory, final Rarity rarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.CRYSTAL_SKULL_CHEST)); + } + + /** + * Always select a wither chest. + */ + @Override + public TreasureChestBlock selectChest(final Random random, final Rarity rarity) { + TreasureChestBlock chest = (TreasureChestBlock) TreasureBlocks.CRYSTAL_SKULL_CHEST; + return chest; + } + + /** + * Skull chest will have at least one lock. + */ + public int randomizedNumberOfLocksByChestType(Random random, TreasureChestType type) { + // determine the number of locks to add + int numLocks = RandomHelper.randomInt(random, 1, type.getMaxLocks()); + Treasure.logger.debug("# of locks to use: {})", numLocks); + + return numLocks; + } + + /** + * Select Locks from Uncommon and Scare rarities. + * @param chest + */ + @Override + public void addLocks(Random random, AbstractChestBlock chest, AbstractTreasureChestTileEntity te, Rarity rarity) { + // select a rarity locks + List locks = new ArrayList<>(); + locks.addAll(TreasureItems.locks.get(Rarity.RARE)); + locks.addAll(TreasureItems.locks.get(Rarity.EPIC)); + addLocks(random, chest, te, locks); + locks.clear(); + } +} \ No newline at end of file diff --git a/src/com/someguyssoftware/treasure2/generator/chest/EpicChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/EpicChestGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/chest/EpicChestGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/chest/EpicChestGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/chest/GoldSkullChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/GoldSkullChestGenerator.java similarity index 82% rename from src/com/someguyssoftware/treasure2/generator/chest/GoldSkullChestGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/chest/GoldSkullChestGenerator.java index 1f7d004cc..9fc49bcfe 100644 --- a/src/com/someguyssoftware/treasure2/generator/chest/GoldSkullChestGenerator.java +++ b/src/main/java/com/someguyssoftware/treasure2/generator/chest/GoldSkullChestGenerator.java @@ -5,10 +5,11 @@ import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.Random; import java.util.function.Supplier; -import com.someguyssoftware.gottschcore.loot.LootTable; +import com.someguyssoftware.gottschcore.loot.LootTableShell; import com.someguyssoftware.gottschcore.random.RandomHelper; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.block.AbstractChestBlock; @@ -19,9 +20,8 @@ import com.someguyssoftware.treasure2.enums.Rarity; import com.someguyssoftware.treasure2.item.LockItem; import com.someguyssoftware.treasure2.item.TreasureItems; -import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster.SpecialLootTables; +import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster2.SpecialLootTables; import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity.GenerationContext; /** * @@ -50,13 +50,13 @@ public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rar * @return */ @Override - public LootTable selectLootTable(Random random, final Rarity chestRarity) { - return Treasure.LOOT_TABLES.getSpecialLootTable(SpecialLootTables.GOLD_SKULL_CHEST); + public Optional selectLootTable2(Random random, final Rarity chestRarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.GOLD_SKULL_CHEST)); } @Override - public LootTable selectLootTable(Supplier factory, final Rarity rarity) { - return Treasure.LOOT_TABLES.getSpecialLootTable(SpecialLootTables.GOLD_SKULL_CHEST); + public Optional selectLootTable2(Supplier factory, final Rarity rarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.GOLD_SKULL_CHEST)); } /** diff --git a/src/main/java/com/someguyssoftware/treasure2/generator/chest/IChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/IChestGenerator.java new file mode 100644 index 000000000..d0b04e82c --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/generator/chest/IChestGenerator.java @@ -0,0 +1,596 @@ +/** + * + */ +package com.someguyssoftware.treasure2.generator.chest; + +import static com.someguyssoftware.treasure2.Treasure.logger; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Optional; +import java.util.Random; +import java.util.function.Supplier; +import java.util.stream.Collectors; + +import com.google.common.collect.Lists; +import com.someguyssoftware.gottschcore.loot.LootPoolShell; +import com.someguyssoftware.gottschcore.loot.LootTableShell; +import com.someguyssoftware.gottschcore.positional.ICoords; +import com.someguyssoftware.gottschcore.random.RandomHelper; +import com.someguyssoftware.gottschcore.world.gen.structure.BlockContext; +import com.someguyssoftware.treasure2.Treasure; +import com.someguyssoftware.treasure2.block.AbstractChestBlock; +import com.someguyssoftware.treasure2.block.TreasureBlocks; +import com.someguyssoftware.treasure2.chest.TreasureChestType; +import com.someguyssoftware.treasure2.config.IChestConfig; +import com.someguyssoftware.treasure2.config.TreasureConfig; +import com.someguyssoftware.treasure2.enums.Rarity; +import com.someguyssoftware.treasure2.generator.ChestGeneratorData; +import com.someguyssoftware.treasure2.generator.GenUtil; +import com.someguyssoftware.treasure2.generator.GeneratorResult; +import com.someguyssoftware.treasure2.generator.marker.GravestoneMarkerGenerator; +import com.someguyssoftware.treasure2.generator.marker.StructureMarkerGenerator; +import com.someguyssoftware.treasure2.item.LockItem; +import com.someguyssoftware.treasure2.item.TreasureItems; +import com.someguyssoftware.treasure2.lock.LockState; +import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster2; +import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; + +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; +import net.minecraft.world.storage.loot.LootContext; +import net.minecraft.world.storage.loot.LootPool; +import net.minecraft.world.storage.loot.LootTable; + +/** + * @author Mark Gottschling on Dec 4, 2019 + * + */ +public interface IChestGenerator { + + default public GeneratorResult generate(final World world, final Random random, ICoords coords, + final Rarity rarity, IBlockState state) { + GeneratorResult result = new GeneratorResult<>(ChestGeneratorData.class); + result.getData().setSpawnCoords(coords); + // select a loot table + Optional lootTableShell = selectLootTable2(random, rarity); + ResourceLocation lootTableResourceLocation = null; + if (lootTableShell.isPresent()) { + lootTableResourceLocation = lootTableShell.get().getResourceLocation(); + } + else { + logger.debug("Unable to select a LootTable for rarity -> {}", rarity); + return result.fail(); + } + + // select a chest from the rarity + AbstractChestBlock chest = selectChest(random, rarity); + if (chest == null) { + logger.warn("Unable to select a chest for rarity -> {}.", rarity); + return result.fail(); + } + + // place the chest in the world + TileEntity tileEntity = null; + if (state != null) { + tileEntity = placeInWorld(world, random, coords, chest, state); + } else { + tileEntity = placeInWorld(world, random, chest, coords); + } + + if (tileEntity == null) { + logger.debug("Unable to locate tile entity for chest -> {}", coords); + return result.fail(); + } + + // add the loot table + addLootTable((AbstractTreasureChestTileEntity) tileEntity, lootTableResourceLocation); + + // seal the chest + addSeal((AbstractTreasureChestTileEntity) tileEntity); + + // update the backing tile entity's generation contxt + addGenerationContext((AbstractTreasureChestTileEntity) tileEntity, rarity); + + // if (!(chest instanceof IMimicBlock)) { + // logger.debug("Generating loot from loot table for rarity {}", rarity); + // lootTable.fillInventory((IInventory) te, random, Treasure.LOOT_TABLES.getContext()); + // } + + // add locks + addLocks(random, chest, (AbstractTreasureChestTileEntity) tileEntity, rarity); + + // update result + result.getData().setChestContext(new BlockContext(coords, state)); + + return result.success(); + } + + /** + * + * @param rarity + * @return + */ +// default public List buildLootTableList(Rarity rarity) { +// return Treasure.LOOT_TABLES.getLootTableByRarity(rarity); +// } + + // TODO this should be a generic call that passes in ManagedTableType + default public List buildLootTableList2(Rarity rarity) { + return Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(TreasureLootTableMaster2.ManagedTableType.CHEST, rarity); + } + + default public Optional> buildInjectedLootTableList(String key, Rarity rarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getLootTableByKeyRarity(TreasureLootTableMaster2.ManagedTableType.INJECT, key, rarity)); + } + + /** + * + * @param rarity + * @return + */ + default public AbstractChestBlock selectChest(final Random random, final Rarity rarity) { + List chestList = (List) TreasureBlocks.chests.get(rarity); + AbstractChestBlock chest = (AbstractChestBlock) chestList + .get(RandomHelper.randomInt(random, 0, chestList.size() - 1)); + + // TODO should have a map of available mimics mapped by chest. for now, since + // only one mimic, just test for it determine if should be mimic get the config + IChestConfig config = TreasureConfig.CHESTS.surfaceChests.configMap.get(rarity); + if (chest == TreasureBlocks.WOOD_CHEST) { + if (RandomHelper.checkProbability(random, config.getMimicProbability())) { + chest = (AbstractChestBlock) TreasureBlocks.WOOD_MIMIC; + logger.debug("Selecting a WOOD MIMIC chest!"); + } + } else if (chest == TreasureBlocks.PIRATE_CHEST) { + if (RandomHelper.checkProbability(random, config.getMimicProbability())) { + chest = (AbstractChestBlock) TreasureBlocks.PIRATE_MIMIC; + logger.debug("Selecting a PIRATE MIMIC chest!"); + } + } + return chest; + } + + /** + * + * @param world + * @param random + * @param tileEntity + * @param lootRarity + */ + default public void fillChest(final World world, Random random, final TileEntity tileEntity, final Rarity rarity, EntityPlayer player) { + Optional lootTableShell = null; + ResourceLocation lootTableResourceLocation = ((AbstractTreasureChestTileEntity)tileEntity).getLootTable(); + Treasure.logger.debug("chest has loot table property of -> {}", lootTableResourceLocation); + + if (lootTableResourceLocation == null) { + lootTableShell = selectLootTable2(random, rarity); + } + else { + lootTableShell = Treasure.LOOT_TABLE_MASTER.getLootTableByResourceLocation(lootTableResourceLocation); + } + // is valid loot table shell + if (lootTableShell.isPresent()) { + Treasure.logger.debug("using loot table shell -> {}, {}", lootTableShell.get().getCategory(), lootTableShell.get().getRarity()); + lootTableResourceLocation = lootTableShell.get().getResourceLocation(); + } + else { + Treasure.logger.debug("Unable to select a LootTable for rarity -> {}", rarity); + return; + } + Treasure.logger.debug("loot table resource -> {}", lootTableResourceLocation); + + LootTable lootTable = world.getLootTableManager().getLootTableFromLocation(lootTableResourceLocation); + if (lootTable == null) { + logger.warn("Unable to select a lootTable."); + return; + } + Treasure.logger.debug("selected loot table -> {} from resource -> {}", lootTable, lootTableResourceLocation); + + // update rarity from lootTableShell + Rarity effectiveRarity = Treasure.LOOT_TABLE_MASTER.getEffectiveRarity(lootTableShell.get(), rarity); + logger.debug("Generating loot from loot table for effective rarity {}", effectiveRarity); + + // setup lists of items + List treasureStacks = new ArrayList<>(); + List itemStacks = new ArrayList<>(); + + /* + * Using per loot table file - category strategy (instead of per pool strategy) + */ + // get a list of loot pools + List lootPoolShells = lootTableShell.get().getPools(); + if (lootPoolShells != null && lootPoolShells.size() > 0) { + logger.debug("# of pools -> {}", lootPoolShells.size()); + } + + // setup context + LootContext lootContext = null; + if (player == null) { + lootContext = Treasure.LOOT_TABLE_MASTER.getContext(); + } + else { + lootContext = new LootContext.Builder((WorldServer) world) + .withLuck(player.getLuck()) + .withPlayer(player) + .build(); + } + + for (LootPoolShell pool : lootPoolShells) { + logger.debug("processing pool -> {}", pool.getName()); + // go get the vanilla managed pool + LootPool lootPool = lootTable.getPool(pool.getName()); + + // geneate loot from pools + if (pool.getName().equalsIgnoreCase("treasure")) { + lootPool.generateLoot(treasureStacks, random, lootContext); + } + else { + lootPool.generateLoot(itemStacks, random, lootContext); + } + } + logger.debug("size of treasure stacks -> {}", treasureStacks.size()); + logger.debug("size of item stacks -> {}", itemStacks.size()); + + // record original item size (max number of items to pull from final list) + int lootItemSize = itemStacks.size(); + + // TODO move to separate method + // fetch all injected loot tables by category/rarity + logger.debug("searching for injectable tables for category ->{}, rarity -> {}", lootTableShell.get().getCategory(), effectiveRarity); + Optional> injectLootTableShells = buildInjectedLootTableList(lootTableShell.get().getCategory(), effectiveRarity); + if (injectLootTableShells.isPresent()) { + logger.debug("found injectable tables for category ->{}, rarity -> {}", lootTableShell.get().getCategory(), effectiveRarity); + logger.debug("size of injectable tables -> {}", injectLootTableShells.get().size()); + itemStacks.addAll(Treasure.LOOT_TABLE_MASTER.getInjectedLootItems(world, random, injectLootTableShells.get(), lootContext)); + } + + // add the treasure items to the chest + fillInventory((IInventory) tileEntity, random, treasureStacks); + + // shuffle the items list + Collections.shuffle(itemStacks, random); + + // fill the chest with items + fillInventory((IInventory) tileEntity, random, itemStacks.stream().limit(lootItemSize).collect(Collectors.toList())); + } + + /** + * + * @param inventory + * @param random + * @param context + */ + default public void fillInventory(IInventory inventory, Random random, List list) { + List emptySlots = getEmptySlotsRandomized(inventory, random); + logger.debug("empty slots size -> {}", emptySlots.size()); + this.shuffleItems(list, emptySlots.size(), random); + + for (ItemStack itemstack : list) { + // if no more empty slots are available + if (emptySlots.isEmpty()) { + return; + } + + if (itemstack.isEmpty()) { + inventory.setInventorySlotContents(((Integer) emptySlots.remove(emptySlots.size() - 1)).intValue(), ItemStack.EMPTY); + } + else { + inventory.setInventorySlotContents(((Integer) emptySlots.remove(emptySlots.size() - 1)).intValue(), itemstack); + } + } + } + + /** + * + * @param inventory + * @param rand + * @return + */ + default public List getEmptySlotsRandomized(IInventory inventory, Random rand) { + List list = Lists.newArrayList(); + + for (int i = 0; i < inventory.getSizeInventory(); ++i) { + if (inventory.getStackInSlot(i).isEmpty()) { + list.add(Integer.valueOf(i)); + } + } + + Collections.shuffle(list, rand); + return list; + } + + /** + * shuffles items by changing their order (no stack splitting) + */ + default public void shuffleItems(List stacks, int emptySlotsSize, Random rand) { + Collections.shuffle(stacks, rand); + } + + /** + * + * @param random + * @param rarity + * @return + */ +// @Deprecated +// default public LootTable selectLootTable(Random random, final Rarity rarity) { +// LootTable table = null; +// +// // select the loot table by rarity +// List tables = buildLootTableList(rarity); +// +// // select a random table from the list +// if (tables != null && !tables.isEmpty()) { +// int index = 0; +// if (tables.size() == 1) { +// table = tables.get(0); +// } else { +// index = RandomHelper.randomInt(random, 0, tables.size() - 1); +// table = tables.get(index); +// } +// logger.debug("Selected loot table index --> {}", index); +// } +// return table; +// } + + /** + * + * @param factory + * @param rarity + * @return + */ +// @Deprecated +// default public LootTable selectLootTable(Supplier factory, final Rarity rarity) { +// LootTable table = null; +// +// // select the loot table by rarity +// List tables = buildLootTableList(rarity); +// +// // select a random table from the list +// if (tables != null && !tables.isEmpty()) { +// int index = 0; +// if (tables.size() == 1) { +// table = tables.get(0); +// } else { +// index = RandomHelper.randomInt(factory.get(), 0, tables.size() - 1); +// table = tables.get(index); +// } +// logger.debug("Selected loot table index --> {}", index); +// } +// return table; +// } + + /** + * + * @param random + * @param rarity + * @return + */ + default public Optional selectLootTable2(Random random, final Rarity rarity) { + LootTableShell lootTableShell = null; + + // select the loot table by rarity + List tables = buildLootTableList2(rarity); + if (tables !=null)logger.debug("tables size -> {}", tables.size()); + + // select a random table from the list + if (tables != null && !tables.isEmpty()) { + int index = 0; + if (tables.size() == 1) { + lootTableShell = tables.get(0); + } else { + index = RandomHelper.randomInt(random, 0, tables.size() - 1); + lootTableShell = tables.get(index); + } + logger.debug("Selected loot table shell index --> {}", index); + } + return Optional.ofNullable(lootTableShell); + } + + /** + * + * @param factory + * @param rarity + * @return + */ + default public Optional selectLootTable2(Supplier factory, Rarity rarity) { + LootTableShell lootTableShell = null; + + // select the loot table by rarity + List tables = buildLootTableList2(rarity); + if (tables !=null)logger.debug("tables size -> {}", tables.size()); + + // select a random table from the list + if (tables != null && !tables.isEmpty()) { + int index = 0; + if (tables.size() == 1) { + lootTableShell = tables.get(0); + } else { + index = RandomHelper.randomInt(factory.get(), 0, tables.size() - 1); + lootTableShell = tables.get(index); + } + logger.debug("Selected loot table shell index --> {}", index); + } + return Optional.ofNullable(lootTableShell); + } + + /** + * + * @param tileEntity + * @param rarity + */ + public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rarity rarity); + + /** + * + * @param tileEntity + * @param location + */ + default public void addLootTable(AbstractTreasureChestTileEntity tileEntity, ResourceLocation location) { + tileEntity.setLootTable(location); + } + + /** + * + * @param tileEntity + */ + default public void addSeal(AbstractTreasureChestTileEntity tileEntity) { + tileEntity.setSealed(true); + } + + /** + * Default implementation. Select locks only from with the same Rarity. + * + * @param chest + */ + default public void addLocks(Random random, AbstractChestBlock chest, AbstractTreasureChestTileEntity chestTileEntity, + Rarity rarity) { + List locks = new ArrayList<>(); + locks.addAll(TreasureItems.locks.get(rarity)); + addLocks(random, chest, chestTileEntity, locks); + locks.clear(); + } + + /** + * + * @param random + * @param chest + * @param te + * @param locks + */ + default public void addLocks(Random random, AbstractChestBlock chest, AbstractTreasureChestTileEntity chestTileEntity, + List locks) { + int numLocks = randomizedNumberOfLocksByChestType(random, chest.getChestType()); + + // get the lock states + List lockStates = chestTileEntity.getLockStates(); + + for (int i = 0; i < numLocks; i++) { + LockItem lock = locks.get(RandomHelper.randomInt(random, 0, locks.size() - 1)); + logger.debug("adding lock: {}", lock); + // add the lock to the chest + lockStates.get(i).setLock(lock); + } + } + + /** + * + * @param random + * @param type + * @return + */ + default public int randomizedNumberOfLocksByChestType(Random random, TreasureChestType type) { + // determine the number of locks to add + int numLocks = RandomHelper.randomInt(random, 0, type.getMaxLocks()); + logger.debug("# of locks to use: {})", numLocks); + return numLocks; + } + + /** + * Wrapper method so that is can be overridden (as used in the Template Pattern) + * + * @param world + * @param random + * @param coods + */ + default public void addMarkers(World world, Random random, ICoords coords, final boolean isSurfaceChest) { +// boolean isChestOnSurface = false; + // don't place if the block underneath is of GenericBlock ChestConfig or + // Container +// Block block = world.getBlockState(coords/*.add(0, -1, 0)*/.toPos()).getBlock(); +// if(block instanceof BlockContainer || block instanceof AbstractModContainerBlock || block instanceof ITreasureBlock) { +// isChestOnSurface = true; +// } + // GenUtil.placeMarkers(world, random, coords); + if (!isSurfaceChest && TreasureConfig.WORLD_GEN.getMarkerProperties().isMarkerStructuresAllowed && RandomHelper + .checkProbability(random, TreasureConfig.WORLD_GEN.getMarkerProperties().markerStructureProbability)) { + logger.debug("generating a random structure marker -> {}", coords.toShortString()); + new StructureMarkerGenerator().generate(world, random, coords); + } else { + new GravestoneMarkerGenerator().generate(world, random, coords); + } + } + + /** + * + * @param world + * @param random + * @param chest + * @param chestCoords + * @return + */ + default public TileEntity placeInWorld(World world, Random random, AbstractChestBlock chest, ICoords chestCoords) { + // replace block @ coords + boolean isPlaced = GenUtil.replaceBlockWithChest(world, random, chest, chestCoords); + + // get the backing tile entity of the chest + TileEntity tileEntity = (TileEntity) world.getTileEntity(chestCoords.toPos()); + + // check to ensure the chest has been generated + if (!isPlaced || !(world.getBlockState(chestCoords.toPos()).getBlock() instanceof AbstractChestBlock)) { + logger.debug("Unable to place chest @ {}", chestCoords.toShortString()); + // remove the title entity (if exists) + + if (tileEntity != null && (tileEntity instanceof AbstractTreasureChestTileEntity)) { + world.removeTileEntity(chestCoords.toPos()); + } + return null; + } + + // if tile entity failed to create, remove the chest + if (tileEntity == null || !(tileEntity instanceof AbstractTreasureChestTileEntity)) { + // remove chest + world.setBlockToAir(chestCoords.toPos()); + logger.debug("Unable to create TileEntityChest, removing BlockChest"); + return null; + } + return tileEntity; + } + + /** + * + * @param world + * @param random + * @param chestCoords + * @param chest + * @param state + * @return + */ + default public TileEntity placeInWorld(World world, Random random, ICoords chestCoords, AbstractChestBlock chest, + IBlockState state) { + // replace block @ coords + boolean isPlaced = GenUtil.replaceBlockWithChest(world, random, chestCoords, chest, state); + logger.debug("isPlaced -> {}", isPlaced); + // get the backing tile entity of the chest + TileEntity tileEntity = (TileEntity) world.getTileEntity(chestCoords.toPos()); + + // check to ensure the chest has been generated + if (!isPlaced || !(world.getBlockState(chestCoords.toPos()).getBlock() instanceof AbstractChestBlock)) { + logger.debug("Unable to place chest @ {}", chestCoords.toShortString()); + // remove the title entity (if exists) + + if (tileEntity != null && (tileEntity instanceof AbstractTreasureChestTileEntity)) { + world.removeTileEntity(chestCoords.toPos()); + } + return null; + } + + // if tile entity failed to create, remove the chest + if (tileEntity == null || !(tileEntity instanceof AbstractTreasureChestTileEntity)) { + // remove chest + world.setBlockToAir(chestCoords.toPos()); + logger.debug("Unable to create TileEntityChest, removing BlockChest"); + return null; + } + return tileEntity; + } +} diff --git a/src/com/someguyssoftware/treasure2/generator/chest/RareChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/RareChestGenerator.java similarity index 71% rename from src/com/someguyssoftware/treasure2/generator/chest/RareChestGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/chest/RareChestGenerator.java index 865a66c6f..f3eab9bbb 100644 --- a/src/com/someguyssoftware/treasure2/generator/chest/RareChestGenerator.java +++ b/src/main/java/com/someguyssoftware/treasure2/generator/chest/RareChestGenerator.java @@ -5,11 +5,9 @@ import java.util.ArrayList; import java.util.List; -import java.util.Map; -import java.util.Map.Entry; import java.util.Random; -import com.someguyssoftware.gottschcore.loot.LootTable; +import com.someguyssoftware.gottschcore.loot.LootTableShell; import com.someguyssoftware.gottschcore.random.RandomHelper; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.block.AbstractChestBlock; @@ -19,7 +17,6 @@ import com.someguyssoftware.treasure2.item.LockItem; import com.someguyssoftware.treasure2.item.TreasureItems; import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity.GenerationContext; /** @@ -44,18 +41,13 @@ public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rar } @Override - public List buildLootTableList(final Rarity chestRarity) { - List tables = new ArrayList<>(); - Map> mapOfLootTables = Treasure.LOOT_TABLES.getChestLootTablesTable().column(Rarity.SCARCE); - for(Entry> n : mapOfLootTables.entrySet()) { - tables.addAll(n.getValue()); - } - mapOfLootTables = Treasure.LOOT_TABLES.getChestLootTablesTable().column(Rarity.RARE); - for(Entry> n : mapOfLootTables.entrySet()) { - tables.addAll(n.getValue()); - } + public List buildLootTableList2(final Rarity chestRarity) { + // get all loot tables by column key + List tables = new ArrayList<>(); + tables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.SCARCE)); + tables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.RARE)); return tables; - } + } /** * Rare will have at least one lock. diff --git a/src/com/someguyssoftware/treasure2/generator/chest/ScarceChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/ScarceChestGenerator.java similarity index 71% rename from src/com/someguyssoftware/treasure2/generator/chest/ScarceChestGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/chest/ScarceChestGenerator.java index 09fdaf51f..aea2878d7 100644 --- a/src/com/someguyssoftware/treasure2/generator/chest/ScarceChestGenerator.java +++ b/src/main/java/com/someguyssoftware/treasure2/generator/chest/ScarceChestGenerator.java @@ -5,11 +5,9 @@ import java.util.ArrayList; import java.util.List; -import java.util.Map; -import java.util.Map.Entry; import java.util.Random; -import com.someguyssoftware.gottschcore.loot.LootTable; +import com.someguyssoftware.gottschcore.loot.LootTableShell; import com.someguyssoftware.gottschcore.random.RandomHelper; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.block.AbstractChestBlock; @@ -19,7 +17,6 @@ import com.someguyssoftware.treasure2.item.LockItem; import com.someguyssoftware.treasure2.item.TreasureItems; import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity.GenerationContext; /** @@ -47,21 +44,13 @@ public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rar * */ @Override - public List buildLootTableList(final Rarity chestRarity) { + public List buildLootTableList2(final Rarity chestRarity) { // get all loot tables by column key - List tables = new ArrayList<>(); - Map> mapOfLootTables = Treasure.LOOT_TABLES.getChestLootTablesTable().column(Rarity.UNCOMMON); - // convert to a single list - for(Entry> n : mapOfLootTables.entrySet()) { - tables.addAll(n.getValue()); - } - mapOfLootTables = Treasure.LOOT_TABLES.getChestLootTablesTable().column(Rarity.SCARCE); - // convert to a single list - for(Entry> n : mapOfLootTables.entrySet()) { - tables.addAll(n.getValue()); - } + List tables = new ArrayList<>(); + tables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.UNCOMMON)); + tables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.SCARCE)); return tables; - } + } /** * Scarce will have at least one lock. diff --git a/src/com/someguyssoftware/treasure2/generator/chest/SkullChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/SkullChestGenerator.java similarity index 82% rename from src/com/someguyssoftware/treasure2/generator/chest/SkullChestGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/chest/SkullChestGenerator.java index 122059d69..41599747c 100644 --- a/src/com/someguyssoftware/treasure2/generator/chest/SkullChestGenerator.java +++ b/src/main/java/com/someguyssoftware/treasure2/generator/chest/SkullChestGenerator.java @@ -5,10 +5,11 @@ import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.Random; import java.util.function.Supplier; -import com.someguyssoftware.gottschcore.loot.LootTable; +import com.someguyssoftware.gottschcore.loot.LootTableShell; import com.someguyssoftware.gottschcore.random.RandomHelper; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.block.AbstractChestBlock; @@ -19,9 +20,8 @@ import com.someguyssoftware.treasure2.enums.Rarity; import com.someguyssoftware.treasure2.item.LockItem; import com.someguyssoftware.treasure2.item.TreasureItems; -import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster.SpecialLootTables; +import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster2.SpecialLootTables; import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity.GenerationContext; /** * @@ -50,13 +50,13 @@ public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rar * @return */ @Override - public LootTable selectLootTable(Random random, final Rarity chestRarity) { - return Treasure.LOOT_TABLES.getSpecialLootTable(SpecialLootTables.SKULL_CHEST); + public Optional selectLootTable2(Random random, final Rarity chestRarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.SKULL_CHEST)); } @Override - public LootTable selectLootTable(Supplier factory, final Rarity rarity) { - return Treasure.LOOT_TABLES.getSpecialLootTable(SpecialLootTables.SKULL_CHEST); + public Optional selectLootTable2(Supplier factory, final Rarity rarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.SKULL_CHEST)); } /** diff --git a/src/com/someguyssoftware/treasure2/generator/chest/UncommonChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/UncommonChestGenerator.java similarity index 66% rename from src/com/someguyssoftware/treasure2/generator/chest/UncommonChestGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/chest/UncommonChestGenerator.java index 6ea24c3e7..449ad6c17 100644 --- a/src/com/someguyssoftware/treasure2/generator/chest/UncommonChestGenerator.java +++ b/src/main/java/com/someguyssoftware/treasure2/generator/chest/UncommonChestGenerator.java @@ -5,11 +5,9 @@ import java.util.ArrayList; import java.util.List; -import java.util.Map; -import java.util.Map.Entry; import java.util.Random; -import com.someguyssoftware.gottschcore.loot.LootTable; +import com.someguyssoftware.gottschcore.loot.LootTableShell; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.block.AbstractChestBlock; import com.someguyssoftware.treasure2.enums.ChestGeneratorType; @@ -17,7 +15,6 @@ import com.someguyssoftware.treasure2.item.LockItem; import com.someguyssoftware.treasure2.item.TreasureItems; import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity.GenerationContext; /** * @@ -44,22 +41,13 @@ public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rar * */ @Override - public List buildLootTableList(final Rarity chestRarity) { - List tables = new ArrayList<>(); - + public List buildLootTableList2(final Rarity chestRarity) { // get all loot tables by column key - Map> mapOfLootTables = Treasure.LOOT_TABLES.getChestLootTablesTable().column(Rarity.COMMON); - // convert to a single list - for(Entry> n : mapOfLootTables.entrySet()) { - tables.addAll(n.getValue()); - } - - mapOfLootTables = Treasure.LOOT_TABLES.getChestLootTablesTable().column(Rarity.UNCOMMON); - for(Entry> n : mapOfLootTables.entrySet()) { - tables.addAll(n.getValue()); - } + List tables = new ArrayList<>(); + tables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.COMMON)); + tables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.UNCOMMON)); return tables; - } + } /** * @param chest diff --git a/src/com/someguyssoftware/treasure2/generator/chest/WitherChestGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/chest/WitherChestGenerator.java similarity index 90% rename from src/com/someguyssoftware/treasure2/generator/chest/WitherChestGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/chest/WitherChestGenerator.java index 134b67b23..93d08644a 100644 --- a/src/com/someguyssoftware/treasure2/generator/chest/WitherChestGenerator.java +++ b/src/main/java/com/someguyssoftware/treasure2/generator/chest/WitherChestGenerator.java @@ -4,10 +4,11 @@ package com.someguyssoftware.treasure2.generator.chest; import java.util.List; +import java.util.Optional; import java.util.Random; import java.util.function.Supplier; -import com.someguyssoftware.gottschcore.loot.LootTable; +import com.someguyssoftware.gottschcore.loot.LootTableShell; import com.someguyssoftware.gottschcore.positional.ICoords; import com.someguyssoftware.gottschcore.random.RandomHelper; import com.someguyssoftware.treasure2.Treasure; @@ -21,9 +22,8 @@ import com.someguyssoftware.treasure2.item.LockItem; import com.someguyssoftware.treasure2.item.TreasureItems; import com.someguyssoftware.treasure2.lock.LockState; -import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster.SpecialLootTables; +import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster2.SpecialLootTables; import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; -import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity.GenerationContext; import net.minecraft.block.state.IBlockState; import net.minecraft.tileentity.TileEntity; @@ -56,15 +56,14 @@ public void addGenerationContext(AbstractTreasureChestTileEntity tileEntity, Rar * @return */ @Override - public LootTable selectLootTable(Random random, final Rarity chestRarity) { - return Treasure.LOOT_TABLES.getSpecialLootTable(SpecialLootTables.WITHER_CHEST); + public Optional selectLootTable2(Random random, final Rarity chestRarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.WITHER_CHEST)); } - + @Override - public LootTable selectLootTable(Supplier factory, final Rarity rarity) { - return Treasure.LOOT_TABLES.getSpecialLootTable(SpecialLootTables.WITHER_CHEST); - } - + public Optional selectLootTable2(Supplier factory, final Rarity rarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.WITHER_CHEST)); + } /** * Always select a wither chest. */ diff --git a/src/com/someguyssoftware/treasure2/generator/marker/GravestoneMarkerGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/marker/GravestoneMarkerGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/marker/GravestoneMarkerGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/marker/GravestoneMarkerGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/marker/IMarkerGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/marker/IMarkerGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/marker/IMarkerGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/marker/IMarkerGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/marker/StructureMarkerGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/marker/StructureMarkerGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/marker/StructureMarkerGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/marker/StructureMarkerGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/oasis/DesertOasisGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/oasis/DesertOasisGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/oasis/DesertOasisGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/oasis/DesertOasisGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/oasis/IOasisGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/oasis/IOasisGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/oasis/IOasisGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/oasis/IOasisGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/oasis/OasisInfo.java b/src/main/java/com/someguyssoftware/treasure2/generator/oasis/OasisInfo.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/oasis/OasisInfo.java rename to src/main/java/com/someguyssoftware/treasure2/generator/oasis/OasisInfo.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/AbstractPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/AbstractPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/AbstractPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/AbstractPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/AirPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/AirPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/AirPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/AirPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/BigBottomMobTrapPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/BigBottomMobTrapPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/BigBottomMobTrapPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/BigBottomMobTrapPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/CollapsingTrapPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/CollapsingTrapPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/CollapsingTrapPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/CollapsingTrapPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/IPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/IPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/IPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/IPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/LavaSideTrapPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/LavaSideTrapPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/LavaSideTrapPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/LavaSideTrapPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/LavaTrapPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/LavaTrapPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/LavaTrapPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/LavaTrapPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/MobTrapPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/MobTrapPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/MobTrapPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/MobTrapPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/SimplePitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/SimplePitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/SimplePitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/SimplePitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/SimpleShortPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/SimpleShortPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/SimpleShortPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/SimpleShortPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/StructurePitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/StructurePitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/StructurePitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/StructurePitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/TntTrapPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/TntTrapPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/TntTrapPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/TntTrapPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/pit/VolcanoPitGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/pit/VolcanoPitGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/pit/VolcanoPitGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/pit/VolcanoPitGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/ruins/IRuinGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/ruins/IRuinGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/ruins/IRuinGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/ruins/IRuinGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/ruins/SubmergedRuinGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/ruins/SubmergedRuinGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/ruins/SubmergedRuinGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/ruins/SubmergedRuinGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/ruins/SurfaceRuinGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/ruins/SurfaceRuinGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/ruins/SurfaceRuinGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/ruins/SurfaceRuinGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/well/IWellGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/well/IWellGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/well/IWellGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/well/IWellGenerator.java diff --git a/src/com/someguyssoftware/treasure2/generator/well/WellGenerator.java b/src/main/java/com/someguyssoftware/treasure2/generator/well/WellGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/generator/well/WellGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/generator/well/WellGenerator.java diff --git a/src/com/someguyssoftware/treasure2/inventory/AbstractChestContainer.java b/src/main/java/com/someguyssoftware/treasure2/inventory/AbstractChestContainer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/AbstractChestContainer.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/AbstractChestContainer.java diff --git a/src/com/someguyssoftware/treasure2/inventory/ArcanePouchSlot.java b/src/main/java/com/someguyssoftware/treasure2/inventory/ArcanePouchSlot.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/ArcanePouchSlot.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/ArcanePouchSlot.java diff --git a/src/com/someguyssoftware/treasure2/inventory/ArmoireChestContainer.java b/src/main/java/com/someguyssoftware/treasure2/inventory/ArmoireChestContainer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/ArmoireChestContainer.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/ArmoireChestContainer.java diff --git a/src/com/someguyssoftware/treasure2/inventory/CompressorChestContainer.java b/src/main/java/com/someguyssoftware/treasure2/inventory/CompressorChestContainer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/CompressorChestContainer.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/CompressorChestContainer.java diff --git a/src/com/someguyssoftware/treasure2/inventory/InventoryProxy.java b/src/main/java/com/someguyssoftware/treasure2/inventory/InventoryProxy.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/InventoryProxy.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/InventoryProxy.java diff --git a/src/com/someguyssoftware/treasure2/inventory/KeyRingContainer.java b/src/main/java/com/someguyssoftware/treasure2/inventory/KeyRingContainer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/KeyRingContainer.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/KeyRingContainer.java diff --git a/src/com/someguyssoftware/treasure2/inventory/KeyRingInventory.java b/src/main/java/com/someguyssoftware/treasure2/inventory/KeyRingInventory.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/KeyRingInventory.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/KeyRingInventory.java diff --git a/src/com/someguyssoftware/treasure2/inventory/KeyRingSlot.java b/src/main/java/com/someguyssoftware/treasure2/inventory/KeyRingSlot.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/KeyRingSlot.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/KeyRingSlot.java diff --git a/src/com/someguyssoftware/treasure2/inventory/MolluscChestContainer.java b/src/main/java/com/someguyssoftware/treasure2/inventory/MolluscChestContainer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/MolluscChestContainer.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/MolluscChestContainer.java diff --git a/src/com/someguyssoftware/treasure2/inventory/NoSlot.java b/src/main/java/com/someguyssoftware/treasure2/inventory/NoSlot.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/NoSlot.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/NoSlot.java diff --git a/src/com/someguyssoftware/treasure2/inventory/PouchContainer.java b/src/main/java/com/someguyssoftware/treasure2/inventory/PouchContainer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/PouchContainer.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/PouchContainer.java diff --git a/src/com/someguyssoftware/treasure2/inventory/PouchInventory.java b/src/main/java/com/someguyssoftware/treasure2/inventory/PouchInventory.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/PouchInventory.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/PouchInventory.java diff --git a/src/com/someguyssoftware/treasure2/inventory/PouchSlot.java b/src/main/java/com/someguyssoftware/treasure2/inventory/PouchSlot.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/PouchSlot.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/PouchSlot.java diff --git a/src/com/someguyssoftware/treasure2/inventory/SkullChestContainer.java b/src/main/java/com/someguyssoftware/treasure2/inventory/SkullChestContainer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/SkullChestContainer.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/SkullChestContainer.java diff --git a/src/com/someguyssoftware/treasure2/inventory/StandardChestContainer.java b/src/main/java/com/someguyssoftware/treasure2/inventory/StandardChestContainer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/StandardChestContainer.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/StandardChestContainer.java diff --git a/src/com/someguyssoftware/treasure2/inventory/StrongboxChestContainer.java b/src/main/java/com/someguyssoftware/treasure2/inventory/StrongboxChestContainer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/StrongboxChestContainer.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/StrongboxChestContainer.java diff --git a/src/com/someguyssoftware/treasure2/inventory/WitherChestContainer.java b/src/main/java/com/someguyssoftware/treasure2/inventory/WitherChestContainer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/inventory/WitherChestContainer.java rename to src/main/java/com/someguyssoftware/treasure2/inventory/WitherChestContainer.java diff --git a/src/com/someguyssoftware/treasure2/item/CharmedCoinItem.java b/src/main/java/com/someguyssoftware/treasure2/item/CharmedCoinItem.java similarity index 92% rename from src/com/someguyssoftware/treasure2/item/CharmedCoinItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/CharmedCoinItem.java index 43984fb3e..4c96db664 100644 --- a/src/com/someguyssoftware/treasure2/item/CharmedCoinItem.java +++ b/src/main/java/com/someguyssoftware/treasure2/item/CharmedCoinItem.java @@ -66,6 +66,14 @@ public void addInformation(ItemStack stack, World worldIn, List tooltip, addCharmedInfo(stack, worldIn, tooltip, flagIn); } + /** + * + */ + @Override + public boolean hasEffect(ItemStack stack) { + return true; + } + /* * Example */ diff --git a/src/com/someguyssoftware/treasure2/item/CharmedGemItem.java b/src/main/java/com/someguyssoftware/treasure2/item/CharmedGemItem.java similarity index 90% rename from src/com/someguyssoftware/treasure2/item/CharmedGemItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/CharmedGemItem.java index 79cd967de..69dffcc30 100644 --- a/src/com/someguyssoftware/treasure2/item/CharmedGemItem.java +++ b/src/main/java/com/someguyssoftware/treasure2/item/CharmedGemItem.java @@ -48,4 +48,12 @@ public void addInformation(ItemStack stack, World worldIn, List tooltip, super.addInformation(stack, worldIn, tooltip, flagIn); addCharmedInfo(stack, worldIn, tooltip, flagIn); } + + /** + * + */ + @Override + public boolean hasEffect(ItemStack stack) { + return true; + } } diff --git a/src/com/someguyssoftware/treasure2/item/CoinItem.java b/src/main/java/com/someguyssoftware/treasure2/item/CoinItem.java similarity index 59% rename from src/com/someguyssoftware/treasure2/item/CoinItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/CoinItem.java index 3c060062a..e85e4cc7c 100644 --- a/src/com/someguyssoftware/treasure2/item/CoinItem.java +++ b/src/main/java/com/someguyssoftware/treasure2/item/CoinItem.java @@ -3,37 +3,40 @@ */ package com.someguyssoftware.treasure2.item; +import static com.someguyssoftware.treasure2.Treasure.logger; + import java.util.ArrayList; import java.util.List; -import java.util.Map; +import java.util.Optional; import java.util.Random; -import java.util.Map.Entry; import com.someguyssoftware.gottschcore.cube.Cube; import com.someguyssoftware.gottschcore.item.ModItem; -import com.someguyssoftware.gottschcore.loot.LootTable; +import com.someguyssoftware.gottschcore.loot.LootPoolShell; +import com.someguyssoftware.gottschcore.loot.LootTableShell; import com.someguyssoftware.gottschcore.positional.Coords; import com.someguyssoftware.gottschcore.positional.ICoords; import com.someguyssoftware.gottschcore.random.RandomHelper; import com.someguyssoftware.gottschcore.world.WorldInfo; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.block.IWishingWellBlock; -import com.someguyssoftware.treasure2.block.TreasureBlocks; import com.someguyssoftware.treasure2.config.TreasureConfig; import com.someguyssoftware.treasure2.enums.Coins; import com.someguyssoftware.treasure2.enums.Rarity; import com.someguyssoftware.treasure2.item.wish.IWishable; -import net.minecraft.block.Block; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.inventory.InventoryHelper; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.translation.I18n; import net.minecraft.world.World; +import net.minecraft.world.storage.loot.LootPool; /** * @@ -101,7 +104,6 @@ public boolean onEntityItemUpdate(EntityItem entityItem) { for (int z = 0; z < 3; z++) { for (int x = 0; x < 3; x++) { Cube checkCube = new Cube(world, checkCoords); -// if (checkCube.equalsBlock(TreasureBlocks.WISHING_WELL_BLOCK)) { if (checkCube.toBlock() instanceof IWishingWellBlock) { numWishingWellBlocks++; } @@ -132,16 +134,16 @@ public boolean onEntityItemUpdate(EntityItem entityItem) { * @param coords */ private void generateLootItem(World world, Random random, EntityItem entityItem, ICoords coords) { - List lootTables = new ArrayList<>(); + List lootTables = new ArrayList<>(); // determine coin type if (getCoin() == Coins.SILVER) { - lootTables.addAll(Treasure.LOOT_TABLES.getLootTableByRarity(Rarity.UNCOMMON)); - lootTables.addAll(Treasure.LOOT_TABLES.getLootTableByRarity(Rarity.SCARCE)); + lootTables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.UNCOMMON)); + lootTables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.SCARCE)); } else if (getCoin() == Coins.GOLD) { - lootTables.addAll(Treasure.LOOT_TABLES.getLootTableByRarity(Rarity.SCARCE)); - lootTables.addAll(Treasure.LOOT_TABLES.getLootTableByRarity(Rarity.RARE)); + lootTables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.SCARCE)); + lootTables.addAll(Treasure.LOOT_TABLE_MASTER.getLootTableByRarity(Rarity.RARE)); } ItemStack stack = null; @@ -150,14 +152,53 @@ else if (getCoin() == Coins.GOLD) { stack = new ItemStack(Items.APPLE); } else { - // select a table - LootTable table = lootTables.get(RandomHelper.randomInt(random, 0, lootTables.size()-1)); + // select a table shell + LootTableShell tableShell = lootTables.get(RandomHelper.randomInt(random, 0, lootTables.size()-1)); + if (tableShell.getResourceLocation() == null) { + return; + } + + // get the vanilla table from shell + net.minecraft.world.storage.loot.LootTable table = world.getLootTableManager().getLootTableFromLocation(tableShell.getResourceLocation()); + // get a list of loot pools + List lootPoolShells = tableShell.getPools(); + + List itemStacks = new ArrayList<>(); + for (LootPoolShell pool : lootPoolShells) { + logger.debug("coin: processing pool -> {}", pool.getName()); + // go get the vanilla managed pool + LootPool lootPool = table.getPool(pool.getName()); + + // geneate loot from pools + lootPool.generateLoot(itemStacks, random, Treasure.LOOT_TABLE_MASTER.getContext()); + } - // generate a list of itemStacks from the table pools - List list =table.generateLootFromPools(random, Treasure.LOOT_TABLES.getContext()); + // get effective rarity + Rarity effectiveRarity = Treasure.LOOT_TABLE_MASTER.getEffectiveRarity(tableShell, (getCoin() == Coins.SILVER) ? Rarity.UNCOMMON : Rarity.SCARCE); + logger.debug("coin: using effective rarity -> {}", effectiveRarity); + + // get all injected loot tables + logger.debug("coin: searching for injectable tables for category ->{}, rarity -> {}", tableShell.getCategory(), effectiveRarity); + Optional> injectLootTableShells = buildInjectedLootTableList(tableShell.getCategory(), effectiveRarity); + if (injectLootTableShells.isPresent()) { + logger.debug("coin: found injectable tables for category ->{}, rarity -> {}", tableShell.getCategory(), effectiveRarity); + logger.debug("coin: size of injectable tables -> {}", injectLootTableShells.get().size()); + // attempt to get the player who dropped the coin + ItemStack coinItem = entityItem.getItem(); + NBTTagCompound nbt = coinItem.getTagCompound(); + EntityPlayer player = null; + if (nbt != null && nbt.hasKey(DROPPED_BY_KEY)) { + player = world.getPlayerEntityByName(nbt.getString(DROPPED_BY_KEY)); + if (player != null && logger.isDebugEnabled()) { + logger.debug("coin dropped by player -> {}", player.getName()); + } + } + itemStacks.addAll(getLootItems(world, random, injectLootTableShells.get(), getLootContext(world, player))); + } + // select one item randomly - stack = list.get(RandomHelper.randomInt(0, list.size()-1)); + stack = itemStacks.get(RandomHelper.randomInt(0, itemStacks.size()-1)); } // spawn the item diff --git a/src/com/someguyssoftware/treasure2/item/EmberKey.java b/src/main/java/com/someguyssoftware/treasure2/item/EmberKey.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/EmberKey.java rename to src/main/java/com/someguyssoftware/treasure2/item/EmberKey.java diff --git a/src/com/someguyssoftware/treasure2/item/EmberLock.java b/src/main/java/com/someguyssoftware/treasure2/item/EmberLock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/EmberLock.java rename to src/main/java/com/someguyssoftware/treasure2/item/EmberLock.java diff --git a/src/com/someguyssoftware/treasure2/item/GemItem.java b/src/main/java/com/someguyssoftware/treasure2/item/GemItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/GemItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/GemItem.java diff --git a/src/com/someguyssoftware/treasure2/item/IPouch.java b/src/main/java/com/someguyssoftware/treasure2/item/IPouch.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/IPouch.java rename to src/main/java/com/someguyssoftware/treasure2/item/IPouch.java diff --git a/src/com/someguyssoftware/treasure2/item/IPouchable.java b/src/main/java/com/someguyssoftware/treasure2/item/IPouchable.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/IPouchable.java rename to src/main/java/com/someguyssoftware/treasure2/item/IPouchable.java diff --git a/src/com/someguyssoftware/treasure2/item/JewelledKey.java b/src/main/java/com/someguyssoftware/treasure2/item/JewelledKey.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/JewelledKey.java rename to src/main/java/com/someguyssoftware/treasure2/item/JewelledKey.java diff --git a/src/com/someguyssoftware/treasure2/item/KeyItem.java b/src/main/java/com/someguyssoftware/treasure2/item/KeyItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/KeyItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/KeyItem.java diff --git a/src/com/someguyssoftware/treasure2/item/KeyRingItem.java b/src/main/java/com/someguyssoftware/treasure2/item/KeyRingItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/KeyRingItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/KeyRingItem.java diff --git a/src/com/someguyssoftware/treasure2/item/LightningKey.java b/src/main/java/com/someguyssoftware/treasure2/item/LightningKey.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/LightningKey.java rename to src/main/java/com/someguyssoftware/treasure2/item/LightningKey.java diff --git a/src/com/someguyssoftware/treasure2/item/LockItem.java b/src/main/java/com/someguyssoftware/treasure2/item/LockItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/LockItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/LockItem.java diff --git a/src/com/someguyssoftware/treasure2/item/MetallurgistsKey.java b/src/main/java/com/someguyssoftware/treasure2/item/MetallurgistsKey.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/MetallurgistsKey.java rename to src/main/java/com/someguyssoftware/treasure2/item/MetallurgistsKey.java diff --git a/src/com/someguyssoftware/treasure2/item/MimicChestItemBlock.java b/src/main/java/com/someguyssoftware/treasure2/item/MimicChestItemBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/MimicChestItemBlock.java rename to src/main/java/com/someguyssoftware/treasure2/item/MimicChestItemBlock.java diff --git a/src/com/someguyssoftware/treasure2/item/ModFoodItem.java b/src/main/java/com/someguyssoftware/treasure2/item/ModFoodItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/ModFoodItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/ModFoodItem.java diff --git a/src/com/someguyssoftware/treasure2/item/ModSoupItem.java b/src/main/java/com/someguyssoftware/treasure2/item/ModSoupItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/ModSoupItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/ModSoupItem.java diff --git a/src/com/someguyssoftware/treasure2/item/PaintingItem.java b/src/main/java/com/someguyssoftware/treasure2/item/PaintingItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/PaintingItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/PaintingItem.java diff --git a/src/main/java/com/someguyssoftware/treasure2/item/PearlItem.java b/src/main/java/com/someguyssoftware/treasure2/item/PearlItem.java new file mode 100644 index 000000000..75fb71caf --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/item/PearlItem.java @@ -0,0 +1,224 @@ +/** + * + */ +package com.someguyssoftware.treasure2.item; + +import static com.someguyssoftware.treasure2.Treasure.logger; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.Random; + +import com.someguyssoftware.gottschcore.cube.Cube; +import com.someguyssoftware.gottschcore.item.ModItem; +import com.someguyssoftware.gottschcore.loot.LootPoolShell; +import com.someguyssoftware.gottschcore.loot.LootTableShell; +import com.someguyssoftware.gottschcore.positional.Coords; +import com.someguyssoftware.gottschcore.positional.ICoords; +import com.someguyssoftware.gottschcore.random.RandomHelper; +import com.someguyssoftware.gottschcore.world.WorldInfo; +import com.someguyssoftware.treasure2.Treasure; +import com.someguyssoftware.treasure2.block.IWishingWellBlock; +import com.someguyssoftware.treasure2.enums.Pearls; +import com.someguyssoftware.treasure2.enums.Rarity; +import com.someguyssoftware.treasure2.item.wish.IWishable; +import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster2.SpecialLootTables; + +import net.minecraft.client.util.ITooltipFlag; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.inventory.InventoryHelper; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.util.text.translation.I18n; +import net.minecraft.world.World; +import net.minecraft.world.storage.loot.LootPool; + +/** + * + * @author Mark Gottschling on Aug 18, 2019 + * + */ +public class PearlItem extends ModItem implements IWishable, IPouchable { + + public static final int MAX_STACK_SIZE = 8; + private Pearls pearl; + + /** + * + */ + public PearlItem (String modID, String name) { + super(); + this.setItemName(modID, name); + this.setMaxStackSize(MAX_STACK_SIZE); + this.setCreativeTab(Treasure.TREASURE_TAB); + this.pearl = Pearls.WHITE; + } + + /** + * + * @param pearl + */ + public PearlItem(String modID, String name, Pearls pearl) { + this(modID, name); + this.setPearl(pearl); + } + + /** + * + */ + @SuppressWarnings("deprecation") + @Override + public void addInformation(ItemStack stack, World worldIn, List tooltip, ITooltipFlag flagIn) { + super.addInformation(stack, worldIn, tooltip, flagIn); + tooltip.add(TextFormatting.GOLD + I18n.translateToLocal("tooltip.label.coin")); + } + + /** + * + */ + @Override + public boolean onEntityItemUpdate(EntityItem entityItem) { + // get the item stack or number of items. + ItemStack entityItemStack = entityItem.getItem(); + + World world = entityItem.getEntityWorld(); + if (WorldInfo.isClientSide(world)) { + return super.onEntityItemUpdate(entityItem); + } + + // get the position + ICoords coords = new Coords(entityItem.getPosition()); + Cube cube = new Cube(world, coords); + int numWishingWellBlocks = 0; + // check if in water + if (cube.equalsBlock(Blocks.WATER)) { + // check if the water block is adjacent to 2 wishing well blocks + ICoords checkCoords = coords.add(-1, 0, -1); + for (int z = 0; z < 3; z++) { + for (int x = 0; x < 3; x++) { + Cube checkCube = new Cube(world, checkCoords); + if (checkCube.toBlock() instanceof IWishingWellBlock) { + numWishingWellBlocks++; + } + if (numWishingWellBlocks >= 2) { + break; + } + } + } + + if (numWishingWellBlocks >=2) { + Random random = new Random(); + for (int itemIndex = 0; itemIndex < entityItemStack.getCount(); itemIndex++) { + // generate an item for each item in the stack + generateLootItem(world, random, entityItem, coords); + } + return true; + } + } + + return super.onEntityItemUpdate(entityItem); + } + + /** + * + * @param world + * @param random + * @param entityItem + * @param coords + */ + private void generateLootItem(World world, Random random, EntityItem entityItem, ICoords coords) { + List lootTables = new ArrayList<>(); + + // determine pearl type + if (getPearl() == Pearls.WHITE) { + lootTables.add(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.WHITE_PEARL_WELL)); + } + else if (getPearl() == Pearls.BLACK) { + lootTables.add(Treasure.LOOT_TABLE_MASTER.getSpecialLootTable(SpecialLootTables.BLACK_PEARL_WELL)); + } + + ItemStack stack = null; + // handle if loot tables is null or size = 0. return an item (apple) to ensure continuing functionality + if (lootTables == null || lootTables.size() == 0) { + stack = new ItemStack(Items.DIAMOND); + } + else { + // select a table + LootTableShell tableShell = lootTables.get(RandomHelper.randomInt(random, 0, lootTables.size()-1)); + logger.debug("pearl: tableShell -> {}", tableShell.toString()); + if (tableShell.getResourceLocation() == null) { + return; + } + + // get the vanilla table from shell + net.minecraft.world.storage.loot.LootTable table = world.getLootTableManager().getLootTableFromLocation(tableShell.getResourceLocation()); + // get a list of loot pools + List lootPoolShells = tableShell.getPools(); + + List itemStacks = new ArrayList<>(); + for (LootPoolShell pool : lootPoolShells) { + logger.debug("pearl: processing pool -> {}", pool.getName()); + // go get the vanilla managed pool + LootPool lootPool = table.getPool(pool.getName()); + + // geneate loot from pools + lootPool.generateLoot(itemStacks, random, Treasure.LOOT_TABLE_MASTER.getContext()); + } + + // get effective rarity + Rarity effectiveRarity = Treasure.LOOT_TABLE_MASTER.getEffectiveRarity(tableShell, (getPearl() == Pearls.WHITE) ? Rarity.UNCOMMON : Rarity.SCARCE); + logger.debug("pearl: using effective rarity -> {}", effectiveRarity); + + // get all injected loot tables + logger.debug("pearl: searching for injectable tables for category ->{}, rarity -> {}", tableShell.getCategory(), effectiveRarity); + Optional> injectLootTableShells = buildInjectedLootTableList(tableShell.getCategory(), effectiveRarity); + if (injectLootTableShells.isPresent()) { + logger.debug("pearl: found injectable tables for category ->{}, rarity -> {}", tableShell.getCategory(), effectiveRarity); + logger.debug("pearl: size of injectable tables -> {}", injectLootTableShells.get().size()); + + // attempt to get the player who dropped the coin + ItemStack coinItem = entityItem.getItem(); + NBTTagCompound nbt = coinItem.getTagCompound(); + EntityPlayer player = null; + if (nbt != null && nbt.hasKey(DROPPED_BY_KEY)) { + player = world.getPlayerEntityByName(nbt.getString(DROPPED_BY_KEY)); + if (player != null && logger.isDebugEnabled()) { + logger.debug("pearl dropped by player -> {}", player.getName()); + } + } + itemStacks.addAll(getLootItems(world, random, injectLootTableShells.get(), getLootContext(world, player))); + } + + // select one item randomly + stack = itemStacks.get(RandomHelper.randomInt(0, itemStacks.size()-1)); + + } + + // spawn the item + if (stack != null) { + InventoryHelper.spawnItemStack(world, (double)coords.getX(), (double)coords.getY()+1, (double)coords.getZ(), stack); + } + + // remove the item entity + entityItem.setDead(); + } + + /** + * @return the pearl + */ + public Pearls getPearl() { + return pearl; + } + /** + * @param pearl the pearl to set + */ + public PearlItem setPearl(Pearls pearl) { + this.pearl = pearl; + return this; + } +} diff --git a/src/com/someguyssoftware/treasure2/item/PilferersLockPick.java b/src/main/java/com/someguyssoftware/treasure2/item/PilferersLockPick.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/PilferersLockPick.java rename to src/main/java/com/someguyssoftware/treasure2/item/PilferersLockPick.java diff --git a/src/com/someguyssoftware/treasure2/item/PouchItem.java b/src/main/java/com/someguyssoftware/treasure2/item/PouchItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/PouchItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/PouchItem.java diff --git a/src/com/someguyssoftware/treasure2/item/PouchType.java b/src/main/java/com/someguyssoftware/treasure2/item/PouchType.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/PouchType.java rename to src/main/java/com/someguyssoftware/treasure2/item/PouchType.java diff --git a/src/com/someguyssoftware/treasure2/item/SkeletonItem.java b/src/main/java/com/someguyssoftware/treasure2/item/SkeletonItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/SkeletonItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/SkeletonItem.java diff --git a/src/com/someguyssoftware/treasure2/item/SkeletonKey.java b/src/main/java/com/someguyssoftware/treasure2/item/SkeletonKey.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/SkeletonKey.java rename to src/main/java/com/someguyssoftware/treasure2/item/SkeletonKey.java diff --git a/src/com/someguyssoftware/treasure2/item/SpanishMossItem.java b/src/main/java/com/someguyssoftware/treasure2/item/SpanishMossItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/SpanishMossItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/SpanishMossItem.java diff --git a/src/com/someguyssoftware/treasure2/item/ThiefsLockPick.java b/src/main/java/com/someguyssoftware/treasure2/item/ThiefsLockPick.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/ThiefsLockPick.java rename to src/main/java/com/someguyssoftware/treasure2/item/ThiefsLockPick.java diff --git a/src/com/someguyssoftware/treasure2/item/TreasureChestItemBlock.java b/src/main/java/com/someguyssoftware/treasure2/item/TreasureChestItemBlock.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/TreasureChestItemBlock.java rename to src/main/java/com/someguyssoftware/treasure2/item/TreasureChestItemBlock.java diff --git a/src/com/someguyssoftware/treasure2/item/TreasureItems.java b/src/main/java/com/someguyssoftware/treasure2/item/TreasureItems.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/TreasureItems.java rename to src/main/java/com/someguyssoftware/treasure2/item/TreasureItems.java diff --git a/src/com/someguyssoftware/treasure2/item/TreasureToolItem.java b/src/main/java/com/someguyssoftware/treasure2/item/TreasureToolItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/TreasureToolItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/TreasureToolItem.java diff --git a/src/com/someguyssoftware/treasure2/item/WitherRootItem.java b/src/main/java/com/someguyssoftware/treasure2/item/WitherRootItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/WitherRootItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/WitherRootItem.java diff --git a/src/com/someguyssoftware/treasure2/item/WitherStickItem.java b/src/main/java/com/someguyssoftware/treasure2/item/WitherStickItem.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/WitherStickItem.java rename to src/main/java/com/someguyssoftware/treasure2/item/WitherStickItem.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/Charm.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/Charm.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/Charm.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/Charm.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/CharmBuilder.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/CharmBuilder.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/CharmBuilder.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/CharmBuilder.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/CharmLevel.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/CharmLevel.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/CharmLevel.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/CharmLevel.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/CharmState.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/CharmState.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/CharmState.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/CharmState.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/CharmStateFactory.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/CharmStateFactory.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/CharmStateFactory.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/CharmStateFactory.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/CharmType.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/CharmType.java similarity index 91% rename from src/com/someguyssoftware/treasure2/item/charm/CharmType.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/CharmType.java index a400a3c0a..d87964bb5 100644 --- a/src/com/someguyssoftware/treasure2/item/charm/CharmType.java +++ b/src/main/java/com/someguyssoftware/treasure2/item/charm/CharmType.java @@ -11,7 +11,7 @@ public enum CharmType { HEALING("healing", new double[] {20, 50, 100, 200}), SHIELDING("shielding", new double[] {20, 50, 100, 200}, new double[] {0.5, 0.6, 0.7, 0.8}), FULLNESS("fullness", new double[] {20, 50, 100, 200}), - HARVESTING("harvesting", new double[] {20, 30, 40, 50}, new double[] {2, 3, 4, 5}), // values here indicate number of harvestable blocks + HARVESTING("harvesting", new double[] {20, 30, 40, 50}, new double[] {2, 3, 4, 5}), // values here indicate number of harvestable blocks ILLUMINATION("illumination", new double[] {3, 6, 12, 20}), DECAY("decay", new double[] {20, 50, 100, 200}); diff --git a/src/com/someguyssoftware/treasure2/item/charm/CharmVitals.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/CharmVitals.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/CharmVitals.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/CharmVitals.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/DecayCharm.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/DecayCharm.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/DecayCharm.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/DecayCharm.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/FullnessCharm.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/FullnessCharm.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/FullnessCharm.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/FullnessCharm.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/HarvestingCharm.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/HarvestingCharm.java similarity index 68% rename from src/com/someguyssoftware/treasure2/item/charm/HarvestingCharm.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/HarvestingCharm.java index a9428277c..81d16f26b 100644 --- a/src/com/someguyssoftware/treasure2/item/charm/HarvestingCharm.java +++ b/src/main/java/com/someguyssoftware/treasure2/item/charm/HarvestingCharm.java @@ -7,8 +7,11 @@ import com.someguyssoftware.gottschcore.positional.ICoords; import com.someguyssoftware.treasure2.Treasure; +import com.someguyssoftware.treasure2.item.IPouch; +import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.event.entity.living.LivingDamageEvent; @@ -46,9 +49,24 @@ public boolean doCharm(World world, Random random, ICoords coords, EntityPlayer @Override public boolean doCharm(World world, Random random, ICoords coords, EntityPlayer player, BlockEvent.HarvestDropsEvent event, final ICharmVitals vitals) { boolean result = false; - if (vitals.getValue() > 0 && !player.isDead) { + if (vitals.getValue() > 0 && !player.isDead) { // process all the drops for (ItemStack stack : event.getDrops()) { + + // exclude all Charms, Pouches or Blocks with Tile Entities + Block block = Block.getBlockFromItem(stack.getItem()); + if (block != Blocks.AIR) { + if (block.hasTileEntity(block.getDefaultState())) { + Treasure.logger.debug("skipped item because it has a tile entity."); + continue; + } + } else { + if (stack.getItem() instanceof ICharmed || stack.getItem() instanceof IPouch) { + Treasure.logger.debug("skipped item because it is a charm or pouch."); + continue; + } + } + Treasure.logger.debug("current stack size is -> {}", stack.getCount()); int size = (int)(stack.getCount() * vitals.getPercent()); stack.setCount(size); diff --git a/src/com/someguyssoftware/treasure2/item/charm/HealingCharm.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/HealingCharm.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/HealingCharm.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/HealingCharm.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/ICharm.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/ICharm.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/ICharm.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/ICharm.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/ICharmBuilder.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/ICharmBuilder.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/ICharmBuilder.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/ICharmBuilder.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/ICharmState.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/ICharmState.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/ICharmState.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/ICharmState.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/ICharmVitals.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/ICharmVitals.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/ICharmVitals.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/ICharmVitals.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/ICharmed.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/ICharmed.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/ICharmed.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/ICharmed.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/IlluminationCharm.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/IlluminationCharm.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/IlluminationCharm.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/IlluminationCharm.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/IlluminationCharmVitals.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/IlluminationCharmVitals.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/IlluminationCharmVitals.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/IlluminationCharmVitals.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/ShieldingCharm.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/ShieldingCharm.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/ShieldingCharm.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/ShieldingCharm.java diff --git a/src/com/someguyssoftware/treasure2/item/charm/TreasureCharms.java b/src/main/java/com/someguyssoftware/treasure2/item/charm/TreasureCharms.java similarity index 100% rename from src/com/someguyssoftware/treasure2/item/charm/TreasureCharms.java rename to src/main/java/com/someguyssoftware/treasure2/item/charm/TreasureCharms.java diff --git a/src/main/java/com/someguyssoftware/treasure2/item/wish/IWishable.java b/src/main/java/com/someguyssoftware/treasure2/item/wish/IWishable.java new file mode 100644 index 000000000..4d05368d3 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/item/wish/IWishable.java @@ -0,0 +1,103 @@ +/** + * + */ +package com.someguyssoftware.treasure2.item.wish; + +import java.util.List; +import java.util.Optional; +import java.util.Random; + +import com.someguyssoftware.gottschcore.loot.LootTableShell; +import com.someguyssoftware.gottschcore.positional.ICoords; +import com.someguyssoftware.treasure2.Treasure; +import com.someguyssoftware.treasure2.enums.Rarity; +import com.someguyssoftware.treasure2.loot.TreasureLootTableMaster2; +import com.someguyssoftware.treasure2.wish.IWishProvider; +import com.someguyssoftware.treasure2.wish.IWishProviderFunction; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; +import net.minecraft.world.storage.loot.LootContext; + +/** + * @author Mark Gottschling on Apr 24, 2020 + * + */ +public interface IWishable { + public static final String DROPPED_BY_KEY = "droppedBy"; + + /** + * + * @param key + * @param rarity + * @return + */ + default public Optional> buildInjectedLootTableList(String key, Rarity rarity) { + return Optional.ofNullable(Treasure.LOOT_TABLE_MASTER.getLootTableByKeyRarity(TreasureLootTableMaster2.ManagedTableType.INJECT, key, rarity)); + } + + /** + * + * @param world + * @param random + * @param list + * @param lootContext + * @return + */ + default public List getLootItems(World world, Random random, List list, LootContext lootContext) { + return Treasure.LOOT_TABLE_MASTER.getInjectedLootItems(world, random, list, lootContext); + } + + /** + * + * @return + */ + default public LootContext getLootContext() { + return Treasure.LOOT_TABLE_MASTER.getContext(); + } + + /** + * + * @param world + * @param player + * @return + */ + default public LootContext getLootContext(World world, EntityPlayer player) { + if (player == null) return getLootContext(); + LootContext lootContext = new LootContext.Builder((WorldServer) world) + .withLuck(player.getLuck()) + .withPlayer(player) + .build(); + return lootContext; + } + + /** + * + * @param world + * @param coords + * @param wishProviders + * @return + */ + default public Optional getWishProvider(World world, ICoords coords, List wishProviders) { + for(IWishProvider provider : wishProviders) { + if (provider.isValidAt(world, coords)) { + return Optional.of(provider); + } + } + return Optional.empty(); + } + + /** + * + * @param world + * @param coords + * @param wishProviders + * @param function + * @return + */ + default public Optional getWishProvider(World world, ICoords coords, List wishProviders, IWishProviderFunction function) { + return Optional.ofNullable(function.getProvider(world, coords, wishProviders)); + } +} diff --git a/src/com/someguyssoftware/treasure2/lock/LockState.java b/src/main/java/com/someguyssoftware/treasure2/lock/LockState.java similarity index 100% rename from src/com/someguyssoftware/treasure2/lock/LockState.java rename to src/main/java/com/someguyssoftware/treasure2/lock/LockState.java diff --git a/src/main/java/com/someguyssoftware/treasure2/loot/TreasureLootTableMaster2.java b/src/main/java/com/someguyssoftware/treasure2/loot/TreasureLootTableMaster2.java new file mode 100644 index 000000000..e6782eaf3 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/loot/TreasureLootTableMaster2.java @@ -0,0 +1,476 @@ +/** + * + */ +package com.someguyssoftware.treasure2.loot; + +import java.io.IOException; +import java.nio.file.FileVisitResult; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.SimpleFileVisitor; +import java.nio.file.StandardCopyOption; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.stream.Collectors; +import java.util.Optional; +import java.util.Set; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.google.common.collect.HashBasedTable; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Table; +import com.someguyssoftware.gottschcore.mod.IMod; +import com.someguyssoftware.gottschcore.loot.LootTableMaster2; +import com.someguyssoftware.gottschcore.loot.LootTableShell; +import com.someguyssoftware.treasure2.Treasure; +import com.someguyssoftware.treasure2.enums.Rarity; + +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StringUtils; +import net.minecraft.world.storage.loot.LootTableList; + +/** + * @author Mark Gottschling on Dec 2, 2020 + * + */ +public class TreasureLootTableMaster2 extends LootTableMaster2 { + public static enum ManagedTableType { + CHEST, + INJECT + } + + public static Logger LOGGER = LogManager.getLogger(Treasure.logger.getName()); + + public static final String CUSTOM_LOOT_TABLES_RESOURCE_PATH = "/loot_tables/"; + public static final String CUSTOM_LOOT_TABLE_KEY = "CUSTOM"; + /* + * relative location of chest loot tables - in resource path or file system. + * these are required folders. + */ + public static final List CHEST_LOOT_TABLE_FOLDER_LOCATIONS = ImmutableList.of( + "chests/common", + "chests/uncommon", + "chests/scarce", + "chests/rare", + "chests/epic" + ); + + /* + * list of special loot table locations. + * this is a required folder. + */ + public static final List SPECIAL_CHEST_LOOT_TABLE_FOLDER_LOCATIONS = ImmutableList.of( + "chests/special" + ); + + /* + * list of inject loot table locations. items from these loot tables will be injected into the final item pool for chests + * these are required folders. + */ + public static final List INJECT_LOOT_TABLE_FOLDER_LOCATIONS = ImmutableList.of( + "inject/common", + "inject/uncommon", + "inject/scarce", + "inject/rare", + "inject/epic" + ); + + /* + * relative location of other loot tables - in resource path or file system. + * these are supporting loot tables that each contains a pool of items to pull from. + * this is what treasure2 uses to organize items, it is not necessary to follow this format + * in modded / added loot tables or supporting pools + */ + public static final List POOL_LOOT_TABLE_FOLDER_LOCATIONS = ImmutableList.of( + "pools/treasure", + "pools/armor", + "pools/food", + "pools/items", + "pools/potions", + "pools/tools" + ); + + /* + * Guava Table of loot table ResourceLocations for Chests based on LootTableManager-key and Rarity + */ + private final Table> CHEST_LOOT_TABLES_RESOURCE_LOCATION_TABLE = HashBasedTable.create(); + + /* + * Guava Table of loot table ResourceLocations for Injects based on a category-key and Rarity + */ + @Deprecated + private final Table> INJECT_LOOT_TABLES_RESOURCE_LOCATION_TABLE = HashBasedTable.create(); + + + /* + * Guava Table of LootTableShell for Chests based on LootTableManager-key and Rarity + */ + private final Table> CHEST_LOOT_TABLES_TABLE = HashBasedTable.create(); + + /* + * Map of LootTableShell for Chests base on ResourceLocation + */ + private final Map CHEST_LOOT_TABLES_MAP = new HashMap<>(); + + /* + * + */ + private final Map SPECIAL_LOOT_TABLES_MAP = new HashMap<>(); + + /* + * + */ + private final Table> INJECT_LOOT_TABLES_TABLE = HashBasedTable.create(); + + /** + * + * @param mod + */ + public TreasureLootTableMaster2(IMod mod) { + super(mod); + buildAndExpose(Treasure.MODID); + + // initialize the maps + for (Rarity r : Rarity.values()) { + CHEST_LOOT_TABLES_RESOURCE_LOCATION_TABLE.put(CUSTOM_LOOT_TABLE_KEY, r, new ArrayList()); + CHEST_LOOT_TABLES_TABLE.put(CUSTOM_LOOT_TABLE_KEY, r, new ArrayList()); + } + } + + /** + * + */ + @Override + public void clear() { + super.clear(); + CHEST_LOOT_TABLES_TABLE.clear(); + CHEST_LOOT_TABLES_RESOURCE_LOCATION_TABLE.clear(); + CHEST_LOOT_TABLES_MAP.clear(); + SPECIAL_LOOT_TABLES_MAP.clear(); + INJECT_LOOT_TABLES_TABLE.clear(); + INJECT_LOOT_TABLES_RESOURCE_LOCATION_TABLE.clear(); + } + + /** + * @deprecated moved to TreasureLootTableRegistry + * @param modID + */ + private void buildAndExpose(String modID) { + buildAndExpose(CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, CHEST_LOOT_TABLE_FOLDER_LOCATIONS); + buildAndExpose(CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, SPECIAL_CHEST_LOOT_TABLE_FOLDER_LOCATIONS); + buildAndExpose(CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, POOL_LOOT_TABLE_FOLDER_LOCATIONS); + buildAndExpose(CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, INJECT_LOOT_TABLE_FOLDER_LOCATIONS); + } + + /** + * Call in WorldEvent.Load event handler. + * Overide this method if you have a different cache mechanism. + * @param world + * @param modID + */ + public void register(String modID) { + // copy all folders/files from config to world data + moveLootTables(modID, ""); + + for (String location : CHEST_LOOT_TABLE_FOLDER_LOCATIONS) { + // get loot table files as ResourceLocations from the file system location + List resourceLocations = getLootTablesResourceLocations(modID, location); + // load each ResourceLocation as LootTable and map it. + for (ResourceLocation resourceLocation : resourceLocations) { + Path path = Paths.get(resourceLocation.getResourcePath()); + LOGGER.debug("path to resource loc -> {}", path.toString()); + // map the loot table resource location + Rarity key = Rarity.valueOf(path.getName(path.getNameCount()-2).toString().toUpperCase()); + // add to resourcemap + CHEST_LOOT_TABLES_RESOURCE_LOCATION_TABLE.get(CUSTOM_LOOT_TABLE_KEY, key).add(resourceLocation); + // create loot table + Optional lootTable = loadLootTable(getWorldDataBaseFolder(), resourceLocation); + if (lootTable.isPresent()) { + // add resource location to table + lootTable.get().setResourceLocation(resourceLocation); + // add loot table to map + CHEST_LOOT_TABLES_TABLE.get(CUSTOM_LOOT_TABLE_KEY, key).add(lootTable.get()); + LOGGER.debug("tabling loot table: {} {} -> {}", CUSTOM_LOOT_TABLE_KEY, key, resourceLocation); + CHEST_LOOT_TABLES_MAP.put(resourceLocation, lootTable.get()); + } + else { + LOGGER.debug("unable to load loot table from -> {} : {}", getWorldDataBaseFolder(), resourceLocation); + } + // register it with MC + ResourceLocation vanillaLoc = LootTableList.register(resourceLocation); + LOGGER.debug("vanillaLoc -> {}", vanillaLoc); + } + } + + /* + * register special loot tables + */ + for (String location : SPECIAL_CHEST_LOOT_TABLE_FOLDER_LOCATIONS) { + List specialLocations = getLootTablesResourceLocations(modID, location); + LOGGER.debug("size of special chest loot table locations -> {}", specialLocations.size()); + // load each ResourceLocation as LootTable and map it. + for (ResourceLocation resourceLocation : specialLocations) { + Path path = Paths.get(resourceLocation.getResourcePath()); + LOGGER.debug("path to special resource loc -> {}", path.toString()); + // create loot table + Optional lootTable = loadLootTable(getWorldDataBaseFolder(), resourceLocation); + if (lootTable.isPresent()) { + // add resource location to table + lootTable.get().setResourceLocation(resourceLocation); + // add to map + SpecialLootTables specialLootTables = SpecialLootTables.valueOf(com.google.common.io.Files.getNameWithoutExtension(path.getName(path.getNameCount()-1).toString().toUpperCase())); + LOGGER.debug("special loot tables enum -> {}", specialLootTables); + // add to special map + SPECIAL_LOOT_TABLES_MAP.put(specialLootTables, lootTable.get()); + LOGGER.debug("tabling special loot table: {} -> {}", specialLootTables, resourceLocation); + // add to the resource location -> lootTableShell map + CHEST_LOOT_TABLES_MAP.put(resourceLocation, lootTable.get()); + // register with vanilla + LootTableList.register(resourceLocation); + } + else { + LOGGER.debug("unable to load special loot table from -> {} : {}", getWorldDataBaseFolder(), resourceLocation); + } + } + } + + /* + * register inject loot tables + * + */ + for (String location : INJECT_LOOT_TABLE_FOLDER_LOCATIONS) { + List resourceLocations = getLootTablesResourceLocations(modID, location); + for (ResourceLocation resourceLocation : resourceLocations) { + Path path = Paths.get(resourceLocation.getResourcePath()); + LOGGER.debug("path to inject resource loc -> {}", path.toString()); + // map the loot table resource location + Rarity rarity = Rarity.valueOf(path.getName(path.getNameCount()-2).toString().toUpperCase()); + // load loot table to get categories + // create loot table + Optional lootTable = loadLootTable(getWorldDataBaseFolder(), resourceLocation); + if (lootTable.isPresent()) { + // add resource location to table + lootTable.get().setResourceLocation(resourceLocation); + LOGGER.debug("loaded inject loot table shell -> {}", resourceLocation); + List keys = lootTable.get().getCategories(); + keys.forEach(key -> { + LOGGER.debug("using inject key to table -> {}", key); + key = key.isEmpty() ? "general" : key; + if (!INJECT_LOOT_TABLES_RESOURCE_LOCATION_TABLE.containsRow(key)) { + // initialize + for (Rarity r : Rarity.values()) { + INJECT_LOOT_TABLES_RESOURCE_LOCATION_TABLE.put(key, r, new ArrayList()); + INJECT_LOOT_TABLES_TABLE.put(key, r, new ArrayList()); + } + } + INJECT_LOOT_TABLES_RESOURCE_LOCATION_TABLE.get(key, rarity).add(resourceLocation); + INJECT_LOOT_TABLES_TABLE.get(key, rarity).add(lootTable.get()); + LOGGER.debug("tabling inject loot table: {} {} -> {}", key, rarity, resourceLocation); + }); + } + LootTableList.register(resourceLocation); + } + } + } + + /** + * + * @param modID + * @param location + */ + protected void moveLootTables(String modID, String location) { + Path configFilePath = Paths.get(getMod().getConfig().getConfigFolder(), modID, LOOT_TABLES_FOLDER, location).toAbsolutePath(); + Path worldDataFilePath = Paths.get(getWorldDataBaseFolder().toString(), modID, location).toAbsolutePath(); + + Set fileList = new HashSet<>(); + try { + Files.walkFileTree(configFilePath, new SimpleFileVisitor() { + @Override + public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { + // grab everything after loot_tables + String destinationStr = dir.toString(); + String partial = destinationStr.substring(destinationStr.indexOf(LOOT_TABLES_FOLDER) + LOOT_TABLES_FOLDER.length()); + Path destinationFilePath = Paths.get(worldDataFilePath.toString(), partial); + LOGGER.debug("destination folder to be tested/created -> {}", destinationFilePath.toString()); + if (Files.notExists(destinationFilePath)) { + try { + Files.createDirectories(destinationFilePath); + } catch (IOException e) { + LOGGER.warn("Unable to create world data loot tables folder \"{}\"", destinationFilePath.toString()); + } + } + return super.preVisitDirectory(dir, attrs); + } + + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) + throws IOException { + LOGGER.debug("walking file -> {}", file.toString()); + fileList.add(file.getFileName().toString()); + String destinationStr = file.toString(); + String partial = destinationStr.substring(destinationStr.indexOf(LOOT_TABLES_FOLDER) + LOOT_TABLES_FOLDER.length()); + Path destinationFilePath = Paths.get(worldDataFilePath.toString(), partial); + LOGGER.debug("new destination -> {}", destinationFilePath.toString()); + if (Files.notExists(destinationFilePath)) { + // copy from resource/classpath to file path + try { + Files.copy(file, destinationFilePath, StandardCopyOption.REPLACE_EXISTING); + } + catch(IOException e ) { + LOGGER.error(String.format("could not copy file %s to %s", file.toString(), destinationFilePath.toString()), e); + } + } + else { + boolean isCurrent = isWorldDataVersionCurrent(file, destinationFilePath); + LOGGER.debug("is world data loot table {} current -> {}", destinationFilePath, isCurrent); + if (!isCurrent) { + Files.move( + destinationFilePath, + Paths.get(destinationFilePath.getFileName().toString() + ".bak").toAbsolutePath(), + StandardCopyOption.REPLACE_EXISTING); + Files.copy(file, destinationFilePath); + } + } + return FileVisitResult.CONTINUE; + } + }); + } catch (IOException e) { + LOGGER.error(String.format("an errored while file walking the location -> %s:", configFilePath), e); + return; + } + } + + /** + * + * @param rarity + * @return + */ + public List getLootTableByRarity(Rarity rarity) { + // get all loot tables by column key + List tables = new ArrayList<>(); + Map> mapOfLootTables = CHEST_LOOT_TABLES_TABLE.column(rarity); + // convert to a single list + for(Entry> n : mapOfLootTables.entrySet()) { + Treasure.logger.debug("Adding table shell entry to loot table list -> {} {}: size {}", rarity, n.getKey(), n.getValue().size()); + tables.addAll(n.getValue()); + } + return tables; + } + + /** + * + * @param location + * @return + */ + public Optional getLootTableByResourceLocation(ResourceLocation location) { + LootTableShell lootTableShell = CHEST_LOOT_TABLES_MAP.get(location); + return Optional.ofNullable(lootTableShell); + } + + /** + * + * @param tableType + * @param rarity + * @return + */ + public List getLootTableByRarity(ManagedTableType tableType, Rarity rarity) { + Treasure.logger.debug("managed table type -> {}", tableType); + Table> table = (tableType == ManagedTableType.CHEST) ? CHEST_LOOT_TABLES_TABLE : INJECT_LOOT_TABLES_TABLE; + // get all loot tables by column key + List tables = new ArrayList<>(); + Map> mapOfLootTables = table.column(rarity); + // convert to a single list + for(Entry> n : mapOfLootTables.entrySet()) { + Treasure.logger.debug("Adding table shell entry to loot table list -> {} {}: size {}", rarity, n.getKey(), n.getValue().size()); + tables.addAll(n.getValue()); + } + return tables; + } + + /** + * + * @param tableType + * @param key + * @param rarity + * @return + */ + public List getLootTableByKeyRarity(ManagedTableType tableType, String key, Rarity rarity) { + Table> table = (tableType == ManagedTableType.CHEST) ? CHEST_LOOT_TABLES_TABLE : INJECT_LOOT_TABLES_TABLE; + // get all loot tables by column key + List tables = table.get(key, rarity); + return tables; + } + + /** + * + * @param rarity + * @return + */ + public List getLootTableResourceByRarity(Rarity rarity) { + // get all loot tables by column key + List tables = new ArrayList<>(); + Map> mapOfLootTableResourceLocations = CHEST_LOOT_TABLES_RESOURCE_LOCATION_TABLE.column(rarity); + // convert to a single list + for(Entry> n : mapOfLootTableResourceLocations.entrySet()) { + tables.addAll(n.getValue()); + } + return tables; + } + + /** + * + * @param tableEnum + * @return + */ + public LootTableShell getSpecialLootTable(SpecialLootTables table) { + Treasure.logger.debug("searching for special loot table --> {}", table); + + LootTableShell lootTable = SPECIAL_LOOT_TABLES_MAP.get(table); + return lootTable; + } + + /** + * + * @param lootTableShell + * @param defaultRarity + * @return + */ + public Rarity getEffectiveRarity(LootTableShell lootTableShell, Rarity defaultRarity) { + return !StringUtils.isNullOrEmpty(lootTableShell.getRarity()) ? Rarity.getByValue(lootTableShell.getRarity().toLowerCase()) : defaultRarity; + } + + /* + * Enum of special loot tables (not necessarily chests) + */ + public enum SpecialLootTables { + WITHER_CHEST, + SKULL_CHEST, + GOLD_SKULL_CHEST, + CRYSTAL_SKULL_CHEST, + CAULDRON_CHEST, + CLAM_CHEST, + OYSTER_CHEST, + SILVER_WELL, + GOLD_WELL, + WHITE_PEARL_WELL, + BLACK_PEARL_WELL; + + /** + * + * @return + */ + public static List getNames() { + List names = EnumSet.allOf(SpecialLootTables.class).stream().map(x -> x.name()).collect(Collectors.toList()); + return names; + } + } +} diff --git a/src/main/java/com/someguyssoftware/treasure2/loot/TreasureLootTableRegistry.java b/src/main/java/com/someguyssoftware/treasure2/loot/TreasureLootTableRegistry.java new file mode 100644 index 000000000..7d9f05952 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/loot/TreasureLootTableRegistry.java @@ -0,0 +1,61 @@ +/** + * + */ +package com.someguyssoftware.treasure2.loot; + +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nullable; + +import com.someguyssoftware.treasure2.Treasure; + +/** + * Use this registry to register all your mod's custom loot table for Treasure2. + * @author Mark Gottschling on Dec 4, 2020 + * + */ +public final class TreasureLootTableRegistry { + private static final List registeredMods = new ArrayList<>(); + + /** + * + * @param modID + */ + public static void register(final String modID) { + if (!registeredMods.contains(modID)) { + buildAndExpose(modID); + Treasure.LOOT_TABLE_MASTER.register(modID); + registeredMods.add(modID); + } + } + + /** + * + * @param modID + * @param customFolders + */ + public static void register(final String modID, final @Nullable List customFolders) { + if (!registeredMods.contains(modID)) { + if (customFolders != null && !customFolders.isEmpty()) { + Treasure.LOOT_TABLE_MASTER.buildAndExpose(TreasureLootTableMaster2.CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, customFolders); + } + register(modID); + } + } + + /** + * + * @param modID + */ + private static void buildAndExpose(String modID) { + Treasure.LOOT_TABLE_MASTER.buildAndExpose(TreasureLootTableMaster2.CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, TreasureLootTableMaster2.CHEST_LOOT_TABLE_FOLDER_LOCATIONS); + Treasure.LOOT_TABLE_MASTER.buildAndExpose(TreasureLootTableMaster2.CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, TreasureLootTableMaster2.SPECIAL_CHEST_LOOT_TABLE_FOLDER_LOCATIONS); + Treasure.LOOT_TABLE_MASTER.buildAndExpose(TreasureLootTableMaster2.CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, TreasureLootTableMaster2.POOL_LOOT_TABLE_FOLDER_LOCATIONS); + Treasure.LOOT_TABLE_MASTER.buildAndExpose(TreasureLootTableMaster2.CUSTOM_LOOT_TABLES_RESOURCE_PATH, modID, TreasureLootTableMaster2.INJECT_LOOT_TABLE_FOLDER_LOCATIONS); + } + + public static List getRegisteredmods() { + return registeredMods; + } +} diff --git a/src/com/someguyssoftware/treasure2/loot/function/CharmRandomly.java b/src/main/java/com/someguyssoftware/treasure2/loot/function/CharmRandomly.java similarity index 93% rename from src/com/someguyssoftware/treasure2/loot/function/CharmRandomly.java rename to src/main/java/com/someguyssoftware/treasure2/loot/function/CharmRandomly.java index 63da6d5f9..d61e46787 100644 --- a/src/com/someguyssoftware/treasure2/loot/function/CharmRandomly.java +++ b/src/main/java/com/someguyssoftware/treasure2/loot/function/CharmRandomly.java @@ -19,9 +19,6 @@ import com.google.gson.JsonObject; import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; -import com.someguyssoftware.gottschcore.loot.LootContext; -import com.someguyssoftware.gottschcore.loot.conditions.LootCondition; -import com.someguyssoftware.gottschcore.loot.functions.LootFunction; import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.capability.CharmCapabilityProvider; import com.someguyssoftware.treasure2.capability.ICharmCapability; @@ -35,6 +32,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.JsonUtils; import net.minecraft.util.ResourceLocation; +import net.minecraft.world.storage.loot.LootContext; +import net.minecraft.world.storage.loot.conditions.LootCondition; +import net.minecraft.world.storage.loot.functions.LootFunction; /** * @author Mark Gottschling on May 1, 2020 diff --git a/src/com/someguyssoftware/treasure2/loot/function/SetCharms.java b/src/main/java/com/someguyssoftware/treasure2/loot/function/SetCharms.java similarity index 93% rename from src/com/someguyssoftware/treasure2/loot/function/SetCharms.java rename to src/main/java/com/someguyssoftware/treasure2/loot/function/SetCharms.java index 9236c6ac6..9a1937d10 100644 --- a/src/com/someguyssoftware/treasure2/loot/function/SetCharms.java +++ b/src/main/java/com/someguyssoftware/treasure2/loot/function/SetCharms.java @@ -19,9 +19,7 @@ import com.google.gson.JsonObject; import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; -import com.someguyssoftware.gottschcore.loot.LootContext; -import com.someguyssoftware.gottschcore.loot.conditions.LootCondition; -import com.someguyssoftware.gottschcore.loot.functions.LootFunction; + import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.capability.CharmCapabilityProvider; import com.someguyssoftware.treasure2.capability.ICharmCapability; @@ -36,6 +34,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.JsonUtils; import net.minecraft.util.ResourceLocation; +import net.minecraft.world.storage.loot.LootContext; +import net.minecraft.world.storage.loot.conditions.LootCondition; +import net.minecraft.world.storage.loot.functions.LootFunction; /** * diff --git a/src/com/someguyssoftware/treasure2/meta/StructureArchetype.java b/src/main/java/com/someguyssoftware/treasure2/meta/StructureArchetype.java similarity index 100% rename from src/com/someguyssoftware/treasure2/meta/StructureArchetype.java rename to src/main/java/com/someguyssoftware/treasure2/meta/StructureArchetype.java diff --git a/src/com/someguyssoftware/treasure2/meta/StructureMeta.java b/src/main/java/com/someguyssoftware/treasure2/meta/StructureMeta.java similarity index 100% rename from src/com/someguyssoftware/treasure2/meta/StructureMeta.java rename to src/main/java/com/someguyssoftware/treasure2/meta/StructureMeta.java diff --git a/src/com/someguyssoftware/treasure2/meta/StructureTheme.java b/src/main/java/com/someguyssoftware/treasure2/meta/StructureTheme.java similarity index 100% rename from src/com/someguyssoftware/treasure2/meta/StructureTheme.java rename to src/main/java/com/someguyssoftware/treasure2/meta/StructureTheme.java diff --git a/src/com/someguyssoftware/treasure2/meta/StructureType.java b/src/main/java/com/someguyssoftware/treasure2/meta/StructureType.java similarity index 100% rename from src/com/someguyssoftware/treasure2/meta/StructureType.java rename to src/main/java/com/someguyssoftware/treasure2/meta/StructureType.java diff --git a/src/com/someguyssoftware/treasure2/meta/TreasureMetaManager.java b/src/main/java/com/someguyssoftware/treasure2/meta/TreasureMetaManager.java similarity index 100% rename from src/com/someguyssoftware/treasure2/meta/TreasureMetaManager.java rename to src/main/java/com/someguyssoftware/treasure2/meta/TreasureMetaManager.java diff --git a/src/com/someguyssoftware/treasure2/model/MeshDefinitionFix.java b/src/main/java/com/someguyssoftware/treasure2/model/MeshDefinitionFix.java similarity index 100% rename from src/com/someguyssoftware/treasure2/model/MeshDefinitionFix.java rename to src/main/java/com/someguyssoftware/treasure2/model/MeshDefinitionFix.java diff --git a/src/com/someguyssoftware/treasure2/model/TreasureModels.java b/src/main/java/com/someguyssoftware/treasure2/model/TreasureModels.java similarity index 98% rename from src/com/someguyssoftware/treasure2/model/TreasureModels.java rename to src/main/java/com/someguyssoftware/treasure2/model/TreasureModels.java index b3f3851e0..361dd1258 100644 --- a/src/com/someguyssoftware/treasure2/model/TreasureModels.java +++ b/src/main/java/com/someguyssoftware/treasure2/model/TreasureModels.java @@ -40,15 +40,17 @@ public static void registerModels(ModelRegistryEvent event) { registerItemModel(Item.getItemFromBlock(TreasureBlocks.GOLD_STRONGBOX)); registerItemModel(Item.getItemFromBlock(TreasureBlocks.SAFE)); registerItemModel(Item.getItemFromBlock(TreasureBlocks.DREAD_PIRATE_CHEST)); -// registerItemModel(Item.getItemFromBlock(TreasureBlocks.WHALE_BONE_PIRATE_CHEST)); registerItemModel(Item.getItemFromBlock(TreasureBlocks.COMPRESSOR_CHEST)); registerItemModel(Item.getItemFromBlock(TreasureBlocks.WITHER_CHEST)); registerItemModel(Item.getItemFromBlock(TreasureBlocks.GOLD_SKULL_CHEST)); registerItemModel(Item.getItemFromBlock(TreasureBlocks.SKULL_CHEST)); + registerItemModel(Item.getItemFromBlock(TreasureBlocks.CRYSTAL_SKULL_CHEST)); registerItemModel(Item.getItemFromBlock(TreasureBlocks.CAULDRON_CHEST)); registerItemModel(Item.getItemFromBlock(TreasureBlocks.SPIDER_CHEST)); registerItemModel(Item.getItemFromBlock(TreasureBlocks.VIKING_CHEST)); - + registerItemModel(Item.getItemFromBlock(TreasureBlocks.CARDBOARD_BOX)); + registerItemModel(Item.getItemFromBlock(TreasureBlocks.MILK_CRATE)); + // MIMICS registerItemModel(Item.getItemFromBlock(TreasureBlocks.WOOD_MIMIC)); registerItemModel(Item.getItemFromBlock(TreasureBlocks.PIRATE_MIMIC)); diff --git a/src/com/someguyssoftware/treasure2/network/CharmMessageHandlerOnClient.java b/src/main/java/com/someguyssoftware/treasure2/network/CharmMessageHandlerOnClient.java similarity index 100% rename from src/com/someguyssoftware/treasure2/network/CharmMessageHandlerOnClient.java rename to src/main/java/com/someguyssoftware/treasure2/network/CharmMessageHandlerOnClient.java diff --git a/src/com/someguyssoftware/treasure2/network/CharmMessageToClient.java b/src/main/java/com/someguyssoftware/treasure2/network/CharmMessageToClient.java similarity index 100% rename from src/com/someguyssoftware/treasure2/network/CharmMessageToClient.java rename to src/main/java/com/someguyssoftware/treasure2/network/CharmMessageToClient.java diff --git a/src/com/someguyssoftware/treasure2/network/PoisonMistMessageHandlerOnServer.java b/src/main/java/com/someguyssoftware/treasure2/network/PoisonMistMessageHandlerOnServer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/network/PoisonMistMessageHandlerOnServer.java rename to src/main/java/com/someguyssoftware/treasure2/network/PoisonMistMessageHandlerOnServer.java diff --git a/src/com/someguyssoftware/treasure2/network/PoisonMistMessageToServer.java b/src/main/java/com/someguyssoftware/treasure2/network/PoisonMistMessageToServer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/network/PoisonMistMessageToServer.java rename to src/main/java/com/someguyssoftware/treasure2/network/PoisonMistMessageToServer.java diff --git a/src/com/someguyssoftware/treasure2/network/WitherMistMessageHandlerOnServer.java b/src/main/java/com/someguyssoftware/treasure2/network/WitherMistMessageHandlerOnServer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/network/WitherMistMessageHandlerOnServer.java rename to src/main/java/com/someguyssoftware/treasure2/network/WitherMistMessageHandlerOnServer.java diff --git a/src/com/someguyssoftware/treasure2/network/WitherMistMessageToServer.java b/src/main/java/com/someguyssoftware/treasure2/network/WitherMistMessageToServer.java similarity index 100% rename from src/com/someguyssoftware/treasure2/network/WitherMistMessageToServer.java rename to src/main/java/com/someguyssoftware/treasure2/network/WitherMistMessageToServer.java diff --git a/src/com/someguyssoftware/treasure2/particle/AbstractMistParticle.java b/src/main/java/com/someguyssoftware/treasure2/particle/AbstractMistParticle.java similarity index 100% rename from src/com/someguyssoftware/treasure2/particle/AbstractMistParticle.java rename to src/main/java/com/someguyssoftware/treasure2/particle/AbstractMistParticle.java diff --git a/src/com/someguyssoftware/treasure2/particle/BillowingMistParticle.java b/src/main/java/com/someguyssoftware/treasure2/particle/BillowingMistParticle.java similarity index 100% rename from src/com/someguyssoftware/treasure2/particle/BillowingMistParticle.java rename to src/main/java/com/someguyssoftware/treasure2/particle/BillowingMistParticle.java diff --git a/src/com/someguyssoftware/treasure2/particle/IMistParticle.java b/src/main/java/com/someguyssoftware/treasure2/particle/IMistParticle.java similarity index 100% rename from src/com/someguyssoftware/treasure2/particle/IMistParticle.java rename to src/main/java/com/someguyssoftware/treasure2/particle/IMistParticle.java diff --git a/src/com/someguyssoftware/treasure2/particle/MistParticle.java b/src/main/java/com/someguyssoftware/treasure2/particle/MistParticle.java similarity index 100% rename from src/com/someguyssoftware/treasure2/particle/MistParticle.java rename to src/main/java/com/someguyssoftware/treasure2/particle/MistParticle.java diff --git a/src/com/someguyssoftware/treasure2/particle/MistTextureStitcher.java b/src/main/java/com/someguyssoftware/treasure2/particle/MistTextureStitcher.java similarity index 100% rename from src/com/someguyssoftware/treasure2/particle/MistTextureStitcher.java rename to src/main/java/com/someguyssoftware/treasure2/particle/MistTextureStitcher.java diff --git a/src/com/someguyssoftware/treasure2/particle/PoisonMistParticle.java b/src/main/java/com/someguyssoftware/treasure2/particle/PoisonMistParticle.java similarity index 100% rename from src/com/someguyssoftware/treasure2/particle/PoisonMistParticle.java rename to src/main/java/com/someguyssoftware/treasure2/particle/PoisonMistParticle.java diff --git a/src/com/someguyssoftware/treasure2/particle/WitherMistParticle.java b/src/main/java/com/someguyssoftware/treasure2/particle/WitherMistParticle.java similarity index 100% rename from src/com/someguyssoftware/treasure2/particle/WitherMistParticle.java rename to src/main/java/com/someguyssoftware/treasure2/particle/WitherMistParticle.java diff --git a/src/com/someguyssoftware/treasure2/persistence/GenDataPersistence.java b/src/main/java/com/someguyssoftware/treasure2/persistence/GenDataPersistence.java similarity index 98% rename from src/com/someguyssoftware/treasure2/persistence/GenDataPersistence.java rename to src/main/java/com/someguyssoftware/treasure2/persistence/GenDataPersistence.java index cb016815a..599ed0602 100644 --- a/src/com/someguyssoftware/treasure2/persistence/GenDataPersistence.java +++ b/src/main/java/com/someguyssoftware/treasure2/persistence/GenDataPersistence.java @@ -259,19 +259,21 @@ public NBTTagCompound writeToNBT(NBTTagCompound tag) { // add the oasis gen last count to the treasure compound for each dimension NBTTagList dimTagList = new NBTTagList(); for (Entry entry : oasisGen.getChunksSinceLastDimensionOasis().entrySet()) { - Treasure.logger.debug("dimension ID -> {}", entry.getKey()); + Treasure.logger.debug("oasis dimension ID -> {}", entry.getKey()); NBTTagCompound dimTag = new NBTTagCompound(); dimTag.setInteger(DIMENSION_ID_TAG_NAME, entry.getKey()); dimTag.setInteger(CHUNKS_SINCE_LAST_OASIS_TAG_NAME, entry.getValue()); - + Treasure.logger.debug("chunks since last oasis -> {}", entry.getValue()); Map biomeMap = oasisGen.getChunksSinceLastDimensionBiomeOasis().get(entry.getKey()); - Treasure.logger.debug("biome map size -> {}", biomeMap.size()); + Treasure.logger.debug("oasis biome map size -> {}", biomeMap.size()); + NBTTagList biomeTagList = new NBTTagList(); for (Entry biomeEntry : biomeMap.entrySet()) { NBTTagCompound biomeTag = new NBTTagCompound(); biomeTag.setInteger(BIOME_ID_TAG_NAME, biomeEntry.getKey()); biomeTag.setInteger(CHUNKS_SINCE_LAST_OASIS_TAG_NAME, biomeEntry.getValue()); + Treasure.logger.debug("chunks since last biome {} oasis -> {}", biomeEntry.getKey(), biomeEntry.getValue()); biomeTagList.appendTag(biomeTag); } dimTag.setTag(BIOMES_TAG_NAME, biomeTagList); diff --git a/src/com/someguyssoftware/treasure2/printer/ChestNBTPrettyPrinter.java b/src/main/java/com/someguyssoftware/treasure2/printer/ChestNBTPrettyPrinter.java similarity index 100% rename from src/com/someguyssoftware/treasure2/printer/ChestNBTPrettyPrinter.java rename to src/main/java/com/someguyssoftware/treasure2/printer/ChestNBTPrettyPrinter.java diff --git a/src/com/someguyssoftware/treasure2/proxy/ClientProxy.java b/src/main/java/com/someguyssoftware/treasure2/proxy/ClientProxy.java similarity index 86% rename from src/com/someguyssoftware/treasure2/proxy/ClientProxy.java rename to src/main/java/com/someguyssoftware/treasure2/proxy/ClientProxy.java index f015d861c..757337802 100644 --- a/src/com/someguyssoftware/treasure2/proxy/ClientProxy.java +++ b/src/main/java/com/someguyssoftware/treasure2/proxy/ClientProxy.java @@ -5,11 +5,13 @@ import com.someguyssoftware.treasure2.Treasure; import com.someguyssoftware.treasure2.client.model.BandedChestModel; +import com.someguyssoftware.treasure2.client.model.CardboardBoxModel; import com.someguyssoftware.treasure2.client.model.CauldronChestModel; import com.someguyssoftware.treasure2.client.model.ClamChestModel; import com.someguyssoftware.treasure2.client.model.CompressorChestModel; import com.someguyssoftware.treasure2.client.model.CrateChestModel; import com.someguyssoftware.treasure2.client.model.DreadPirateChestModel; +import com.someguyssoftware.treasure2.client.model.MilkCrateModel; import com.someguyssoftware.treasure2.client.model.MimicModel; import com.someguyssoftware.treasure2.client.model.OysterChestModel; import com.someguyssoftware.treasure2.client.model.SafeModel; @@ -21,9 +23,11 @@ import com.someguyssoftware.treasure2.client.model.WitherChestModel; import com.someguyssoftware.treasure2.client.render.entity.BoundSoulRenderer; import com.someguyssoftware.treasure2.client.render.entity.MimicEntityRenderer; +import com.someguyssoftware.treasure2.client.render.tileentity.CardboardBoxTileEntityRenderer; import com.someguyssoftware.treasure2.client.render.tileentity.CauldronChestTileEntityRenderer; import com.someguyssoftware.treasure2.client.render.tileentity.CompressorChestTileEntityRenderer; import com.someguyssoftware.treasure2.client.render.tileentity.CrateChestTileEntityRenderer; +import com.someguyssoftware.treasure2.client.render.tileentity.MilkCrateTileEntityRenderer; import com.someguyssoftware.treasure2.client.render.tileentity.MolluscChestTileEntityRenderer; import com.someguyssoftware.treasure2.client.render.tileentity.SafeTileEntityRenderer; import com.someguyssoftware.treasure2.client.render.tileentity.SkullChestTileEntityRenderer; @@ -35,15 +39,18 @@ import com.someguyssoftware.treasure2.entity.monster.WoodMimicEntity; import com.someguyssoftware.treasure2.particle.MistTextureStitcher; import com.someguyssoftware.treasure2.tileentity.AbstractTreasureChestTileEntity; +import com.someguyssoftware.treasure2.tileentity.CardboardBoxTileEntity; import com.someguyssoftware.treasure2.tileentity.CauldronChestTileEntity; import com.someguyssoftware.treasure2.tileentity.ClamChestTileEntity; import com.someguyssoftware.treasure2.tileentity.CompressorChestTileEntity; import com.someguyssoftware.treasure2.tileentity.CrateChestTileEntity; +import com.someguyssoftware.treasure2.tileentity.CrystalSkullChestTileEntity; import com.someguyssoftware.treasure2.tileentity.DreadPirateChestTileEntity; import com.someguyssoftware.treasure2.tileentity.GoldSkullChestTileEntity; import com.someguyssoftware.treasure2.tileentity.GoldStrongboxTileEntity; import com.someguyssoftware.treasure2.tileentity.IronStrongboxTileEntity; import com.someguyssoftware.treasure2.tileentity.IronboundChestTileEntity; +import com.someguyssoftware.treasure2.tileentity.MilkCrateTileEntity; import com.someguyssoftware.treasure2.tileentity.MoldyCrateChestTileEntity; import com.someguyssoftware.treasure2.tileentity.OysterChestTileEntity; import com.someguyssoftware.treasure2.tileentity.PirateChestTileEntity; @@ -76,13 +83,13 @@ */ @Mod.EventBusSubscriber(modid=Treasure.MODID, value = Side.CLIENT) public class ClientProxy { - + @SuppressWarnings("deprecation") @SubscribeEvent public static void registerRenderers(@SuppressWarnings("rawtypes") final RegistryEvent.Register event) { // register the texture stitcher, which is used to insert the mist image into the blocks texture sheet - MinecraftForge.EVENT_BUS.register(new MistTextureStitcher()); - + MinecraftForge.EVENT_BUS.register(new MistTextureStitcher()); + /* * register tile entity special renderers */ @@ -90,12 +97,12 @@ public static void registerRenderers(@SuppressWarnings("rawtypes") final Registr ClientRegistry.bindTileEntitySpecialRenderer( AbstractTreasureChestTileEntity.class, new TreasureChestTileEntityRenderer("standard-chest", new StandardChestModel())); - + // wood chest ClientRegistry.bindTileEntitySpecialRenderer( WoodChestTileEntity.class, new TreasureChestTileEntityRenderer("wood-chest", new StandardChestModel())); - + // crate chest ClientRegistry.bindTileEntitySpecialRenderer( CrateChestTileEntity.class, @@ -105,47 +112,42 @@ public static void registerRenderers(@SuppressWarnings("rawtypes") final Registr ClientRegistry.bindTileEntitySpecialRenderer( MoldyCrateChestTileEntity.class, new CrateChestTileEntityRenderer("crate-chest-moldy", new CrateChestModel())); - + // ironbound chest ClientRegistry.bindTileEntitySpecialRenderer( IronboundChestTileEntity.class, new TreasureChestTileEntityRenderer("ironbound-chest", new BandedChestModel())); - + // pirate chest ClientRegistry.bindTileEntitySpecialRenderer( PirateChestTileEntity.class, new TreasureChestTileEntityRenderer("pirate-chest", new StandardChestModel())); - + // iron strongbox ClientRegistry.bindTileEntitySpecialRenderer( IronStrongboxTileEntity.class, new StrongboxTileEntityRenderer("iron-strongbox", new StrongboxModel())); - + // gold strongbox ClientRegistry.bindTileEntitySpecialRenderer( GoldStrongboxTileEntity.class, new StrongboxTileEntityRenderer("gold-strongbox", new StrongboxModel())); - + // safe ClientRegistry.bindTileEntitySpecialRenderer( SafeTileEntity.class, new SafeTileEntityRenderer("safe", new SafeModel())); - + // dread pirate chest ClientRegistry.bindTileEntitySpecialRenderer( DreadPirateChestTileEntity.class, new TreasureChestTileEntityRenderer("dread-pirate-chest", new DreadPirateChestModel())); - - // whale bone pirate chest - uses same model as dread pirate -// ClientRegistry.bindTileEntitySpecialRenderer( -// WhaleBonePirateChestTileEntity.class, -// new TreasureChestTileEntityRenderer("whale-bone-pirate-chest", new DreadPirateChestModel())); - + // compressor chest ClientRegistry.bindTileEntitySpecialRenderer( CompressorChestTileEntity.class, new CompressorChestTileEntityRenderer("compressor-chest", new CompressorChestModel())); - + // wither chest ClientRegistry.bindTileEntitySpecialRenderer( WitherChestTileEntity.class, @@ -155,12 +157,17 @@ public static void registerRenderers(@SuppressWarnings("rawtypes") final Registr ClientRegistry.bindTileEntitySpecialRenderer( SkullChestTileEntity.class, new SkullChestTileEntityRenderer("skull-chest", new SkullChestModel())); - + // gold skull chest ClientRegistry.bindTileEntitySpecialRenderer( GoldSkullChestTileEntity.class, new SkullChestTileEntityRenderer("gold-skull-chest", new SkullChestModel())); - + + // crystal skull chest + ClientRegistry.bindTileEntitySpecialRenderer( + CrystalSkullChestTileEntity.class, + new SkullChestTileEntityRenderer("crystal-skull-chest", new SkullChestModel())); + // cauldron chest ClientRegistry.bindTileEntitySpecialRenderer( CauldronChestTileEntity.class, @@ -170,22 +177,22 @@ public static void registerRenderers(@SuppressWarnings("rawtypes") final Registr ClientRegistry.bindTileEntitySpecialRenderer( SpiderChestTileEntity.class, new TreasureChestTileEntityRenderer("spider-chest", new SpiderChestModel())); - + // viking chest ClientRegistry.bindTileEntitySpecialRenderer( VikingChestTileEntity.class, new TreasureChestTileEntityRenderer("viking-chest", new VikingChestModel())); - - // oyster chest -// ClientRegistry.bindTileEntitySpecialRenderer( -// OysterChestTileEntity.class, -// new MolluscChestTileEntityRenderer("oyster-chest", new OysterChestModel())); - - // clam chest -// ClientRegistry.bindTileEntitySpecialRenderer( -// ClamChestTileEntity.class, -// new MolluscChestTileEntityRenderer("clam-chest", new ClamChestModel())); - + + // cardboard box + ClientRegistry.bindTileEntitySpecialRenderer( + CardboardBoxTileEntity.class, + new CardboardBoxTileEntityRenderer("cardboard-box", new CardboardBoxModel())); + + // milk crate + ClientRegistry.bindTileEntitySpecialRenderer( + MilkCrateTileEntity.class, + new MilkCrateTileEntityRenderer("milk-crate", new MilkCrateModel())); + /* * register the entity render handlers */ @@ -200,14 +207,14 @@ public static void registerRenderers(@SuppressWarnings("rawtypes") final Registr Minecraft.getMinecraft().getRenderManager(), new MimicModel(), new ResourceLocation(Treasure.MODID + ":textures/entity/mob/pirate-mimic.png"))); - + RenderingRegistry.registerEntityRenderingHandler(BoundSoulEntity.class, new BoundSoulRenderer( Minecraft.getMinecraft().getRenderManager())); - -// RenderingRegistry.registerEntityRenderingHandler(Bound, IRenderFactory renderFactory) -// { -// INSTANCE.entityRenderers.put(entityClass, renderFactory); -// } + + // RenderingRegistry.registerEntityRenderingHandler(Bound, IRenderFactory renderFactory) + // { + // INSTANCE.entityRenderers.put(entityClass, renderFactory); + // } } } diff --git a/src/com/someguyssoftware/treasure2/registry/ChestRegistry.java b/src/main/java/com/someguyssoftware/treasure2/registry/ChestRegistry.java similarity index 100% rename from src/com/someguyssoftware/treasure2/registry/ChestRegistry.java rename to src/main/java/com/someguyssoftware/treasure2/registry/ChestRegistry.java diff --git a/src/com/someguyssoftware/treasure2/registry/OasisRegistry.java b/src/main/java/com/someguyssoftware/treasure2/registry/OasisRegistry.java similarity index 100% rename from src/com/someguyssoftware/treasure2/registry/OasisRegistry.java rename to src/main/java/com/someguyssoftware/treasure2/registry/OasisRegistry.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/AbstractProximityTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/AbstractProximityTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/AbstractProximityTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/AbstractProximityTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/AbstractTreasureChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/AbstractTreasureChestTileEntity.java similarity index 95% rename from src/com/someguyssoftware/treasure2/tileentity/AbstractTreasureChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/AbstractTreasureChestTileEntity.java index 391f0326b..8b674ac32 100644 --- a/src/com/someguyssoftware/treasure2/tileentity/AbstractTreasureChestTileEntity.java +++ b/src/main/java/com/someguyssoftware/treasure2/tileentity/AbstractTreasureChestTileEntity.java @@ -31,6 +31,7 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.ITickable; import net.minecraft.util.NonNullList; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundCategory; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; @@ -55,12 +56,17 @@ public class GenerationContext { * */ private ChestGeneratorType chestGeneratorType; - + public GenerationContext(Rarity rarity, ChestGeneratorType chestGeneratorType) { this.lootRarity = rarity; this.chestGeneratorType = chestGeneratorType; } + public GenerationContext(ResourceLocation lootTable, Rarity rarity, ChestGeneratorType chestGeneratorType) { + this.lootRarity = rarity; + this.chestGeneratorType = chestGeneratorType; + } + public Rarity getLootRarity() { return lootRarity; } @@ -69,6 +75,10 @@ public ChestGeneratorType getChestGeneratorType() { return chestGeneratorType; } + public ResourceLocation getLootTable() { + return lootTable; + } + } /* @@ -87,6 +97,8 @@ public ChestGeneratorType getChestGeneratorType() { */ private boolean sealed; + private ResourceLocation lootTable; + /* * Properties detailing how the tile entity was generated */ @@ -249,6 +261,9 @@ public NBTTagCompound writePropertiesToNBT(NBTTagCompound sourceTag) { // logger.debug("Writing FACING to NBT ->{}", getFacing()); sourceTag.setInteger("facing", getFacing()); sourceTag.setBoolean("sealed", isSealed()); + if (getLootTable() != null) { + sourceTag.setString("lootTable", getLootTable().toString()); + } if (getGenerationContext() != null) { NBTTagCompound contextTag = new NBTTagCompound(); contextTag.setString("lootRarity", getGenerationContext().getLootRarity().getValue()); @@ -339,6 +354,11 @@ public void readPropertiesFromNBT(NBTTagCompound sourceTag) { if (sourceTag.hasKey("sealed")) { this.setSealed(sourceTag.getBoolean("sealed")); } + if (sourceTag.hasKey("lootTable")) { + if (!sourceTag.getString("lootTable").isEmpty()) { + this.setLootTable(new ResourceLocation(sourceTag.getString("lootTable"))); + } + } if (sourceTag.hasKey("genContext")) { NBTTagCompound contextTag = sourceTag.getCompoundTag("genContext"); Rarity rarity = null; @@ -723,4 +743,12 @@ public GenerationContext getGenerationContext() { public void setGenerationContext(GenerationContext context) { generationContext = context; } + + public ResourceLocation getLootTable() { + return lootTable; + } + + public void setLootTable(ResourceLocation lootTable) { + this.lootTable = lootTable; + } } diff --git a/src/main/java/com/someguyssoftware/treasure2/tileentity/CardboardBoxTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/CardboardBoxTileEntity.java new file mode 100644 index 000000000..c17d448b0 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/tileentity/CardboardBoxTileEntity.java @@ -0,0 +1,175 @@ +package com.someguyssoftware.treasure2.tileentity; + +import com.someguyssoftware.gottschcore.world.WorldInfo; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.SoundEvents; +import net.minecraft.inventory.ContainerChest; +import net.minecraft.inventory.IInventory; +import net.minecraft.util.SoundCategory; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.text.translation.I18n; + +/** + * + * @author Mark Gottschling on Nov 29, 2020 + * + */ +public class CardboardBoxTileEntity extends AbstractTreasureChestTileEntity { + /** The angle of the latch last tick */ + public float prevInnerLidPos; + + public float innerLidAngle; + public float prevInnerLidAngle; + + public boolean isLidOpen = false; + public boolean isLidClosed = true; + public boolean isInnerLidOpen = false; + public boolean isInnerLidClosed = true; + + /** + * + * @param texture + */ + public CardboardBoxTileEntity() { + super(); + setCustomName(I18n.translateToLocal("display.cardboard_box.name")); + } + + /** + * Like the old updateEntity(), except more generic. + */ + @Override + public void update() { + int x = this.pos.getX(); + int y = this.pos.getY(); + int z = this.pos.getZ(); + ++this.ticksSinceSync; + + /* + * recalculating if the chest is in use by any players + */ + if (WorldInfo.isServerSide(getWorld()) && this.numPlayersUsing != 0 + && (this.ticksSinceSync + x + y + z) % 200 == 0) { + this.numPlayersUsing = 0; + + for (EntityPlayer entityplayer : this.world.getEntitiesWithinAABB(EntityPlayer.class, + new AxisAlignedBB((double) ((float) x - 5.0F), (double) ((float) y - 5.0F), + (double) ((float) z - 5.0F), (double) ((float) (x + 1) + 5.0F), + (double) ((float) (y + 1) + 5.0F), (double) ((float) (z + 1) + 5.0F)))) { + if (entityplayer.openContainer instanceof ContainerChest) { + IInventory iinventory = ((ContainerChest) entityplayer.openContainer).getLowerChestInventory(); + + if (iinventory == this) { + ++this.numPlayersUsing; + } + } + } + } + + // save the previous positions and angles of box components + this.prevLidAngle = this.lidAngle; + this.prevInnerLidAngle = this.innerLidAngle; + + // opening ie. players + if (this.numPlayersUsing > 0) { + // test the lid + if (this.lidAngle < 1.0F) { + isLidOpen = false; + this.lidAngle += 0.1F; + isLidClosed = false; + if (this.lidAngle >= 1.0F) { + this.lidAngle = 1.0F; + isLidOpen = true; + } + } else { + isLidOpen = true; + } + + if (isLidOpen) { + // play the opening chest sound the at the beginning of opening + if (isInnerLidClosed) { + double d1 = (double) x + 0.5D; + double d2 = (double) z + 0.5D; + this.world.playSound((EntityPlayer) null, d1, (double) y + 0.5D, d2, SoundEvents.BLOCK_CHEST_OPEN, + SoundCategory.BLOCKS, 0.5F, this.world.rand.nextFloat() * 0.1F + 0.9F); + } + + // test the inner lid + if (this.innerLidAngle < 1.0F) { + isInnerLidOpen = false; + this.innerLidAngle += 0.1F; + isInnerLidClosed = false; + if (this.innerLidAngle >= 1.0F) { + this.innerLidAngle = 1.0F; + isInnerLidOpen = true; + } + } else { + isInnerLidOpen = true; + } + } + } + + // closing + else { + // test the inner lid + if (this.innerLidAngle > 0.0F) { + isInnerLidClosed = false; + this.innerLidAngle -= 0.1F; + isInnerLidOpen = false; + if (this.innerLidAngle <= 0.0F) { + this.innerLidAngle = 0.0F; + isInnerLidClosed = true; + } + } else { + isInnerLidClosed = true; + } + + // play the closing soud + if (isInnerLidClosed ) { + if (isLidOpen) { + double d3 = (double) x + 0.5D; + double d0 = (double) z + 0.5D; + this.world.playSound((EntityPlayer) null, d3, (double) y + 0.5D, d0, SoundEvents.BLOCK_CHEST_CLOSE, + SoundCategory.BLOCKS, 0.5F, this.world.rand.nextFloat() * 0.1F + 0.9F); + } + // test the outer lid + if (this.lidAngle > 0.0F) { + isLidClosed = false; + this.lidAngle -= 0.1F; + isLidOpen = false; + if (this.lidAngle <= 0.0F) { + this.lidAngle = 0.0F; + isLidClosed = true; + } + } else { + isLidClosed = true; + } + } + } + } + + public float getPrevInnerLidPos() { + return prevInnerLidPos; + } + + public void setPrevInnerLidPos(float innerLidPos) { + this.prevInnerLidPos = innerLidPos; + } + + public float getInnerLidAngle() { + return innerLidAngle; + } + + public void setInnerLidAngle(float innerLidAngle) { + this.innerLidAngle = innerLidAngle; + } + + public float getPrevInnerLidAngle() { + return prevInnerLidAngle; + } + + public void setPrevInnerLidAngle(float innerLidAngle) { + this.prevInnerLidAngle = innerLidAngle; + } +} \ No newline at end of file diff --git a/src/com/someguyssoftware/treasure2/tileentity/CauldronChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/CauldronChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/CauldronChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/CauldronChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/ClamChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/ClamChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/ClamChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/ClamChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/CompressorChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/CompressorChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/CompressorChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/CompressorChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/CrateChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/CrateChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/CrateChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/CrateChestTileEntity.java diff --git a/src/main/java/com/someguyssoftware/treasure2/tileentity/CrystalSkullChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/CrystalSkullChestTileEntity.java new file mode 100644 index 000000000..1823575d5 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/tileentity/CrystalSkullChestTileEntity.java @@ -0,0 +1,28 @@ +package com.someguyssoftware.treasure2.tileentity; + +import net.minecraft.util.text.translation.I18n; + +/** + * + * @author Mark Gottschling on Dec 9, 2020 + * + */ +public class CrystalSkullChestTileEntity extends AbstractTreasureChestTileEntity { + + /** + * + * @param texture + */ + public CrystalSkullChestTileEntity() { + super(); + setCustomName(I18n.translateToLocal("display.crystal_skull_chest.name")); + } + + /** + * @return the numberOfSlots + */ + @Override + public int getNumberOfSlots() { + return 9; + } +} \ No newline at end of file diff --git a/src/com/someguyssoftware/treasure2/tileentity/DreadPirateChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/DreadPirateChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/DreadPirateChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/DreadPirateChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/GoldSkullChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/GoldSkullChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/GoldSkullChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/GoldSkullChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/GoldStrongboxTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/GoldStrongboxTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/GoldStrongboxTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/GoldStrongboxTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/GravestoneProximitySpawnerTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/GravestoneProximitySpawnerTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/GravestoneProximitySpawnerTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/GravestoneProximitySpawnerTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/IProximityTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/IProximityTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/IProximityTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/IProximityTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/ITreasureChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/ITreasureChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/ITreasureChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/ITreasureChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/IronStrongboxTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/IronStrongboxTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/IronStrongboxTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/IronStrongboxTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/IronboundChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/IronboundChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/IronboundChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/IronboundChestTileEntity.java diff --git a/src/main/java/com/someguyssoftware/treasure2/tileentity/MilkCrateTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/MilkCrateTileEntity.java new file mode 100644 index 000000000..47c0951b7 --- /dev/null +++ b/src/main/java/com/someguyssoftware/treasure2/tileentity/MilkCrateTileEntity.java @@ -0,0 +1,20 @@ +package com.someguyssoftware.treasure2.tileentity; + +import net.minecraft.util.text.translation.I18n; + +/** + * + * @author Mark Gottschling on Nov 30, 2020 + * + */ +public class MilkCrateTileEntity extends AbstractTreasureChestTileEntity { + + /** + * + * @param texture + */ + public MilkCrateTileEntity() { + super(); + setCustomName(I18n.translateToLocal("display.milk_crate.name")); + } +} \ No newline at end of file diff --git a/src/com/someguyssoftware/treasure2/tileentity/MistEmitterTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/MistEmitterTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/MistEmitterTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/MistEmitterTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/MoldyCrateChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/MoldyCrateChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/MoldyCrateChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/MoldyCrateChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/OysterChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/OysterChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/OysterChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/OysterChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/PirateChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/PirateChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/PirateChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/PirateChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/ProximitySpawnerTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/ProximitySpawnerTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/ProximitySpawnerTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/ProximitySpawnerTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/SafeTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/SafeTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/SafeTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/SafeTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/SkullChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/SkullChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/SkullChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/SkullChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/SpiderChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/SpiderChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/SpiderChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/SpiderChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/VikingChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/VikingChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/VikingChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/VikingChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/WhaleBonePirateChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/WhaleBonePirateChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/WhaleBonePirateChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/WhaleBonePirateChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/WitherChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/WitherChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/WitherChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/WitherChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/tileentity/WoodChestTileEntity.java b/src/main/java/com/someguyssoftware/treasure2/tileentity/WoodChestTileEntity.java similarity index 100% rename from src/com/someguyssoftware/treasure2/tileentity/WoodChestTileEntity.java rename to src/main/java/com/someguyssoftware/treasure2/tileentity/WoodChestTileEntity.java diff --git a/src/com/someguyssoftware/treasure2/wish/IWishProvider.java b/src/main/java/com/someguyssoftware/treasure2/wish/IWishProvider.java similarity index 100% rename from src/com/someguyssoftware/treasure2/wish/IWishProvider.java rename to src/main/java/com/someguyssoftware/treasure2/wish/IWishProvider.java diff --git a/src/com/someguyssoftware/treasure2/wish/IWishProviderFunction.java b/src/main/java/com/someguyssoftware/treasure2/wish/IWishProviderFunction.java similarity index 100% rename from src/com/someguyssoftware/treasure2/wish/IWishProviderFunction.java rename to src/main/java/com/someguyssoftware/treasure2/wish/IWishProviderFunction.java diff --git a/src/com/someguyssoftware/treasure2/wish/WishingWell.java b/src/main/java/com/someguyssoftware/treasure2/wish/WishingWell.java similarity index 100% rename from src/com/someguyssoftware/treasure2/wish/WishingWell.java rename to src/main/java/com/someguyssoftware/treasure2/wish/WishingWell.java diff --git a/src/com/someguyssoftware/treasure2/world/gen/structure/ITemplateGenerator.java b/src/main/java/com/someguyssoftware/treasure2/world/gen/structure/ITemplateGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/world/gen/structure/ITemplateGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/world/gen/structure/ITemplateGenerator.java diff --git a/src/com/someguyssoftware/treasure2/world/gen/structure/TemplateGenerator.java b/src/main/java/com/someguyssoftware/treasure2/world/gen/structure/TemplateGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/world/gen/structure/TemplateGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/world/gen/structure/TemplateGenerator.java diff --git a/src/com/someguyssoftware/treasure2/world/gen/structure/TemplateHolder.java b/src/main/java/com/someguyssoftware/treasure2/world/gen/structure/TemplateHolder.java similarity index 100% rename from src/com/someguyssoftware/treasure2/world/gen/structure/TemplateHolder.java rename to src/main/java/com/someguyssoftware/treasure2/world/gen/structure/TemplateHolder.java diff --git a/src/com/someguyssoftware/treasure2/world/gen/structure/TreasureDecayManager.java b/src/main/java/com/someguyssoftware/treasure2/world/gen/structure/TreasureDecayManager.java similarity index 100% rename from src/com/someguyssoftware/treasure2/world/gen/structure/TreasureDecayManager.java rename to src/main/java/com/someguyssoftware/treasure2/world/gen/structure/TreasureDecayManager.java diff --git a/src/com/someguyssoftware/treasure2/world/gen/structure/TreasureTemplateManager.java b/src/main/java/com/someguyssoftware/treasure2/world/gen/structure/TreasureTemplateManager.java similarity index 100% rename from src/com/someguyssoftware/treasure2/world/gen/structure/TreasureTemplateManager.java rename to src/main/java/com/someguyssoftware/treasure2/world/gen/structure/TreasureTemplateManager.java diff --git a/src/com/someguyssoftware/treasure2/worldgen/GemOreWorldGenerator.java b/src/main/java/com/someguyssoftware/treasure2/worldgen/GemOreWorldGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/worldgen/GemOreWorldGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/worldgen/GemOreWorldGenerator.java diff --git a/src/com/someguyssoftware/treasure2/worldgen/ITreasureWorldGenerator.java b/src/main/java/com/someguyssoftware/treasure2/worldgen/ITreasureWorldGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/worldgen/ITreasureWorldGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/worldgen/ITreasureWorldGenerator.java diff --git a/src/com/someguyssoftware/treasure2/worldgen/OasisWorldGenerator.java b/src/main/java/com/someguyssoftware/treasure2/worldgen/OasisWorldGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/worldgen/OasisWorldGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/worldgen/OasisWorldGenerator.java diff --git a/src/com/someguyssoftware/treasure2/worldgen/SubmergedChestWorldGenerator.java b/src/main/java/com/someguyssoftware/treasure2/worldgen/SubmergedChestWorldGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/worldgen/SubmergedChestWorldGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/worldgen/SubmergedChestWorldGenerator.java diff --git a/src/com/someguyssoftware/treasure2/worldgen/SurfaceChestWorldGenerator.java b/src/main/java/com/someguyssoftware/treasure2/worldgen/SurfaceChestWorldGenerator.java similarity index 99% rename from src/com/someguyssoftware/treasure2/worldgen/SurfaceChestWorldGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/worldgen/SurfaceChestWorldGenerator.java index 96b9ed374..1dd7a0370 100644 --- a/src/com/someguyssoftware/treasure2/worldgen/SurfaceChestWorldGenerator.java +++ b/src/main/java/com/someguyssoftware/treasure2/worldgen/SurfaceChestWorldGenerator.java @@ -262,7 +262,7 @@ else if (biomeCheck == Result.OK) { // 3. check against all registered chests if (isRegisteredChestWithinDistance(world, coords, TreasureConfig.CHESTS.surfaceChests.minDistancePerChest)) { - Treasure.logger.debug("The distance to the nearest treasure chest is less than the minimun required."); +// Treasure.logger.debug("The distance to the nearest treasure chest is less than the minimun required."); return; } diff --git a/src/com/someguyssoftware/treasure2/worldgen/WellWorldGenerator.java b/src/main/java/com/someguyssoftware/treasure2/worldgen/WellWorldGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/worldgen/WellWorldGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/worldgen/WellWorldGenerator.java diff --git a/src/com/someguyssoftware/treasure2/worldgen/WitherTreeWorldGenerator.java b/src/main/java/com/someguyssoftware/treasure2/worldgen/WitherTreeWorldGenerator.java similarity index 100% rename from src/com/someguyssoftware/treasure2/worldgen/WitherTreeWorldGenerator.java rename to src/main/java/com/someguyssoftware/treasure2/worldgen/WitherTreeWorldGenerator.java diff --git a/src/resources/assets/treasure2/advancements/recipes/gold_skull_chest.json b/src/main/resources/assets/treasure2/advancements/recipes/gold_skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/gold_skull_chest.json rename to src/main/resources/assets/treasure2/advancements/recipes/gold_skull_chest.json diff --git a/src/resources/assets/treasure2/advancements/recipes/key_ring.json b/src/main/resources/assets/treasure2/advancements/recipes/key_ring.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/key_ring.json rename to src/main/resources/assets/treasure2/advancements/recipes/key_ring.json diff --git a/src/resources/assets/treasure2/advancements/recipes/pilferers_lock_pick.json b/src/main/resources/assets/treasure2/advancements/recipes/pilferers_lock_pick.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/pilferers_lock_pick.json rename to src/main/resources/assets/treasure2/advancements/recipes/pilferers_lock_pick.json diff --git a/src/resources/assets/treasure2/advancements/recipes/ruby_key.json b/src/main/resources/assets/treasure2/advancements/recipes/ruby_key.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/ruby_key.json rename to src/main/resources/assets/treasure2/advancements/recipes/ruby_key.json diff --git a/src/resources/assets/treasure2/advancements/recipes/sapphire_key.json b/src/main/resources/assets/treasure2/advancements/recipes/sapphire_key.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/sapphire_key.json rename to src/main/resources/assets/treasure2/advancements/recipes/sapphire_key.json diff --git a/src/resources/assets/treasure2/advancements/recipes/skull_chest.json b/src/main/resources/assets/treasure2/advancements/recipes/skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/skull_chest.json rename to src/main/resources/assets/treasure2/advancements/recipes/skull_chest.json diff --git a/src/resources/assets/treasure2/advancements/recipes/spider_key.json b/src/main/resources/assets/treasure2/advancements/recipes/spider_key.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/spider_key.json rename to src/main/resources/assets/treasure2/advancements/recipes/spider_key.json diff --git a/src/resources/assets/treasure2/advancements/recipes/thiefs_lock_pick.json b/src/main/resources/assets/treasure2/advancements/recipes/thiefs_lock_pick.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/thiefs_lock_pick.json rename to src/main/resources/assets/treasure2/advancements/recipes/thiefs_lock_pick.json diff --git a/src/resources/assets/treasure2/advancements/recipes/treasure_tool.json b/src/main/resources/assets/treasure2/advancements/recipes/treasure_tool.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/treasure_tool.json rename to src/main/resources/assets/treasure2/advancements/recipes/treasure_tool.json diff --git a/src/resources/assets/treasure2/advancements/recipes/wither_key.json b/src/main/resources/assets/treasure2/advancements/recipes/wither_key.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/wither_key.json rename to src/main/resources/assets/treasure2/advancements/recipes/wither_key.json diff --git a/src/resources/assets/treasure2/advancements/recipes/wither_planks.json b/src/main/resources/assets/treasure2/advancements/recipes/wither_planks.json similarity index 100% rename from src/resources/assets/treasure2/advancements/recipes/wither_planks.json rename to src/main/resources/assets/treasure2/advancements/recipes/wither_planks.json diff --git a/src/resources/assets/treasure2/blockstates/blackstone.json b/src/main/resources/assets/treasure2/blockstates/blackstone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/blackstone.json rename to src/main/resources/assets/treasure2/blockstates/blackstone.json diff --git a/src/main/resources/assets/treasure2/blockstates/cardboard_box.json b/src/main/resources/assets/treasure2/blockstates/cardboard_box.json new file mode 100644 index 000000000..479051d48 --- /dev/null +++ b/src/main/resources/assets/treasure2/blockstates/cardboard_box.json @@ -0,0 +1,11 @@ +{ + "variants": { + "normal": { "model": "treasure2:cardboard_box" }, + "facing=north": { "model": "treasure2:cardboard_box" }, + "facing=south": { "model": "treasure2:cardboard_box", "y": 180, "uvlock": true }, + "facing=west": { "model": "treasure2:cardboard_box", "y": 270, "uvlock": true }, + "facing=east": { "model": "treasure2:cardboard_box", "y": 90, "uvlock": true }, + "facing=up": { "model": "treasure2:cardboard_box" }, + "facing=down": { "model": "treasure2:cardboard_box" } + } +} diff --git a/src/resources/assets/treasure2/blockstates/cauldron_chest.json b/src/main/resources/assets/treasure2/blockstates/cauldron_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/cauldron_chest.json rename to src/main/resources/assets/treasure2/blockstates/cauldron_chest.json diff --git a/src/resources/assets/treasure2/blockstates/compressor_chest.json b/src/main/resources/assets/treasure2/blockstates/compressor_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/compressor_chest.json rename to src/main/resources/assets/treasure2/blockstates/compressor_chest.json diff --git a/src/resources/assets/treasure2/blockstates/crate_chest.json b/src/main/resources/assets/treasure2/blockstates/crate_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/crate_chest.json rename to src/main/resources/assets/treasure2/blockstates/crate_chest.json diff --git a/src/resources/assets/treasure2/blockstates/crate_chest_moldy.json b/src/main/resources/assets/treasure2/blockstates/crate_chest_moldy.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/crate_chest_moldy.json rename to src/main/resources/assets/treasure2/blockstates/crate_chest_moldy.json diff --git a/src/main/resources/assets/treasure2/blockstates/crystal_skull_chest.json b/src/main/resources/assets/treasure2/blockstates/crystal_skull_chest.json new file mode 100644 index 000000000..e69b06889 --- /dev/null +++ b/src/main/resources/assets/treasure2/blockstates/crystal_skull_chest.json @@ -0,0 +1,11 @@ +{ + "variants": { + "normal": { "model": "treasure2:crystal_skull_chest" }, + "facing=north": { "model": "treasure2:crystal_skull_chest" }, + "facing=south": { "model": "treasure2:crystal_skull_chest", "y": 180, "uvlock": true }, + "facing=west": { "model": "treasure2:crystal_skull_chest", "y": 270, "uvlock": true }, + "facing=east": { "model": "treasure2:crystal_skull_chest", "y": 90, "uvlock": true }, + "facing=up": { "model": "treasure2:crystal_skull_chest" }, + "facing=down": { "model": "treasure2:crystal_skull_chest" } + } +} diff --git a/src/resources/assets/treasure2/blockstates/desert_wishing_well_block.json b/src/main/resources/assets/treasure2/blockstates/desert_wishing_well_block.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/desert_wishing_well_block.json rename to src/main/resources/assets/treasure2/blockstates/desert_wishing_well_block.json diff --git a/src/resources/assets/treasure2/blockstates/dread_pirate_chest.json b/src/main/resources/assets/treasure2/blockstates/dread_pirate_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/dread_pirate_chest.json rename to src/main/resources/assets/treasure2/blockstates/dread_pirate_chest.json diff --git a/src/resources/assets/treasure2/blockstates/falling_grass.json b/src/main/resources/assets/treasure2/blockstates/falling_grass.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/falling_grass.json rename to src/main/resources/assets/treasure2/blockstates/falling_grass.json diff --git a/src/resources/assets/treasure2/blockstates/falling_red_sand.json b/src/main/resources/assets/treasure2/blockstates/falling_red_sand.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/falling_red_sand.json rename to src/main/resources/assets/treasure2/blockstates/falling_red_sand.json diff --git a/src/resources/assets/treasure2/blockstates/falling_sand.json b/src/main/resources/assets/treasure2/blockstates/falling_sand.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/falling_sand.json rename to src/main/resources/assets/treasure2/blockstates/falling_sand.json diff --git a/src/resources/assets/treasure2/blockstates/fog.json b/src/main/resources/assets/treasure2/blockstates/fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/fog.json rename to src/main/resources/assets/treasure2/blockstates/fog.json diff --git a/src/resources/assets/treasure2/blockstates/gold_skull_chest.json b/src/main/resources/assets/treasure2/blockstates/gold_skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gold_skull_chest.json rename to src/main/resources/assets/treasure2/blockstates/gold_skull_chest.json diff --git a/src/resources/assets/treasure2/blockstates/gold_strongbox.json b/src/main/resources/assets/treasure2/blockstates/gold_strongbox.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gold_strongbox.json rename to src/main/resources/assets/treasure2/blockstates/gold_strongbox.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone1_cobblestone.json b/src/main/resources/assets/treasure2/blockstates/gravestone1_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone1_cobblestone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone1_cobblestone.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone1_mossy_cobblestone.json b/src/main/resources/assets/treasure2/blockstates/gravestone1_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone1_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone1_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone1_obsidian.json b/src/main/resources/assets/treasure2/blockstates/gravestone1_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone1_obsidian.json rename to src/main/resources/assets/treasure2/blockstates/gravestone1_obsidian.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone1_polished_andesite.json b/src/main/resources/assets/treasure2/blockstates/gravestone1_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone1_polished_andesite.json rename to src/main/resources/assets/treasure2/blockstates/gravestone1_polished_andesite.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone1_polished_diorite.json b/src/main/resources/assets/treasure2/blockstates/gravestone1_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone1_polished_diorite.json rename to src/main/resources/assets/treasure2/blockstates/gravestone1_polished_diorite.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone1_polished_granite.json b/src/main/resources/assets/treasure2/blockstates/gravestone1_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone1_polished_granite.json rename to src/main/resources/assets/treasure2/blockstates/gravestone1_polished_granite.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone1_spawner_stone.json b/src/main/resources/assets/treasure2/blockstates/gravestone1_spawner_stone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone1_spawner_stone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone1_spawner_stone.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone1_stone.json b/src/main/resources/assets/treasure2/blockstates/gravestone1_stone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone1_stone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone1_stone.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone2_cobblestone.json b/src/main/resources/assets/treasure2/blockstates/gravestone2_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone2_cobblestone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone2_cobblestone.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone2_mossy_cobblestone.json b/src/main/resources/assets/treasure2/blockstates/gravestone2_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone2_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone2_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone2_obsidian.json b/src/main/resources/assets/treasure2/blockstates/gravestone2_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone2_obsidian.json rename to src/main/resources/assets/treasure2/blockstates/gravestone2_obsidian.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone2_polished_andesite.json b/src/main/resources/assets/treasure2/blockstates/gravestone2_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone2_polished_andesite.json rename to src/main/resources/assets/treasure2/blockstates/gravestone2_polished_andesite.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone2_polished_diorite.json b/src/main/resources/assets/treasure2/blockstates/gravestone2_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone2_polished_diorite.json rename to src/main/resources/assets/treasure2/blockstates/gravestone2_polished_diorite.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone2_polished_granite.json b/src/main/resources/assets/treasure2/blockstates/gravestone2_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone2_polished_granite.json rename to src/main/resources/assets/treasure2/blockstates/gravestone2_polished_granite.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone2_spawner_cobblestone.json b/src/main/resources/assets/treasure2/blockstates/gravestone2_spawner_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone2_spawner_cobblestone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone2_spawner_cobblestone.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone2_stone.json b/src/main/resources/assets/treasure2/blockstates/gravestone2_stone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone2_stone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone2_stone.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone3_cobblestone.json b/src/main/resources/assets/treasure2/blockstates/gravestone3_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone3_cobblestone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone3_cobblestone.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone3_mossy_cobblestone.json b/src/main/resources/assets/treasure2/blockstates/gravestone3_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone3_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone3_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone3_obsidian.json b/src/main/resources/assets/treasure2/blockstates/gravestone3_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone3_obsidian.json rename to src/main/resources/assets/treasure2/blockstates/gravestone3_obsidian.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone3_polished_andesite.json b/src/main/resources/assets/treasure2/blockstates/gravestone3_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone3_polished_andesite.json rename to src/main/resources/assets/treasure2/blockstates/gravestone3_polished_andesite.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone3_polished_diorite.json b/src/main/resources/assets/treasure2/blockstates/gravestone3_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone3_polished_diorite.json rename to src/main/resources/assets/treasure2/blockstates/gravestone3_polished_diorite.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone3_polished_granite.json b/src/main/resources/assets/treasure2/blockstates/gravestone3_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone3_polished_granite.json rename to src/main/resources/assets/treasure2/blockstates/gravestone3_polished_granite.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone3_spawner_obsidian.json b/src/main/resources/assets/treasure2/blockstates/gravestone3_spawner_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone3_spawner_obsidian.json rename to src/main/resources/assets/treasure2/blockstates/gravestone3_spawner_obsidian.json diff --git a/src/resources/assets/treasure2/blockstates/gravestone3_stone.json b/src/main/resources/assets/treasure2/blockstates/gravestone3_stone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/gravestone3_stone.json rename to src/main/resources/assets/treasure2/blockstates/gravestone3_stone.json diff --git a/src/resources/assets/treasure2/blockstates/high_fog.json b/src/main/resources/assets/treasure2/blockstates/high_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/high_fog.json rename to src/main/resources/assets/treasure2/blockstates/high_fog.json diff --git a/src/resources/assets/treasure2/blockstates/high_poison_fog.json b/src/main/resources/assets/treasure2/blockstates/high_poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/high_poison_fog.json rename to src/main/resources/assets/treasure2/blockstates/high_poison_fog.json diff --git a/src/resources/assets/treasure2/blockstates/high_wither_fog.json b/src/main/resources/assets/treasure2/blockstates/high_wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/high_wither_fog.json rename to src/main/resources/assets/treasure2/blockstates/high_wither_fog.json diff --git a/src/resources/assets/treasure2/blockstates/iron_strongbox.json b/src/main/resources/assets/treasure2/blockstates/iron_strongbox.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/iron_strongbox.json rename to src/main/resources/assets/treasure2/blockstates/iron_strongbox.json diff --git a/src/resources/assets/treasure2/blockstates/ironbound_chest.json b/src/main/resources/assets/treasure2/blockstates/ironbound_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/ironbound_chest.json rename to src/main/resources/assets/treasure2/blockstates/ironbound_chest.json diff --git a/src/resources/assets/treasure2/blockstates/low_fog.json b/src/main/resources/assets/treasure2/blockstates/low_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/low_fog.json rename to src/main/resources/assets/treasure2/blockstates/low_fog.json diff --git a/src/resources/assets/treasure2/blockstates/low_poison_fog.json b/src/main/resources/assets/treasure2/blockstates/low_poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/low_poison_fog.json rename to src/main/resources/assets/treasure2/blockstates/low_poison_fog.json diff --git a/src/resources/assets/treasure2/blockstates/low_wither_fog.json b/src/main/resources/assets/treasure2/blockstates/low_wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/low_wither_fog.json rename to src/main/resources/assets/treasure2/blockstates/low_wither_fog.json diff --git a/src/resources/assets/treasure2/blockstates/med_fog.json b/src/main/resources/assets/treasure2/blockstates/med_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/med_fog.json rename to src/main/resources/assets/treasure2/blockstates/med_fog.json diff --git a/src/resources/assets/treasure2/blockstates/med_poison_fog.json b/src/main/resources/assets/treasure2/blockstates/med_poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/med_poison_fog.json rename to src/main/resources/assets/treasure2/blockstates/med_poison_fog.json diff --git a/src/resources/assets/treasure2/blockstates/med_wither_fog.json b/src/main/resources/assets/treasure2/blockstates/med_wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/med_wither_fog.json rename to src/main/resources/assets/treasure2/blockstates/med_wither_fog.json diff --git a/src/main/resources/assets/treasure2/blockstates/milk_crate.json b/src/main/resources/assets/treasure2/blockstates/milk_crate.json new file mode 100644 index 000000000..279c6bd16 --- /dev/null +++ b/src/main/resources/assets/treasure2/blockstates/milk_crate.json @@ -0,0 +1,11 @@ +{ + "variants": { + "normal": { "model": "treasure2:milk_crate" }, + "facing=north": { "model": "treasure2:milk_crate" }, + "facing=south": { "model": "treasure2:milk_crate", "y": 180, "uvlock": true }, + "facing=west": { "model": "treasure2:milk_crate", "y": 270, "uvlock": true }, + "facing=east": { "model": "treasure2:milk_crate", "y": 90, "uvlock": true }, + "facing=up": { "model": "treasure2:milk_crate" }, + "facing=down": { "model": "treasure2:milk_crate" } + } +} diff --git a/src/resources/assets/treasure2/blockstates/oyster_chest.json b/src/main/resources/assets/treasure2/blockstates/oyster_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/oyster_chest.json rename to src/main/resources/assets/treasure2/blockstates/oyster_chest.json diff --git a/src/resources/assets/treasure2/blockstates/painting_blocks_bricks.json b/src/main/resources/assets/treasure2/blockstates/painting_blocks_bricks.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/painting_blocks_bricks.json rename to src/main/resources/assets/treasure2/blockstates/painting_blocks_bricks.json diff --git a/src/resources/assets/treasure2/blockstates/painting_blocks_cobblestone.json b/src/main/resources/assets/treasure2/blockstates/painting_blocks_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/painting_blocks_cobblestone.json rename to src/main/resources/assets/treasure2/blockstates/painting_blocks_cobblestone.json diff --git a/src/resources/assets/treasure2/blockstates/painting_blocks_dirt.json b/src/main/resources/assets/treasure2/blockstates/painting_blocks_dirt.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/painting_blocks_dirt.json rename to src/main/resources/assets/treasure2/blockstates/painting_blocks_dirt.json diff --git a/src/resources/assets/treasure2/blockstates/painting_blocks_lava.json b/src/main/resources/assets/treasure2/blockstates/painting_blocks_lava.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/painting_blocks_lava.json rename to src/main/resources/assets/treasure2/blockstates/painting_blocks_lava.json diff --git a/src/resources/assets/treasure2/blockstates/painting_blocks_sand.json b/src/main/resources/assets/treasure2/blockstates/painting_blocks_sand.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/painting_blocks_sand.json rename to src/main/resources/assets/treasure2/blockstates/painting_blocks_sand.json diff --git a/src/resources/assets/treasure2/blockstates/painting_blocks_water.json b/src/main/resources/assets/treasure2/blockstates/painting_blocks_water.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/painting_blocks_water.json rename to src/main/resources/assets/treasure2/blockstates/painting_blocks_water.json diff --git a/src/resources/assets/treasure2/blockstates/painting_blocks_wood.json b/src/main/resources/assets/treasure2/blockstates/painting_blocks_wood.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/painting_blocks_wood.json rename to src/main/resources/assets/treasure2/blockstates/painting_blocks_wood.json diff --git a/src/resources/assets/treasure2/blockstates/pirate_chest.json b/src/main/resources/assets/treasure2/blockstates/pirate_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/pirate_chest.json rename to src/main/resources/assets/treasure2/blockstates/pirate_chest.json diff --git a/src/resources/assets/treasure2/blockstates/pirate_mimic.json b/src/main/resources/assets/treasure2/blockstates/pirate_mimic.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/pirate_mimic.json rename to src/main/resources/assets/treasure2/blockstates/pirate_mimic.json diff --git a/src/resources/assets/treasure2/blockstates/poison_fog.json b/src/main/resources/assets/treasure2/blockstates/poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/poison_fog.json rename to src/main/resources/assets/treasure2/blockstates/poison_fog.json diff --git a/src/resources/assets/treasure2/blockstates/proximity_spawner.json b/src/main/resources/assets/treasure2/blockstates/proximity_spawner.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/proximity_spawner.json rename to src/main/resources/assets/treasure2/blockstates/proximity_spawner.json diff --git a/src/resources/assets/treasure2/blockstates/ruby_ore.json b/src/main/resources/assets/treasure2/blockstates/ruby_ore.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/ruby_ore.json rename to src/main/resources/assets/treasure2/blockstates/ruby_ore.json diff --git a/src/resources/assets/treasure2/blockstates/safe.json b/src/main/resources/assets/treasure2/blockstates/safe.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/safe.json rename to src/main/resources/assets/treasure2/blockstates/safe.json diff --git a/src/resources/assets/treasure2/blockstates/sapphire_ore.json b/src/main/resources/assets/treasure2/blockstates/sapphire_ore.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/sapphire_ore.json rename to src/main/resources/assets/treasure2/blockstates/sapphire_ore.json diff --git a/src/resources/assets/treasure2/blockstates/skeleton.json b/src/main/resources/assets/treasure2/blockstates/skeleton.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/skeleton.json rename to src/main/resources/assets/treasure2/blockstates/skeleton.json diff --git a/src/resources/assets/treasure2/blockstates/skull_and_crossbones.json b/src/main/resources/assets/treasure2/blockstates/skull_and_crossbones.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/skull_and_crossbones.json rename to src/main/resources/assets/treasure2/blockstates/skull_and_crossbones.json diff --git a/src/resources/assets/treasure2/blockstates/skull_chest.json b/src/main/resources/assets/treasure2/blockstates/skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/skull_chest.json rename to src/main/resources/assets/treasure2/blockstates/skull_chest.json diff --git a/src/resources/assets/treasure2/blockstates/spanish_moss.json b/src/main/resources/assets/treasure2/blockstates/spanish_moss.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/spanish_moss.json rename to src/main/resources/assets/treasure2/blockstates/spanish_moss.json diff --git a/src/resources/assets/treasure2/blockstates/spider_chest.json b/src/main/resources/assets/treasure2/blockstates/spider_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/spider_chest.json rename to src/main/resources/assets/treasure2/blockstates/spider_chest.json diff --git a/src/resources/assets/treasure2/blockstates/viking_chest.json b/src/main/resources/assets/treasure2/blockstates/viking_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/viking_chest.json rename to src/main/resources/assets/treasure2/blockstates/viking_chest.json diff --git a/src/resources/assets/treasure2/blockstates/whale_bone_pirate_chest.json b/src/main/resources/assets/treasure2/blockstates/whale_bone_pirate_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/whale_bone_pirate_chest.json rename to src/main/resources/assets/treasure2/blockstates/whale_bone_pirate_chest.json diff --git a/src/resources/assets/treasure2/blockstates/wishing_well_block.json b/src/main/resources/assets/treasure2/blockstates/wishing_well_block.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wishing_well_block.json rename to src/main/resources/assets/treasure2/blockstates/wishing_well_block.json diff --git a/src/resources/assets/treasure2/blockstates/wither_branch.json b/src/main/resources/assets/treasure2/blockstates/wither_branch.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wither_branch.json rename to src/main/resources/assets/treasure2/blockstates/wither_branch.json diff --git a/src/resources/assets/treasure2/blockstates/wither_broken_log.json b/src/main/resources/assets/treasure2/blockstates/wither_broken_log.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wither_broken_log.json rename to src/main/resources/assets/treasure2/blockstates/wither_broken_log.json diff --git a/src/resources/assets/treasure2/blockstates/wither_chest.json b/src/main/resources/assets/treasure2/blockstates/wither_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wither_chest.json rename to src/main/resources/assets/treasure2/blockstates/wither_chest.json diff --git a/src/resources/assets/treasure2/blockstates/wither_chest_top.json b/src/main/resources/assets/treasure2/blockstates/wither_chest_top.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wither_chest_top.json rename to src/main/resources/assets/treasure2/blockstates/wither_chest_top.json diff --git a/src/resources/assets/treasure2/blockstates/wither_fog.json b/src/main/resources/assets/treasure2/blockstates/wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wither_fog.json rename to src/main/resources/assets/treasure2/blockstates/wither_fog.json diff --git a/src/resources/assets/treasure2/blockstates/wither_log.json b/src/main/resources/assets/treasure2/blockstates/wither_log.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wither_log.json rename to src/main/resources/assets/treasure2/blockstates/wither_log.json diff --git a/src/resources/assets/treasure2/blockstates/wither_log_soul.json b/src/main/resources/assets/treasure2/blockstates/wither_log_soul.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wither_log_soul.json rename to src/main/resources/assets/treasure2/blockstates/wither_log_soul.json diff --git a/src/resources/assets/treasure2/blockstates/wither_planks.json b/src/main/resources/assets/treasure2/blockstates/wither_planks.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wither_planks.json rename to src/main/resources/assets/treasure2/blockstates/wither_planks.json diff --git a/src/resources/assets/treasure2/blockstates/wither_root.json b/src/main/resources/assets/treasure2/blockstates/wither_root.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wither_root.json rename to src/main/resources/assets/treasure2/blockstates/wither_root.json diff --git a/src/resources/assets/treasure2/blockstates/wood_chest.json b/src/main/resources/assets/treasure2/blockstates/wood_chest.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wood_chest.json rename to src/main/resources/assets/treasure2/blockstates/wood_chest.json diff --git a/src/resources/assets/treasure2/blockstates/wood_mimic.json b/src/main/resources/assets/treasure2/blockstates/wood_mimic.json similarity index 100% rename from src/resources/assets/treasure2/blockstates/wood_mimic.json rename to src/main/resources/assets/treasure2/blockstates/wood_mimic.json diff --git a/src/resources/assets/treasure2/lang/en_US.lang b/src/main/resources/assets/treasure2/lang/en_US.lang similarity index 97% rename from src/resources/assets/treasure2/lang/en_US.lang rename to src/main/resources/assets/treasure2/lang/en_US.lang index c6a93f0f7..b8f764dae 100644 --- a/src/resources/assets/treasure2/lang/en_US.lang +++ b/src/main/resources/assets/treasure2/lang/en_US.lang @@ -12,9 +12,12 @@ tile.treasure2:compressor_chest.name=Compressor Chest tile.treasure2:wither_chest.name=Wither Chest tile.treasure2:skull_chest.name=Skull Chest tile.treasure2:gold_skull_chest.name=Golden Skull Chest +tile.treasure2:crystal_skull_chest.name=Crystal Skull Chest tile.treasure2:cauldron_chest.name=Cauldron Chest tile.treasure2:spider_chest.name=Spider Chest tile.treasure2:viking_chest.name=Viking Chest +tile.treasure2:cardboard_box.name=Cardboard Box +tile.treasure2:milk_crate.name=Milk Crate tile.treasure2:wood_mimic.name=Wood Mimic tile.treasure2:pirate_mimic.name=Pirate Mimic @@ -98,7 +101,7 @@ item.treasure2:charmed_gold_coin.name=Charmed Gold Coin item.treasure2:charmed_ruby.name=Charmed Ruby item.treasure2:charmed_sapphire.name=Charmed Sapphire -item.treasure2:angel_blessed.name=Angel Blessed Coin +item.treasure2:angel_blessed.name=Angel Blessed Gem item.treasure2:fools_coin.name=Fool's Coin item.treasure2:miners_friend.name=Miner's Friend item.treasure2:medics_token.name=Medic's Token @@ -280,3 +283,6 @@ display.cauldron_chest.name=Cauldron Chest #display.oyster_chest.name=Oyster display.spider_chest.name=Spider Chest display.viking_chest.name=Viking Chest +display.cardboard_box.name=Cardboard Box +display.milk_crate.name=Milk Crate +display.crystal_skull_chest.name=Crystal Skull \ No newline at end of file diff --git a/src/resources/assets/treasure2/lang/es_ES.lang b/src/main/resources/assets/treasure2/lang/es_ES.lang similarity index 100% rename from src/resources/assets/treasure2/lang/es_ES.lang rename to src/main/resources/assets/treasure2/lang/es_ES.lang diff --git a/src/resources/assets/treasure2/lang/pl_PL.lang b/src/main/resources/assets/treasure2/lang/pl_PL.lang similarity index 100% rename from src/resources/assets/treasure2/lang/pl_PL.lang rename to src/main/resources/assets/treasure2/lang/pl_PL.lang diff --git a/src/resources/assets/treasure2/lang/ru_RU.lang b/src/main/resources/assets/treasure2/lang/ru_RU.lang similarity index 100% rename from src/resources/assets/treasure2/lang/ru_RU.lang rename to src/main/resources/assets/treasure2/lang/ru_RU.lang diff --git a/src/resources/assets/treasure2/lang/zh_CN.lang b/src/main/resources/assets/treasure2/lang/zh_CN.lang similarity index 100% rename from src/resources/assets/treasure2/lang/zh_CN.lang rename to src/main/resources/assets/treasure2/lang/zh_CN.lang diff --git a/src/resources/assets/treasure2/loot_tables/entities/bound_soul.json b/src/main/resources/assets/treasure2/loot_tables/entities/bound_soul.json similarity index 100% rename from src/resources/assets/treasure2/loot_tables/entities/bound_soul.json rename to src/main/resources/assets/treasure2/loot_tables/entities/bound_soul.json diff --git a/src/resources/assets/treasure2/models/block/OLD-skull_chest.json b/src/main/resources/assets/treasure2/models/block/OLD-skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/OLD-skull_chest.json rename to src/main/resources/assets/treasure2/models/block/OLD-skull_chest.json diff --git a/src/resources/assets/treasure2/models/block/banded_chest.json b/src/main/resources/assets/treasure2/models/block/banded_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/banded_chest.json rename to src/main/resources/assets/treasure2/models/block/banded_chest.json diff --git a/src/resources/assets/treasure2/models/block/blackstone.json b/src/main/resources/assets/treasure2/models/block/blackstone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/blackstone.json rename to src/main/resources/assets/treasure2/models/block/blackstone.json diff --git a/src/main/resources/assets/treasure2/models/block/cardboard_box.json b/src/main/resources/assets/treasure2/models/block/cardboard_box.json new file mode 100644 index 000000000..f64452c92 --- /dev/null +++ b/src/main/resources/assets/treasure2/models/block/cardboard_box.json @@ -0,0 +1,8 @@ +{ + "parent": "treasure2:block/standard_chest", + "textures": { + "0": "treasure2:blocks/chests/cardboard_box_north", + "1": "treasure2:blocks/chests/cardboard_box_east", + "2": "treasure2:blocks/chests/cardboard_box_up" + } +} \ No newline at end of file diff --git a/src/resources/assets/treasure2/models/block/cauldron_chest.json b/src/main/resources/assets/treasure2/models/block/cauldron_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/cauldron_chest.json rename to src/main/resources/assets/treasure2/models/block/cauldron_chest.json diff --git a/src/resources/assets/treasure2/models/block/clam_chest.json b/src/main/resources/assets/treasure2/models/block/clam_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/clam_chest.json rename to src/main/resources/assets/treasure2/models/block/clam_chest.json diff --git a/src/resources/assets/treasure2/models/block/compressor_chest.json b/src/main/resources/assets/treasure2/models/block/compressor_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/compressor_chest.json rename to src/main/resources/assets/treasure2/models/block/compressor_chest.json diff --git a/src/resources/assets/treasure2/models/block/crate.json b/src/main/resources/assets/treasure2/models/block/crate.json similarity index 100% rename from src/resources/assets/treasure2/models/block/crate.json rename to src/main/resources/assets/treasure2/models/block/crate.json diff --git a/src/resources/assets/treasure2/models/block/crate_chest.json b/src/main/resources/assets/treasure2/models/block/crate_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/crate_chest.json rename to src/main/resources/assets/treasure2/models/block/crate_chest.json diff --git a/src/resources/assets/treasure2/models/block/crate_chest_moldy.json b/src/main/resources/assets/treasure2/models/block/crate_chest_moldy.json similarity index 100% rename from src/resources/assets/treasure2/models/block/crate_chest_moldy.json rename to src/main/resources/assets/treasure2/models/block/crate_chest_moldy.json diff --git a/src/main/resources/assets/treasure2/models/block/crystal_skull_chest.json b/src/main/resources/assets/treasure2/models/block/crystal_skull_chest.json new file mode 100644 index 000000000..285c1baae --- /dev/null +++ b/src/main/resources/assets/treasure2/models/block/crystal_skull_chest.json @@ -0,0 +1,9 @@ +{ + "parent": "treasure2:block/skull_chest", + "textures": { + "1": "treasure2:blocks/chests/crystal_skull_eyes", + "2": "treasure2:blocks/chests/crystal_skull_mouth_front", + "3": "treasure2:blocks/chests/crystal_skull_texture", + "particle": "treasure2:blocks/chests/crystal_skull_texture" + } +} \ No newline at end of file diff --git a/src/resources/assets/treasure2/models/block/desert_wishing_well_block.json b/src/main/resources/assets/treasure2/models/block/desert_wishing_well_block.json similarity index 100% rename from src/resources/assets/treasure2/models/block/desert_wishing_well_block.json rename to src/main/resources/assets/treasure2/models/block/desert_wishing_well_block.json diff --git a/src/resources/assets/treasure2/models/block/dread_pirate_chest.json b/src/main/resources/assets/treasure2/models/block/dread_pirate_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/dread_pirate_chest.json rename to src/main/resources/assets/treasure2/models/block/dread_pirate_chest.json diff --git a/src/resources/assets/treasure2/models/block/falling_grass.json b/src/main/resources/assets/treasure2/models/block/falling_grass.json similarity index 100% rename from src/resources/assets/treasure2/models/block/falling_grass.json rename to src/main/resources/assets/treasure2/models/block/falling_grass.json diff --git a/src/resources/assets/treasure2/models/block/falling_red_sand.json b/src/main/resources/assets/treasure2/models/block/falling_red_sand.json similarity index 100% rename from src/resources/assets/treasure2/models/block/falling_red_sand.json rename to src/main/resources/assets/treasure2/models/block/falling_red_sand.json diff --git a/src/resources/assets/treasure2/models/block/falling_sand.json b/src/main/resources/assets/treasure2/models/block/falling_sand.json similarity index 100% rename from src/resources/assets/treasure2/models/block/falling_sand.json rename to src/main/resources/assets/treasure2/models/block/falling_sand.json diff --git a/src/resources/assets/treasure2/models/block/fog.json b/src/main/resources/assets/treasure2/models/block/fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/fog.json rename to src/main/resources/assets/treasure2/models/block/fog.json diff --git a/src/resources/assets/treasure2/models/block/gold_skull_chest.json b/src/main/resources/assets/treasure2/models/block/gold_skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gold_skull_chest.json rename to src/main/resources/assets/treasure2/models/block/gold_skull_chest.json diff --git a/src/resources/assets/treasure2/models/block/gold_strongbox.json b/src/main/resources/assets/treasure2/models/block/gold_strongbox.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gold_strongbox.json rename to src/main/resources/assets/treasure2/models/block/gold_strongbox.json diff --git a/src/resources/assets/treasure2/models/block/gravestone1.json b/src/main/resources/assets/treasure2/models/block/gravestone1.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone1.json rename to src/main/resources/assets/treasure2/models/block/gravestone1.json diff --git a/src/resources/assets/treasure2/models/block/gravestone1_cobblestone.json b/src/main/resources/assets/treasure2/models/block/gravestone1_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone1_cobblestone.json rename to src/main/resources/assets/treasure2/models/block/gravestone1_cobblestone.json diff --git a/src/resources/assets/treasure2/models/block/gravestone1_mossy_cobblestone.json b/src/main/resources/assets/treasure2/models/block/gravestone1_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone1_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/models/block/gravestone1_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/models/block/gravestone1_obsidian.json b/src/main/resources/assets/treasure2/models/block/gravestone1_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone1_obsidian.json rename to src/main/resources/assets/treasure2/models/block/gravestone1_obsidian.json diff --git a/src/resources/assets/treasure2/models/block/gravestone1_polished_andesite.json b/src/main/resources/assets/treasure2/models/block/gravestone1_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone1_polished_andesite.json rename to src/main/resources/assets/treasure2/models/block/gravestone1_polished_andesite.json diff --git a/src/resources/assets/treasure2/models/block/gravestone1_polished_diorite.json b/src/main/resources/assets/treasure2/models/block/gravestone1_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone1_polished_diorite.json rename to src/main/resources/assets/treasure2/models/block/gravestone1_polished_diorite.json diff --git a/src/resources/assets/treasure2/models/block/gravestone1_polished_granite.json b/src/main/resources/assets/treasure2/models/block/gravestone1_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone1_polished_granite.json rename to src/main/resources/assets/treasure2/models/block/gravestone1_polished_granite.json diff --git a/src/resources/assets/treasure2/models/block/gravestone1_stone.json b/src/main/resources/assets/treasure2/models/block/gravestone1_stone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone1_stone.json rename to src/main/resources/assets/treasure2/models/block/gravestone1_stone.json diff --git a/src/resources/assets/treasure2/models/block/gravestone2.json b/src/main/resources/assets/treasure2/models/block/gravestone2.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone2.json rename to src/main/resources/assets/treasure2/models/block/gravestone2.json diff --git a/src/resources/assets/treasure2/models/block/gravestone2_cobblestone.json b/src/main/resources/assets/treasure2/models/block/gravestone2_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone2_cobblestone.json rename to src/main/resources/assets/treasure2/models/block/gravestone2_cobblestone.json diff --git a/src/resources/assets/treasure2/models/block/gravestone2_mossy_cobblestone.json b/src/main/resources/assets/treasure2/models/block/gravestone2_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone2_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/models/block/gravestone2_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/models/block/gravestone2_obsidian.json b/src/main/resources/assets/treasure2/models/block/gravestone2_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone2_obsidian.json rename to src/main/resources/assets/treasure2/models/block/gravestone2_obsidian.json diff --git a/src/resources/assets/treasure2/models/block/gravestone2_polished_andesite.json b/src/main/resources/assets/treasure2/models/block/gravestone2_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone2_polished_andesite.json rename to src/main/resources/assets/treasure2/models/block/gravestone2_polished_andesite.json diff --git a/src/resources/assets/treasure2/models/block/gravestone2_polished_diorite.json b/src/main/resources/assets/treasure2/models/block/gravestone2_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone2_polished_diorite.json rename to src/main/resources/assets/treasure2/models/block/gravestone2_polished_diorite.json diff --git a/src/resources/assets/treasure2/models/block/gravestone2_polished_granite.json b/src/main/resources/assets/treasure2/models/block/gravestone2_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone2_polished_granite.json rename to src/main/resources/assets/treasure2/models/block/gravestone2_polished_granite.json diff --git a/src/resources/assets/treasure2/models/block/gravestone2_stone.json b/src/main/resources/assets/treasure2/models/block/gravestone2_stone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone2_stone.json rename to src/main/resources/assets/treasure2/models/block/gravestone2_stone.json diff --git a/src/resources/assets/treasure2/models/block/gravestone3.json b/src/main/resources/assets/treasure2/models/block/gravestone3.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone3.json rename to src/main/resources/assets/treasure2/models/block/gravestone3.json diff --git a/src/resources/assets/treasure2/models/block/gravestone3_cobblestone.json b/src/main/resources/assets/treasure2/models/block/gravestone3_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone3_cobblestone.json rename to src/main/resources/assets/treasure2/models/block/gravestone3_cobblestone.json diff --git a/src/resources/assets/treasure2/models/block/gravestone3_mossy_cobblestone.json b/src/main/resources/assets/treasure2/models/block/gravestone3_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone3_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/models/block/gravestone3_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/models/block/gravestone3_obsidian.json b/src/main/resources/assets/treasure2/models/block/gravestone3_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone3_obsidian.json rename to src/main/resources/assets/treasure2/models/block/gravestone3_obsidian.json diff --git a/src/resources/assets/treasure2/models/block/gravestone3_polished_andesite.json b/src/main/resources/assets/treasure2/models/block/gravestone3_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone3_polished_andesite.json rename to src/main/resources/assets/treasure2/models/block/gravestone3_polished_andesite.json diff --git a/src/resources/assets/treasure2/models/block/gravestone3_polished_diorite.json b/src/main/resources/assets/treasure2/models/block/gravestone3_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone3_polished_diorite.json rename to src/main/resources/assets/treasure2/models/block/gravestone3_polished_diorite.json diff --git a/src/resources/assets/treasure2/models/block/gravestone3_polished_granite.json b/src/main/resources/assets/treasure2/models/block/gravestone3_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone3_polished_granite.json rename to src/main/resources/assets/treasure2/models/block/gravestone3_polished_granite.json diff --git a/src/resources/assets/treasure2/models/block/gravestone3_stone.json b/src/main/resources/assets/treasure2/models/block/gravestone3_stone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/gravestone3_stone.json rename to src/main/resources/assets/treasure2/models/block/gravestone3_stone.json diff --git a/src/resources/assets/treasure2/models/block/high_fog.json b/src/main/resources/assets/treasure2/models/block/high_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/high_fog.json rename to src/main/resources/assets/treasure2/models/block/high_fog.json diff --git a/src/resources/assets/treasure2/models/block/high_poison_fog.json b/src/main/resources/assets/treasure2/models/block/high_poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/high_poison_fog.json rename to src/main/resources/assets/treasure2/models/block/high_poison_fog.json diff --git a/src/resources/assets/treasure2/models/block/high_wither_fog.json b/src/main/resources/assets/treasure2/models/block/high_wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/high_wither_fog.json rename to src/main/resources/assets/treasure2/models/block/high_wither_fog.json diff --git a/src/resources/assets/treasure2/models/block/iron_strongbox.json b/src/main/resources/assets/treasure2/models/block/iron_strongbox.json similarity index 100% rename from src/resources/assets/treasure2/models/block/iron_strongbox.json rename to src/main/resources/assets/treasure2/models/block/iron_strongbox.json diff --git a/src/resources/assets/treasure2/models/block/ironbound_chest.json b/src/main/resources/assets/treasure2/models/block/ironbound_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/ironbound_chest.json rename to src/main/resources/assets/treasure2/models/block/ironbound_chest.json diff --git a/src/resources/assets/treasure2/models/block/low_fog.json b/src/main/resources/assets/treasure2/models/block/low_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/low_fog.json rename to src/main/resources/assets/treasure2/models/block/low_fog.json diff --git a/src/resources/assets/treasure2/models/block/low_poison_fog.json b/src/main/resources/assets/treasure2/models/block/low_poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/low_poison_fog.json rename to src/main/resources/assets/treasure2/models/block/low_poison_fog.json diff --git a/src/resources/assets/treasure2/models/block/low_wither_fog.json b/src/main/resources/assets/treasure2/models/block/low_wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/low_wither_fog.json rename to src/main/resources/assets/treasure2/models/block/low_wither_fog.json diff --git a/src/resources/assets/treasure2/models/block/med_fog.json b/src/main/resources/assets/treasure2/models/block/med_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/med_fog.json rename to src/main/resources/assets/treasure2/models/block/med_fog.json diff --git a/src/resources/assets/treasure2/models/block/med_poison_fog.json b/src/main/resources/assets/treasure2/models/block/med_poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/med_poison_fog.json rename to src/main/resources/assets/treasure2/models/block/med_poison_fog.json diff --git a/src/resources/assets/treasure2/models/block/med_wither_fog.json b/src/main/resources/assets/treasure2/models/block/med_wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/med_wither_fog.json rename to src/main/resources/assets/treasure2/models/block/med_wither_fog.json diff --git a/src/main/resources/assets/treasure2/models/block/milk_crate.json b/src/main/resources/assets/treasure2/models/block/milk_crate.json new file mode 100644 index 000000000..ee4b44e32 --- /dev/null +++ b/src/main/resources/assets/treasure2/models/block/milk_crate.json @@ -0,0 +1,354 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "treasure2:blocks/chests/milk-crate-side", + "1": "treasure2:blocks/chests/milk-crate-top", + "particle": "treasure2:blocks/chests/milk-crate-top" + }, + "elements": [ + { + "name": "slate1", + "from": [1, 0, 1], + "to": [15, 3, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 9, 14, 12], "texture": "#0"}, + "east": {"uv": [54, 17, 55, 20], "texture": "#missing"}, + "south": {"uv": [0, 9, 14, 12], "texture": "#0"}, + "west": {"uv": [69, 17, 70, 20], "texture": "#missing"}, + "up": {"uv": [14, 1, 0, 0], "texture": "#0"}, + "down": {"uv": [14, 0, 0, 1], "texture": "#0"} + } + }, + { + "name": "slate2", + "from": [1, 4, 1], + "to": [15, 7, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 1, 14, 4], "texture": "#0"}, + "east": {"uv": [0, 1, 1, 4], "texture": "#0"}, + "south": {"uv": [0, 5, 14, 8], "texture": "#0"}, + "west": {"uv": [15, 1, 16, 4], "texture": "#0"}, + "up": {"uv": [15, 1, 1, 0], "texture": "#0"}, + "down": {"uv": [29, 0, 15, 1], "texture": "#0"} + } + }, + { + "name": "slate3", + "from": [1, 8, 1], + "to": [15, 11, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 14, 8], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 3], "texture": "#1"}, + "south": {"uv": [0, 1, 14, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 3], "texture": "#1"}, + "up": {"uv": [14, 1, 0, 0], "texture": "#0"}, + "down": {"uv": [71, 4, 57, 5], "texture": "#missing"} + } + }, + { + "name": "bracket1", + "from": [0.9, -0.1, 0.9], + "to": [2.9, 10.9, 2.9], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 0, 1]}, + "faces": { + "north": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "up": {"uv": [14, 16, 12, 14], "texture": "#0"}, + "down": {"uv": [14, 14, 12, 16], "texture": "#0"} + } + }, + { + "name": "bracket2", + "from": [13.1, -0.1, 0.9], + "to": [15.1, 10.9, 2.9], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 0, 1]}, + "faces": { + "north": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "up": {"uv": [14, 16, 12, 14], "texture": "#0"}, + "down": {"uv": [14, 14, 12, 16], "texture": "#0"} + } + }, + { + "name": "lid", + "from": [1, 11, 1], + "to": [15, 13, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 0, 8]}, + "faces": { + "north": {"uv": [0, 0, 14, 2], "texture": "#1"}, + "east": {"uv": [0, 0, 14, 2], "texture": "#1"}, + "south": {"uv": [0, 0, 14, 2], "texture": "#1"}, + "west": {"uv": [0, 0, 14, 2], "texture": "#1"}, + "up": {"uv": [14, 14, 0, 0], "texture": "#1"}, + "down": {"uv": [42, 0, 28, 14], "texture": "#1"} + } + }, + { + "name": "padTop", + "from": [6, 11, 0.8], + "to": [10, 13, 1.8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 2, 8]}, + "faces": { + "north": {"uv": [12, 14, 16, 16], "texture": "#0"}, + "east": {"uv": [15, 14, 16, 16], "texture": "#0"}, + "south": {"uv": [6, 20, 10, 22], "texture": "#missing"}, + "west": {"uv": [15, 14, 16, 16], "texture": "#0"}, + "up": {"uv": [16, 14, 12, 13], "texture": "#0"}, + "down": {"uv": [9, 19, 5, 20], "texture": "#missing"} + } + }, + { + "name": "latch", + "from": [7, 10, 0], + "to": [9, 12, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 3, 8]}, + "faces": { + "north": {"uv": [12, 14, 14, 16], "texture": "#0"}, + "east": {"uv": [12, 14, 13, 16], "texture": "#0"}, + "south": {"uv": [12, 9, 14, 11], "texture": "#missing"}, + "west": {"uv": [12, 14, 13, 16], "texture": "#0"}, + "up": {"uv": [14, 14, 12, 13], "texture": "#0"}, + "down": {"uv": [14, 13, 12, 14], "texture": "#0"} + } + }, + { + "name": "padBottom", + "from": [6, 9, 0.8], + "to": [10, 11, 1.8], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [12, 14, 16, 16], "texture": "#0"}, + "east": {"uv": [15, 14, 16, 16], "texture": "#0"}, + "south": {"uv": [6, 17, 10, 19], "texture": "#missing"}, + "west": {"uv": [15, 14, 16, 16], "texture": "#0"}, + "up": {"uv": [16, 14, 12, 13], "texture": "#0"}, + "down": {"uv": [16, 13, 12, 14], "texture": "#0"} + } + }, + { + "name": "southSlate1", + "from": [1, 0, 14], + "to": [15, 3, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 9, 14, 12], "texture": "#0"}, + "east": {"uv": [42, 1, 43, 4], "texture": "#missing"}, + "south": {"uv": [0, 9, 14, 12], "texture": "#0"}, + "west": {"uv": [57, 1, 58, 4], "texture": "#missing"}, + "up": {"uv": [14, 1, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 14, 1], "texture": "#0"} + } + }, + { + "name": "southSlate2", + "from": [1, 4, 14], + "to": [15, 7, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 5, 14, 8], "texture": "#0"}, + "east": {"uv": [40, 37, 41, 40], "texture": "#missing"}, + "south": {"uv": [0, 5, 14, 8], "texture": "#0"}, + "west": {"uv": [55, 37, 56, 40], "texture": "#missing"}, + "up": {"uv": [14, 1, 0, 0], "texture": "#0"}, + "down": {"uv": [14, 0, 0, 1], "texture": "#0"} + } + }, + { + "name": "southSlate3", + "from": [1, 8, 14], + "to": [15, 11, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]}, + "faces": { + "north": {"uv": [0, 1, 14, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 3], "texture": "#1"}, + "south": {"uv": [0, 1, 14, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 3], "texture": "#1"}, + "up": {"uv": [14, 1, 0, 0], "texture": "#0"}, + "down": {"uv": [14, 0, 0, 1], "texture": "#0"} + } + }, + { + "name": "southBracket1", + "from": [0.9, -0.1, 13.1], + "to": [2.9, 10.9, 15.1], + "rotation": {"angle": 0, "axis": "y", "origin": [1, 0, 13]}, + "faces": { + "north": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "up": {"uv": [14, 16, 12, 14], "texture": "#0"}, + "down": {"uv": [14, 14, 12, 16], "texture": "#0"} + } + }, + { + "name": "southBracket2", + "from": [13.1, -0.1, 13.1], + "to": [15.1, 10.9, 15.1], + "rotation": {"angle": 0, "axis": "y", "origin": [13, 0, 13]}, + "faces": { + "north": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "east": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "south": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "west": {"uv": [14, 0, 16, 11], "texture": "#0"}, + "up": {"uv": [14, 16, 12, 14], "texture": "#0"}, + "down": {"uv": [14, 14, 12, 16], "texture": "#0"} + } + }, + { + "name": "eastSlate1", + "from": [14, 0, 2], + "to": [15, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [21, 0, -4]}, + "faces": { + "north": {"uv": [38, 56, 39, 59], "texture": "#missing"}, + "east": {"uv": [0, 6, 12, 9], "texture": "#1"}, + "south": {"uv": [51, 56, 52, 59], "texture": "#missing"}, + "west": {"uv": [0, 6, 12, 9], "texture": "#1"}, + "up": {"uv": [1, 12, 0, 0], "texture": "#1"}, + "down": {"uv": [1, 0, 0, 12], "texture": "#1"} + } + }, + { + "name": "eastSlate2", + "from": [14, 4, 2], + "to": [15, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [21, 4, -4]}, + "faces": { + "north": {"uv": [12, 56, 13, 59], "texture": "#missing"}, + "east": {"uv": [0, 4, 12, 7], "texture": "#1"}, + "south": {"uv": [25, 56, 26, 59], "texture": "#missing"}, + "west": {"uv": [0, 3, 12, 6], "texture": "#1"}, + "up": {"uv": [1, 12, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 1, 12], "texture": "#1"} + } + }, + { + "name": "eastSlate3", + "from": [14, 8, 2], + "to": [15, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [21, 8, -4]}, + "faces": { + "north": {"uv": [52, 29, 53, 32], "texture": "#missing"}, + "east": {"uv": [0, 0, 12, 3], "texture": "#1"}, + "south": {"uv": [65, 29, 66, 32], "texture": "#missing"}, + "west": {"uv": [0, 0, 12, 3], "texture": "#1"}, + "up": {"uv": [0, 0, 1, 12], "texture": "#1"}, + "down": {"uv": [0, 0, 1, 12], "texture": "#1"} + } + }, + { + "name": "westSlate1", + "from": [1, 0, 2], + "to": [2, 3, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, -4]}, + "faces": { + "north": {"uv": [52, 52, 53, 55], "texture": "#missing"}, + "east": {"uv": [0, 6, 12, 9], "texture": "#1"}, + "south": {"uv": [65, 52, 66, 55], "texture": "#missing"}, + "west": {"uv": [0, 6, 12, 9], "texture": "#1"}, + "up": {"uv": [1, 12, 0, 0], "texture": "#1"}, + "down": {"uv": [1, 0, 0, 12], "texture": "#1"} + } + }, + { + "name": "westSlate2", + "from": [1, 4, 2], + "to": [2, 7, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 4, -4]}, + "faces": { + "north": {"uv": [38, 41, 39, 44], "texture": "#missing"}, + "east": {"uv": [0, 3, 12, 6], "texture": "#1"}, + "south": {"uv": [51, 41, 52, 44], "texture": "#missing"}, + "west": {"uv": [0, 3, 12, 6], "texture": "#1"}, + "up": {"uv": [1, 12, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 1, 12], "texture": "#1"} + } + }, + { + "name": "westSlate3", + "from": [1, 8, 2], + "to": [2, 11, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, -4]}, + "faces": { + "north": {"uv": [12, 41, 13, 44], "texture": "#missing"}, + "east": {"uv": [0, 0, 12, 3], "texture": "#1"}, + "south": {"uv": [25, 41, 26, 44], "texture": "#missing"}, + "west": {"uv": [0, 0, 12, 3], "texture": "#1"}, + "up": {"uv": [1, 12, 0, 0], "texture": "#1"}, + "down": {"uv": [1, 0, 0, 12], "texture": "#1"} + } + }, + { + "name": "bottom", + "from": [2, 0, 2], + "to": [14, 1, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [2, 0, 2]}, + "faces": { + "north": {"uv": [12, 28, 24, 29], "texture": "#missing"}, + "east": {"uv": [0, 28, 12, 29], "texture": "#missing"}, + "south": {"uv": [36, 28, 48, 29], "texture": "#missing"}, + "west": {"uv": [24, 28, 36, 29], "texture": "#missing"}, + "up": {"uv": [12, 12, 0, 0], "texture": "#1"}, + "down": {"uv": [0, 0, 12, 12], "texture": "#1"} + } + } + ], + "groups": [ + { + "name": "northFace", + "origin": [0, 10, 7], + "shade": false, + "children": [0, 1, 2, 3, 4] + }, + { + "name": "lid", + "origin": [0, 11, 7], + "shade": false, + "children": [5, 6, 7] + }, + { + "name": "padBottom", + "origin": [0, 9, 7], + "shade": false, + "children": [8] + }, + { + "name": "Latch1", + "origin": [0, 9, 7], + "shade": false, + "children": [] + }, + { + "name": "southFace", + "origin": [0, 10, 7], + "shade": false, + "children": [9, 10, 11, 12, 13] + }, + { + "name": "eastFace", + "origin": [0, 10, 7], + "shade": false, + "children": [14, 15, 16] + }, + { + "name": "westFace", + "origin": [0, 10, 7], + "shade": false, + "children": [17, 18, 19] + }, + { + "name": "bottomFace", + "origin": [0, 0, 0], + "children": [20] + } + ] +} diff --git a/src/resources/assets/treasure2/models/block/ore_parent.json b/src/main/resources/assets/treasure2/models/block/ore_parent.json similarity index 100% rename from src/resources/assets/treasure2/models/block/ore_parent.json rename to src/main/resources/assets/treasure2/models/block/ore_parent.json diff --git a/src/resources/assets/treasure2/models/block/oyster_chest.json b/src/main/resources/assets/treasure2/models/block/oyster_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/oyster_chest.json rename to src/main/resources/assets/treasure2/models/block/oyster_chest.json diff --git a/src/resources/assets/treasure2/models/block/painting.json b/src/main/resources/assets/treasure2/models/block/painting.json similarity index 100% rename from src/resources/assets/treasure2/models/block/painting.json rename to src/main/resources/assets/treasure2/models/block/painting.json diff --git a/src/resources/assets/treasure2/models/block/painting_blocks_bricks.json b/src/main/resources/assets/treasure2/models/block/painting_blocks_bricks.json similarity index 100% rename from src/resources/assets/treasure2/models/block/painting_blocks_bricks.json rename to src/main/resources/assets/treasure2/models/block/painting_blocks_bricks.json diff --git a/src/resources/assets/treasure2/models/block/painting_blocks_cobblestone.json b/src/main/resources/assets/treasure2/models/block/painting_blocks_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/block/painting_blocks_cobblestone.json rename to src/main/resources/assets/treasure2/models/block/painting_blocks_cobblestone.json diff --git a/src/resources/assets/treasure2/models/block/painting_blocks_dirt.json b/src/main/resources/assets/treasure2/models/block/painting_blocks_dirt.json similarity index 100% rename from src/resources/assets/treasure2/models/block/painting_blocks_dirt.json rename to src/main/resources/assets/treasure2/models/block/painting_blocks_dirt.json diff --git a/src/resources/assets/treasure2/models/block/painting_blocks_lava.json b/src/main/resources/assets/treasure2/models/block/painting_blocks_lava.json similarity index 100% rename from src/resources/assets/treasure2/models/block/painting_blocks_lava.json rename to src/main/resources/assets/treasure2/models/block/painting_blocks_lava.json diff --git a/src/resources/assets/treasure2/models/block/painting_blocks_sand.json b/src/main/resources/assets/treasure2/models/block/painting_blocks_sand.json similarity index 100% rename from src/resources/assets/treasure2/models/block/painting_blocks_sand.json rename to src/main/resources/assets/treasure2/models/block/painting_blocks_sand.json diff --git a/src/resources/assets/treasure2/models/block/painting_blocks_water.json b/src/main/resources/assets/treasure2/models/block/painting_blocks_water.json similarity index 100% rename from src/resources/assets/treasure2/models/block/painting_blocks_water.json rename to src/main/resources/assets/treasure2/models/block/painting_blocks_water.json diff --git a/src/resources/assets/treasure2/models/block/painting_blocks_wood.json b/src/main/resources/assets/treasure2/models/block/painting_blocks_wood.json similarity index 100% rename from src/resources/assets/treasure2/models/block/painting_blocks_wood.json rename to src/main/resources/assets/treasure2/models/block/painting_blocks_wood.json diff --git a/src/resources/assets/treasure2/models/block/pirate_chest.json b/src/main/resources/assets/treasure2/models/block/pirate_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/pirate_chest.json rename to src/main/resources/assets/treasure2/models/block/pirate_chest.json diff --git a/src/resources/assets/treasure2/models/block/poison_fog.json b/src/main/resources/assets/treasure2/models/block/poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/poison_fog.json rename to src/main/resources/assets/treasure2/models/block/poison_fog.json diff --git a/src/resources/assets/treasure2/models/block/proximity_spawner.json b/src/main/resources/assets/treasure2/models/block/proximity_spawner.json similarity index 100% rename from src/resources/assets/treasure2/models/block/proximity_spawner.json rename to src/main/resources/assets/treasure2/models/block/proximity_spawner.json diff --git a/src/resources/assets/treasure2/models/block/ruby_ore.json b/src/main/resources/assets/treasure2/models/block/ruby_ore.json similarity index 100% rename from src/resources/assets/treasure2/models/block/ruby_ore.json rename to src/main/resources/assets/treasure2/models/block/ruby_ore.json diff --git a/src/resources/assets/treasure2/models/block/safe.json b/src/main/resources/assets/treasure2/models/block/safe.json similarity index 100% rename from src/resources/assets/treasure2/models/block/safe.json rename to src/main/resources/assets/treasure2/models/block/safe.json diff --git a/src/resources/assets/treasure2/models/block/sapphire_ore.json b/src/main/resources/assets/treasure2/models/block/sapphire_ore.json similarity index 100% rename from src/resources/assets/treasure2/models/block/sapphire_ore.json rename to src/main/resources/assets/treasure2/models/block/sapphire_ore.json diff --git a/src/resources/assets/treasure2/models/block/skeleton_bottom.json b/src/main/resources/assets/treasure2/models/block/skeleton_bottom.json similarity index 100% rename from src/resources/assets/treasure2/models/block/skeleton_bottom.json rename to src/main/resources/assets/treasure2/models/block/skeleton_bottom.json diff --git a/src/resources/assets/treasure2/models/block/skeleton_top.json b/src/main/resources/assets/treasure2/models/block/skeleton_top.json similarity index 100% rename from src/resources/assets/treasure2/models/block/skeleton_top.json rename to src/main/resources/assets/treasure2/models/block/skeleton_top.json diff --git a/src/resources/assets/treasure2/models/block/skull_and_crossbones.json b/src/main/resources/assets/treasure2/models/block/skull_and_crossbones.json similarity index 100% rename from src/resources/assets/treasure2/models/block/skull_and_crossbones.json rename to src/main/resources/assets/treasure2/models/block/skull_and_crossbones.json diff --git a/src/resources/assets/treasure2/models/block/skull_chest.json b/src/main/resources/assets/treasure2/models/block/skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/skull_chest.json rename to src/main/resources/assets/treasure2/models/block/skull_chest.json diff --git a/src/resources/assets/treasure2/models/block/spanish_moss.json b/src/main/resources/assets/treasure2/models/block/spanish_moss.json similarity index 100% rename from src/resources/assets/treasure2/models/block/spanish_moss.json rename to src/main/resources/assets/treasure2/models/block/spanish_moss.json diff --git a/src/resources/assets/treasure2/models/block/spider_chest.json b/src/main/resources/assets/treasure2/models/block/spider_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/spider_chest.json rename to src/main/resources/assets/treasure2/models/block/spider_chest.json diff --git a/src/resources/assets/treasure2/models/block/standard_chest.json b/src/main/resources/assets/treasure2/models/block/standard_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/standard_chest.json rename to src/main/resources/assets/treasure2/models/block/standard_chest.json diff --git a/src/resources/assets/treasure2/models/block/strongbox.json b/src/main/resources/assets/treasure2/models/block/strongbox.json similarity index 100% rename from src/resources/assets/treasure2/models/block/strongbox.json rename to src/main/resources/assets/treasure2/models/block/strongbox.json diff --git a/src/resources/assets/treasure2/models/block/viking_chest.json b/src/main/resources/assets/treasure2/models/block/viking_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/viking_chest.json rename to src/main/resources/assets/treasure2/models/block/viking_chest.json diff --git a/src/resources/assets/treasure2/models/block/whale_bone_pirate_chest.json b/src/main/resources/assets/treasure2/models/block/whale_bone_pirate_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/whale_bone_pirate_chest.json rename to src/main/resources/assets/treasure2/models/block/whale_bone_pirate_chest.json diff --git a/src/resources/assets/treasure2/models/block/wishing_well_block.json b/src/main/resources/assets/treasure2/models/block/wishing_well_block.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wishing_well_block.json rename to src/main/resources/assets/treasure2/models/block/wishing_well_block.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch1.json b/src/main/resources/assets/treasure2/models/block/wither_branch1.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch1.json rename to src/main/resources/assets/treasure2/models/block/wither_branch1.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch1a.json b/src/main/resources/assets/treasure2/models/block/wither_branch1a.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch1a.json rename to src/main/resources/assets/treasure2/models/block/wither_branch1a.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch1b.json b/src/main/resources/assets/treasure2/models/block/wither_branch1b.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch1b.json rename to src/main/resources/assets/treasure2/models/block/wither_branch1b.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch2.json b/src/main/resources/assets/treasure2/models/block/wither_branch2.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch2.json rename to src/main/resources/assets/treasure2/models/block/wither_branch2.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch2_OLD.json b/src/main/resources/assets/treasure2/models/block/wither_branch2_OLD.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch2_OLD.json rename to src/main/resources/assets/treasure2/models/block/wither_branch2_OLD.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch2a.json b/src/main/resources/assets/treasure2/models/block/wither_branch2a.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch2a.json rename to src/main/resources/assets/treasure2/models/block/wither_branch2a.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch2b.json b/src/main/resources/assets/treasure2/models/block/wither_branch2b.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch2b.json rename to src/main/resources/assets/treasure2/models/block/wither_branch2b.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch3.json b/src/main/resources/assets/treasure2/models/block/wither_branch3.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch3.json rename to src/main/resources/assets/treasure2/models/block/wither_branch3.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch3_OLD.json b/src/main/resources/assets/treasure2/models/block/wither_branch3_OLD.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch3_OLD.json rename to src/main/resources/assets/treasure2/models/block/wither_branch3_OLD.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch3a.json b/src/main/resources/assets/treasure2/models/block/wither_branch3a.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch3a.json rename to src/main/resources/assets/treasure2/models/block/wither_branch3a.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch3b.json b/src/main/resources/assets/treasure2/models/block/wither_branch3b.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch3b.json rename to src/main/resources/assets/treasure2/models/block/wither_branch3b.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch5.json b/src/main/resources/assets/treasure2/models/block/wither_branch5.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch5.json rename to src/main/resources/assets/treasure2/models/block/wither_branch5.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch5_OLD.json b/src/main/resources/assets/treasure2/models/block/wither_branch5_OLD.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch5_OLD.json rename to src/main/resources/assets/treasure2/models/block/wither_branch5_OLD.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch5a.json b/src/main/resources/assets/treasure2/models/block/wither_branch5a.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch5a.json rename to src/main/resources/assets/treasure2/models/block/wither_branch5a.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch5b.json b/src/main/resources/assets/treasure2/models/block/wither_branch5b.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch5b.json rename to src/main/resources/assets/treasure2/models/block/wither_branch5b.json diff --git a/src/resources/assets/treasure2/models/block/wither_branch_OLD.json b/src/main/resources/assets/treasure2/models/block/wither_branch_OLD.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_branch_OLD.json rename to src/main/resources/assets/treasure2/models/block/wither_branch_OLD.json diff --git a/src/resources/assets/treasure2/models/block/wither_broken_log.json b/src/main/resources/assets/treasure2/models/block/wither_broken_log.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_broken_log.json rename to src/main/resources/assets/treasure2/models/block/wither_broken_log.json diff --git a/src/resources/assets/treasure2/models/block/wither_broken_log_mossy.json b/src/main/resources/assets/treasure2/models/block/wither_broken_log_mossy.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_broken_log_mossy.json rename to src/main/resources/assets/treasure2/models/block/wither_broken_log_mossy.json diff --git a/src/resources/assets/treasure2/models/block/wither_broken_log_normal.json b/src/main/resources/assets/treasure2/models/block/wither_broken_log_normal.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_broken_log_normal.json rename to src/main/resources/assets/treasure2/models/block/wither_broken_log_normal.json diff --git a/src/resources/assets/treasure2/models/block/wither_chest.json b/src/main/resources/assets/treasure2/models/block/wither_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_chest.json rename to src/main/resources/assets/treasure2/models/block/wither_chest.json diff --git a/src/resources/assets/treasure2/models/block/wither_chest_top.json b/src/main/resources/assets/treasure2/models/block/wither_chest_top.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_chest_top.json rename to src/main/resources/assets/treasure2/models/block/wither_chest_top.json diff --git a/src/resources/assets/treasure2/models/block/wither_fog.json b/src/main/resources/assets/treasure2/models/block/wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_fog.json rename to src/main/resources/assets/treasure2/models/block/wither_fog.json diff --git a/src/resources/assets/treasure2/models/block/wither_log.json b/src/main/resources/assets/treasure2/models/block/wither_log.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_log.json rename to src/main/resources/assets/treasure2/models/block/wither_log.json diff --git a/src/resources/assets/treasure2/models/block/wither_log_full.json b/src/main/resources/assets/treasure2/models/block/wither_log_full.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_log_full.json rename to src/main/resources/assets/treasure2/models/block/wither_log_full.json diff --git a/src/resources/assets/treasure2/models/block/wither_log_full_OLD.json b/src/main/resources/assets/treasure2/models/block/wither_log_full_OLD.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_log_full_OLD.json rename to src/main/resources/assets/treasure2/models/block/wither_log_full_OLD.json diff --git a/src/resources/assets/treasure2/models/block/wither_log_full_mossy.json b/src/main/resources/assets/treasure2/models/block/wither_log_full_mossy.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_log_full_mossy.json rename to src/main/resources/assets/treasure2/models/block/wither_log_full_mossy.json diff --git a/src/resources/assets/treasure2/models/block/wither_log_normal.json b/src/main/resources/assets/treasure2/models/block/wither_log_normal.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_log_normal.json rename to src/main/resources/assets/treasure2/models/block/wither_log_normal.json diff --git a/src/resources/assets/treasure2/models/block/wither_log_normal_OLD.json b/src/main/resources/assets/treasure2/models/block/wither_log_normal_OLD.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_log_normal_OLD.json rename to src/main/resources/assets/treasure2/models/block/wither_log_normal_OLD.json diff --git a/src/resources/assets/treasure2/models/block/wither_log_normal_mossy.json b/src/main/resources/assets/treasure2/models/block/wither_log_normal_mossy.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_log_normal_mossy.json rename to src/main/resources/assets/treasure2/models/block/wither_log_normal_mossy.json diff --git a/src/resources/assets/treasure2/models/block/wither_log_soul.json b/src/main/resources/assets/treasure2/models/block/wither_log_soul.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_log_soul.json rename to src/main/resources/assets/treasure2/models/block/wither_log_soul.json diff --git a/src/resources/assets/treasure2/models/block/wither_log_stripped.json b/src/main/resources/assets/treasure2/models/block/wither_log_stripped.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_log_stripped.json rename to src/main/resources/assets/treasure2/models/block/wither_log_stripped.json diff --git a/src/resources/assets/treasure2/models/block/wither_planks.json b/src/main/resources/assets/treasure2/models/block/wither_planks.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_planks.json rename to src/main/resources/assets/treasure2/models/block/wither_planks.json diff --git a/src/resources/assets/treasure2/models/block/wither_root1.json b/src/main/resources/assets/treasure2/models/block/wither_root1.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_root1.json rename to src/main/resources/assets/treasure2/models/block/wither_root1.json diff --git a/src/resources/assets/treasure2/models/block/wither_root1a.json b/src/main/resources/assets/treasure2/models/block/wither_root1a.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_root1a.json rename to src/main/resources/assets/treasure2/models/block/wither_root1a.json diff --git a/src/resources/assets/treasure2/models/block/wither_root1b.json b/src/main/resources/assets/treasure2/models/block/wither_root1b.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_root1b.json rename to src/main/resources/assets/treasure2/models/block/wither_root1b.json diff --git a/src/resources/assets/treasure2/models/block/wither_root2.json b/src/main/resources/assets/treasure2/models/block/wither_root2.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_root2.json rename to src/main/resources/assets/treasure2/models/block/wither_root2.json diff --git a/src/resources/assets/treasure2/models/block/wither_root2a.json b/src/main/resources/assets/treasure2/models/block/wither_root2a.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_root2a.json rename to src/main/resources/assets/treasure2/models/block/wither_root2a.json diff --git a/src/resources/assets/treasure2/models/block/wither_root2b.json b/src/main/resources/assets/treasure2/models/block/wither_root2b.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wither_root2b.json rename to src/main/resources/assets/treasure2/models/block/wither_root2b.json diff --git a/src/resources/assets/treasure2/models/block/wood_chest.json b/src/main/resources/assets/treasure2/models/block/wood_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/block/wood_chest.json rename to src/main/resources/assets/treasure2/models/block/wood_chest.json diff --git a/src/resources/assets/treasure2/models/item/adephagias_bounty.json b/src/main/resources/assets/treasure2/models/item/adephagias_bounty.json similarity index 100% rename from src/resources/assets/treasure2/models/item/adephagias_bounty.json rename to src/main/resources/assets/treasure2/models/item/adephagias_bounty.json diff --git a/src/resources/assets/treasure2/models/item/angel_blessed.json b/src/main/resources/assets/treasure2/models/item/angel_blessed.json similarity index 100% rename from src/resources/assets/treasure2/models/item/angel_blessed.json rename to src/main/resources/assets/treasure2/models/item/angel_blessed.json diff --git a/src/resources/assets/treasure2/models/item/apprentices_pouch.json b/src/main/resources/assets/treasure2/models/item/apprentices_pouch.json similarity index 100% rename from src/resources/assets/treasure2/models/item/apprentices_pouch.json rename to src/main/resources/assets/treasure2/models/item/apprentices_pouch.json diff --git a/src/resources/assets/treasure2/models/item/black_pearl.json b/src/main/resources/assets/treasure2/models/item/black_pearl.json similarity index 100% rename from src/resources/assets/treasure2/models/item/black_pearl.json rename to src/main/resources/assets/treasure2/models/item/black_pearl.json diff --git a/src/resources/assets/treasure2/models/item/blackstone.json b/src/main/resources/assets/treasure2/models/item/blackstone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/blackstone.json rename to src/main/resources/assets/treasure2/models/item/blackstone.json diff --git a/src/main/resources/assets/treasure2/models/item/cardboard_box.json b/src/main/resources/assets/treasure2/models/item/cardboard_box.json new file mode 100644 index 000000000..cc7fa17d1 --- /dev/null +++ b/src/main/resources/assets/treasure2/models/item/cardboard_box.json @@ -0,0 +1,10 @@ +{ + "parent": "treasure2:block/cardboard_box", + "display": { + "thirdperson": { + "rotation": [ 180, -90, 170 ], + "translation": [ 0, 1, -3 ], + "scale": [ 1.4, 1.4, 1.4 ] + } + } +} diff --git a/src/resources/assets/treasure2/models/item/cauldron_chest.json b/src/main/resources/assets/treasure2/models/item/cauldron_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/cauldron_chest.json rename to src/main/resources/assets/treasure2/models/item/cauldron_chest.json diff --git a/src/resources/assets/treasure2/models/item/charmed_gold_coin.json b/src/main/resources/assets/treasure2/models/item/charmed_gold_coin.json similarity index 100% rename from src/resources/assets/treasure2/models/item/charmed_gold_coin.json rename to src/main/resources/assets/treasure2/models/item/charmed_gold_coin.json diff --git a/src/resources/assets/treasure2/models/item/charmed_ruby.json b/src/main/resources/assets/treasure2/models/item/charmed_ruby.json similarity index 100% rename from src/resources/assets/treasure2/models/item/charmed_ruby.json rename to src/main/resources/assets/treasure2/models/item/charmed_ruby.json diff --git a/src/resources/assets/treasure2/models/item/charmed_silver_coin.json b/src/main/resources/assets/treasure2/models/item/charmed_silver_coin.json similarity index 100% rename from src/resources/assets/treasure2/models/item/charmed_silver_coin.json rename to src/main/resources/assets/treasure2/models/item/charmed_silver_coin.json diff --git a/src/resources/assets/treasure2/models/item/compressor_chest.json b/src/main/resources/assets/treasure2/models/item/compressor_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/compressor_chest.json rename to src/main/resources/assets/treasure2/models/item/compressor_chest.json diff --git a/src/resources/assets/treasure2/models/item/crate_chest.json b/src/main/resources/assets/treasure2/models/item/crate_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/crate_chest.json rename to src/main/resources/assets/treasure2/models/item/crate_chest.json diff --git a/src/resources/assets/treasure2/models/item/crate_chest_moldy.json b/src/main/resources/assets/treasure2/models/item/crate_chest_moldy.json similarity index 100% rename from src/resources/assets/treasure2/models/item/crate_chest_moldy.json rename to src/main/resources/assets/treasure2/models/item/crate_chest_moldy.json diff --git a/src/main/resources/assets/treasure2/models/item/crystal_skull_chest.json b/src/main/resources/assets/treasure2/models/item/crystal_skull_chest.json new file mode 100644 index 000000000..eb3947214 --- /dev/null +++ b/src/main/resources/assets/treasure2/models/item/crystal_skull_chest.json @@ -0,0 +1,20 @@ +{ + "parent": "treasure2:block/crystal_skull_chest", + "display": { + "thirdperson_righthand": { + "rotation": [ 45, 45, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.5,0.5, 0.5 ] + }, + "ground": { + "rotation": [ 0, 0, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 0.5, 0.5, 0.5 ] + }, + "gui": { + "rotation": [ 30, 225, 0 ], + "translation": [ 0, 3, 0 ], + "scale": [ 1, 1, 1 ] + } + } +} diff --git a/src/resources/assets/treasure2/models/item/desert_wishing_well_block.json b/src/main/resources/assets/treasure2/models/item/desert_wishing_well_block.json similarity index 100% rename from src/resources/assets/treasure2/models/item/desert_wishing_well_block.json rename to src/main/resources/assets/treasure2/models/item/desert_wishing_well_block.json diff --git a/src/resources/assets/treasure2/models/item/diamond_key.json b/src/main/resources/assets/treasure2/models/item/diamond_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/diamond_key.json rename to src/main/resources/assets/treasure2/models/item/diamond_key.json diff --git a/src/resources/assets/treasure2/models/item/diamond_lock.json b/src/main/resources/assets/treasure2/models/item/diamond_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/diamond_lock.json rename to src/main/resources/assets/treasure2/models/item/diamond_lock.json diff --git a/src/resources/assets/treasure2/models/item/dread_pirate_chest.json b/src/main/resources/assets/treasure2/models/item/dread_pirate_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/dread_pirate_chest.json rename to src/main/resources/assets/treasure2/models/item/dread_pirate_chest.json diff --git a/src/resources/assets/treasure2/models/item/dwarven_talisman.json b/src/main/resources/assets/treasure2/models/item/dwarven_talisman.json similarity index 100% rename from src/resources/assets/treasure2/models/item/dwarven_talisman.json rename to src/main/resources/assets/treasure2/models/item/dwarven_talisman.json diff --git a/src/resources/assets/treasure2/models/item/ember_key.json b/src/main/resources/assets/treasure2/models/item/ember_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/ember_key.json rename to src/main/resources/assets/treasure2/models/item/ember_key.json diff --git a/src/resources/assets/treasure2/models/item/ember_lock.json b/src/main/resources/assets/treasure2/models/item/ember_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/ember_lock.json rename to src/main/resources/assets/treasure2/models/item/ember_lock.json diff --git a/src/resources/assets/treasure2/models/item/emerald_key.json b/src/main/resources/assets/treasure2/models/item/emerald_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/emerald_key.json rename to src/main/resources/assets/treasure2/models/item/emerald_key.json diff --git a/src/resources/assets/treasure2/models/item/emerald_lock.json b/src/main/resources/assets/treasure2/models/item/emerald_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/emerald_lock.json rename to src/main/resources/assets/treasure2/models/item/emerald_lock.json diff --git a/src/resources/assets/treasure2/models/item/eye_patch.json b/src/main/resources/assets/treasure2/models/item/eye_patch.json similarity index 100% rename from src/resources/assets/treasure2/models/item/eye_patch.json rename to src/main/resources/assets/treasure2/models/item/eye_patch.json diff --git a/src/resources/assets/treasure2/models/item/falling_grass.json b/src/main/resources/assets/treasure2/models/item/falling_grass.json similarity index 100% rename from src/resources/assets/treasure2/models/item/falling_grass.json rename to src/main/resources/assets/treasure2/models/item/falling_grass.json diff --git a/src/resources/assets/treasure2/models/item/falling_red_sand.json b/src/main/resources/assets/treasure2/models/item/falling_red_sand.json similarity index 100% rename from src/resources/assets/treasure2/models/item/falling_red_sand.json rename to src/main/resources/assets/treasure2/models/item/falling_red_sand.json diff --git a/src/resources/assets/treasure2/models/item/falling_sand.json b/src/main/resources/assets/treasure2/models/item/falling_sand.json similarity index 100% rename from src/resources/assets/treasure2/models/item/falling_sand.json rename to src/main/resources/assets/treasure2/models/item/falling_sand.json diff --git a/src/resources/assets/treasure2/models/item/fog.json b/src/main/resources/assets/treasure2/models/item/fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/fog.json rename to src/main/resources/assets/treasure2/models/item/fog.json diff --git a/src/resources/assets/treasure2/models/item/fools_coin.json b/src/main/resources/assets/treasure2/models/item/fools_coin.json similarity index 100% rename from src/resources/assets/treasure2/models/item/fools_coin.json rename to src/main/resources/assets/treasure2/models/item/fools_coin.json diff --git a/src/resources/assets/treasure2/models/item/gold_coin.json b/src/main/resources/assets/treasure2/models/item/gold_coin.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gold_coin.json rename to src/main/resources/assets/treasure2/models/item/gold_coin.json diff --git a/src/resources/assets/treasure2/models/item/gold_key.json b/src/main/resources/assets/treasure2/models/item/gold_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gold_key.json rename to src/main/resources/assets/treasure2/models/item/gold_key.json diff --git a/src/resources/assets/treasure2/models/item/gold_lock.json b/src/main/resources/assets/treasure2/models/item/gold_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gold_lock.json rename to src/main/resources/assets/treasure2/models/item/gold_lock.json diff --git a/src/resources/assets/treasure2/models/item/gold_skull_chest.json b/src/main/resources/assets/treasure2/models/item/gold_skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gold_skull_chest.json rename to src/main/resources/assets/treasure2/models/item/gold_skull_chest.json diff --git a/src/resources/assets/treasure2/models/item/gold_strongbox.json b/src/main/resources/assets/treasure2/models/item/gold_strongbox.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gold_strongbox.json rename to src/main/resources/assets/treasure2/models/item/gold_strongbox.json diff --git a/src/resources/assets/treasure2/models/item/gravestone1_cobblestone.json b/src/main/resources/assets/treasure2/models/item/gravestone1_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone1_cobblestone.json rename to src/main/resources/assets/treasure2/models/item/gravestone1_cobblestone.json diff --git a/src/resources/assets/treasure2/models/item/gravestone1_mossy_cobblestone.json b/src/main/resources/assets/treasure2/models/item/gravestone1_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone1_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/models/item/gravestone1_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/models/item/gravestone1_obsidian.json b/src/main/resources/assets/treasure2/models/item/gravestone1_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone1_obsidian.json rename to src/main/resources/assets/treasure2/models/item/gravestone1_obsidian.json diff --git a/src/resources/assets/treasure2/models/item/gravestone1_polished_andesite.json b/src/main/resources/assets/treasure2/models/item/gravestone1_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone1_polished_andesite.json rename to src/main/resources/assets/treasure2/models/item/gravestone1_polished_andesite.json diff --git a/src/resources/assets/treasure2/models/item/gravestone1_polished_diorite.json b/src/main/resources/assets/treasure2/models/item/gravestone1_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone1_polished_diorite.json rename to src/main/resources/assets/treasure2/models/item/gravestone1_polished_diorite.json diff --git a/src/resources/assets/treasure2/models/item/gravestone1_polished_granite.json b/src/main/resources/assets/treasure2/models/item/gravestone1_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone1_polished_granite.json rename to src/main/resources/assets/treasure2/models/item/gravestone1_polished_granite.json diff --git a/src/resources/assets/treasure2/models/item/gravestone1_spawner_stone.json b/src/main/resources/assets/treasure2/models/item/gravestone1_spawner_stone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone1_spawner_stone.json rename to src/main/resources/assets/treasure2/models/item/gravestone1_spawner_stone.json diff --git a/src/resources/assets/treasure2/models/item/gravestone1_stone.json b/src/main/resources/assets/treasure2/models/item/gravestone1_stone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone1_stone.json rename to src/main/resources/assets/treasure2/models/item/gravestone1_stone.json diff --git a/src/resources/assets/treasure2/models/item/gravestone2_cobblestone.json b/src/main/resources/assets/treasure2/models/item/gravestone2_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone2_cobblestone.json rename to src/main/resources/assets/treasure2/models/item/gravestone2_cobblestone.json diff --git a/src/resources/assets/treasure2/models/item/gravestone2_mossy_cobblestone.json b/src/main/resources/assets/treasure2/models/item/gravestone2_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone2_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/models/item/gravestone2_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/models/item/gravestone2_obsidian.json b/src/main/resources/assets/treasure2/models/item/gravestone2_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone2_obsidian.json rename to src/main/resources/assets/treasure2/models/item/gravestone2_obsidian.json diff --git a/src/resources/assets/treasure2/models/item/gravestone2_polished_andesite.json b/src/main/resources/assets/treasure2/models/item/gravestone2_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone2_polished_andesite.json rename to src/main/resources/assets/treasure2/models/item/gravestone2_polished_andesite.json diff --git a/src/resources/assets/treasure2/models/item/gravestone2_polished_diorite.json b/src/main/resources/assets/treasure2/models/item/gravestone2_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone2_polished_diorite.json rename to src/main/resources/assets/treasure2/models/item/gravestone2_polished_diorite.json diff --git a/src/resources/assets/treasure2/models/item/gravestone2_polished_granite.json b/src/main/resources/assets/treasure2/models/item/gravestone2_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone2_polished_granite.json rename to src/main/resources/assets/treasure2/models/item/gravestone2_polished_granite.json diff --git a/src/resources/assets/treasure2/models/item/gravestone2_spawner_cobblestone.json b/src/main/resources/assets/treasure2/models/item/gravestone2_spawner_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone2_spawner_cobblestone.json rename to src/main/resources/assets/treasure2/models/item/gravestone2_spawner_cobblestone.json diff --git a/src/resources/assets/treasure2/models/item/gravestone2_stone.json b/src/main/resources/assets/treasure2/models/item/gravestone2_stone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone2_stone.json rename to src/main/resources/assets/treasure2/models/item/gravestone2_stone.json diff --git a/src/resources/assets/treasure2/models/item/gravestone3_cobblestone.json b/src/main/resources/assets/treasure2/models/item/gravestone3_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone3_cobblestone.json rename to src/main/resources/assets/treasure2/models/item/gravestone3_cobblestone.json diff --git a/src/resources/assets/treasure2/models/item/gravestone3_mossy_cobblestone.json b/src/main/resources/assets/treasure2/models/item/gravestone3_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone3_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/models/item/gravestone3_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/models/item/gravestone3_obsidian.json b/src/main/resources/assets/treasure2/models/item/gravestone3_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone3_obsidian.json rename to src/main/resources/assets/treasure2/models/item/gravestone3_obsidian.json diff --git a/src/resources/assets/treasure2/models/item/gravestone3_polished_andesite.json b/src/main/resources/assets/treasure2/models/item/gravestone3_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone3_polished_andesite.json rename to src/main/resources/assets/treasure2/models/item/gravestone3_polished_andesite.json diff --git a/src/resources/assets/treasure2/models/item/gravestone3_polished_diorite.json b/src/main/resources/assets/treasure2/models/item/gravestone3_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone3_polished_diorite.json rename to src/main/resources/assets/treasure2/models/item/gravestone3_polished_diorite.json diff --git a/src/resources/assets/treasure2/models/item/gravestone3_polished_granite.json b/src/main/resources/assets/treasure2/models/item/gravestone3_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone3_polished_granite.json rename to src/main/resources/assets/treasure2/models/item/gravestone3_polished_granite.json diff --git a/src/resources/assets/treasure2/models/item/gravestone3_spawner_obsidian.json b/src/main/resources/assets/treasure2/models/item/gravestone3_spawner_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone3_spawner_obsidian.json rename to src/main/resources/assets/treasure2/models/item/gravestone3_spawner_obsidian.json diff --git a/src/resources/assets/treasure2/models/item/gravestone3_stone.json b/src/main/resources/assets/treasure2/models/item/gravestone3_stone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/gravestone3_stone.json rename to src/main/resources/assets/treasure2/models/item/gravestone3_stone.json diff --git a/src/resources/assets/treasure2/models/item/high_fog.json b/src/main/resources/assets/treasure2/models/item/high_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/high_fog.json rename to src/main/resources/assets/treasure2/models/item/high_fog.json diff --git a/src/resources/assets/treasure2/models/item/high_poison_fog.json b/src/main/resources/assets/treasure2/models/item/high_poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/high_poison_fog.json rename to src/main/resources/assets/treasure2/models/item/high_poison_fog.json diff --git a/src/resources/assets/treasure2/models/item/high_wither_fog.json b/src/main/resources/assets/treasure2/models/item/high_wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/high_wither_fog.json rename to src/main/resources/assets/treasure2/models/item/high_wither_fog.json diff --git a/src/resources/assets/treasure2/models/item/iron_key.json b/src/main/resources/assets/treasure2/models/item/iron_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/iron_key.json rename to src/main/resources/assets/treasure2/models/item/iron_key.json diff --git a/src/resources/assets/treasure2/models/item/iron_lock.json b/src/main/resources/assets/treasure2/models/item/iron_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/iron_lock.json rename to src/main/resources/assets/treasure2/models/item/iron_lock.json diff --git a/src/resources/assets/treasure2/models/item/iron_strongbox.json b/src/main/resources/assets/treasure2/models/item/iron_strongbox.json similarity index 100% rename from src/resources/assets/treasure2/models/item/iron_strongbox.json rename to src/main/resources/assets/treasure2/models/item/iron_strongbox.json diff --git a/src/resources/assets/treasure2/models/item/ironbound_chest.json b/src/main/resources/assets/treasure2/models/item/ironbound_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/ironbound_chest.json rename to src/main/resources/assets/treasure2/models/item/ironbound_chest.json diff --git a/src/resources/assets/treasure2/models/item/jewelled_key.json b/src/main/resources/assets/treasure2/models/item/jewelled_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/jewelled_key.json rename to src/main/resources/assets/treasure2/models/item/jewelled_key.json diff --git a/src/resources/assets/treasure2/models/item/key_ring.json b/src/main/resources/assets/treasure2/models/item/key_ring.json similarity index 100% rename from src/resources/assets/treasure2/models/item/key_ring.json rename to src/main/resources/assets/treasure2/models/item/key_ring.json diff --git a/src/resources/assets/treasure2/models/item/leaf_key.json b/src/main/resources/assets/treasure2/models/item/leaf_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/leaf_key.json rename to src/main/resources/assets/treasure2/models/item/leaf_key.json diff --git a/src/resources/assets/treasure2/models/item/leaf_lock.json b/src/main/resources/assets/treasure2/models/item/leaf_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/leaf_lock.json rename to src/main/resources/assets/treasure2/models/item/leaf_lock.json diff --git a/src/resources/assets/treasure2/models/item/lightning_key.json b/src/main/resources/assets/treasure2/models/item/lightning_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/lightning_key.json rename to src/main/resources/assets/treasure2/models/item/lightning_key.json diff --git a/src/resources/assets/treasure2/models/item/low_fog.json b/src/main/resources/assets/treasure2/models/item/low_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/low_fog.json rename to src/main/resources/assets/treasure2/models/item/low_fog.json diff --git a/src/resources/assets/treasure2/models/item/low_poison_fog.json b/src/main/resources/assets/treasure2/models/item/low_poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/low_poison_fog.json rename to src/main/resources/assets/treasure2/models/item/low_poison_fog.json diff --git a/src/resources/assets/treasure2/models/item/low_wither_fog.json b/src/main/resources/assets/treasure2/models/item/low_wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/low_wither_fog.json rename to src/main/resources/assets/treasure2/models/item/low_wither_fog.json diff --git a/src/resources/assets/treasure2/models/item/lucky_pouch.json b/src/main/resources/assets/treasure2/models/item/lucky_pouch.json similarity index 100% rename from src/resources/assets/treasure2/models/item/lucky_pouch.json rename to src/main/resources/assets/treasure2/models/item/lucky_pouch.json diff --git a/src/resources/assets/treasure2/models/item/masters_pouch.json b/src/main/resources/assets/treasure2/models/item/masters_pouch.json similarity index 100% rename from src/resources/assets/treasure2/models/item/masters_pouch.json rename to src/main/resources/assets/treasure2/models/item/masters_pouch.json diff --git a/src/resources/assets/treasure2/models/item/med_fog.json b/src/main/resources/assets/treasure2/models/item/med_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/med_fog.json rename to src/main/resources/assets/treasure2/models/item/med_fog.json diff --git a/src/resources/assets/treasure2/models/item/med_poison_fog.json b/src/main/resources/assets/treasure2/models/item/med_poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/med_poison_fog.json rename to src/main/resources/assets/treasure2/models/item/med_poison_fog.json diff --git a/src/resources/assets/treasure2/models/item/med_wither_fog.json b/src/main/resources/assets/treasure2/models/item/med_wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/med_wither_fog.json rename to src/main/resources/assets/treasure2/models/item/med_wither_fog.json diff --git a/src/resources/assets/treasure2/models/item/medics_token.json b/src/main/resources/assets/treasure2/models/item/medics_token.json similarity index 100% rename from src/resources/assets/treasure2/models/item/medics_token.json rename to src/main/resources/assets/treasure2/models/item/medics_token.json diff --git a/src/resources/assets/treasure2/models/item/metallurgists_key.json b/src/main/resources/assets/treasure2/models/item/metallurgists_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/metallurgists_key.json rename to src/main/resources/assets/treasure2/models/item/metallurgists_key.json diff --git a/src/main/resources/assets/treasure2/models/item/milk_crate.json b/src/main/resources/assets/treasure2/models/item/milk_crate.json new file mode 100644 index 000000000..ce62217b3 --- /dev/null +++ b/src/main/resources/assets/treasure2/models/item/milk_crate.json @@ -0,0 +1,10 @@ +{ + "parent": "treasure2:block/milk_crate", + "display": { + "thirdperson": { + "rotation": [ 180, -90, 170 ], + "translation": [ 0, 1, -3 ], + "scale": [ 1.4, 1.4, 1.4 ] + } + } +} diff --git a/src/resources/assets/treasure2/models/item/miners_friend.json b/src/main/resources/assets/treasure2/models/item/miners_friend.json similarity index 100% rename from src/resources/assets/treasure2/models/item/miners_friend.json rename to src/main/resources/assets/treasure2/models/item/miners_friend.json diff --git a/src/resources/assets/treasure2/models/item/mirthas_torch.json b/src/main/resources/assets/treasure2/models/item/mirthas_torch.json similarity index 100% rename from src/resources/assets/treasure2/models/item/mirthas_torch.json rename to src/main/resources/assets/treasure2/models/item/mirthas_torch.json diff --git a/src/resources/assets/treasure2/models/item/painting_blocks_bricks.json b/src/main/resources/assets/treasure2/models/item/painting_blocks_bricks.json similarity index 100% rename from src/resources/assets/treasure2/models/item/painting_blocks_bricks.json rename to src/main/resources/assets/treasure2/models/item/painting_blocks_bricks.json diff --git a/src/resources/assets/treasure2/models/item/painting_blocks_cobblestone.json b/src/main/resources/assets/treasure2/models/item/painting_blocks_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/models/item/painting_blocks_cobblestone.json rename to src/main/resources/assets/treasure2/models/item/painting_blocks_cobblestone.json diff --git a/src/resources/assets/treasure2/models/item/painting_blocks_dirt.json b/src/main/resources/assets/treasure2/models/item/painting_blocks_dirt.json similarity index 100% rename from src/resources/assets/treasure2/models/item/painting_blocks_dirt.json rename to src/main/resources/assets/treasure2/models/item/painting_blocks_dirt.json diff --git a/src/resources/assets/treasure2/models/item/painting_blocks_lava.json b/src/main/resources/assets/treasure2/models/item/painting_blocks_lava.json similarity index 100% rename from src/resources/assets/treasure2/models/item/painting_blocks_lava.json rename to src/main/resources/assets/treasure2/models/item/painting_blocks_lava.json diff --git a/src/resources/assets/treasure2/models/item/painting_blocks_sand.json b/src/main/resources/assets/treasure2/models/item/painting_blocks_sand.json similarity index 100% rename from src/resources/assets/treasure2/models/item/painting_blocks_sand.json rename to src/main/resources/assets/treasure2/models/item/painting_blocks_sand.json diff --git a/src/resources/assets/treasure2/models/item/painting_blocks_water.json b/src/main/resources/assets/treasure2/models/item/painting_blocks_water.json similarity index 100% rename from src/resources/assets/treasure2/models/item/painting_blocks_water.json rename to src/main/resources/assets/treasure2/models/item/painting_blocks_water.json diff --git a/src/resources/assets/treasure2/models/item/painting_blocks_wood.json b/src/main/resources/assets/treasure2/models/item/painting_blocks_wood.json similarity index 100% rename from src/resources/assets/treasure2/models/item/painting_blocks_wood.json rename to src/main/resources/assets/treasure2/models/item/painting_blocks_wood.json diff --git a/src/resources/assets/treasure2/models/item/pilferers_lock_pick.json b/src/main/resources/assets/treasure2/models/item/pilferers_lock_pick.json similarity index 100% rename from src/resources/assets/treasure2/models/item/pilferers_lock_pick.json rename to src/main/resources/assets/treasure2/models/item/pilferers_lock_pick.json diff --git a/src/resources/assets/treasure2/models/item/pirate_chest.json b/src/main/resources/assets/treasure2/models/item/pirate_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/pirate_chest.json rename to src/main/resources/assets/treasure2/models/item/pirate_chest.json diff --git a/src/resources/assets/treasure2/models/item/pirate_mimic.json b/src/main/resources/assets/treasure2/models/item/pirate_mimic.json similarity index 100% rename from src/resources/assets/treasure2/models/item/pirate_mimic.json rename to src/main/resources/assets/treasure2/models/item/pirate_mimic.json diff --git a/src/resources/assets/treasure2/models/item/poison_fog.json b/src/main/resources/assets/treasure2/models/item/poison_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/poison_fog.json rename to src/main/resources/assets/treasure2/models/item/poison_fog.json diff --git a/src/resources/assets/treasure2/models/item/pouch.json b/src/main/resources/assets/treasure2/models/item/pouch.json similarity index 100% rename from src/resources/assets/treasure2/models/item/pouch.json rename to src/main/resources/assets/treasure2/models/item/pouch.json diff --git a/src/resources/assets/treasure2/models/item/proximity_spawner.json b/src/main/resources/assets/treasure2/models/item/proximity_spawner.json similarity index 100% rename from src/resources/assets/treasure2/models/item/proximity_spawner.json rename to src/main/resources/assets/treasure2/models/item/proximity_spawner.json diff --git a/src/resources/assets/treasure2/models/item/ruby.json b/src/main/resources/assets/treasure2/models/item/ruby.json similarity index 100% rename from src/resources/assets/treasure2/models/item/ruby.json rename to src/main/resources/assets/treasure2/models/item/ruby.json diff --git a/src/resources/assets/treasure2/models/item/ruby_key.json b/src/main/resources/assets/treasure2/models/item/ruby_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/ruby_key.json rename to src/main/resources/assets/treasure2/models/item/ruby_key.json diff --git a/src/resources/assets/treasure2/models/item/ruby_lock.json b/src/main/resources/assets/treasure2/models/item/ruby_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/ruby_lock.json rename to src/main/resources/assets/treasure2/models/item/ruby_lock.json diff --git a/src/resources/assets/treasure2/models/item/ruby_ore.json b/src/main/resources/assets/treasure2/models/item/ruby_ore.json similarity index 100% rename from src/resources/assets/treasure2/models/item/ruby_ore.json rename to src/main/resources/assets/treasure2/models/item/ruby_ore.json diff --git a/src/resources/assets/treasure2/models/item/safe.json b/src/main/resources/assets/treasure2/models/item/safe.json similarity index 100% rename from src/resources/assets/treasure2/models/item/safe.json rename to src/main/resources/assets/treasure2/models/item/safe.json diff --git a/src/resources/assets/treasure2/models/item/salandaars_ward.json b/src/main/resources/assets/treasure2/models/item/salandaars_ward.json similarity index 100% rename from src/resources/assets/treasure2/models/item/salandaars_ward.json rename to src/main/resources/assets/treasure2/models/item/salandaars_ward.json diff --git a/src/resources/assets/treasure2/models/item/sapphire.json b/src/main/resources/assets/treasure2/models/item/sapphire.json similarity index 100% rename from src/resources/assets/treasure2/models/item/sapphire.json rename to src/main/resources/assets/treasure2/models/item/sapphire.json diff --git a/src/resources/assets/treasure2/models/item/sapphire_key.json b/src/main/resources/assets/treasure2/models/item/sapphire_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/sapphire_key.json rename to src/main/resources/assets/treasure2/models/item/sapphire_key.json diff --git a/src/resources/assets/treasure2/models/item/sapphire_lock.json b/src/main/resources/assets/treasure2/models/item/sapphire_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/sapphire_lock.json rename to src/main/resources/assets/treasure2/models/item/sapphire_lock.json diff --git a/src/resources/assets/treasure2/models/item/sapphire_ore.json b/src/main/resources/assets/treasure2/models/item/sapphire_ore.json similarity index 100% rename from src/resources/assets/treasure2/models/item/sapphire_ore.json rename to src/main/resources/assets/treasure2/models/item/sapphire_ore.json diff --git a/src/resources/assets/treasure2/models/item/silver_coin.json b/src/main/resources/assets/treasure2/models/item/silver_coin.json similarity index 100% rename from src/resources/assets/treasure2/models/item/silver_coin.json rename to src/main/resources/assets/treasure2/models/item/silver_coin.json diff --git a/src/resources/assets/treasure2/models/item/skeleton.json b/src/main/resources/assets/treasure2/models/item/skeleton.json similarity index 100% rename from src/resources/assets/treasure2/models/item/skeleton.json rename to src/main/resources/assets/treasure2/models/item/skeleton.json diff --git a/src/resources/assets/treasure2/models/item/skeleton_key.json b/src/main/resources/assets/treasure2/models/item/skeleton_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/skeleton_key.json rename to src/main/resources/assets/treasure2/models/item/skeleton_key.json diff --git a/src/resources/assets/treasure2/models/item/skull_and_crossbones.json b/src/main/resources/assets/treasure2/models/item/skull_and_crossbones.json similarity index 100% rename from src/resources/assets/treasure2/models/item/skull_and_crossbones.json rename to src/main/resources/assets/treasure2/models/item/skull_and_crossbones.json diff --git a/src/resources/assets/treasure2/models/item/skull_chest.json b/src/main/resources/assets/treasure2/models/item/skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/skull_chest.json rename to src/main/resources/assets/treasure2/models/item/skull_chest.json diff --git a/src/resources/assets/treasure2/models/item/skull_sword.json b/src/main/resources/assets/treasure2/models/item/skull_sword.json similarity index 100% rename from src/resources/assets/treasure2/models/item/skull_sword.json rename to src/main/resources/assets/treasure2/models/item/skull_sword.json diff --git a/src/resources/assets/treasure2/models/item/spanish_moss.json b/src/main/resources/assets/treasure2/models/item/spanish_moss.json similarity index 100% rename from src/resources/assets/treasure2/models/item/spanish_moss.json rename to src/main/resources/assets/treasure2/models/item/spanish_moss.json diff --git a/src/resources/assets/treasure2/models/item/spider_chest.json b/src/main/resources/assets/treasure2/models/item/spider_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/spider_chest.json rename to src/main/resources/assets/treasure2/models/item/spider_chest.json diff --git a/src/resources/assets/treasure2/models/item/spider_key.json b/src/main/resources/assets/treasure2/models/item/spider_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/spider_key.json rename to src/main/resources/assets/treasure2/models/item/spider_key.json diff --git a/src/resources/assets/treasure2/models/item/spider_lock.json b/src/main/resources/assets/treasure2/models/item/spider_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/spider_lock.json rename to src/main/resources/assets/treasure2/models/item/spider_lock.json diff --git a/src/resources/assets/treasure2/models/item/stone_key.json b/src/main/resources/assets/treasure2/models/item/stone_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/stone_key.json rename to src/main/resources/assets/treasure2/models/item/stone_key.json diff --git a/src/resources/assets/treasure2/models/item/stone_lock.json b/src/main/resources/assets/treasure2/models/item/stone_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/stone_lock.json rename to src/main/resources/assets/treasure2/models/item/stone_lock.json diff --git a/src/resources/assets/treasure2/models/item/thiefs_lock_pick.json b/src/main/resources/assets/treasure2/models/item/thiefs_lock_pick.json similarity index 100% rename from src/resources/assets/treasure2/models/item/thiefs_lock_pick.json rename to src/main/resources/assets/treasure2/models/item/thiefs_lock_pick.json diff --git a/src/resources/assets/treasure2/models/item/treasure_tab.json b/src/main/resources/assets/treasure2/models/item/treasure_tab.json similarity index 100% rename from src/resources/assets/treasure2/models/item/treasure_tab.json rename to src/main/resources/assets/treasure2/models/item/treasure_tab.json diff --git a/src/resources/assets/treasure2/models/item/treasure_tool.json b/src/main/resources/assets/treasure2/models/item/treasure_tool.json similarity index 100% rename from src/resources/assets/treasure2/models/item/treasure_tool.json rename to src/main/resources/assets/treasure2/models/item/treasure_tool.json diff --git a/src/resources/assets/treasure2/models/item/viking_chest.json b/src/main/resources/assets/treasure2/models/item/viking_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/viking_chest.json rename to src/main/resources/assets/treasure2/models/item/viking_chest.json diff --git a/src/resources/assets/treasure2/models/item/whale_bone_pirate_chest.json b/src/main/resources/assets/treasure2/models/item/whale_bone_pirate_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/whale_bone_pirate_chest.json rename to src/main/resources/assets/treasure2/models/item/whale_bone_pirate_chest.json diff --git a/src/resources/assets/treasure2/models/item/white_pearl.json b/src/main/resources/assets/treasure2/models/item/white_pearl.json similarity index 100% rename from src/resources/assets/treasure2/models/item/white_pearl.json rename to src/main/resources/assets/treasure2/models/item/white_pearl.json diff --git a/src/resources/assets/treasure2/models/item/wishing_well_block.json b/src/main/resources/assets/treasure2/models/item/wishing_well_block.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wishing_well_block.json rename to src/main/resources/assets/treasure2/models/item/wishing_well_block.json diff --git a/src/resources/assets/treasure2/models/item/wither_broken_log.json b/src/main/resources/assets/treasure2/models/item/wither_broken_log.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_broken_log.json rename to src/main/resources/assets/treasure2/models/item/wither_broken_log.json diff --git a/src/resources/assets/treasure2/models/item/wither_chest.json b/src/main/resources/assets/treasure2/models/item/wither_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_chest.json rename to src/main/resources/assets/treasure2/models/item/wither_chest.json diff --git a/src/resources/assets/treasure2/models/item/wither_chest_top.json b/src/main/resources/assets/treasure2/models/item/wither_chest_top.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_chest_top.json rename to src/main/resources/assets/treasure2/models/item/wither_chest_top.json diff --git a/src/resources/assets/treasure2/models/item/wither_fog.json b/src/main/resources/assets/treasure2/models/item/wither_fog.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_fog.json rename to src/main/resources/assets/treasure2/models/item/wither_fog.json diff --git a/src/resources/assets/treasure2/models/item/wither_key.json b/src/main/resources/assets/treasure2/models/item/wither_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_key.json rename to src/main/resources/assets/treasure2/models/item/wither_key.json diff --git a/src/resources/assets/treasure2/models/item/wither_lock.json b/src/main/resources/assets/treasure2/models/item/wither_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_lock.json rename to src/main/resources/assets/treasure2/models/item/wither_lock.json diff --git a/src/resources/assets/treasure2/models/item/wither_log.json b/src/main/resources/assets/treasure2/models/item/wither_log.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_log.json rename to src/main/resources/assets/treasure2/models/item/wither_log.json diff --git a/src/resources/assets/treasure2/models/item/wither_log_soul.json b/src/main/resources/assets/treasure2/models/item/wither_log_soul.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_log_soul.json rename to src/main/resources/assets/treasure2/models/item/wither_log_soul.json diff --git a/src/resources/assets/treasure2/models/item/wither_planks.json b/src/main/resources/assets/treasure2/models/item/wither_planks.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_planks.json rename to src/main/resources/assets/treasure2/models/item/wither_planks.json diff --git a/src/resources/assets/treasure2/models/item/wither_root_item.json b/src/main/resources/assets/treasure2/models/item/wither_root_item.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_root_item.json rename to src/main/resources/assets/treasure2/models/item/wither_root_item.json diff --git a/src/resources/assets/treasure2/models/item/wither_stick_item.json b/src/main/resources/assets/treasure2/models/item/wither_stick_item.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wither_stick_item.json rename to src/main/resources/assets/treasure2/models/item/wither_stick_item.json diff --git a/src/resources/assets/treasure2/models/item/wood_chest.json b/src/main/resources/assets/treasure2/models/item/wood_chest.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wood_chest.json rename to src/main/resources/assets/treasure2/models/item/wood_chest.json diff --git a/src/resources/assets/treasure2/models/item/wood_key.json b/src/main/resources/assets/treasure2/models/item/wood_key.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wood_key.json rename to src/main/resources/assets/treasure2/models/item/wood_key.json diff --git a/src/resources/assets/treasure2/models/item/wood_lock.json b/src/main/resources/assets/treasure2/models/item/wood_lock.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wood_lock.json rename to src/main/resources/assets/treasure2/models/item/wood_lock.json diff --git a/src/resources/assets/treasure2/models/item/wood_mimic.json b/src/main/resources/assets/treasure2/models/item/wood_mimic.json similarity index 100% rename from src/resources/assets/treasure2/models/item/wood_mimic.json rename to src/main/resources/assets/treasure2/models/item/wood_mimic.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/book.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/book.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/book.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/book.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/chests.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/chests.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/chests.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/chests.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/coins.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/coins.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/coins.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/coins.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/fog.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/fog.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/fog.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/fog.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/general.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/general.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/general.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/general.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/keys.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/keys.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/keys.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/keys.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/markers.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/markers.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/markers.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/markers.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/mobs.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/mobs.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/mobs.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/mobs.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/recipes.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/recipes.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/recipes.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/recipes.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/wells.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/wells.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/wells.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/categories/wells.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/chest_recipes.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/chest_recipes.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/chest_recipes.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/chest_recipes.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/chests/list.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/chests/list.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/chests/list.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/chests/list.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/chests.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/chests.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/chests.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/chests.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/coins.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/coins.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/coins.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/coins.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/rarities.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/rarities.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/rarities.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/rarities.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/treasure_hunting.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/treasure_hunting.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/treasure_hunting.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/treasure_hunting.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/wishing_wells.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/wishing_wells.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/wishing_wells.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/general/wishing_wells.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/key_recipes.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/key_recipes.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/key_recipes.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/key_recipes.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/lock_pick_recipes.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/lock_pick_recipes.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/lock_pick_recipes.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/lock_pick_recipes.json diff --git a/src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/treasure_tool_recipe.json b/src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/treasure_tool_recipe.json similarity index 100% rename from src/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/treasure_tool_recipe.json rename to src/main/resources/assets/treasure2/patchouli_books_disabled/guide/en_us/entries/treasure_tool_recipe.json diff --git a/src/resources/assets/treasure2/recipes/gold_skull_chest.json b/src/main/resources/assets/treasure2/recipes/gold_skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gold_skull_chest.json rename to src/main/resources/assets/treasure2/recipes/gold_skull_chest.json diff --git a/src/resources/assets/treasure2/recipes/gravestone1_cobblestone.json b/src/main/resources/assets/treasure2/recipes/gravestone1_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone1_cobblestone.json rename to src/main/resources/assets/treasure2/recipes/gravestone1_cobblestone.json diff --git a/src/resources/assets/treasure2/recipes/gravestone1_mossy_cobblestone.json b/src/main/resources/assets/treasure2/recipes/gravestone1_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone1_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/recipes/gravestone1_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/recipes/gravestone1_obsidian.json b/src/main/resources/assets/treasure2/recipes/gravestone1_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone1_obsidian.json rename to src/main/resources/assets/treasure2/recipes/gravestone1_obsidian.json diff --git a/src/resources/assets/treasure2/recipes/gravestone1_polished_andesite.json b/src/main/resources/assets/treasure2/recipes/gravestone1_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone1_polished_andesite.json rename to src/main/resources/assets/treasure2/recipes/gravestone1_polished_andesite.json diff --git a/src/resources/assets/treasure2/recipes/gravestone1_polished_diorite.json b/src/main/resources/assets/treasure2/recipes/gravestone1_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone1_polished_diorite.json rename to src/main/resources/assets/treasure2/recipes/gravestone1_polished_diorite.json diff --git a/src/resources/assets/treasure2/recipes/gravestone1_polished_granite.json b/src/main/resources/assets/treasure2/recipes/gravestone1_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone1_polished_granite.json rename to src/main/resources/assets/treasure2/recipes/gravestone1_polished_granite.json diff --git a/src/resources/assets/treasure2/recipes/gravestone1_stone.json b/src/main/resources/assets/treasure2/recipes/gravestone1_stone.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone1_stone.json rename to src/main/resources/assets/treasure2/recipes/gravestone1_stone.json diff --git a/src/resources/assets/treasure2/recipes/gravestone2_cobblestone.json b/src/main/resources/assets/treasure2/recipes/gravestone2_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone2_cobblestone.json rename to src/main/resources/assets/treasure2/recipes/gravestone2_cobblestone.json diff --git a/src/resources/assets/treasure2/recipes/gravestone2_mossy_cobblestone.json b/src/main/resources/assets/treasure2/recipes/gravestone2_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone2_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/recipes/gravestone2_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/recipes/gravestone2_obsidian.json b/src/main/resources/assets/treasure2/recipes/gravestone2_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone2_obsidian.json rename to src/main/resources/assets/treasure2/recipes/gravestone2_obsidian.json diff --git a/src/resources/assets/treasure2/recipes/gravestone2_polished_andesite.json b/src/main/resources/assets/treasure2/recipes/gravestone2_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone2_polished_andesite.json rename to src/main/resources/assets/treasure2/recipes/gravestone2_polished_andesite.json diff --git a/src/resources/assets/treasure2/recipes/gravestone2_polished_diorite.json b/src/main/resources/assets/treasure2/recipes/gravestone2_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone2_polished_diorite.json rename to src/main/resources/assets/treasure2/recipes/gravestone2_polished_diorite.json diff --git a/src/resources/assets/treasure2/recipes/gravestone2_polished_granite.json b/src/main/resources/assets/treasure2/recipes/gravestone2_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone2_polished_granite.json rename to src/main/resources/assets/treasure2/recipes/gravestone2_polished_granite.json diff --git a/src/resources/assets/treasure2/recipes/gravestone2_stone.json b/src/main/resources/assets/treasure2/recipes/gravestone2_stone.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone2_stone.json rename to src/main/resources/assets/treasure2/recipes/gravestone2_stone.json diff --git a/src/resources/assets/treasure2/recipes/gravestone3_mossy_cobblestone.json b/src/main/resources/assets/treasure2/recipes/gravestone3_mossy_cobblestone.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone3_mossy_cobblestone.json rename to src/main/resources/assets/treasure2/recipes/gravestone3_mossy_cobblestone.json diff --git a/src/resources/assets/treasure2/recipes/gravestone3_obsidian.json b/src/main/resources/assets/treasure2/recipes/gravestone3_obsidian.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone3_obsidian.json rename to src/main/resources/assets/treasure2/recipes/gravestone3_obsidian.json diff --git a/src/resources/assets/treasure2/recipes/gravestone3_polished_andesite.json b/src/main/resources/assets/treasure2/recipes/gravestone3_polished_andesite.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone3_polished_andesite.json rename to src/main/resources/assets/treasure2/recipes/gravestone3_polished_andesite.json diff --git a/src/resources/assets/treasure2/recipes/gravestone3_polished_diorite.json b/src/main/resources/assets/treasure2/recipes/gravestone3_polished_diorite.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone3_polished_diorite.json rename to src/main/resources/assets/treasure2/recipes/gravestone3_polished_diorite.json diff --git a/src/resources/assets/treasure2/recipes/gravestone3_polished_granite.json b/src/main/resources/assets/treasure2/recipes/gravestone3_polished_granite.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone3_polished_granite.json rename to src/main/resources/assets/treasure2/recipes/gravestone3_polished_granite.json diff --git a/src/resources/assets/treasure2/recipes/gravestone3_stone.json b/src/main/resources/assets/treasure2/recipes/gravestone3_stone.json similarity index 100% rename from src/resources/assets/treasure2/recipes/gravestone3_stone.json rename to src/main/resources/assets/treasure2/recipes/gravestone3_stone.json diff --git a/src/resources/assets/treasure2/recipes/key_ring.json b/src/main/resources/assets/treasure2/recipes/key_ring.json similarity index 100% rename from src/resources/assets/treasure2/recipes/key_ring.json rename to src/main/resources/assets/treasure2/recipes/key_ring.json diff --git a/src/resources/assets/treasure2/recipes/pilferers_lock_pick.json b/src/main/resources/assets/treasure2/recipes/pilferers_lock_pick.json similarity index 100% rename from src/resources/assets/treasure2/recipes/pilferers_lock_pick.json rename to src/main/resources/assets/treasure2/recipes/pilferers_lock_pick.json diff --git a/src/resources/assets/treasure2/recipes/pouch.json b/src/main/resources/assets/treasure2/recipes/pouch.json similarity index 100% rename from src/resources/assets/treasure2/recipes/pouch.json rename to src/main/resources/assets/treasure2/recipes/pouch.json diff --git a/src/resources/assets/treasure2/recipes/ruby_key.json b/src/main/resources/assets/treasure2/recipes/ruby_key.json similarity index 100% rename from src/resources/assets/treasure2/recipes/ruby_key.json rename to src/main/resources/assets/treasure2/recipes/ruby_key.json diff --git a/src/resources/assets/treasure2/recipes/sapphire_key.json b/src/main/resources/assets/treasure2/recipes/sapphire_key.json similarity index 100% rename from src/resources/assets/treasure2/recipes/sapphire_key.json rename to src/main/resources/assets/treasure2/recipes/sapphire_key.json diff --git a/src/resources/assets/treasure2/recipes/skull_and_crossbones.json b/src/main/resources/assets/treasure2/recipes/skull_and_crossbones.json similarity index 100% rename from src/resources/assets/treasure2/recipes/skull_and_crossbones.json rename to src/main/resources/assets/treasure2/recipes/skull_and_crossbones.json diff --git a/src/resources/assets/treasure2/recipes/skull_chest.json b/src/main/resources/assets/treasure2/recipes/skull_chest.json similarity index 100% rename from src/resources/assets/treasure2/recipes/skull_chest.json rename to src/main/resources/assets/treasure2/recipes/skull_chest.json diff --git a/src/resources/assets/treasure2/recipes/spider_key.json b/src/main/resources/assets/treasure2/recipes/spider_key.json similarity index 100% rename from src/resources/assets/treasure2/recipes/spider_key.json rename to src/main/resources/assets/treasure2/recipes/spider_key.json diff --git a/src/resources/assets/treasure2/recipes/thiefs_lock_pick.json b/src/main/resources/assets/treasure2/recipes/thiefs_lock_pick.json similarity index 100% rename from src/resources/assets/treasure2/recipes/thiefs_lock_pick.json rename to src/main/resources/assets/treasure2/recipes/thiefs_lock_pick.json diff --git a/src/resources/assets/treasure2/recipes/treasure_tool.json b/src/main/resources/assets/treasure2/recipes/treasure_tool.json similarity index 100% rename from src/resources/assets/treasure2/recipes/treasure_tool.json rename to src/main/resources/assets/treasure2/recipes/treasure_tool.json diff --git a/src/resources/assets/treasure2/recipes/wither_key.json b/src/main/resources/assets/treasure2/recipes/wither_key.json similarity index 100% rename from src/resources/assets/treasure2/recipes/wither_key.json rename to src/main/resources/assets/treasure2/recipes/wither_key.json diff --git a/src/resources/assets/treasure2/recipes/wither_planks.json b/src/main/resources/assets/treasure2/recipes/wither_planks.json similarity index 100% rename from src/resources/assets/treasure2/recipes/wither_planks.json rename to src/main/resources/assets/treasure2/recipes/wither_planks.json diff --git a/src/resources/assets/treasure2/structures/aboveground/crypt2.nbt b/src/main/resources/assets/treasure2/structures/aboveground/crypt2.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/aboveground/crypt2.nbt rename to src/main/resources/assets/treasure2/structures/aboveground/crypt2.nbt diff --git a/src/resources/assets/treasure2/structures/aboveground/crypt3.nbt b/src/main/resources/assets/treasure2/structures/aboveground/crypt3.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/aboveground/crypt3.nbt rename to src/main/resources/assets/treasure2/structures/aboveground/crypt3.nbt diff --git a/src/resources/assets/treasure2/structures/underground/basic1.nbt b/src/main/resources/assets/treasure2/structures/underground/basic1.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/underground/basic1.nbt rename to src/main/resources/assets/treasure2/structures/underground/basic1.nbt diff --git a/src/resources/assets/treasure2/structures/underground/basic2.nbt b/src/main/resources/assets/treasure2/structures/underground/basic2.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/underground/basic2.nbt rename to src/main/resources/assets/treasure2/structures/underground/basic2.nbt diff --git a/src/resources/assets/treasure2/structures/underground/basic3.nbt b/src/main/resources/assets/treasure2/structures/underground/basic3.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/underground/basic3.nbt rename to src/main/resources/assets/treasure2/structures/underground/basic3.nbt diff --git a/src/resources/assets/treasure2/structures/underground/basic4.nbt b/src/main/resources/assets/treasure2/structures/underground/basic4.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/underground/basic4.nbt rename to src/main/resources/assets/treasure2/structures/underground/basic4.nbt diff --git a/src/resources/assets/treasure2/structures/underground/basic5.nbt b/src/main/resources/assets/treasure2/structures/underground/basic5.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/underground/basic5.nbt rename to src/main/resources/assets/treasure2/structures/underground/basic5.nbt diff --git a/src/resources/assets/treasure2/structures/underground/cave1.nbt b/src/main/resources/assets/treasure2/structures/underground/cave1.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/underground/cave1.nbt rename to src/main/resources/assets/treasure2/structures/underground/cave1.nbt diff --git a/src/resources/assets/treasure2/structures/underground/cave2.nbt b/src/main/resources/assets/treasure2/structures/underground/cave2.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/underground/cave2.nbt rename to src/main/resources/assets/treasure2/structures/underground/cave2.nbt diff --git a/src/resources/assets/treasure2/structures/underground/cobb1.nbt b/src/main/resources/assets/treasure2/structures/underground/cobb1.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/underground/cobb1.nbt rename to src/main/resources/assets/treasure2/structures/underground/cobb1.nbt diff --git a/src/resources/assets/treasure2/structures/underground/crypt1.nbt b/src/main/resources/assets/treasure2/structures/underground/crypt1.nbt similarity index 100% rename from src/resources/assets/treasure2/structures/underground/crypt1.nbt rename to src/main/resources/assets/treasure2/structures/underground/crypt1.nbt diff --git a/src/resources/assets/treasure2/textures/blocks/blackstone.png b/src/main/resources/assets/treasure2/textures/blocks/blackstone.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/blackstone.png rename to src/main/resources/assets/treasure2/textures/blocks/blackstone.png diff --git a/src/resources/assets/treasure2/textures/blocks/blackstone_top.png b/src/main/resources/assets/treasure2/textures/blocks/blackstone_top.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/blackstone_top.png rename to src/main/resources/assets/treasure2/textures/blocks/blackstone_top.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/SpiderChest2ItemBlock.bbmodel b/src/main/resources/assets/treasure2/textures/blocks/chests/SpiderChest2ItemBlock.bbmodel similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/SpiderChest2ItemBlock.bbmodel rename to src/main/resources/assets/treasure2/textures/blocks/chests/SpiderChest2ItemBlock.bbmodel diff --git a/src/resources/assets/treasure2/textures/blocks/chests/band.png b/src/main/resources/assets/treasure2/textures/blocks/chests/band.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/band.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/band.png diff --git a/src/main/resources/assets/treasure2/textures/blocks/chests/cardboard_box_east.png b/src/main/resources/assets/treasure2/textures/blocks/chests/cardboard_box_east.png new file mode 100644 index 000000000..abae02db2 Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/blocks/chests/cardboard_box_east.png differ diff --git a/src/main/resources/assets/treasure2/textures/blocks/chests/cardboard_box_north.png b/src/main/resources/assets/treasure2/textures/blocks/chests/cardboard_box_north.png new file mode 100644 index 000000000..7a6ff0271 Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/blocks/chests/cardboard_box_north.png differ diff --git a/src/main/resources/assets/treasure2/textures/blocks/chests/cardboard_box_up.png b/src/main/resources/assets/treasure2/textures/blocks/chests/cardboard_box_up.png new file mode 100644 index 000000000..6721f3164 Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/blocks/chests/cardboard_box_up.png differ diff --git a/src/resources/assets/treasure2/textures/blocks/chests/cauldron_chest_front.png b/src/main/resources/assets/treasure2/textures/blocks/chests/cauldron_chest_front.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/cauldron_chest_front.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/cauldron_chest_front.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/cauldron_chest_side.png b/src/main/resources/assets/treasure2/textures/blocks/chests/cauldron_chest_side.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/cauldron_chest_side.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/cauldron_chest_side.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/compressor_chest_side.png b/src/main/resources/assets/treasure2/textures/blocks/chests/compressor_chest_side.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/compressor_chest_side.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/compressor_chest_side.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/compressor_chest_up.png b/src/main/resources/assets/treasure2/textures/blocks/chests/compressor_chest_up.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/compressor_chest_up.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/compressor_chest_up.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/crate_chest_board.png b/src/main/resources/assets/treasure2/textures/blocks/chests/crate_chest_board.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/crate_chest_board.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/crate_chest_board.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/crate_chest_metal.png b/src/main/resources/assets/treasure2/textures/blocks/chests/crate_chest_metal.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/crate_chest_metal.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/crate_chest_metal.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/crate_chest_moldy_board.png b/src/main/resources/assets/treasure2/textures/blocks/chests/crate_chest_moldy_board.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/crate_chest_moldy_board.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/crate_chest_moldy_board.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/crate_chest_moldy_north.png b/src/main/resources/assets/treasure2/textures/blocks/chests/crate_chest_moldy_north.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/crate_chest_moldy_north.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/crate_chest_moldy_north.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/crate_chest_north.png b/src/main/resources/assets/treasure2/textures/blocks/chests/crate_chest_north.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/crate_chest_north.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/crate_chest_north.png diff --git a/src/main/resources/assets/treasure2/textures/blocks/chests/crystal_skull_eyes.png b/src/main/resources/assets/treasure2/textures/blocks/chests/crystal_skull_eyes.png new file mode 100644 index 000000000..5d5afbb1b Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/blocks/chests/crystal_skull_eyes.png differ diff --git a/src/main/resources/assets/treasure2/textures/blocks/chests/crystal_skull_mouth_front.png b/src/main/resources/assets/treasure2/textures/blocks/chests/crystal_skull_mouth_front.png new file mode 100644 index 000000000..45988b978 Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/blocks/chests/crystal_skull_mouth_front.png differ diff --git a/src/main/resources/assets/treasure2/textures/blocks/chests/crystal_skull_texture.png b/src/main/resources/assets/treasure2/textures/blocks/chests/crystal_skull_texture.png new file mode 100644 index 000000000..b74c0ca18 Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/blocks/chests/crystal_skull_texture.png differ diff --git a/src/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_iron.png b/src/main/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_iron.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_iron.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_iron.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_lid_side.png b/src/main/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_lid_side.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_lid_side.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_lid_side.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_side.png b/src/main/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_side.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_side.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/dread_pirate_chest_side.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/dread_pirate_skull_front.png b/src/main/resources/assets/treasure2/textures/blocks/chests/dread_pirate_skull_front.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/dread_pirate_skull_front.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/dread_pirate_skull_front.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/dread_pirate_skull_mouth.png b/src/main/resources/assets/treasure2/textures/blocks/chests/dread_pirate_skull_mouth.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/dread_pirate_skull_mouth.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/dread_pirate_skull_mouth.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/gold_skull_eyes.png b/src/main/resources/assets/treasure2/textures/blocks/chests/gold_skull_eyes.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/gold_skull_eyes.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/gold_skull_eyes.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/gold_skull_mouth_front.png b/src/main/resources/assets/treasure2/textures/blocks/chests/gold_skull_mouth_front.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/gold_skull_mouth_front.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/gold_skull_mouth_front.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/gold_skull_texture.png b/src/main/resources/assets/treasure2/textures/blocks/chests/gold_skull_texture.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/gold_skull_texture.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/gold_skull_texture.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_chest.json b/src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_chest.json similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_chest.json rename to src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_chest.json diff --git a/src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_foot.png b/src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_foot.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_foot.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_foot.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_front.png b/src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_front.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_front.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_front.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_pad.png b/src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_pad.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_pad.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_pad.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_side.png b/src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_side.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_side.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_side.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_up.png b/src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_up.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_up.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/gold_strongbox_up.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_foot.png b/src/main/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_foot.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_foot.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_foot.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_front.png b/src/main/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_front.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_front.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_front.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_pad.png b/src/main/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_pad.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_pad.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_pad.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_side.png b/src/main/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_side.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_side.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_side.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_up.png b/src/main/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_up.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_up.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/iron_strongbox_up.png diff --git a/src/main/resources/assets/treasure2/textures/blocks/chests/milk-crate-side.png b/src/main/resources/assets/treasure2/textures/blocks/chests/milk-crate-side.png new file mode 100644 index 000000000..7134fcba3 Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/blocks/chests/milk-crate-side.png differ diff --git a/src/main/resources/assets/treasure2/textures/blocks/chests/milk-crate-top.png b/src/main/resources/assets/treasure2/textures/blocks/chests/milk-crate-top.png new file mode 100644 index 000000000..708d7a779 Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/blocks/chests/milk-crate-top.png differ diff --git a/src/resources/assets/treasure2/textures/blocks/chests/pirate_chest_east.png b/src/main/resources/assets/treasure2/textures/blocks/chests/pirate_chest_east.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/pirate_chest_east.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/pirate_chest_east.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/pirate_chest_east2.png b/src/main/resources/assets/treasure2/textures/blocks/chests/pirate_chest_east2.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/pirate_chest_east2.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/pirate_chest_east2.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/pirate_chest_north.png b/src/main/resources/assets/treasure2/textures/blocks/chests/pirate_chest_north.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/pirate_chest_north.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/pirate_chest_north.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/pirate_chest_up.png b/src/main/resources/assets/treasure2/textures/blocks/chests/pirate_chest_up.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/pirate_chest_up.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/pirate_chest_up.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/safe-foot.png b/src/main/resources/assets/treasure2/textures/blocks/chests/safe-foot.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/safe-foot.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/safe-foot.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/safe-handle.png b/src/main/resources/assets/treasure2/textures/blocks/chests/safe-handle.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/safe-handle.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/safe-handle.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/safe-side.png b/src/main/resources/assets/treasure2/textures/blocks/chests/safe-side.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/safe-side.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/safe-side.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/skull_eyes.png b/src/main/resources/assets/treasure2/textures/blocks/chests/skull_eyes.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/skull_eyes.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/skull_eyes.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/skull_mouth_front.png b/src/main/resources/assets/treasure2/textures/blocks/chests/skull_mouth_front.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/skull_mouth_front.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/skull_mouth_front.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/skull_texture.png b/src/main/resources/assets/treasure2/textures/blocks/chests/skull_texture.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/skull_texture.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/skull_texture.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/spider_body.png b/src/main/resources/assets/treasure2/textures/blocks/chests/spider_body.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/spider_body.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/spider_body.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/spider_head.png b/src/main/resources/assets/treasure2/textures/blocks/chests/spider_head.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/spider_head.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/spider_head.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/spider_legs.png b/src/main/resources/assets/treasure2/textures/blocks/chests/spider_legs.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/spider_legs.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/spider_legs.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/viking-chest.png b/src/main/resources/assets/treasure2/textures/blocks/chests/viking-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/viking-chest.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/viking-chest.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/wither_chest_east.png b/src/main/resources/assets/treasure2/textures/blocks/chests/wither_chest_east.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/wither_chest_east.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/wither_chest_east.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/wither_chest_front.png b/src/main/resources/assets/treasure2/textures/blocks/chests/wither_chest_front.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/wither_chest_front.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/wither_chest_front.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/wood_chest_east.png b/src/main/resources/assets/treasure2/textures/blocks/chests/wood_chest_east.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/wood_chest_east.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/wood_chest_east.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/wood_chest_north.png b/src/main/resources/assets/treasure2/textures/blocks/chests/wood_chest_north.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/wood_chest_north.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/wood_chest_north.png diff --git a/src/resources/assets/treasure2/textures/blocks/chests/wood_chest_up.png b/src/main/resources/assets/treasure2/textures/blocks/chests/wood_chest_up.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/chests/wood_chest_up.png rename to src/main/resources/assets/treasure2/textures/blocks/chests/wood_chest_up.png diff --git a/src/resources/assets/treasure2/textures/blocks/crossbone.png b/src/main/resources/assets/treasure2/textures/blocks/crossbone.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/crossbone.png rename to src/main/resources/assets/treasure2/textures/blocks/crossbone.png diff --git a/src/resources/assets/treasure2/textures/blocks/fog.png b/src/main/resources/assets/treasure2/textures/blocks/fog.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/fog.png rename to src/main/resources/assets/treasure2/textures/blocks/fog.png diff --git a/src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_bricks.png b/src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_bricks.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_bricks.png rename to src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_bricks.png diff --git a/src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_cobblestone.png b/src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_cobblestone.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_cobblestone.png rename to src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_cobblestone.png diff --git a/src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_dirt.png b/src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_dirt.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_dirt.png rename to src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_dirt.png diff --git a/src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_lava.png b/src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_lava.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_lava.png rename to src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_lava.png diff --git a/src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_sand.png b/src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_sand.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_sand.png rename to src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_sand.png diff --git a/src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_water.png b/src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_water.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_water.png rename to src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_water.png diff --git a/src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_wood.png b/src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_wood.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_wood.png rename to src/main/resources/assets/treasure2/textures/blocks/paintings/painting_blocks_wood.png diff --git a/src/resources/assets/treasure2/textures/blocks/paintings/painting_frame.png b/src/main/resources/assets/treasure2/textures/blocks/paintings/painting_frame.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/paintings/painting_frame.png rename to src/main/resources/assets/treasure2/textures/blocks/paintings/painting_frame.png diff --git a/src/resources/assets/treasure2/textures/blocks/poison_fog.png b/src/main/resources/assets/treasure2/textures/blocks/poison_fog.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/poison_fog.png rename to src/main/resources/assets/treasure2/textures/blocks/poison_fog.png diff --git a/src/resources/assets/treasure2/textures/blocks/ruby_nugget.png b/src/main/resources/assets/treasure2/textures/blocks/ruby_nugget.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/ruby_nugget.png rename to src/main/resources/assets/treasure2/textures/blocks/ruby_nugget.png diff --git a/src/resources/assets/treasure2/textures/blocks/sapphire_nugget.png b/src/main/resources/assets/treasure2/textures/blocks/sapphire_nugget.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/sapphire_nugget.png rename to src/main/resources/assets/treasure2/textures/blocks/sapphire_nugget.png diff --git a/src/resources/assets/treasure2/textures/blocks/skeleton_body.png b/src/main/resources/assets/treasure2/textures/blocks/skeleton_body.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/skeleton_body.png rename to src/main/resources/assets/treasure2/textures/blocks/skeleton_body.png diff --git a/src/resources/assets/treasure2/textures/blocks/skeleton_bottom.png b/src/main/resources/assets/treasure2/textures/blocks/skeleton_bottom.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/skeleton_bottom.png rename to src/main/resources/assets/treasure2/textures/blocks/skeleton_bottom.png diff --git a/src/resources/assets/treasure2/textures/blocks/skeleton_head.png b/src/main/resources/assets/treasure2/textures/blocks/skeleton_head.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/skeleton_head.png rename to src/main/resources/assets/treasure2/textures/blocks/skeleton_head.png diff --git a/src/resources/assets/treasure2/textures/blocks/skull_east.png b/src/main/resources/assets/treasure2/textures/blocks/skull_east.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/skull_east.png rename to src/main/resources/assets/treasure2/textures/blocks/skull_east.png diff --git a/src/resources/assets/treasure2/textures/blocks/skull_grave1.png b/src/main/resources/assets/treasure2/textures/blocks/skull_grave1.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/skull_grave1.png rename to src/main/resources/assets/treasure2/textures/blocks/skull_grave1.png diff --git a/src/resources/assets/treasure2/textures/blocks/skull_north.png b/src/main/resources/assets/treasure2/textures/blocks/skull_north.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/skull_north.png rename to src/main/resources/assets/treasure2/textures/blocks/skull_north.png diff --git a/src/resources/assets/treasure2/textures/blocks/skull_south.png b/src/main/resources/assets/treasure2/textures/blocks/skull_south.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/skull_south.png rename to src/main/resources/assets/treasure2/textures/blocks/skull_south.png diff --git a/src/resources/assets/treasure2/textures/blocks/skullandcrossbones.png b/src/main/resources/assets/treasure2/textures/blocks/skullandcrossbones.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/skullandcrossbones.png rename to src/main/resources/assets/treasure2/textures/blocks/skullandcrossbones.png diff --git a/src/resources/assets/treasure2/textures/blocks/spanish_moss.png b/src/main/resources/assets/treasure2/textures/blocks/spanish_moss.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/spanish_moss.png rename to src/main/resources/assets/treasure2/textures/blocks/spanish_moss.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_branch.png b/src/main/resources/assets/treasure2/textures/blocks/wither_branch.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_branch.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_branch.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_fog.png b/src/main/resources/assets/treasure2/textures/blocks/wither_fog.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_fog.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_fog.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_log.png b/src/main/resources/assets/treasure2/textures/blocks/wither_log.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_log.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_log.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_log_2.png b/src/main/resources/assets/treasure2/textures/blocks/wither_log_2.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_log_2.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_log_2.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_log_OLD.png b/src/main/resources/assets/treasure2/textures/blocks/wither_log_OLD.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_log_OLD.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_log_OLD.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_log_face.png b/src/main/resources/assets/treasure2/textures/blocks/wither_log_face.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_log_face.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_log_face.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_log_mossy.png b/src/main/resources/assets/treasure2/textures/blocks/wither_log_mossy.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_log_mossy.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_log_mossy.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_log_top.png b/src/main/resources/assets/treasure2/textures/blocks/wither_log_top.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_log_top.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_log_top.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_log_top_2.png b/src/main/resources/assets/treasure2/textures/blocks/wither_log_top_2.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_log_top_2.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_log_top_2.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_log_top_OLD.png b/src/main/resources/assets/treasure2/textures/blocks/wither_log_top_OLD.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_log_top_OLD.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_log_top_OLD.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_moss.png b/src/main/resources/assets/treasure2/textures/blocks/wither_moss.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_moss.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_moss.png diff --git a/src/resources/assets/treasure2/textures/blocks/wither_planks.png b/src/main/resources/assets/treasure2/textures/blocks/wither_planks.png similarity index 100% rename from src/resources/assets/treasure2/textures/blocks/wither_planks.png rename to src/main/resources/assets/treasure2/textures/blocks/wither_planks.png diff --git a/src/main/resources/assets/treasure2/textures/entity/chest/cardboard-box.png b/src/main/resources/assets/treasure2/textures/entity/chest/cardboard-box.png new file mode 100644 index 000000000..7fcf107a6 Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/entity/chest/cardboard-box.png differ diff --git a/src/resources/assets/treasure2/textures/entity/chest/cauldron-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/cauldron-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/cauldron-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/cauldron-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/clam-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/clam-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/clam-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/clam-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/compressor-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/compressor-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/compressor-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/compressor-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/crate-chest-moldy.png b/src/main/resources/assets/treasure2/textures/entity/chest/crate-chest-moldy.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/crate-chest-moldy.png rename to src/main/resources/assets/treasure2/textures/entity/chest/crate-chest-moldy.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/crate-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/crate-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/crate-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/crate-chest.png diff --git a/src/main/resources/assets/treasure2/textures/entity/chest/crystal-skull-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/crystal-skull-chest.png new file mode 100644 index 000000000..06abbceae Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/entity/chest/crystal-skull-chest.png differ diff --git a/src/resources/assets/treasure2/textures/entity/chest/dread-pirate-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/dread-pirate-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/dread-pirate-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/dread-pirate-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/gold-skull-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/gold-skull-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/gold-skull-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/gold-skull-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/gold-strongbox.png b/src/main/resources/assets/treasure2/textures/entity/chest/gold-strongbox.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/gold-strongbox.png rename to src/main/resources/assets/treasure2/textures/entity/chest/gold-strongbox.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/iron-strongbox.png b/src/main/resources/assets/treasure2/textures/entity/chest/iron-strongbox.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/iron-strongbox.png rename to src/main/resources/assets/treasure2/textures/entity/chest/iron-strongbox.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/ironbound-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/ironbound-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/ironbound-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/ironbound-chest.png diff --git a/src/main/resources/assets/treasure2/textures/entity/chest/milk-crate.png b/src/main/resources/assets/treasure2/textures/entity/chest/milk-crate.png new file mode 100644 index 000000000..e4339cdcf Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/entity/chest/milk-crate.png differ diff --git a/src/resources/assets/treasure2/textures/entity/chest/oyster-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/oyster-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/oyster-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/oyster-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/pirate-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/pirate-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/pirate-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/pirate-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/safe.png b/src/main/resources/assets/treasure2/textures/entity/chest/safe.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/safe.png rename to src/main/resources/assets/treasure2/textures/entity/chest/safe.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/skull-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/skull-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/skull-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/skull-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/spider-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/spider-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/spider-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/spider-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/standard-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/standard-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/standard-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/standard-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/test-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/test-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/test-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/test-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/viking-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/viking-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/viking-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/viking-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/whale-bone-pirate-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/whale-bone-pirate-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/whale-bone-pirate-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/whale-bone-pirate-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/wither-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/wither-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/wither-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/wither-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/chest/wood-chest.png b/src/main/resources/assets/treasure2/textures/entity/chest/wood-chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/chest/wood-chest.png rename to src/main/resources/assets/treasure2/textures/entity/chest/wood-chest.png diff --git a/src/resources/assets/treasure2/textures/entity/mob/bound-soul.png b/src/main/resources/assets/treasure2/textures/entity/mob/bound-soul.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/mob/bound-soul.png rename to src/main/resources/assets/treasure2/textures/entity/mob/bound-soul.png diff --git a/src/resources/assets/treasure2/textures/entity/mob/pirate-mimic.png b/src/main/resources/assets/treasure2/textures/entity/mob/pirate-mimic.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/mob/pirate-mimic.png rename to src/main/resources/assets/treasure2/textures/entity/mob/pirate-mimic.png diff --git a/src/resources/assets/treasure2/textures/entity/mob/wood-mimic.png b/src/main/resources/assets/treasure2/textures/entity/mob/wood-mimic.png similarity index 100% rename from src/resources/assets/treasure2/textures/entity/mob/wood-mimic.png rename to src/main/resources/assets/treasure2/textures/entity/mob/wood-mimic.png diff --git a/src/resources/assets/treasure2/textures/gui/container/apprentices_pouch.png b/src/main/resources/assets/treasure2/textures/gui/container/apprentices_pouch.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/apprentices_pouch.png rename to src/main/resources/assets/treasure2/textures/gui/container/apprentices_pouch.png diff --git a/src/resources/assets/treasure2/textures/gui/container/armoire.png b/src/main/resources/assets/treasure2/textures/gui/container/armoire.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/armoire.png rename to src/main/resources/assets/treasure2/textures/gui/container/armoire.png diff --git a/src/resources/assets/treasure2/textures/gui/container/compressor_chest.png b/src/main/resources/assets/treasure2/textures/gui/container/compressor_chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/compressor_chest.png rename to src/main/resources/assets/treasure2/textures/gui/container/compressor_chest.png diff --git a/src/resources/assets/treasure2/textures/gui/container/key_ring.png b/src/main/resources/assets/treasure2/textures/gui/container/key_ring.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/key_ring.png rename to src/main/resources/assets/treasure2/textures/gui/container/key_ring.png diff --git a/src/resources/assets/treasure2/textures/gui/container/lucky_pouch.png b/src/main/resources/assets/treasure2/textures/gui/container/lucky_pouch.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/lucky_pouch.png rename to src/main/resources/assets/treasure2/textures/gui/container/lucky_pouch.png diff --git a/src/resources/assets/treasure2/textures/gui/container/masters_pouch.png b/src/main/resources/assets/treasure2/textures/gui/container/masters_pouch.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/masters_pouch.png rename to src/main/resources/assets/treasure2/textures/gui/container/masters_pouch.png diff --git a/src/resources/assets/treasure2/textures/gui/container/mollusc_chest.png b/src/main/resources/assets/treasure2/textures/gui/container/mollusc_chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/mollusc_chest.png rename to src/main/resources/assets/treasure2/textures/gui/container/mollusc_chest.png diff --git a/src/resources/assets/treasure2/textures/gui/container/pouch.png b/src/main/resources/assets/treasure2/textures/gui/container/pouch.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/pouch.png rename to src/main/resources/assets/treasure2/textures/gui/container/pouch.png diff --git a/src/resources/assets/treasure2/textures/gui/container/skull_chest.png b/src/main/resources/assets/treasure2/textures/gui/container/skull_chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/skull_chest.png rename to src/main/resources/assets/treasure2/textures/gui/container/skull_chest.png diff --git a/src/resources/assets/treasure2/textures/gui/container/strongbox.png b/src/main/resources/assets/treasure2/textures/gui/container/strongbox.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/strongbox.png rename to src/main/resources/assets/treasure2/textures/gui/container/strongbox.png diff --git a/src/resources/assets/treasure2/textures/gui/container/treasure_chest.png b/src/main/resources/assets/treasure2/textures/gui/container/treasure_chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/treasure_chest.png rename to src/main/resources/assets/treasure2/textures/gui/container/treasure_chest.png diff --git a/src/resources/assets/treasure2/textures/gui/container/wither_chest.png b/src/main/resources/assets/treasure2/textures/gui/container/wither_chest.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/container/wither_chest.png rename to src/main/resources/assets/treasure2/textures/gui/container/wither_chest.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/church1.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/church1.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/church1.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/church1.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard1.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard1.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard1.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard1.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard2.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard2.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard2.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard2.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard3.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard3.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard3.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard3.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard4.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard4.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard4.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/graveyard4.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/sunkenship1.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/sunkenship1.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/sunkenship1.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/sunkenship1.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/sunkenship2.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/sunkenship2.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/sunkenship2.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/sunkenship2.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/tower1.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/tower1.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/tower1.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/tower1.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/tower2.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/tower2.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/tower2.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/tower2.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/tower3.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/tower3.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/tower3.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/tower3.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/well1.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/well1.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/well1.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/well1.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/withergrove1.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/withergrove1.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/withergrove1.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/withergrove1.png diff --git a/src/resources/assets/treasure2/textures/gui/patchouli/guide/withergrove2.png b/src/main/resources/assets/treasure2/textures/gui/patchouli/guide/withergrove2.png similarity index 100% rename from src/resources/assets/treasure2/textures/gui/patchouli/guide/withergrove2.png rename to src/main/resources/assets/treasure2/textures/gui/patchouli/guide/withergrove2.png diff --git a/src/resources/assets/treasure2/textures/items/32/iron_key.png b/src/main/resources/assets/treasure2/textures/items/32/iron_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/32/iron_key.png rename to src/main/resources/assets/treasure2/textures/items/32/iron_key.png diff --git a/src/resources/assets/treasure2/textures/items/New Microsoft Publisher Document.pub b/src/main/resources/assets/treasure2/textures/items/New Microsoft Publisher Document.pub similarity index 100% rename from src/resources/assets/treasure2/textures/items/New Microsoft Publisher Document.pub rename to src/main/resources/assets/treasure2/textures/items/New Microsoft Publisher Document.pub diff --git a/src/resources/assets/treasure2/textures/items/apprentices_pouch.png b/src/main/resources/assets/treasure2/textures/items/apprentices_pouch.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/apprentices_pouch.png rename to src/main/resources/assets/treasure2/textures/items/apprentices_pouch.png diff --git a/src/resources/assets/treasure2/textures/items/arcane_pouch.png b/src/main/resources/assets/treasure2/textures/items/arcane_pouch.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/arcane_pouch.png rename to src/main/resources/assets/treasure2/textures/items/arcane_pouch.png diff --git a/src/resources/assets/treasure2/textures/items/black_pearl_10.png b/src/main/resources/assets/treasure2/textures/items/black_pearl_10.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/black_pearl_10.png rename to src/main/resources/assets/treasure2/textures/items/black_pearl_10.png diff --git a/src/resources/assets/treasure2/textures/items/black_pearl_12.png b/src/main/resources/assets/treasure2/textures/items/black_pearl_12.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/black_pearl_12.png rename to src/main/resources/assets/treasure2/textures/items/black_pearl_12.png diff --git a/src/resources/assets/treasure2/textures/items/charmed_ruby.png b/src/main/resources/assets/treasure2/textures/items/charmed_ruby.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/charmed_ruby.png rename to src/main/resources/assets/treasure2/textures/items/charmed_ruby.png diff --git a/src/resources/assets/treasure2/textures/items/charmed_sapphire.png b/src/main/resources/assets/treasure2/textures/items/charmed_sapphire.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/charmed_sapphire.png rename to src/main/resources/assets/treasure2/textures/items/charmed_sapphire.png diff --git a/src/resources/assets/treasure2/textures/items/coins/gold_coin.png b/src/main/resources/assets/treasure2/textures/items/coins/charmed_gold_coin.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/coins/gold_coin.png rename to src/main/resources/assets/treasure2/textures/items/coins/charmed_gold_coin.png diff --git a/src/resources/assets/treasure2/textures/items/coins/silver_coin.png b/src/main/resources/assets/treasure2/textures/items/coins/charmed_silver_coin.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/coins/silver_coin.png rename to src/main/resources/assets/treasure2/textures/items/coins/charmed_silver_coin.png diff --git a/src/resources/assets/treasure2/textures/items/treasure_tab.png b/src/main/resources/assets/treasure2/textures/items/coins/gold_coin.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/treasure_tab.png rename to src/main/resources/assets/treasure2/textures/items/coins/gold_coin.png diff --git a/src/main/resources/assets/treasure2/textures/items/coins/silver_coin.png b/src/main/resources/assets/treasure2/textures/items/coins/silver_coin.png new file mode 100644 index 000000000..03ad6cc46 Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/items/coins/silver_coin.png differ diff --git a/src/resources/assets/treasure2/textures/items/eye_patch.png b/src/main/resources/assets/treasure2/textures/items/eye_patch.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/eye_patch.png rename to src/main/resources/assets/treasure2/textures/items/eye_patch.png diff --git a/src/resources/assets/treasure2/textures/items/keys/diamond_key.png b/src/main/resources/assets/treasure2/textures/items/keys/diamond_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/diamond_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/diamond_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/ember_key.png b/src/main/resources/assets/treasure2/textures/items/keys/ember_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/ember_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/ember_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/emerald_key.png b/src/main/resources/assets/treasure2/textures/items/keys/emerald_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/emerald_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/emerald_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/gold_key.png b/src/main/resources/assets/treasure2/textures/items/keys/gold_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/gold_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/gold_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/iron_key.png b/src/main/resources/assets/treasure2/textures/items/keys/iron_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/iron_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/iron_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/jewelled_key.png b/src/main/resources/assets/treasure2/textures/items/keys/jewelled_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/jewelled_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/jewelled_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/key_ring.png b/src/main/resources/assets/treasure2/textures/items/keys/key_ring.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/key_ring.png rename to src/main/resources/assets/treasure2/textures/items/keys/key_ring.png diff --git a/src/resources/assets/treasure2/textures/items/keys/key_ring_old.png b/src/main/resources/assets/treasure2/textures/items/keys/key_ring_old.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/key_ring_old.png rename to src/main/resources/assets/treasure2/textures/items/keys/key_ring_old.png diff --git a/src/resources/assets/treasure2/textures/items/keys/leaf_key.png b/src/main/resources/assets/treasure2/textures/items/keys/leaf_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/leaf_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/leaf_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/lightning_key.png b/src/main/resources/assets/treasure2/textures/items/keys/lightning_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/lightning_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/lightning_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/metallurgists_key.png b/src/main/resources/assets/treasure2/textures/items/keys/metallurgists_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/metallurgists_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/metallurgists_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/pilferers_lock_pick.png b/src/main/resources/assets/treasure2/textures/items/keys/pilferers_lock_pick.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/pilferers_lock_pick.png rename to src/main/resources/assets/treasure2/textures/items/keys/pilferers_lock_pick.png diff --git a/src/resources/assets/treasure2/textures/items/keys/ruby_key.png b/src/main/resources/assets/treasure2/textures/items/keys/ruby_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/ruby_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/ruby_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/sapphire_key.png b/src/main/resources/assets/treasure2/textures/items/keys/sapphire_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/sapphire_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/sapphire_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/skeleton_key.png b/src/main/resources/assets/treasure2/textures/items/keys/skeleton_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/skeleton_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/skeleton_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/spider_key.png b/src/main/resources/assets/treasure2/textures/items/keys/spider_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/spider_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/spider_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/stone_key.png b/src/main/resources/assets/treasure2/textures/items/keys/stone_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/stone_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/stone_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/thiefs_lock_pick.png b/src/main/resources/assets/treasure2/textures/items/keys/thiefs_lock_pick.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/thiefs_lock_pick.png rename to src/main/resources/assets/treasure2/textures/items/keys/thiefs_lock_pick.png diff --git a/src/resources/assets/treasure2/textures/items/keys/wither_key.png b/src/main/resources/assets/treasure2/textures/items/keys/wither_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/wither_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/wither_key.png diff --git a/src/resources/assets/treasure2/textures/items/keys/wood_key.png b/src/main/resources/assets/treasure2/textures/items/keys/wood_key.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/keys/wood_key.png rename to src/main/resources/assets/treasure2/textures/items/keys/wood_key.png diff --git a/src/resources/assets/treasure2/textures/items/locks/diamond_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/diamond_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/diamond_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/diamond_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/ember_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/ember_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/ember_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/ember_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/emerald_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/emerald_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/emerald_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/emerald_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/gold_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/gold_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/gold_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/gold_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/iron_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/iron_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/iron_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/iron_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/leaf_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/leaf_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/leaf_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/leaf_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/ruby_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/ruby_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/ruby_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/ruby_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/ruby_lock2.png b/src/main/resources/assets/treasure2/textures/items/locks/ruby_lock2.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/ruby_lock2.png rename to src/main/resources/assets/treasure2/textures/items/locks/ruby_lock2.png diff --git a/src/resources/assets/treasure2/textures/items/locks/sapphire_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/sapphire_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/sapphire_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/sapphire_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/sapphire_lock2.png b/src/main/resources/assets/treasure2/textures/items/locks/sapphire_lock2.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/sapphire_lock2.png rename to src/main/resources/assets/treasure2/textures/items/locks/sapphire_lock2.png diff --git a/src/resources/assets/treasure2/textures/items/locks/spider_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/spider_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/spider_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/spider_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/stone_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/stone_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/stone_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/stone_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/wither_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/wither_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/wither_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/wither_lock.png diff --git a/src/resources/assets/treasure2/textures/items/locks/wood_lock.png b/src/main/resources/assets/treasure2/textures/items/locks/wood_lock.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/locks/wood_lock.png rename to src/main/resources/assets/treasure2/textures/items/locks/wood_lock.png diff --git a/src/resources/assets/treasure2/textures/items/lucky_pouch.png b/src/main/resources/assets/treasure2/textures/items/lucky_pouch.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/lucky_pouch.png rename to src/main/resources/assets/treasure2/textures/items/lucky_pouch.png diff --git a/src/resources/assets/treasure2/textures/items/masters_pouch.png b/src/main/resources/assets/treasure2/textures/items/masters_pouch.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/masters_pouch.png rename to src/main/resources/assets/treasure2/textures/items/masters_pouch.png diff --git a/src/resources/assets/treasure2/textures/items/oyster_meat.png b/src/main/resources/assets/treasure2/textures/items/oyster_meat.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/oyster_meat.png rename to src/main/resources/assets/treasure2/textures/items/oyster_meat.png diff --git a/src/resources/assets/treasure2/textures/items/painting_item1x1.png b/src/main/resources/assets/treasure2/textures/items/painting_item1x1.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/painting_item1x1.png rename to src/main/resources/assets/treasure2/textures/items/painting_item1x1.png diff --git a/src/resources/assets/treasure2/textures/items/painting_item2x1.png b/src/main/resources/assets/treasure2/textures/items/painting_item2x1.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/painting_item2x1.png rename to src/main/resources/assets/treasure2/textures/items/painting_item2x1.png diff --git a/src/resources/assets/treasure2/textures/items/pouch.png b/src/main/resources/assets/treasure2/textures/items/pouch.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/pouch.png rename to src/main/resources/assets/treasure2/textures/items/pouch.png diff --git a/src/resources/assets/treasure2/textures/items/ruby.png b/src/main/resources/assets/treasure2/textures/items/ruby.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/ruby.png rename to src/main/resources/assets/treasure2/textures/items/ruby.png diff --git a/src/resources/assets/treasure2/textures/items/sapphire.png b/src/main/resources/assets/treasure2/textures/items/sapphire.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/sapphire.png rename to src/main/resources/assets/treasure2/textures/items/sapphire.png diff --git a/src/resources/assets/treasure2/textures/items/skeleton_item.png b/src/main/resources/assets/treasure2/textures/items/skeleton_item.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/skeleton_item.png rename to src/main/resources/assets/treasure2/textures/items/skeleton_item.png diff --git a/src/resources/assets/treasure2/textures/items/skull_sword.png b/src/main/resources/assets/treasure2/textures/items/skull_sword.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/skull_sword.png rename to src/main/resources/assets/treasure2/textures/items/skull_sword.png diff --git a/src/main/resources/assets/treasure2/textures/items/treasure_tab.png b/src/main/resources/assets/treasure2/textures/items/treasure_tab.png new file mode 100644 index 000000000..ebe8f9c46 Binary files /dev/null and b/src/main/resources/assets/treasure2/textures/items/treasure_tab.png differ diff --git a/src/resources/assets/treasure2/textures/items/treasure_tab_old.png b/src/main/resources/assets/treasure2/textures/items/treasure_tab_old.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/treasure_tab_old.png rename to src/main/resources/assets/treasure2/textures/items/treasure_tab_old.png diff --git a/src/resources/assets/treasure2/textures/items/treasure_tool.png b/src/main/resources/assets/treasure2/textures/items/treasure_tool.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/treasure_tool.png rename to src/main/resources/assets/treasure2/textures/items/treasure_tool.png diff --git a/src/resources/assets/treasure2/textures/items/white_pearl.png b/src/main/resources/assets/treasure2/textures/items/white_pearl.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/white_pearl.png rename to src/main/resources/assets/treasure2/textures/items/white_pearl.png diff --git a/src/resources/assets/treasure2/textures/items/white_pearl_10.png b/src/main/resources/assets/treasure2/textures/items/white_pearl_10.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/white_pearl_10.png rename to src/main/resources/assets/treasure2/textures/items/white_pearl_10.png diff --git a/src/resources/assets/treasure2/textures/items/white_pearl_12.png b/src/main/resources/assets/treasure2/textures/items/white_pearl_12.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/white_pearl_12.png rename to src/main/resources/assets/treasure2/textures/items/white_pearl_12.png diff --git a/src/resources/assets/treasure2/textures/items/wither_root.png b/src/main/resources/assets/treasure2/textures/items/wither_root.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/wither_root.png rename to src/main/resources/assets/treasure2/textures/items/wither_root.png diff --git a/src/resources/assets/treasure2/textures/items/wither_stick.png b/src/main/resources/assets/treasure2/textures/items/wither_stick.png similarity index 100% rename from src/resources/assets/treasure2/textures/items/wither_stick.png rename to src/main/resources/assets/treasure2/textures/items/wither_stick.png diff --git a/src/resources/assets/treasure2/textures/models/armor/eye_patch.png b/src/main/resources/assets/treasure2/textures/models/armor/eye_patch.png similarity index 100% rename from src/resources/assets/treasure2/textures/models/armor/eye_patch.png rename to src/main/resources/assets/treasure2/textures/models/armor/eye_patch.png diff --git a/src/resources/assets/treasure2/textures/models/armor/eye_patch_model.png b/src/main/resources/assets/treasure2/textures/models/armor/eye_patch_model.png similarity index 100% rename from src/resources/assets/treasure2/textures/models/armor/eye_patch_model.png rename to src/main/resources/assets/treasure2/textures/models/armor/eye_patch_model.png diff --git a/src/resources/assets/treasure2/textures/particle/mist_particle.png b/src/main/resources/assets/treasure2/textures/particle/mist_particle.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/mist_particle.png rename to src/main/resources/assets/treasure2/textures/particle/mist_particle.png diff --git a/src/resources/assets/treasure2/textures/particle/mist_particle2.png b/src/main/resources/assets/treasure2/textures/particle/mist_particle2.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/mist_particle2.png rename to src/main/resources/assets/treasure2/textures/particle/mist_particle2.png diff --git a/src/resources/assets/treasure2/textures/particle/mist_particle3.png b/src/main/resources/assets/treasure2/textures/particle/mist_particle3.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/mist_particle3.png rename to src/main/resources/assets/treasure2/textures/particle/mist_particle3.png diff --git a/src/resources/assets/treasure2/textures/particle/mist_particle4.png b/src/main/resources/assets/treasure2/textures/particle/mist_particle4.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/mist_particle4.png rename to src/main/resources/assets/treasure2/textures/particle/mist_particle4.png diff --git a/src/resources/assets/treasure2/textures/particle/poison_mist_particle.png b/src/main/resources/assets/treasure2/textures/particle/poison_mist_particle.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/poison_mist_particle.png rename to src/main/resources/assets/treasure2/textures/particle/poison_mist_particle.png diff --git a/src/resources/assets/treasure2/textures/particle/poison_mist_particle2.png b/src/main/resources/assets/treasure2/textures/particle/poison_mist_particle2.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/poison_mist_particle2.png rename to src/main/resources/assets/treasure2/textures/particle/poison_mist_particle2.png diff --git a/src/resources/assets/treasure2/textures/particle/poison_mist_particle3.png b/src/main/resources/assets/treasure2/textures/particle/poison_mist_particle3.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/poison_mist_particle3.png rename to src/main/resources/assets/treasure2/textures/particle/poison_mist_particle3.png diff --git a/src/resources/assets/treasure2/textures/particle/poison_mist_particle4.png b/src/main/resources/assets/treasure2/textures/particle/poison_mist_particle4.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/poison_mist_particle4.png rename to src/main/resources/assets/treasure2/textures/particle/poison_mist_particle4.png diff --git a/src/resources/assets/treasure2/textures/particle/wither_mist_particle.png b/src/main/resources/assets/treasure2/textures/particle/wither_mist_particle.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/wither_mist_particle.png rename to src/main/resources/assets/treasure2/textures/particle/wither_mist_particle.png diff --git a/src/resources/assets/treasure2/textures/particle/wither_mist_particle2.png b/src/main/resources/assets/treasure2/textures/particle/wither_mist_particle2.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/wither_mist_particle2.png rename to src/main/resources/assets/treasure2/textures/particle/wither_mist_particle2.png diff --git a/src/resources/assets/treasure2/textures/particle/wither_mist_particle3.png b/src/main/resources/assets/treasure2/textures/particle/wither_mist_particle3.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/wither_mist_particle3.png rename to src/main/resources/assets/treasure2/textures/particle/wither_mist_particle3.png diff --git a/src/resources/assets/treasure2/textures/particle/wither_mist_particle4.png b/src/main/resources/assets/treasure2/textures/particle/wither_mist_particle4.png similarity index 100% rename from src/resources/assets/treasure2/textures/particle/wither_mist_particle4.png rename to src/main/resources/assets/treasure2/textures/particle/wither_mist_particle4.png diff --git a/src/resources/decay/treasure2/aged_ruleset.json b/src/main/resources/decay/treasure2/aged_ruleset.json similarity index 100% rename from src/resources/decay/treasure2/aged_ruleset.json rename to src/main/resources/decay/treasure2/aged_ruleset.json diff --git a/src/resources/decay/treasure2/default_ruleset.json b/src/main/resources/decay/treasure2/default_ruleset.json similarity index 100% rename from src/resources/decay/treasure2/default_ruleset.json rename to src/main/resources/decay/treasure2/default_ruleset.json diff --git a/src/resources/decay/treasure2/ruinous_ruleset.json b/src/main/resources/decay/treasure2/ruinous_ruleset.json similarity index 100% rename from src/resources/decay/treasure2/ruinous_ruleset.json rename to src/main/resources/decay/treasure2/ruinous_ruleset.json diff --git a/src/resources/loot_tables/mocreatures/armor/common.json b/src/main/resources/loot_tables/mocreatures/armor/common.json similarity index 100% rename from src/resources/loot_tables/mocreatures/armor/common.json rename to src/main/resources/loot_tables/mocreatures/armor/common.json diff --git a/src/resources/loot_tables/mocreatures/armor/rare.json b/src/main/resources/loot_tables/mocreatures/armor/rare.json similarity index 100% rename from src/resources/loot_tables/mocreatures/armor/rare.json rename to src/main/resources/loot_tables/mocreatures/armor/rare.json diff --git a/src/resources/loot_tables/mocreatures/armor/scarce.json b/src/main/resources/loot_tables/mocreatures/armor/scarce.json similarity index 100% rename from src/resources/loot_tables/mocreatures/armor/scarce.json rename to src/main/resources/loot_tables/mocreatures/armor/scarce.json diff --git a/src/resources/loot_tables/mocreatures/armor/uncommon.json b/src/main/resources/loot_tables/mocreatures/armor/uncommon.json similarity index 100% rename from src/resources/loot_tables/mocreatures/armor/uncommon.json rename to src/main/resources/loot_tables/mocreatures/armor/uncommon.json diff --git a/src/resources/loot_tables/mocreatures/chests/common/armor_tool_chest.json b/src/main/resources/loot_tables/mocreatures/chests/common/armor_tool_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/common/armor_tool_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/common/armor_tool_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/common/food_potion_chest.json b/src/main/resources/loot_tables/mocreatures/chests/common/food_potion_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/common/food_potion_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/common/food_potion_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/common/general_chest.json b/src/main/resources/loot_tables/mocreatures/chests/common/general_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/common/general_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/common/general_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/epic/general_chest.json b/src/main/resources/loot_tables/mocreatures/chests/epic/general_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/epic/general_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/epic/general_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/rare/armor_tool_chest.json b/src/main/resources/loot_tables/mocreatures/chests/rare/armor_tool_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/rare/armor_tool_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/rare/armor_tool_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/rare/food_potion_chest.json b/src/main/resources/loot_tables/mocreatures/chests/rare/food_potion_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/rare/food_potion_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/rare/food_potion_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/rare/general_chest.json b/src/main/resources/loot_tables/mocreatures/chests/rare/general_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/rare/general_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/rare/general_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/scarce/armor_tool_chest.json b/src/main/resources/loot_tables/mocreatures/chests/scarce/armor_tool_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/scarce/armor_tool_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/scarce/armor_tool_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/scarce/food_potion_chest.json b/src/main/resources/loot_tables/mocreatures/chests/scarce/food_potion_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/scarce/food_potion_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/scarce/food_potion_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/scarce/general_chest.json b/src/main/resources/loot_tables/mocreatures/chests/scarce/general_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/scarce/general_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/scarce/general_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/uncommon/armor_tool_chest.json b/src/main/resources/loot_tables/mocreatures/chests/uncommon/armor_tool_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/uncommon/armor_tool_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/uncommon/armor_tool_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/uncommon/food_potion_chest.json b/src/main/resources/loot_tables/mocreatures/chests/uncommon/food_potion_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/uncommon/food_potion_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/uncommon/food_potion_chest.json diff --git a/src/resources/loot_tables/mocreatures/chests/uncommon/general_chest.json b/src/main/resources/loot_tables/mocreatures/chests/uncommon/general_chest.json similarity index 100% rename from src/resources/loot_tables/mocreatures/chests/uncommon/general_chest.json rename to src/main/resources/loot_tables/mocreatures/chests/uncommon/general_chest.json diff --git a/src/resources/loot_tables/mocreatures/food/common.json b/src/main/resources/loot_tables/mocreatures/food/common.json similarity index 100% rename from src/resources/loot_tables/mocreatures/food/common.json rename to src/main/resources/loot_tables/mocreatures/food/common.json diff --git a/src/resources/loot_tables/mocreatures/food/scarce.json b/src/main/resources/loot_tables/mocreatures/food/scarce.json similarity index 100% rename from src/resources/loot_tables/mocreatures/food/scarce.json rename to src/main/resources/loot_tables/mocreatures/food/scarce.json diff --git a/src/resources/loot_tables/mocreatures/food/uncommon.json b/src/main/resources/loot_tables/mocreatures/food/uncommon.json similarity index 100% rename from src/resources/loot_tables/mocreatures/food/uncommon.json rename to src/main/resources/loot_tables/mocreatures/food/uncommon.json diff --git a/src/resources/loot_tables/mocreatures/items/common.json b/src/main/resources/loot_tables/mocreatures/items/common.json similarity index 100% rename from src/resources/loot_tables/mocreatures/items/common.json rename to src/main/resources/loot_tables/mocreatures/items/common.json diff --git a/src/resources/loot_tables/mocreatures/items/epic.json b/src/main/resources/loot_tables/mocreatures/items/epic.json similarity index 100% rename from src/resources/loot_tables/mocreatures/items/epic.json rename to src/main/resources/loot_tables/mocreatures/items/epic.json diff --git a/src/resources/loot_tables/mocreatures/items/rare.json b/src/main/resources/loot_tables/mocreatures/items/rare.json similarity index 100% rename from src/resources/loot_tables/mocreatures/items/rare.json rename to src/main/resources/loot_tables/mocreatures/items/rare.json diff --git a/src/resources/loot_tables/mocreatures/items/scarce.json b/src/main/resources/loot_tables/mocreatures/items/scarce.json similarity index 100% rename from src/resources/loot_tables/mocreatures/items/scarce.json rename to src/main/resources/loot_tables/mocreatures/items/scarce.json diff --git a/src/resources/loot_tables/mocreatures/items/uncommon.json b/src/main/resources/loot_tables/mocreatures/items/uncommon.json similarity index 100% rename from src/resources/loot_tables/mocreatures/items/uncommon.json rename to src/main/resources/loot_tables/mocreatures/items/uncommon.json diff --git a/src/resources/loot_tables/mocreatures/tools/common.json b/src/main/resources/loot_tables/mocreatures/tools/common.json similarity index 100% rename from src/resources/loot_tables/mocreatures/tools/common.json rename to src/main/resources/loot_tables/mocreatures/tools/common.json diff --git a/src/resources/loot_tables/mocreatures/tools/rare.json b/src/main/resources/loot_tables/mocreatures/tools/rare.json similarity index 100% rename from src/resources/loot_tables/mocreatures/tools/rare.json rename to src/main/resources/loot_tables/mocreatures/tools/rare.json diff --git a/src/resources/loot_tables/mocreatures/tools/scarce.json b/src/main/resources/loot_tables/mocreatures/tools/scarce.json similarity index 100% rename from src/resources/loot_tables/mocreatures/tools/scarce.json rename to src/main/resources/loot_tables/mocreatures/tools/scarce.json diff --git a/src/resources/loot_tables/mocreatures/tools/uncommon.json b/src/main/resources/loot_tables/mocreatures/tools/uncommon.json similarity index 100% rename from src/resources/loot_tables/mocreatures/tools/uncommon.json rename to src/main/resources/loot_tables/mocreatures/tools/uncommon.json diff --git a/src/resources/loot_tables/sgs_metals/armor/epic.json b/src/main/resources/loot_tables/sgs_metals/armor/epic.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/armor/epic.json rename to src/main/resources/loot_tables/sgs_metals/armor/epic.json diff --git a/src/resources/loot_tables/sgs_metals/armor/rare.json b/src/main/resources/loot_tables/sgs_metals/armor/rare.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/armor/rare.json rename to src/main/resources/loot_tables/sgs_metals/armor/rare.json diff --git a/src/resources/loot_tables/sgs_metals/armor/scarce.json b/src/main/resources/loot_tables/sgs_metals/armor/scarce.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/armor/scarce.json rename to src/main/resources/loot_tables/sgs_metals/armor/scarce.json diff --git a/src/resources/loot_tables/sgs_metals/chests/epic/general_chest.json b/src/main/resources/loot_tables/sgs_metals/chests/epic/general_chest.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/chests/epic/general_chest.json rename to src/main/resources/loot_tables/sgs_metals/chests/epic/general_chest.json diff --git a/src/resources/loot_tables/sgs_metals/chests/rare/armor_tool_chest.json b/src/main/resources/loot_tables/sgs_metals/chests/rare/armor_tool_chest.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/chests/rare/armor_tool_chest.json rename to src/main/resources/loot_tables/sgs_metals/chests/rare/armor_tool_chest.json diff --git a/src/resources/loot_tables/sgs_metals/chests/rare/general_chest.json b/src/main/resources/loot_tables/sgs_metals/chests/rare/general_chest.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/chests/rare/general_chest.json rename to src/main/resources/loot_tables/sgs_metals/chests/rare/general_chest.json diff --git a/src/resources/loot_tables/sgs_metals/chests/scarce/armor_tool_chest.json b/src/main/resources/loot_tables/sgs_metals/chests/scarce/armor_tool_chest.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/chests/scarce/armor_tool_chest.json rename to src/main/resources/loot_tables/sgs_metals/chests/scarce/armor_tool_chest.json diff --git a/src/resources/loot_tables/sgs_metals/chests/scarce/general_chest.json b/src/main/resources/loot_tables/sgs_metals/chests/scarce/general_chest.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/chests/scarce/general_chest.json rename to src/main/resources/loot_tables/sgs_metals/chests/scarce/general_chest.json diff --git a/src/resources/loot_tables/sgs_metals/items/epic.json b/src/main/resources/loot_tables/sgs_metals/items/epic.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/items/epic.json rename to src/main/resources/loot_tables/sgs_metals/items/epic.json diff --git a/src/resources/loot_tables/sgs_metals/items/rare.json b/src/main/resources/loot_tables/sgs_metals/items/rare.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/items/rare.json rename to src/main/resources/loot_tables/sgs_metals/items/rare.json diff --git a/src/resources/loot_tables/sgs_metals/items/scarce.json b/src/main/resources/loot_tables/sgs_metals/items/scarce.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/items/scarce.json rename to src/main/resources/loot_tables/sgs_metals/items/scarce.json diff --git a/src/resources/loot_tables/sgs_metals/tools/epic.json b/src/main/resources/loot_tables/sgs_metals/tools/epic.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/tools/epic.json rename to src/main/resources/loot_tables/sgs_metals/tools/epic.json diff --git a/src/resources/loot_tables/sgs_metals/tools/rare.json b/src/main/resources/loot_tables/sgs_metals/tools/rare.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/tools/rare.json rename to src/main/resources/loot_tables/sgs_metals/tools/rare.json diff --git a/src/resources/loot_tables/sgs_metals/tools/scarce.json b/src/main/resources/loot_tables/sgs_metals/tools/scarce.json similarity index 100% rename from src/resources/loot_tables/sgs_metals/tools/scarce.json rename to src/main/resources/loot_tables/sgs_metals/tools/scarce.json diff --git a/src/resources/loot_tables/treasure2/armor/common.json b/src/main/resources/loot_tables/treasure2/armor/common.json similarity index 100% rename from src/resources/loot_tables/treasure2/armor/common.json rename to src/main/resources/loot_tables/treasure2/armor/common.json diff --git a/src/resources/loot_tables/treasure2/armor/epic.json b/src/main/resources/loot_tables/treasure2/armor/epic.json similarity index 100% rename from src/resources/loot_tables/treasure2/armor/epic.json rename to src/main/resources/loot_tables/treasure2/armor/epic.json diff --git a/src/resources/loot_tables/treasure2/armor/rare.json b/src/main/resources/loot_tables/treasure2/armor/rare.json similarity index 100% rename from src/resources/loot_tables/treasure2/armor/rare.json rename to src/main/resources/loot_tables/treasure2/armor/rare.json diff --git a/src/resources/loot_tables/treasure2/armor/scarce.json b/src/main/resources/loot_tables/treasure2/armor/scarce.json similarity index 100% rename from src/resources/loot_tables/treasure2/armor/scarce.json rename to src/main/resources/loot_tables/treasure2/armor/scarce.json diff --git a/src/resources/loot_tables/treasure2/armor/uncommon.json b/src/main/resources/loot_tables/treasure2/armor/uncommon.json similarity index 100% rename from src/resources/loot_tables/treasure2/armor/uncommon.json rename to src/main/resources/loot_tables/treasure2/armor/uncommon.json diff --git a/src/resources/loot_tables/treasure2/chests/common/armor_tool_chest.json b/src/main/resources/loot_tables/treasure2/chests/common/armor_tool_chest.json similarity index 69% rename from src/resources/loot_tables/treasure2/chests/common/armor_tool_chest.json rename to src/main/resources/loot_tables/treasure2/chests/common/armor_tool_chest.json index 4d5f7fc19..156272acd 100644 --- a/src/resources/loot_tables/treasure2/chests/common/armor_tool_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/common/armor_tool_chest.json @@ -1,4 +1,6 @@ { "version" : "1.0.0", + "category": "armor", + "rarity": "common", "pools": [ { "name": "treasure", @@ -6,11 +8,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/common", + "name": "treasure2:pools/treasure/common", "weight": 30 } ] - }, + }, { "name": "items", "rolls": { @@ -20,7 +22,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/common", + "name": "treasure2:pools/items/common", "weight": 1 } ] @@ -34,9 +36,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/common", + "name": "treasure2:pools/armor/common", "weight": 1 - } + } ] }, { @@ -48,10 +50,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/common", + "name": "treasure2:pools/tools/common", "weight": 1 - } + } ] } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/common/food_potion_chest.json b/src/main/resources/loot_tables/treasure2/chests/common/food_potion_chest.json similarity index 68% rename from src/resources/loot_tables/treasure2/chests/common/food_potion_chest.json rename to src/main/resources/loot_tables/treasure2/chests/common/food_potion_chest.json index 8995fc194..c60f1d859 100644 --- a/src/resources/loot_tables/treasure2/chests/common/food_potion_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/common/food_potion_chest.json @@ -1,5 +1,7 @@ { "version" : "1.0.0", + "category": "food", + "rarity": "common", "pools": [ { "name": "treasure", @@ -7,11 +9,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/common", + "name": "treasure2:pools/treasure/common", "weight": 30 } ] - }, + }, { "name": "items", "rolls": { @@ -21,7 +23,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/common", + "name": "treasure2:pools/items/common", "weight": 1 } ] @@ -33,9 +35,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/common", + "name": "treasure2:pools/food/common", "weight": 1 - } + } ] }, @@ -49,10 +51,10 @@ { "entryName": "common_potion", "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/common", + "name": "treasure2:pools/potions/common", "weight": 1 - } + } ] } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/common/general_chest.json b/src/main/resources/loot_tables/treasure2/chests/common/general_chest.json similarity index 71% rename from src/resources/loot_tables/treasure2/chests/common/general_chest.json rename to src/main/resources/loot_tables/treasure2/chests/common/general_chest.json index cb7ac30c7..f6b3add00 100644 --- a/src/resources/loot_tables/treasure2/chests/common/general_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/common/general_chest.json @@ -1,13 +1,16 @@ { "version" : "1.0.0", + "category": "general", + "rarity": "common", "pools": [ { "name": "treasure", "rolls": 2, + "bonus_rolls": 1.0, "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/common", + "name": "treasure2:pools/treasure/common", "weight": 30 } ] @@ -21,7 +24,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/common", + "name": "treasure2:pools/items/common", "weight": 1 } ] @@ -35,7 +38,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/common", + "name": "treasure2:pools/armor/common", "weight": 1 } ] @@ -49,7 +52,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/common", + "name": "treasure2:pools/food/common", "weight": 1 } ] @@ -63,7 +66,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/common", + "name": "treasure2:pools/tools/common", "weight": 1 } ] @@ -77,10 +80,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/common", + "name": "treasure2:pools/potions/common", "weight": 1 } ] } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/epic/general_chest.json b/src/main/resources/loot_tables/treasure2/chests/epic/general_chest.json similarity index 94% rename from src/resources/loot_tables/treasure2/chests/epic/general_chest.json rename to src/main/resources/loot_tables/treasure2/chests/epic/general_chest.json index f33a0f050..a9334c3e7 100644 --- a/src/resources/loot_tables/treasure2/chests/epic/general_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/epic/general_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "general", + "rarity": "epic", "pools": [ { "name": "treasure", @@ -28,7 +30,7 @@ "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -54,7 +56,7 @@ "type": "loot_table", "name": "treasure2:loot_tables/treasure2/armor/epic", "weight": 1 - } + } ] }, { @@ -68,7 +70,7 @@ "type": "loot_table", "name": "treasure2:loot_tables/treasure2/food/epic", "weight": 1 - } + } ] }, { @@ -79,7 +81,7 @@ "type": "loot_table", "name": "treasure2:loot_tables/treasure2/tools/epic", "weight": 1 - } + } ] }, { @@ -93,7 +95,7 @@ "type": "loot_table", "name": "treasure2:loot_tables/treasure2/potions/epic", "weight": 1 - } + } ] }, @@ -122,7 +124,7 @@ "type": "loot_table", "name": "treasure2:loot_tables/treasure2/armor/rare", "weight": 1 - } + } ] }, { @@ -136,7 +138,7 @@ "type": "loot_table", "name": "treasure2:loot_tables/treasure2/food/rare", "weight": 1 - } + } ] }, { @@ -150,7 +152,7 @@ "type": "loot_table", "name": "treasure2:loot_tables/treasure2/tools/rare", "weight": 1 - } + } ] }, { @@ -164,8 +166,8 @@ "type": "loot_table", "name": "treasure2:loot_tables/treasure2/potions/rare", "weight": 1 - } + } ] - } + } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/rare/armor_tool_chest.json b/src/main/resources/loot_tables/treasure2/chests/rare/armor_tool_chest.json similarity index 68% rename from src/resources/loot_tables/treasure2/chests/rare/armor_tool_chest.json rename to src/main/resources/loot_tables/treasure2/chests/rare/armor_tool_chest.json index ddfcd942b..ebaa0c306 100644 --- a/src/resources/loot_tables/treasure2/chests/rare/armor_tool_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/rare/armor_tool_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "armor", + "rarity": "rare", "pools": [ { "name": "treasure", @@ -10,22 +12,22 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/rare", + "name": "treasure2:pools/treasure/rare", "weight": 30 } ] - }, + }, { "name": "charms", "rolls": 1, "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/rare_charms", + "name": "treasure2:pools/treasure/rare_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -35,7 +37,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/rare", + "name": "treasure2:pools/items/rare", "weight": 1 } ] @@ -49,9 +51,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/rare", + "name": "treasure2:pools/armor/rare", "weight": 1 - } + } ] }, { @@ -63,9 +65,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/rare", + "name": "treasure2:pools/food/rare", "weight": 1 - } + } ] }, { @@ -74,12 +76,12 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/rare", + "name": "treasure2:pools/tools/rare", "weight": 1 - } + } ] - }, - + }, + { "name": "scarce_items", "rolls": { @@ -89,7 +91,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/scarce", + "name": "treasure2:pools/items/scarce", "weight": 1 } ] @@ -103,9 +105,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/scarce", + "name": "treasure2:pools/armor/scarce", "weight": 1 - } + } ] }, { @@ -117,9 +119,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/scarce", + "name": "treasure2:pools/food/scarce", "weight": 1 - } + } ] }, { @@ -131,10 +133,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/scarce", + "name": "treasure2:pools/tools/scarce", "weight": 1 - } + } ] } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/rare/food_potion_chest.json b/src/main/resources/loot_tables/treasure2/chests/rare/food_potion_chest.json similarity index 69% rename from src/resources/loot_tables/treasure2/chests/rare/food_potion_chest.json rename to src/main/resources/loot_tables/treasure2/chests/rare/food_potion_chest.json index 2b64afca2..17a088842 100644 --- a/src/resources/loot_tables/treasure2/chests/rare/food_potion_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/rare/food_potion_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "food", + "rarity": "rare", "pools": [ { "name": "treasure", @@ -10,7 +12,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/rare", + "name": "treasure2:pools/treasure/rare", "weight": 30 } ] @@ -21,11 +23,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/rare_charms", + "name": "treasure2:pools/treasure/rare_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -35,7 +37,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/rare", + "name": "treasure2:pools/items/rare", "weight": 1 } ] @@ -50,9 +52,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/rare", + "name": "treasure2:pools/food/rare", "weight": 1 - } + } ] }, @@ -65,9 +67,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/rare", + "name": "treasure2:pools/potions/rare", "weight": 1 - } + } ] }, { @@ -79,7 +81,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/scarce", + "name": "treasure2:pools/items/scarce", "weight": 1 } ] @@ -94,9 +96,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/scarce", + "name": "treasure2:pools/food/scarce", "weight": 1 - } + } ] }, @@ -109,10 +111,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/scarce", + "name": "treasure2:pools/potions/scarce", "weight": 1 - } + } ] - } + } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/rare/general_chest.json b/src/main/resources/loot_tables/treasure2/chests/rare/general_chest.json similarity index 68% rename from src/resources/loot_tables/treasure2/chests/rare/general_chest.json rename to src/main/resources/loot_tables/treasure2/chests/rare/general_chest.json index 1888def5f..77d477264 100644 --- a/src/resources/loot_tables/treasure2/chests/rare/general_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/rare/general_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "general", + "rarity": "rare", "pools": [ { "name": "treasure", @@ -10,22 +12,22 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/rare", + "name": "treasure2:pools/treasure/rare", "weight": 30 } ] - }, + }, { "name": "charms", "rolls": 1, "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/rare_charms", + "name": "treasure2:pools/treasure/rare_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -35,7 +37,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/rare", + "name": "treasure2:pools/items/rare", "weight": 1 } ] @@ -49,9 +51,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/rare", + "name": "treasure2:pools/armor/rare", "weight": 1 - } + } ] }, { @@ -63,9 +65,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/rare", + "name": "treasure2:pools/food/rare", "weight": 1 - } + } ] }, { @@ -77,9 +79,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/rare", + "name": "treasure2:pools/tools/rare", "weight": 1 - } + } ] }, { @@ -91,9 +93,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/rare", + "name": "treasure2:pools/potions/rare", "weight": 1 - } + } ] }, @@ -106,7 +108,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/scarce", + "name": "treasure2:pools/items/scarce", "weight": 1 } ] @@ -120,9 +122,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/scarce", + "name": "treasure2:pools/armor/scarce", "weight": 1 - } + } ] }, { @@ -134,9 +136,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/scarce", + "name": "treasure2:pools/food/scarce", "weight": 1 - } + } ] }, { @@ -148,9 +150,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/scarce", + "name": "treasure2:pools/tools/scarce", "weight": 1 - } + } ] }, { @@ -162,10 +164,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/scarce", + "name": "treasure2:pools/potions/scarce", "weight": 1 - } + } ] - } + } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/scarce/armor_tool_chest.json b/src/main/resources/loot_tables/treasure2/chests/scarce/armor_tool_chest.json similarity index 68% rename from src/resources/loot_tables/treasure2/chests/scarce/armor_tool_chest.json rename to src/main/resources/loot_tables/treasure2/chests/scarce/armor_tool_chest.json index 1c1b0b392..369937715 100644 --- a/src/resources/loot_tables/treasure2/chests/scarce/armor_tool_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/scarce/armor_tool_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "armor", + "rarity": "scarce", "pools": [ { "name": "treasure", @@ -10,11 +12,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/scarce", + "name": "treasure2:pools/treasure/scarce", "weight": 30 } ] - }, + }, { "name": "charms", "rolls": { @@ -24,11 +26,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/scarce_charms", + "name": "treasure2:pools/treasure/scarce_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -38,7 +40,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/scarce", + "name": "treasure2:pools/items/scarce", "weight": 1 } ] @@ -52,9 +54,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/scarce", + "name": "treasure2:pools/armor/scarce", "weight": 1 - } + } ] }, { @@ -66,9 +68,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/scarce", + "name": "treasure2:pools/food/scarce", "weight": 1 - } + } ] }, { @@ -80,12 +82,12 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/scarce", + "name": "treasure2:pools/tools/scarce", "weight": 1 - } + } ] - }, - + }, + { "name": "uncommon_items", "rolls": { @@ -95,7 +97,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/uncommon", + "name": "treasure2:pools/items/uncommon", "weight": 1 } ] @@ -109,9 +111,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/uncommon", + "name": "treasure2:pools/armor/uncommon", "weight": 1 - } + } ] }, { @@ -123,9 +125,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/uncommon", + "name": "treasure2:pools/food/uncommon", "weight": 1 - } + } ] }, { @@ -137,10 +139,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/uncommon", + "name": "treasure2:pools/tools/uncommon", "weight": 1 - } + } ] } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/scarce/food_potion_chest.json b/src/main/resources/loot_tables/treasure2/chests/scarce/food_potion_chest.json similarity index 68% rename from src/resources/loot_tables/treasure2/chests/scarce/food_potion_chest.json rename to src/main/resources/loot_tables/treasure2/chests/scarce/food_potion_chest.json index 277d012e1..54c6ee271 100644 --- a/src/resources/loot_tables/treasure2/chests/scarce/food_potion_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/scarce/food_potion_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "food", + "rarity": "scarce", "pools": [ { "name": "treasure", @@ -10,11 +12,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/scarce", + "name": "treasure2:pools/treasure/scarce", "weight": 30 } ] - }, + }, { "name": "charms", "rolls": { @@ -24,11 +26,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/scarce_charms", + "name": "treasure2:pools/treasure/scarce_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -38,7 +40,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/scarce", + "name": "treasure2:pools/items/scarce", "weight": 1 } ] @@ -53,9 +55,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/scarce", + "name": "treasure2:pools/food/scarce", "weight": 1 - } + } ] }, @@ -68,9 +70,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/scarce", + "name": "treasure2:pools/potions/scarce", "weight": 1 - } + } ] }, { @@ -82,7 +84,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/uncommon", + "name": "treasure2:pools/items/uncommon", "weight": 1 } ] @@ -97,9 +99,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/uncommon", + "name": "treasure2:pools/food/uncommon", "weight": 1 - } + } ] }, @@ -112,10 +114,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/uncommon", + "name": "treasure2:pools/potions/uncommon", "weight": 1 - } + } ] - } + } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/scarce/general_chest.json b/src/main/resources/loot_tables/treasure2/chests/scarce/general_chest.json similarity index 67% rename from src/resources/loot_tables/treasure2/chests/scarce/general_chest.json rename to src/main/resources/loot_tables/treasure2/chests/scarce/general_chest.json index 759cd4aa8..22bf4e3a6 100644 --- a/src/resources/loot_tables/treasure2/chests/scarce/general_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/scarce/general_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "general", + "rarity": "scarce", "pools": [ { "name": "treasure", @@ -10,22 +12,22 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/scarce", + "name": "treasure2:pools/treasure/scarce", "weight": 30 } ] - }, + }, { "name": "charms", "rolls": 1, "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/scarce_charms", + "name": "treasure2:pools/treasure/scarce_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -35,7 +37,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/scarce", + "name": "treasure2:pools/items/scarce", "weight": 1 } ] @@ -49,9 +51,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/scarce", + "name": "treasure2:pools/armor/scarce", "weight": 1 - } + } ] }, { @@ -63,9 +65,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/scarce", + "name": "treasure2:pools/food/scarce", "weight": 1 - } + } ] }, { @@ -77,9 +79,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/scarce", + "name": "treasure2:pools/tools/scarce", "weight": 1 - } + } ] }, { @@ -91,9 +93,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/scarce", + "name": "treasure2:pools/potions/scarce", "weight": 1 - } + } ] }, @@ -106,7 +108,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/uncommon", + "name": "treasure2:pools/items/uncommon", "weight": 1 } ] @@ -120,9 +122,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/uncommon", + "name": "treasure2:pools/armor/uncommon", "weight": 1 - } + } ] }, { @@ -134,9 +136,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/uncommon", + "name": "treasure2:pools/food/uncommon", "weight": 1 - } + } ] }, { @@ -148,9 +150,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/uncommon", + "name": "treasure2:pools/tools/uncommon", "weight": 1 - } + } ] }, { @@ -162,10 +164,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/uncommon", + "name": "treasure2:pools/potions/uncommon", "weight": 1 - } + } ] - } + } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/special/black_pearl_well.json b/src/main/resources/loot_tables/treasure2/chests/special/black_pearl_well.json similarity index 67% rename from src/resources/loot_tables/treasure2/chests/special/black_pearl_well.json rename to src/main/resources/loot_tables/treasure2/chests/special/black_pearl_well.json index d94755c95..b7b136030 100644 --- a/src/resources/loot_tables/treasure2/chests/special/black_pearl_well.json +++ b/src/main/resources/loot_tables/treasure2/chests/special/black_pearl_well.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "general", + "rarity": "epic", "pools": [ { "name": "treasure", @@ -10,22 +12,22 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/epic", + "name": "treasure2:pools/treasure/epic", "weight": 1 } ] - }, + }, { "name": "charms", "rolls": 1, "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/epic_charms", + "name": "treasure2:pools/treasure/epic_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -35,7 +37,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/epic", + "name": "treasure2:pools/items/epic", "weight": 1 } ] @@ -49,9 +51,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/epic", + "name": "treasure2:pools/armor/epic", "weight": 1 - } + } ] }, { @@ -63,9 +65,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/epic", + "name": "treasure2:pools/food/epic", "weight": 1 - } + } ] }, { @@ -74,9 +76,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/epic", + "name": "treasure2:pools/tools/epic", "weight": 1 - } + } ] }, { @@ -88,10 +90,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/epic", + "name": "treasure2:pools/potions/epic", "weight": 1 - } + } ] - } + } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/special/cauldron_chest.json b/src/main/resources/loot_tables/treasure2/chests/special/cauldron_chest.json similarity index 84% rename from src/resources/loot_tables/treasure2/chests/special/cauldron_chest.json rename to src/main/resources/loot_tables/treasure2/chests/special/cauldron_chest.json index d14128743..2ae089612 100644 --- a/src/resources/loot_tables/treasure2/chests/special/cauldron_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/special/cauldron_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "general", + "rarity": "epic", "pools": [ { "name": "treasure", @@ -10,7 +12,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/epic", + "name": "treasure2:pools/treasure/epic", "weight": 1 } ] @@ -21,11 +23,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/epic_charms", + "name": "treasure2:pools/treasure/epic_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -35,11 +37,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/epic", + "name": "treasure2:pools/items/epic", "weight": 1 } ] - }, + }, { "name": "bones", "rolls": 1, @@ -58,7 +60,7 @@ } ], "weight": 20 - } + } ] }, { @@ -93,7 +95,7 @@ "weight": 20 }, { - "entryName": "pufferfish", + "entryName": "pufferfish", "type": "item", "name": "minecraft:fish", "functions": [ @@ -103,7 +105,7 @@ } ], "weight": 20 - }, + }, { "entryName": "ghast_tear", "type": "item", @@ -115,9 +117,9 @@ "type": "item", "name": "minecraft:rabbit_foot", "weight": 20 - } + } ] - }, + }, { "name": "books", "rolls": { @@ -173,7 +175,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/common", + "name": "treasure2:pools/potions/common", "weight": 30 } ] @@ -187,7 +189,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/uncommon", + "name": "treasure2:pools/potions/uncommon", "weight": 40 } ] @@ -201,7 +203,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/scarce", + "name": "treasure2:pools/potions/scarce", "weight": 50 } ] @@ -215,7 +217,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/rare", + "name": "treasure2:pools/potions/rare", "weight": 30 } ] @@ -229,10 +231,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/rare", + "name": "treasure2:pools/items/rare", "weight": 1 } ] } ] -} \ No newline at end of file +} diff --git a/src/main/resources/loot_tables/treasure2/chests/special/crystal_skull_chest.json b/src/main/resources/loot_tables/treasure2/chests/special/crystal_skull_chest.json new file mode 100644 index 000000000..daa2ea9d5 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/chests/special/crystal_skull_chest.json @@ -0,0 +1,186 @@ +{ + "version": "1.0", + "category": "general", + "rarity": "epic", + "pools": [ + { + "name": "treasure", + "rolls": 1, + "entries": [ + { + "entryName": "emerald_key", + "type": "item", + "name": "treasure2:emerald_key", + "weight": 10 + }, + { + "entryName": "sapphire_key", + "type": "item", + "name": "treasure2:sapphire_key", + "weight": 20 + }, + { + "entryName": "ruby_key", + "type": "item", + "name": "treasure2:ruby_key", + "weight": 20 + }, + { + "entryName": "jewelled_key", + "type": "item", + "name": "treasure2:jewelled_key", + "weight": 8 + }, + { + "entryName": "metallurgists_key", + "type": "item", + "name": "treasure2:metallurgists_key", + "weight": 10 + }, + { + "entryName": "skeleton_key", + "type": "item", + "name": "treasure2:skeleton_key", + "weight": 10 + }, + { + "entryName": "white_pearl", + "type": "item", + "name": "treasure2:white_pearl", + "weight": 10, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 5 + } + } + ] + }, + { + "entryName": "black_pearl", + "type": "item", + "name": "treasure2:white_pearl", + "weight": 8, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 4 + } + } + ] + } + ] + }, + { + "name": "charms", + "rolls": 1, + "entries": [ + { + "type": "loot_table", + "name": "treasure2:loot_tables/treasure2/treasure/epic_charms", + "weight": 1 + } + ] + }, + { + "name": "items", + "rolls": 4, + "entries": [ + { + "entryName": "ender_pearl", + "type": "item", + "name": "minecraft:ender_pearl", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 4 + } + } + ] + }, + { + "entryName": "blaze_powder", + "type": "item", + "name": "minecraft:blaze_powder", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 4 + } + } + ] + }, + { + "entryName": "diamond", + "type": "item", + "name": "minecraft:diamond", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 4 + } + } + ] + }, + { + "entryName": "emerald", + "type": "item", + "name": "minecraft:emerald", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 4 + } + } + ] + }, + { + "entryName": "sapphire", + "type": "item", + "name": "treasure2:sapphire", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 4 + } + } + ] + }, + { + "entryName": "ruby", + "type": "item", + "name": "treasure2:ruby", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 4 + } + } + ] + } + ] + } + ] +} diff --git a/src/resources/loot_tables/treasure2/chests/special/gold_skull_chest.json b/src/main/resources/loot_tables/treasure2/chests/special/gold_skull_chest.json similarity index 95% rename from src/resources/loot_tables/treasure2/chests/special/gold_skull_chest.json rename to src/main/resources/loot_tables/treasure2/chests/special/gold_skull_chest.json index c52a9a738..f5829ffb9 100644 --- a/src/resources/loot_tables/treasure2/chests/special/gold_skull_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/special/gold_skull_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category":"general", + "rarity": "rare", "pools": [ { "name": "treasure", @@ -64,7 +66,7 @@ "type": "item", "name": "treasure2:ruby_key", "weight": 20 - }, + }, { "entryName": "silver_coin", "type": "item", @@ -103,11 +105,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/rare_charms", + "name": "treasure2:pools/treasure/rare_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": 4, @@ -161,15 +163,15 @@ "max": 2 } } - ] + ] }, { "entryName": "sapphire", "type": "item", "name": "treasure2:sapphire", - "weight": 15 - } + "weight": 15 + } ] } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/special/skull_chest.json b/src/main/resources/loot_tables/treasure2/chests/special/skull_chest.json similarity index 95% rename from src/resources/loot_tables/treasure2/chests/special/skull_chest.json rename to src/main/resources/loot_tables/treasure2/chests/special/skull_chest.json index fbf1e4a7c..642e3320c 100644 --- a/src/resources/loot_tables/treasure2/chests/special/skull_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/special/skull_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "general", + "rarity": "scarce", "pools": [ { "name": "treasure", @@ -91,11 +93,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/scarce_charms", + "name": "treasure2:pools/treasure/scarce_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": 4, @@ -145,4 +147,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/special/white_pearl_well.json b/src/main/resources/loot_tables/treasure2/chests/special/white_pearl_well.json similarity index 68% rename from src/resources/loot_tables/treasure2/chests/special/white_pearl_well.json rename to src/main/resources/loot_tables/treasure2/chests/special/white_pearl_well.json index a5f3467f0..aa48cf2ea 100644 --- a/src/resources/loot_tables/treasure2/chests/special/white_pearl_well.json +++ b/src/main/resources/loot_tables/treasure2/chests/special/white_pearl_well.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category":"general", + "rarity": "rare", "pools": [ { "name": "treasure", @@ -10,7 +12,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/rare", + "name": "treasure2:pools/treasure/rare", "weight": 1 } ] @@ -21,11 +23,11 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/rare_charms", + "name": "treasure2:pools/treasure/rare_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -35,7 +37,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/rare", + "name": "treasure2:pools/items/rare", "weight": 1 } ] @@ -49,9 +51,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/rare", + "name": "treasure2:pools/armor/rare", "weight": 1 - } + } ] }, { @@ -63,9 +65,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/rare", + "name": "treasure2:pools/food/rare", "weight": 1 - } + } ] }, { @@ -77,9 +79,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/rare", + "name": "treasure2:pools/tools/rare", "weight": 1 - } + } ] }, { @@ -91,10 +93,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/rare", + "name": "treasure2:pools/potions/rare", "weight": 1 - } + } ] } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/special/wither_chest.json b/src/main/resources/loot_tables/treasure2/chests/special/wither_chest.json similarity index 81% rename from src/resources/loot_tables/treasure2/chests/special/wither_chest.json rename to src/main/resources/loot_tables/treasure2/chests/special/wither_chest.json index 542908877..561d8668a 100644 --- a/src/resources/loot_tables/treasure2/chests/special/wither_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/special/wither_chest.json @@ -1,6 +1,8 @@ { "version": "1.0", - "pools": [ + "category":"general", + "rarity": "scarce", + "pools": [ { "name": "bones", "rolls": 1, @@ -19,9 +21,9 @@ } ], "weight": 20 - } + } ] - }, + }, { "name": "books", "rolls": { @@ -77,7 +79,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/common", + "name": "treasure2:pools/potions/common", "weight": 30 } ] @@ -91,7 +93,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/uncommon", + "name": "treasure2:pools/potions/uncommon", "weight": 40 } ] @@ -105,7 +107,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/scarce", + "name": "treasure2:pools/potions/scarce", "weight": 50 } ] @@ -119,7 +121,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/rare", + "name": "treasure2:pools/potions/rare", "weight": 30 } ] @@ -130,7 +132,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/scarce", + "name": "treasure2:pools/treasure/scarce", "weight": 30 } ] @@ -141,10 +143,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/scarce_charms", + "name": "treasure2:pools/treasure/scarce_charms", "weight": 1 } ] - } + } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/uncommon/armor_tool_chest.json b/src/main/resources/loot_tables/treasure2/chests/uncommon/armor_tool_chest.json similarity index 67% rename from src/resources/loot_tables/treasure2/chests/uncommon/armor_tool_chest.json rename to src/main/resources/loot_tables/treasure2/chests/uncommon/armor_tool_chest.json index 82ab76c6f..fe199c6a5 100644 --- a/src/resources/loot_tables/treasure2/chests/uncommon/armor_tool_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/uncommon/armor_tool_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "armor", + "rarity": "uncommon", "pools": [ { "name": "treasure", @@ -7,22 +9,22 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/uncommon", + "name": "treasure2:pools/treasure/uncommon", "weight": 30 } ] - }, + }, { "name": "charms", "rolls": 1, "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/uncommon_charms", + "name": "treasure2:pools/treasure/uncommon_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -32,7 +34,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/uncommon", + "name": "treasure2:pools/items/uncommon", "weight": 1 } ] @@ -46,9 +48,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/uncommon", + "name": "treasure2:pools/armor/uncommon", "weight": 1 - } + } ] }, { @@ -60,9 +62,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/uncommon", + "name": "treasure2:pools/food/uncommon", "weight": 1 - } + } ] }, { @@ -71,12 +73,12 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/uncommon", + "name": "treasure2:pools/tools/uncommon", "weight": 1 - } + } ] - }, - + }, + { "name": "common_items", "rolls": { @@ -86,7 +88,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/common", + "name": "treasure2:pools/items/common", "weight": 1 } ] @@ -100,9 +102,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/common", + "name": "treasure2:pools/armor/common", "weight": 1 - } + } ] }, { @@ -114,9 +116,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/common", + "name": "treasure2:pools/food/common", "weight": 1 - } + } ] }, { @@ -128,10 +130,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/common", + "name": "treasure2:pools/tools/common", "weight": 1 - } + } ] } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/uncommon/food_potion_chest.json b/src/main/resources/loot_tables/treasure2/chests/uncommon/food_potion_chest.json similarity index 67% rename from src/resources/loot_tables/treasure2/chests/uncommon/food_potion_chest.json rename to src/main/resources/loot_tables/treasure2/chests/uncommon/food_potion_chest.json index bf321b7a3..b7ad10214 100644 --- a/src/resources/loot_tables/treasure2/chests/uncommon/food_potion_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/uncommon/food_potion_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "food", + "rarity": "uncommon", "pools": [ { "name": "treasure", @@ -7,22 +9,22 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/uncommon", + "name": "treasure2:pools/treasure/uncommon", "weight": 30 } ] - }, + }, { "name": "charms", "rolls": 1, "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/uncommon_charms", + "name": "treasure2:pools/treasure/uncommon_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -32,7 +34,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/uncommon", + "name": "treasure2:pools/items/uncommon", "weight": 1 } ] @@ -47,9 +49,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/uncommon", + "name": "treasure2:pools/food/uncommon", "weight": 1 - } + } ] }, @@ -62,9 +64,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/uncommon", + "name": "treasure2:pools/potions/uncommon", "weight": 1 - } + } ] }, { @@ -76,7 +78,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/common", + "name": "treasure2:pools/items/common", "weight": 1 } ] @@ -91,9 +93,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/common", + "name": "treasure2:pools/food/common", "weight": 1 - } + } ] }, @@ -106,10 +108,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/common", + "name": "treasure2:pools/potions/common", "weight": 1 - } + } ] - } + } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/chests/uncommon/general_chest.json b/src/main/resources/loot_tables/treasure2/chests/uncommon/general_chest.json similarity index 67% rename from src/resources/loot_tables/treasure2/chests/uncommon/general_chest.json rename to src/main/resources/loot_tables/treasure2/chests/uncommon/general_chest.json index 22e79ccf4..459b6513f 100644 --- a/src/resources/loot_tables/treasure2/chests/uncommon/general_chest.json +++ b/src/main/resources/loot_tables/treasure2/chests/uncommon/general_chest.json @@ -1,5 +1,7 @@ { "version": "1.0", + "category": "general", + "rarity": "uncommon", "pools": [ { "name": "treasure", @@ -7,22 +9,22 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/uncommon", + "name": "treasure2:pools/treasure/uncommon", "weight": 30 } ] - }, + }, { "name": "charms", "rolls": 1, "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/treasure/uncommon_charms", + "name": "treasure2:pools/treasure/uncommon_charms", "weight": 1 } ] - }, + }, { "name": "items", "rolls": { @@ -32,7 +34,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/uncommon", + "name": "treasure2:pools/items/uncommon", "weight": 1 } ] @@ -46,9 +48,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/uncommon", + "name": "treasure2:pools/armor/uncommon", "weight": 1 - } + } ] }, { @@ -60,9 +62,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/uncommon", + "name": "treasure2:pools/food/uncommon", "weight": 1 - } + } ] }, { @@ -74,9 +76,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/uncommon", + "name": "treasure2:pools/tools/uncommon", "weight": 1 - } + } ] }, { @@ -88,9 +90,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/uncommon", + "name": "treasure2:pools/potions/uncommon", "weight": 1 - } + } ] }, @@ -103,7 +105,7 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/items/common", + "name": "treasure2:pools/items/common", "weight": 1 } ] @@ -117,9 +119,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/armor/common", + "name": "treasure2:pools/armor/common", "weight": 1 - } + } ] }, { @@ -131,9 +133,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/food/common", + "name": "treasure2:pools/food/common", "weight": 1 - } + } ] }, { @@ -145,9 +147,9 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/tools/common", + "name": "treasure2:pools/tools/common", "weight": 1 - } + } ] }, { @@ -159,10 +161,10 @@ "entries": [ { "type": "loot_table", - "name": "treasure2:loot_tables/treasure2/potions/common", + "name": "treasure2:pools/potions/common", "weight": 1 - } + } ] - } + } ] -} \ No newline at end of file +} diff --git a/src/resources/loot_tables/treasure2/food/common.json b/src/main/resources/loot_tables/treasure2/food/common.json similarity index 100% rename from src/resources/loot_tables/treasure2/food/common.json rename to src/main/resources/loot_tables/treasure2/food/common.json diff --git a/src/resources/loot_tables/treasure2/food/epic.json b/src/main/resources/loot_tables/treasure2/food/epic.json similarity index 100% rename from src/resources/loot_tables/treasure2/food/epic.json rename to src/main/resources/loot_tables/treasure2/food/epic.json diff --git a/src/resources/loot_tables/treasure2/food/rare.json b/src/main/resources/loot_tables/treasure2/food/rare.json similarity index 100% rename from src/resources/loot_tables/treasure2/food/rare.json rename to src/main/resources/loot_tables/treasure2/food/rare.json diff --git a/src/resources/loot_tables/treasure2/food/scarce.json b/src/main/resources/loot_tables/treasure2/food/scarce.json similarity index 100% rename from src/resources/loot_tables/treasure2/food/scarce.json rename to src/main/resources/loot_tables/treasure2/food/scarce.json diff --git a/src/resources/loot_tables/treasure2/food/uncommon.json b/src/main/resources/loot_tables/treasure2/food/uncommon.json similarity index 100% rename from src/resources/loot_tables/treasure2/food/uncommon.json rename to src/main/resources/loot_tables/treasure2/food/uncommon.json diff --git a/src/main/resources/loot_tables/treasure2/inject/common/items.json b/src/main/resources/loot_tables/treasure2/inject/common/items.json new file mode 100644 index 000000000..4410f7f8e --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/inject/common/items.json @@ -0,0 +1,183 @@ +{ + "version": "1.0", + "categories": ["items"], + "pools": [ + { + "name": "common_items", + "rolls": 1, + "entries": [ + { + "entryName": "bread", + "type": "item", + "name": "minecraft:bread", + "weight": 80, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 5 + } + } + ] + }, + { + "entryName": "wool", + "type": "item", + "name": "minecraft:wool", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "torch", + "type": "item", + "name": "minecraft:torch", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "leather", + "type": "item", + "name": "minecraft:leather", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "rabbit_hide", + "type": "item", + "name": "minecraft:rabbit_hide", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "gold_nugget", + "type": "item", + "name": "minecraft:gold_nugget", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "iron_ingot", + "type": "item", + "name": "minecraft:iron_ingot", + "weight": 30, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "arrow", + "type": "item", + "name": "minecraft:arrow", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 5, + "max": 10 + } + } + ] + }, + { + "entryName": "bone", + "type": "item", + "name": "minecraft:bone", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "spider_eye", + "type": "item", + "name": "minecraft:spider_eye", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "rotten_flesh", + "type": "item", + "name": "minecraft:rotten_flesh", + "weight": 50 + }, + { + "entryName": "string", + "type": "item", + "name": "minecraft:string", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/resources/loot_tables/treasure2/items/common.json b/src/main/resources/loot_tables/treasure2/items/common.json similarity index 100% rename from src/resources/loot_tables/treasure2/items/common.json rename to src/main/resources/loot_tables/treasure2/items/common.json diff --git a/src/resources/loot_tables/treasure2/items/epic.json b/src/main/resources/loot_tables/treasure2/items/epic.json similarity index 100% rename from src/resources/loot_tables/treasure2/items/epic.json rename to src/main/resources/loot_tables/treasure2/items/epic.json diff --git a/src/resources/loot_tables/treasure2/items/rare.json b/src/main/resources/loot_tables/treasure2/items/rare.json similarity index 100% rename from src/resources/loot_tables/treasure2/items/rare.json rename to src/main/resources/loot_tables/treasure2/items/rare.json diff --git a/src/resources/loot_tables/treasure2/items/scarce.json b/src/main/resources/loot_tables/treasure2/items/scarce.json similarity index 100% rename from src/resources/loot_tables/treasure2/items/scarce.json rename to src/main/resources/loot_tables/treasure2/items/scarce.json diff --git a/src/resources/loot_tables/treasure2/items/uncommon.json b/src/main/resources/loot_tables/treasure2/items/uncommon.json similarity index 100% rename from src/resources/loot_tables/treasure2/items/uncommon.json rename to src/main/resources/loot_tables/treasure2/items/uncommon.json diff --git a/src/main/resources/loot_tables/treasure2/pools/armor/common.json b/src/main/resources/loot_tables/treasure2/pools/armor/common.json new file mode 100644 index 000000000..2d260678d --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/armor/common.json @@ -0,0 +1,59 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "common_armor", + "rolls": 1, + "entries": [ + { + "entryName": "leather_chestplate", + "type": "item", + "name": "minecraft:leather_chestplate", + "weight": 20 + }, + { + "entryName": "leather_leggings", + "type": "item", + "name": "minecraft:leather_leggings", + "weight": 20 + }, + { + "entryName": "leather_helmet", + "type": "item", + "name": "minecraft:leather_helmet", + "weight": 20 + }, + { + "entryName": "leather_boots", + "type": "item", + "name": "minecraft:leather_boots", + "weight": 20 + }, + { + "entryName": "golden_chestplate", + "type": "item", + "name": "minecraft:golden_chestplate", + "weight": 10 + }, + { + "entryName": "golden_leggings", + "type": "item", + "name": "minecraft:golden_leggings", + "weight": 10 + }, + { + "entryName": "golden_helmet", + "type": "item", + "name": "minecraft:golden_helmet", + "weight": 10 + }, + { + "entryName": "golden_boots", + "type": "item", + "name": "minecraft:golden_boots", + "weight": 10 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/armor/epic.json b/src/main/resources/loot_tables/treasure2/pools/armor/epic.json new file mode 100644 index 000000000..3c403d788 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/armor/epic.json @@ -0,0 +1,133 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "epic_armor", + "rolls": 1, + "entries": [ + { + "entryName": "diamond_chestplate", + "type": "item", + "name": "minecraft:diamond_chestplate", + "weight": 18, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + } + ] + }, + { + "entryName": "diamond_leggings", + "type": "item", + "name": "minecraft:diamond_leggings", + "weight": 22, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + } + ] + }, + { + "entryName": "diamond_helmet", + "type": "item", + "name": "minecraft:diamond_helmet", + "weight": 22, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + } + ] + }, + { + "entryName": "diamond_boots", + "type": "item", + "name": "minecraft:diamond_boots", + "weight": 22, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + } + ] + }, + { + "entryName": "iron_chestplate", + "type": "item", + "name": "minecraft:iron_chestplate", + "weight": 35, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + }, + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "iron_leggings", + "type": "item", + "name": "minecraft:iron_leggings", + "weight": 35, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + }, + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "iron_helmet", + "type": "item", + "name": "minecraft:iron_helmet", + "weight": 35, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + }, + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "iron_boots", + "type": "item", + "name": "minecraft:iron_boots", + "weight": 35, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + }, + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "diamond_horse_armor", + "type": "item", + "name": "minecraft:diamond_horse_armor", + "weight": 25 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/armor/rare.json b/src/main/resources/loot_tables/treasure2/pools/armor/rare.json new file mode 100644 index 000000000..1d91e8cbe --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/armor/rare.json @@ -0,0 +1,87 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "rare_armor", + "rolls": 1, + "entries": [ + { + "entryName": "diamond_chestplate", + "type": "item", + "name": "minecraft:diamond_chestplate", + "weight": 10 + }, + { + "entryName": "diamond_leggings", + "type": "item", + "name": "minecraft:diamond_leggings", + "weight": 10 + }, + { + "entryName": "diamond_helmet", + "type": "item", + "name": "minecraft:diamond_helmet", + "weight": 10 + }, + { + "entryName": "diamond_boots", + "type": "item", + "name": "minecraft:diamond_boots", + "weight": 10 + }, + { + "entryName": "iron_chestplate", + "type": "item", + "name": "minecraft:iron_chestplate", + "weight": 15, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + } + ] + }, + { + "entryName": "iron_leggings", + "type": "item", + "name": "minecraft:iron_leggings", + "weight": 15, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + } + ] + }, + { + "entryName": "iron_helmet", + "type": "item", + "name": "minecraft:iron_helmet", + "weight": 20, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + } + ] + }, + { + "entryName": "iron_boots", + "type": "item", + "name": "minecraft:iron_boots", + "weight": 20, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/armor/scarce.json b/src/main/resources/loot_tables/treasure2/pools/armor/scarce.json new file mode 100644 index 000000000..a1d37ed00 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/armor/scarce.json @@ -0,0 +1,117 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "scarce_armor", + "rolls": 1, + "entries": [ + { + "entryName": "iron_chestplate", + "type": "item", + "name": "minecraft:iron_chestplate", + "weight": 20, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "iron_leggings", + "type": "item", + "name": "minecraft:iron_leggings", + "weight": 20, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "iron_helmet", + "type": "item", + "name": "minecraft:iron_helmet", + "weight": 20, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "iron_boots", + "type": "item", + "name": "minecraft:iron_boots", + "weight": 20, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "shield", + "type": "item", + "name": "minecraft:shield", + "weight": 10 + }, + { + "entryName": "leather_chestplate", + "type": "item", + "name": "minecraft:leather_chestplate", + "weight": 15, + "functions": [ + { + "function": "enchant_randomly" + }, + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "leather_leggings", + "type": "item", + "name": "minecraft:leather_leggings", + "weight": 15, + "functions": [ + { + "function": "enchant_randomly" + }, + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "leather_helmet", + "type": "item", + "name": "minecraft:leather_helmet", + "weight": 15, + "functions": [ + { + "function": "enchant_randomly" + }, + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "leather_boots", + "type": "item", + "name": "minecraft:leather_boots", + "weight": 15, + "functions": [ + { + "function": "enchant_randomly" + }, + { + "function": "enchant_randomly" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/armor/uncommon.json b/src/main/resources/loot_tables/treasure2/pools/armor/uncommon.json new file mode 100644 index 000000000..3b4856fa8 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/armor/uncommon.json @@ -0,0 +1,85 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "uncommon_armor", + "rolls": 1, + "entries": [ + { + "entryName": "iron_chestplate", + "type": "item", + "name": "minecraft:iron_chestplate", + "weight": 12.5 + }, + { + "entryName": "iron_leggings", + "type": "item", + "name": "minecraft:iron_leggings", + "weight": 20 + }, + { + "entryName": "iron_helmet", + "type": "item", + "name": "minecraft:iron_helmet", + "weight": 20 + }, + { + "entryName": "iron_boots", + "type": "item", + "name": "minecraft:iron_boots", + "weight": 20 + }, + { + "entryName": "shield", + "type": "item", + "name": "minecraft:shield", + "weight": 20 + }, + { + "entryName": "golden_chestplate", + "type": "item", + "name": "minecraft:golden_chestplate", + "weight": 10, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "golden_leggings", + "type": "item", + "name": "minecraft:golden_leggings", + "weight": 10, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "golden_helmet", + "type": "item", + "name": "minecraft:golden_helmet", + "weight": 10, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "golden_boots", + "type": "item", + "name": "minecraft:golden_boots", + "weight": 10, + "functions": [ + { + "function": "enchant_randomly" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/food/common.json b/src/main/resources/loot_tables/treasure2/pools/food/common.json new file mode 100644 index 000000000..17ccf2fd0 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/food/common.json @@ -0,0 +1,248 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "common_food", + "rolls": 1, + "entries": [ + { + "entryName": "apple", + "type": "item", + "name": "minecraft:apple", + "weight": 80, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "wheat", + "type": "item", + "name": "minecraft:wheat", + "weight": 80, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 5 + } + } + ] + }, + { + "entryName": "wheat_seeds", + "type": "item", + "name": "minecraft:wheat_seeds", + "weight": 80, + "functions": [ + { + "function": "set_count", + "count": { + "min": 3, + "max": 5 + } + } + ] + }, + { + "entryName": "brown_mushroom", + "type": "item", + "name": "minecraft:brown_mushroom", + "weight": 80, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "red_mushroom", + "type": "item", + "name": "minecraft:red_mushroom", + "weight": 80, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "porkchop", + "type": "item", + "name": "minecraft:porkchop", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "rabbit", + "type": "item", + "name": "minecraft:rabbit", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "egg", + "type": "item", + "name": "minecraft:egg", + "weight": 80, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "chicken", + "type": "item", + "name": "minecraft:chicken", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "fish", + "type": "item", + "name": "minecraft:fish", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "cooked_fish", + "type": "item", + "name": "minecraft:cooked_fish", + "weight": 30, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "beef", + "type": "item", + "name": "minecraft:beef", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "pumpkin", + "type": "item", + "name": "minecraft:pumpkin", + "weight": 15 + }, + { + "entryName": "pumpkin_seeds", + "type": "item", + "name": "minecraft:pumpkin_seeds", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "melon", + "type": "item", + "name": "minecraft:melon", + "weight": 10 + }, + { + "entryName": "melon_seeds", + "type": "item", + "name": "minecraft:melon_seeds", + "weight": 10, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "mutton", + "type": "item", + "name": "minecraft:mutton", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/food/epic.json b/src/main/resources/loot_tables/treasure2/pools/food/epic.json new file mode 100644 index 000000000..24dc1e093 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/food/epic.json @@ -0,0 +1,23 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "epic_food", + "rolls": 1, + "entries": [ + { + "entryName": "golden_apple", + "type": "item", + "name": "minecraft:golden_apple", + "weight": 50 + }, + { + "entryName": "golden_carrot", + "type": "item", + "name": "minecraft:golden_carrot", + "weight": 50 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/food/rare.json b/src/main/resources/loot_tables/treasure2/pools/food/rare.json new file mode 100644 index 000000000..0fe05bb93 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/food/rare.json @@ -0,0 +1,68 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "rare_food", + "rolls": 1, + "entries": [ + { + "entryName": "rabbit_foot", + "type": "item", + "name": "minecraft:rabbit_foot", + "weight": 25 + }, + { + "entryName": "potato", + "type": "item", + "name": "minecraft:potato", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "speckled_melon", + "type": "item", + "name": "minecraft:speckled_melon", + "weight": 15 + }, + { + "entryName": "beetroot", + "type": "item", + "name": "minecraft:beetroot", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "beetroot_seed", + "type": "item", + "name": "minecraft:beetroot_seeds", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/food/scarce.json b/src/main/resources/loot_tables/treasure2/pools/food/scarce.json new file mode 100644 index 000000000..cbb2c8475 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/food/scarce.json @@ -0,0 +1,23 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "scarce_food", + "rolls": 1, + "entries": [ + { + "entryName": "cake", + "type": "item", + "name": "minecraft:cake", + "weight": 50 + }, + { + "entryName": "pumpkin_pie", + "type": "item", + "name": "minecraft:pumpkin_pie", + "weight": 50 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/food/uncommon.json b/src/main/resources/loot_tables/treasure2/pools/food/uncommon.json new file mode 100644 index 000000000..2183a3104 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/food/uncommon.json @@ -0,0 +1,75 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "uncommon_food", + "rolls": 1, + "entries": [ + { + "entryName": "sugar", + "type": "item", + "name": "minecraft:sugar", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "carrot", + "type": "item", + "name": "minecraft:carrot", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "cocoa_beans", + "type": "item", + "name": "minecraft:dye", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + }, + { + "function": "set_data", + "data": 3 + } + ] + }, + { + "entryName": "cookie", + "type": "item", + "name": "minecraft:cookie", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/items/common.json b/src/main/resources/loot_tables/treasure2/pools/items/common.json new file mode 100644 index 000000000..0ee062962 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/items/common.json @@ -0,0 +1,227 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "common_items", + "rolls": 1, + "entries": [ + { + "entryName": "bread", + "type": "item", + "name": "minecraft:bread", + "weight": 80, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 5 + } + } + ] + }, + { + "entryName": "apple", + "type": "item", + "name": "minecraft:bread", + "weight": 60, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 4 + } + } + ] + }, + { + "entryName": "wool", + "type": "item", + "name": "minecraft:wool", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "torch", + "type": "item", + "name": "minecraft:torch", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "leather", + "type": "item", + "name": "minecraft:leather", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "rabbit_hide", + "type": "item", + "name": "minecraft:rabbit_hide", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "gold_nugget", + "type": "item", + "name": "minecraft:gold_nugget", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "iron_ingot", + "type": "item", + "name": "minecraft:iron_ingot", + "weight": 30, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "arrow", + "type": "item", + "name": "minecraft:arrow", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 5, + "max": 10 + } + } + ] + }, + { + "entryName": "bone", + "type": "item", + "name": "minecraft:bone", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "spider_eye", + "type": "item", + "name": "minecraft:spider_eye", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "rotten_flesh", + "type": "item", + "name": "minecraft:rotten_flesh", + "weight": 50 + }, + { + "entryName": "string", + "type": "item", + "name": "minecraft:string", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "clay_ball", + "type": "item", + "name": "minecraft:iron_ingot", + "weight": 10, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "brick", + "type": "item", + "name": "minecraft:iron_ingot", + "weight": 10, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/loot_tables/treasure2/pools/items/epic.json b/src/main/resources/loot_tables/treasure2/pools/items/epic.json new file mode 100644 index 000000000..70e227811 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/items/epic.json @@ -0,0 +1,137 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "epic_items", + "rolls": 1, + "entries": [ + { + "entryName": "shulker_box", + "type": "item", + "name": "minecraft:black_shulker_box", + "weight": 15 + }, + { + "entryName": "shulker_shell", + "type": "item", + "name": "minecraft:shulker_shell", + "weight": 20 + }, + { + "entryName": "dragon_breath", + "type": "item", + "name": "minecraft:dragon_breath", + "weight": 15 + }, + { + "entryName": "elytra", + "type": "item", + "name": "minecraft:elytra", + "weight": 10 + }, + { + "entryName": "totem_of_undying", + "type": "item", + "name": "minecraft:totem_of_undying", + "weight": 10 + }, + { + "entryName": "experience_bottle", + "type": "item", + "name": "minecraft:experience_bottle", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "emerald", + "type": "item", + "name": "minecraft:emerald", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "end_crystal", + "type": "item", + "name": "minecraft:end_crystal", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "chorus_fruit_popped", + "type": "item", + "name": "minecraft:chorus_fruit_popped", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "skeleton_head", + "type": "item", + "name": "minecraft:skull", + "weight": 5, + "functions": [ + { + "function": "set_data", + "data": 0 + } + ] + }, + { + "entryName": "zombie_head", + "type": "item", + "name": "minecraft:skull", + "weight": 5, + "functions": [ + { + "function": "set_data", + "data": 2 + } + ] + }, + { + "entryName": "creeper_head", + "type": "item", + "name": "minecraft:skull", + "weight": 5, + "functions": [ + { + "function": "set_data", + "data": 4 + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/items/rare.json b/src/main/resources/loot_tables/treasure2/pools/items/rare.json new file mode 100644 index 000000000..a892a23d1 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/items/rare.json @@ -0,0 +1,236 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "rare_items", + "rolls": 1, + "entries": [ + { + "entryName": "tnt", + "type": "item", + "name": "minecraft:tnt", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 4 + } + } + ] + }, + { + "entryName": "blaze_powder", + "type": "item", + "name": "minecraft:blaze_powder", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 5 + } + } + ] + }, + { + "entryName": "magma_cream", + "type": "item", + "name": "minecraft:magma_cream", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 5 + } + } + ] + }, + { + "entryName": "clock", + "type": "item", + "name": "minecraft:clock", + "weight": 25 + }, + { + "entryName": "compass", + "type": "item", + "name": "minecraft:compass", + "weight": 25 + }, + { + "entryName": "diamond_block", + "type": "item", + "name": "minecraft:diamond_block", + "weight": 10 + }, + { + "entryName": "glowstone", + "type": "item", + "name": "minecraft:glowstone", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "ender_pearl", + "type": "item", + "name": "minecraft:ender_pearl", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "ender_eye", + "type": "item", + "name": "minecraft:ender_eye", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "blaze_rod", + "type": "item", + "name": "minecraft:blaze_rod", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "ghast_tear", + "type": "item", + "name": "minecraft:ghast_tear", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "experience_bottle", + "type": "item", + "name": "minecraft:experience_bottle", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "diamond", + "type": "item", + "name": "minecraft:diamond", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "prismarine_crystals", + "type": "item", + "name": "minecraft:prismarine_crystals", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "prismarine_shard", + "type": "item", + "name": "minecraft:prismarine_shard", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "sea_lantern", + "type": "item", + "name": "minecraft:sea_lantern", + "weight": 20 + }, + { + "entryName": "nether_star", + "type": "item", + "name": "minecraft:nether_star", + "weight": 15 + }, + { + "entryName": "firework_charge", + "type": "item", + "name": "minecraft:firework_charge", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/items/scarce.json b/src/main/resources/loot_tables/treasure2/pools/items/scarce.json new file mode 100644 index 000000000..d23b273d8 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/items/scarce.json @@ -0,0 +1,113 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "scarce_items", + "rolls": 1, + "entries": [ + { + "entryName": "arrow", + "type": "item", + "name": "minecraft:arrow", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 10, + "max": 20 + } + } + ] + }, + { + "entryName": "tnt", + "type": "item", + "name": "minecraft:tnt", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "blaze_powder", + "type": "item", + "name": "minecraft:blaze_powder", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 4 + } + } + ] + }, + { + "entryName": "diamond", + "type": "item", + "name": "minecraft:diamond", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "iron_ingot", + "type": "item", + "name": "minecraft:iron_ingot", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 8, + "max": 12 + } + } + ] + }, + { + "entryName": "iron_block", + "type": "item", + "name": "minecraft:iron_block", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "ender_pearl", + "type": "item", + "name": "minecraft:ender_pearl", + "weight": 15 + }, + { + "entryName": "gunpowder", + "type": "item", + "name": "minecraft:gunpowder", + "weight": 20 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/pools/items/uncommon.json b/src/main/resources/loot_tables/treasure2/pools/items/uncommon.json new file mode 100644 index 000000000..d0ebcdc79 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/items/uncommon.json @@ -0,0 +1,209 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "uncommon_items", + "rolls": 1, + "entries": [ + { + "entryName": "spectral_arrow", + "type": "item", + "name": "minecraft:spectral_arrow", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 6 + } + } + ] + }, + { + "entryName": "iron_ingot", + "type": "item", + "name": "minecraft:iron_ingot", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 7 + } + } + ] + }, + { + "entryName": "paper", + "type": "item", + "name": "minecraft:paper", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "reeds", + "type": "item", + "name": "minecraft:reeds", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "book", + "type": "item", + "name": "minecraft:book", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "bowl", + "type": "item", + "name": "minecraft:bowl", + "weight": 30 + }, + { + "entryName": "redstone", + "type": "item", + "name": "minecraft:redstone", + "weight": 30, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "redstone_torch", + "type": "item", + "name": "minecraft:redstone_torch", + "weight": 40, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "coal", + "type": "item", + "name": "minecraft:coal", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 5 + } + } + ] + }, + { + "entryName": "bow", + "type": "item", + "name": "minecraft:bow", + "weight": 25 + }, + { + "entryName": "clay", + "type": "item", + "name": "minecraft:clay", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "bucket", + "type": "item", + "name": "minecraft:bucket", + "weight": 50 + }, + { + "entryName": "slime_ball", + "type": "item", + "name": "minecraft:slime_ball", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "lead", + "type": "item", + "name": "minecraft:lead", + "weight": 35, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "fermented_spider_eye", + "type": "item", + "name": "minecraft:fermented_spider_eye", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/resources/loot_tables/treasure2/potions/common.json b/src/main/resources/loot_tables/treasure2/pools/potions/common.json similarity index 100% rename from src/resources/loot_tables/treasure2/potions/common.json rename to src/main/resources/loot_tables/treasure2/pools/potions/common.json diff --git a/src/resources/loot_tables/treasure2/potions/epic.json b/src/main/resources/loot_tables/treasure2/pools/potions/epic.json similarity index 100% rename from src/resources/loot_tables/treasure2/potions/epic.json rename to src/main/resources/loot_tables/treasure2/pools/potions/epic.json diff --git a/src/resources/loot_tables/treasure2/potions/rare.json b/src/main/resources/loot_tables/treasure2/pools/potions/rare.json similarity index 100% rename from src/resources/loot_tables/treasure2/potions/rare.json rename to src/main/resources/loot_tables/treasure2/pools/potions/rare.json diff --git a/src/resources/loot_tables/treasure2/potions/scarce.json b/src/main/resources/loot_tables/treasure2/pools/potions/scarce.json similarity index 100% rename from src/resources/loot_tables/treasure2/potions/scarce.json rename to src/main/resources/loot_tables/treasure2/pools/potions/scarce.json diff --git a/src/resources/loot_tables/treasure2/potions/uncommon.json b/src/main/resources/loot_tables/treasure2/pools/potions/uncommon.json similarity index 100% rename from src/resources/loot_tables/treasure2/potions/uncommon.json rename to src/main/resources/loot_tables/treasure2/pools/potions/uncommon.json diff --git a/src/resources/loot_tables/treasure2/tools/common.json b/src/main/resources/loot_tables/treasure2/pools/tools/common.json similarity index 100% rename from src/resources/loot_tables/treasure2/tools/common.json rename to src/main/resources/loot_tables/treasure2/pools/tools/common.json diff --git a/src/resources/loot_tables/treasure2/tools/epic.json b/src/main/resources/loot_tables/treasure2/pools/tools/epic.json similarity index 100% rename from src/resources/loot_tables/treasure2/tools/epic.json rename to src/main/resources/loot_tables/treasure2/pools/tools/epic.json diff --git a/src/resources/loot_tables/treasure2/tools/rare.json b/src/main/resources/loot_tables/treasure2/pools/tools/rare.json similarity index 100% rename from src/resources/loot_tables/treasure2/tools/rare.json rename to src/main/resources/loot_tables/treasure2/pools/tools/rare.json diff --git a/src/resources/loot_tables/treasure2/tools/scarce.json b/src/main/resources/loot_tables/treasure2/pools/tools/scarce.json similarity index 100% rename from src/resources/loot_tables/treasure2/tools/scarce.json rename to src/main/resources/loot_tables/treasure2/pools/tools/scarce.json diff --git a/src/resources/loot_tables/treasure2/tools/uncommon.json b/src/main/resources/loot_tables/treasure2/pools/tools/uncommon.json similarity index 100% rename from src/resources/loot_tables/treasure2/tools/uncommon.json rename to src/main/resources/loot_tables/treasure2/pools/tools/uncommon.json diff --git a/src/resources/loot_tables/treasure2/treasure/common.json b/src/main/resources/loot_tables/treasure2/pools/treasure/common.json similarity index 100% rename from src/resources/loot_tables/treasure2/treasure/common.json rename to src/main/resources/loot_tables/treasure2/pools/treasure/common.json diff --git a/src/resources/loot_tables/treasure2/treasure/epic.json b/src/main/resources/loot_tables/treasure2/pools/treasure/epic.json similarity index 100% rename from src/resources/loot_tables/treasure2/treasure/epic.json rename to src/main/resources/loot_tables/treasure2/pools/treasure/epic.json diff --git a/src/resources/loot_tables/treasure2/treasure/epic_charms.json b/src/main/resources/loot_tables/treasure2/pools/treasure/epic_charms.json similarity index 93% rename from src/resources/loot_tables/treasure2/treasure/epic_charms.json rename to src/main/resources/loot_tables/treasure2/pools/treasure/epic_charms.json index bf3c00033..a73762bf7 100644 --- a/src/resources/loot_tables/treasure2/treasure/epic_charms.json +++ b/src/main/resources/loot_tables/treasure2/pools/treasure/epic_charms.json @@ -13,19 +13,19 @@ "conditions": [ { "condition": "random_chance", - "chance": 0.10 + "chance": 0.08 } ] }, { "entryName": "miners_friend", "type": "item", - "name": "treasure2:minders_friend", + "name": "treasure2:miners_friend", "weight": 10, "conditions": [ { "condition": "random_chance", - "chance": 0.15 + "chance": 0.12 } ] }, @@ -37,7 +37,7 @@ "conditions": [ { "condition": "random_chance", - "chance": 0.25 + "chance": 0.20 } ], "functions": [ @@ -71,7 +71,7 @@ "conditions": [ { "condition": "random_chance", - "chance": 0.2 + "chance": 0.18 } ], "functions": [ @@ -106,7 +106,7 @@ "conditions": [ { "condition": "random_chance", - "chance": 0.15 + "chance": 0.12 } ] } diff --git a/src/main/resources/loot_tables/treasure2/pools/treasure/rare.json b/src/main/resources/loot_tables/treasure2/pools/treasure/rare.json new file mode 100644 index 000000000..f78c59722 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/treasure/rare.json @@ -0,0 +1,173 @@ +{ + "version": "1.1", + "pools": [ + { + "name": "rare_keys", + "rolls": 1, + "entries": [ + { + "entryName": "lightning_key", + "type": "item", + "name": "treasure2:lightning_key", + "weight": 10 + }, + { + "entryName": "metallurgists_key", + "type": "item", + "name": "treasure2:metallurgists_key", + "weight": 10 + }, + { + "entryName": "skeleton_key", + "type": "item", + "name": "treasure2:skeleton_key", + "weight": 7 + }, + { + "entryName": "ruby_key", + "type": "item", + "name": "treasure2:ruby_key", + "weight": 25 + }, + { + "entryName": "sapphire_key", + "type": "item", + "name": "treasure2:sapphire_key", + "weight": 25 + }, + { + "entryName": "diamond_key", + "type": "item", + "name": "treasure2:diamond_key", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "emerald_key", + "type": "item", + "name": "treasure2:emerald_key", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + } + ] + }, + { + "name": "rare_treasure", + "rolls": 1, + "entries": [ + { + "entryName": "silver_coin", + "type": "item", + "name": "treasure2:silver_coin", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 6 + } + } + ] + }, + { + "entryName": "gold_coin", + "type": "item", + "name": "treasure2:gold_coin", + "weight": 40, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "skull_sword", + "type": "item", + "name": "treasure2:skull_sword", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.30 + } + ] + }, + { + "entryName": "eye_patch", + "type": "item", + "name": "treasure2:eye_patch", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.30 + } + ] + }, + { + "entryName": "sapphire", + "type": "item", + "name": "treasure2:sapphire", + "weight": 10 + }, + { + "entryName": "ruby", + "type": "item", + "name": "treasure2:ruby", + "weight": 10 + }, + { + "entryName": "white_pearl", + "type": "item", + "name": "treasure2:white_pearl", + "weight": 8 + }, + { + "entryName": "painting_blocks_sand", + "type": "item", + "name": "treasure2:painting_blocks_sand", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.4 + } + ] + }, + { + "entryName": "painting_blocks_wood", + "type": "item", + "name": "treasure2:painting_blocks_wood", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.4 + } + ] + } + ] + } + ] +} diff --git a/src/resources/loot_tables/treasure2/treasure/rare_charms.json b/src/main/resources/loot_tables/treasure2/pools/treasure/rare_charms.json similarity index 100% rename from src/resources/loot_tables/treasure2/treasure/rare_charms.json rename to src/main/resources/loot_tables/treasure2/pools/treasure/rare_charms.json diff --git a/src/resources/loot_tables/treasure2/treasure/scarce.json b/src/main/resources/loot_tables/treasure2/pools/treasure/scarce.json similarity index 100% rename from src/resources/loot_tables/treasure2/treasure/scarce.json rename to src/main/resources/loot_tables/treasure2/pools/treasure/scarce.json diff --git a/src/resources/loot_tables/treasure2/treasure/scarce_charms.json b/src/main/resources/loot_tables/treasure2/pools/treasure/scarce_charms.json similarity index 100% rename from src/resources/loot_tables/treasure2/treasure/scarce_charms.json rename to src/main/resources/loot_tables/treasure2/pools/treasure/scarce_charms.json diff --git a/src/main/resources/loot_tables/treasure2/pools/treasure/uncommon.json b/src/main/resources/loot_tables/treasure2/pools/treasure/uncommon.json new file mode 100644 index 000000000..8448db990 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/pools/treasure/uncommon.json @@ -0,0 +1,146 @@ +{ + "version": "1.1", + "pools": [ + { + "name": "uncommon_keys", + "rolls": 1, + "entries": [ + { + "entryName": "wood_key", + "type": "item", + "name": "treasure2:wood_key", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "stone_key", + "type": "item", + "name": "treasure2:stone_key", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "pilferers_lock_pick", + "type": "item", + "name": "treasure2:pilferers_lock_pick", + "weight": 10, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "iron_key", + "type": "item", + "name": "treasure2:iron_key", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "thiefs_lock_pick", + "type": "item", + "name": "treasure2:thiefs_lock_pick", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "ember_key", + "type": "item", + "name": "treasure2:ember_key", + "weight": 10 + }, + { + "entryName": "leaf_key", + "type": "item", + "name": "treasure2:leaf_key", + "weight": 15 + }, + { + "entryName": "gold_key", + "type": "item", + "name": "treasure2:gold_key", + "weight": 10 + }, + { + "entryName": "spider_key", + "type": "item", + "name": "treasure2:spider_key", + "weight": 10 + } + ] + }, + { + "name": "uncommon_treasure", + "rolls": 1, + "entries": [ + { + "entryName": "silver_coin", + "type": "item", + "name": "treasure2:silver_coin", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "gold_coin", + "type": "item", + "name": "treasure2:gold_coin", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 0, + "max": 1 + } + } + ] + } + ] + } + ] +} diff --git a/src/resources/loot_tables/treasure2/treasure/uncommon_charms.json b/src/main/resources/loot_tables/treasure2/pools/treasure/uncommon_charms.json similarity index 100% rename from src/resources/loot_tables/treasure2/treasure/uncommon_charms.json rename to src/main/resources/loot_tables/treasure2/pools/treasure/uncommon_charms.json diff --git a/src/main/resources/loot_tables/treasure2/potions/common.json b/src/main/resources/loot_tables/treasure2/potions/common.json new file mode 100644 index 000000000..0ec4c697f --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/potions/common.json @@ -0,0 +1,59 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "common_potions", + "rolls": 1, + "entries": [ + { + "entryName": "potion_c1", + "type": "item", + "name": "minecraft:potion", + "weight": 1, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:regeneration\"}" + } + ] + }, + { + "entryName": "potion_c2", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:night_vision\"}" + } + ] + }, + { + "entryName": "potion_c3", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:leaping\"}" + } + ] + }, + { + "entryName": "potion_c4", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:mundane\"}" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/potions/epic.json b/src/main/resources/loot_tables/treasure2/potions/epic.json new file mode 100644 index 000000000..8114939cb --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/potions/epic.json @@ -0,0 +1,83 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "epic_potions", + "rolls": 1, + "entries": [ + { + "entryName": "potion_e1", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"treasure2:extra_strong_healing\"}" + } + ] + }, + { + "entryName": "potion_e2", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"treasure2:extra_strong_strength\"}" + } + ] + }, + { + "entryName": "potion_e3", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"treasure2:extra_strong_leaping\"}" + } + ] + }, + { + "entryName": "potion_e4", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"treasure2:extra_strong_swiftness\"}" + } + ] + }, + { + "entryName": "potion_e5", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"treasure2:extra_strong_regeneration\"}" + } + ] + }, + { + "entryName": "potion_e6", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"treasure2:extra_strong_poison\"}" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/potions/rare.json b/src/main/resources/loot_tables/treasure2/potions/rare.json new file mode 100644 index 000000000..02f27476f --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/potions/rare.json @@ -0,0 +1,119 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "rare_potions", + "rolls": 1, + "entries": [ + { + "entryName": "potion_r1", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:long_swiftness\"}" + } + ] + }, + { + "entryName": "potion_r2", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:long_fire_resistance\"}" + } + ] + }, + { + "entryName": "potion_r3", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:long_strength\"}" + } + ] + }, + { + "entryName": "potion_r4", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:strong_healing\"}" + } + ] + }, + { + "entryName": "potion_r5", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:long_leaping\"}" + } + ] + }, + { + "entryName": "potion_r6", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:strong_harming\"}" + } + ] + }, + { + "entryName": "potion_r7", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:long_regeneration\"}" + } + ] + }, + { + "entryName": "potion_r8", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:luck\"}" + } + ] + }, + { + "entryName": "potion_r9", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:long_poison\"}" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/potions/scarce.json b/src/main/resources/loot_tables/treasure2/potions/scarce.json new file mode 100644 index 000000000..084f3b672 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/potions/scarce.json @@ -0,0 +1,107 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "scarce_potions", + "rolls": 1, + "entries": [ + { + "entryName": "potion_s1", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:long_night_vision\"}" + } + ] + }, + { + "entryName": "potion_s2", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:long_invisibility\"}" + } + ] + }, + { + "entryName": "potion_s3", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:strong_strength\"}" + } + ] + }, + { + "entryName": "potion_s4", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:long_weakness\"}" + } + ] + }, + { + "entryName": "potion_s5", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:strong_leaping\"}" + } + ] + }, + { + "entryName": "potion_s6", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:strong_swiftness\"}" + } + ] + }, + { + "entryName": "potion_s7", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:strong_regeneration\"}" + } + ] + }, + { + "entryName": "potion_s8", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:strong_poison\"}" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/potions/uncommon.json b/src/main/resources/loot_tables/treasure2/potions/uncommon.json new file mode 100644 index 000000000..cd82fb0be --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/potions/uncommon.json @@ -0,0 +1,71 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "uncommon_potions", + "rolls": 1, + "entries": [ + { + "entryName": "potion_uc1", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:invisibility\"}" + } + ] + }, + { + "entryName": "potion_uc2", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:strength\"}" + } + ] + }, + { + "entryName": "potion_uc3", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:weakness\"}" + } + ] + }, + { + "entryName": "potion_uc4", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:swiftness\"}" + } + ] + }, + { + "entryName": "potion_uc5", + "type": "item", + "name": "minecraft:potion", + "weight": 10, + "functions": [ + { + "function": "set_nbt", + "tag": "{Potion:\"minecraft:water_breathing\"}" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/tools/common.json b/src/main/resources/loot_tables/treasure2/tools/common.json new file mode 100644 index 000000000..2ebb50a73 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/tools/common.json @@ -0,0 +1,47 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "common_tools", + "rolls": 1, + "entries": [ + { + "entryName": "stone_sword", + "type": "item", + "name": "minecraft:stone_sword", + "weight": 25 + }, + { + "entryName": "stone_pickaxe", + "type": "item", + "name": "minecraft:stone_pickaxe", + "weight": 25 + }, + { + "entryName": "stone_axe", + "type": "item", + "name": "minecraft:stone_axe", + "weight": 25 + }, + { + "entryName": "golden_sword", + "type": "item", + "name": "minecraft:golden_sword", + "weight": 15 + }, + { + "entryName": "golden_pickaxe", + "type": "item", + "name": "minecraft:golden_pickaxe", + "weight": 15 + }, + { + "entryName": "golden_axe", + "type": "item", + "name": "minecraft:golden_axe", + "weight": 15 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/tools/epic.json b/src/main/resources/loot_tables/treasure2/tools/epic.json new file mode 100644 index 000000000..64b093512 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/tools/epic.json @@ -0,0 +1,48 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "epic_tools", + "rolls": 1, + "entries": [ + { + "entryName": "iron_sword", + "type": "item", + "name": "minecraft:iron_sword", + "weight": 35 , + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + }, + { + "function": "enchant_with_levels", + "levels": 20, + "treasure": true + }, + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "diamond_sword", + "type": "item", + "name": "minecraft:diamond_sword", + "weight": 50, + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + }, + { + "function": "enchant_randomly" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/tools/rare.json b/src/main/resources/loot_tables/treasure2/tools/rare.json new file mode 100644 index 000000000..73813fa52 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/tools/rare.json @@ -0,0 +1,61 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "rare_tools", + "rolls": 1, + "entries": [ + { + "entryName": "iron_sword", + "type": "item", + "name": "minecraft:iron_sword", + "weight": 35 , + "functions": [ + { + "function": "enchant_with_levels", + "levels": 30, + "treasure": true + }, + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "diamond_sword", + "type": "item", + "name": "minecraft:diamond_sword", + "weight": 50, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + + { + "entryName": "diamond_pickaxe", + "type": "item", + "name": "minecraft:diamond_pickaxe", + "weight": 50, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "diamond_axe", + "type": "item", + "name": "minecraft:diamond_axe", + "weight": 50, + "functions": [ + { + "function": "enchant_randomly" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/tools/scarce.json b/src/main/resources/loot_tables/treasure2/tools/scarce.json new file mode 100644 index 000000000..49e170c47 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/tools/scarce.json @@ -0,0 +1,67 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "scarce_tools", + "rolls": 1, + "entries": [ + { + "entryName": "iron_sword", + "type": "item", + "name": "minecraft:iron_sword", + "weight": 25, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "bow", + "type": "item", + "name": "minecraft:bow", + "weight": 20, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "iron_pickaxe", + "type": "item", + "name": "minecraft:iron_pickaxe", + "weight": 13, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "iron_axe", + "type": "item", + "name": "minecraft:iron_axe", + "weight": 25, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "diamond_sword", + "type": "item", + "name": "minecraft:diamond_sword", + "weight": 10 + }, + { + "entryName": "diamond_pickaxe", + "type": "item", + "name": "minecraft:diamond_pickaxe", + "weight": 15 + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/tools/uncommon.json b/src/main/resources/loot_tables/treasure2/tools/uncommon.json new file mode 100644 index 000000000..140d93679 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/tools/uncommon.json @@ -0,0 +1,62 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "uncommon_tools", + "rolls": 1, + "entries": [ + { + "entryName": "iron_sword", + "type": "item", + "name": "minecraft:iron_sword", + "weight": 35 + }, + { + "entryName": "iron_pickaxe", + "type": "item", + "name": "minecraft:iron_pickaxe", + "weight": 25 + }, + { + "entryName": "iron_axe", + "type": "item", + "name": "minecraft:iron_axe", + "weight": 25 + }, + { + "entryName": "golden_sword", + "type": "item", + "name": "minecraft:golden_sword", + "weight": 25, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "golden_pickaxe", + "type": "item", + "name": "minecraft:golden_pickaxe", + "weight": 15, + "functions": [ + { + "function": "enchant_randomly" + } + ] + }, + { + "entryName": "golden_axe", + "type": "item", + "name": "minecraft:golden_axe", + "weight": 15, + "functions": [ + { + "function": "enchant_randomly" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/treasure/common.json b/src/main/resources/loot_tables/treasure2/treasure/common.json new file mode 100644 index 000000000..5496b147b --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/treasure/common.json @@ -0,0 +1,116 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "common_keys", + "rolls": 1, + "entries": [ + { + "entryName": "wood_key", + "type": "item", + "name": "treasure2:wood_key", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "stone_key", + "type": "item", + "name": "treasure2:stone_key", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "pilferers_lock_pick", + "type": "item", + "name": "treasure2:pilferers_lock_pick", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "iron_key", + "type": "item", + "name": "treasure2:iron_key", + "weight": 10 + }, + { + "entryName": "thiefs_lock_pick", + "type": "item", + "name": "treasure2:thiefs_lock_pick", + "weight": 10 + } + ] + }, + { + "name": "common_treasure", + "rolls": 1, + "entries": [ + { + "entryName": "silver_coin", + "type": "item", + "name": "treasure2:silver_coin", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 0, + "max": 1 + } + } + ] + } + ] + }, + { + "name": "common_charms", + "rolls": 1, + "entries": [ + { + "entryName": "charm1", + "type": "item", + "name": "treasure2:charmed_silver_coin", + "weight": 1, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.2 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "lesser_healing", + "durable_shielding" + ] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/loot_tables/treasure2/treasure/epic.json b/src/main/resources/loot_tables/treasure2/treasure/epic.json new file mode 100644 index 000000000..57a9ca123 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/treasure/epic.json @@ -0,0 +1,204 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "epic_keys", + "rolls": 1, + "entries": [ + { + "entryName": "jewelled_key", + "type": "item", + "name": "treasure2:jewelled_key", + "weight": 10 + }, + { + "entryName": "ruby_key", + "type": "item", + "name": "treasure2:ruby_key", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 0, + "max": 2 + } + } + ] + }, + { + "entryName": "sapphire_key", + "type": "item", + "name": "treasure2:sapphire_key", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 0, + "max": 2 + } + } + ] + }, + { + "entryName": "diamond_key", + "type": "item", + "name": "treasure2:diamond_key", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "emerald_key", + "type": "item", + "name": "treasure2:emerald_key", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "metallurgists_key", + "type": "item", + "name": "treasure2:metallurgists_key", + "weight": 20 + }, + { + "entryName": "skeleton_key", + "type": "item", + "name": "treasure2:skeleton_key", + "weight": 12 + } + ] + }, + { + "name": "epic_treasure", + "rolls": 1, + "entries": [ + { + "entryName": "silver_coin", + "type": "item", + "name": "treasure2:silver_coin", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 3, + "max": 10 + } + } + ] + }, + { + "entryName": "gold_coin", + "type": "item", + "name": "treasure2:gold_coin", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 2, + "max": 5 + } + } + ] + }, + { + "entryName": "skull_sword", + "type": "item", + "name": "treasure2:skull_sword", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.5 + } + ] + }, + { + "entryName": "sapphire", + "type": "item", + "name": "treasure2:sapphire", + "weight": 10 + }, + { + "entryName": "ruby", + "type": "item", + "name": "treasure2:ruby", + "weight": 10 + }, + { + "entryName": "white_pearl", + "type": "item", + "name": "treasure2:white_pearl", + "weight": 10 + }, + { + "entryName": "black_pearl", + "type": "item", + "name": "treasure2:white_pearl", + "weight": 8 + }, + { + "entryName": "eye_patch", + "type": "item", + "name": "treasure2:eye_patch", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.50 + } + ] + }, + { + "entryName": "painting_blocks_bricks", + "type": "item", + "name": "treasure2:painting_blocks_bricks", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.25 + } + ] + }, + { + "entryName": "painting_blocks_lava", + "type": "item", + "name": "treasure2:painting_blocks_lava", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.25 + } + ] + } + ] + }, + { + "name": "epic_charms", + "rolls": 1, + "entries": [ + + ] + } + ] +} diff --git a/src/main/resources/loot_tables/treasure2/treasure/epic_charms.json b/src/main/resources/loot_tables/treasure2/treasure/epic_charms.json new file mode 100644 index 000000000..1fc5d8918 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/treasure/epic_charms.json @@ -0,0 +1,116 @@ +{ + "version": "1.1", + "pools": [ + { + "name": "epic_charms", + "rolls": 1, + "entries": [ + { + "entryName": "angel_blessed", + "type": "item", + "name": "treasure2:angel_blessed", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.08 + } + ] + }, + { + "entryName": "miners_friend", + "type": "item", + "name": "treasure2:miners_friend", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.12 + } + ] + }, + { + "entryName": "charm1", + "type": "item", + "name": "treasure2:charmed_gold_coin", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.20 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "greater_healing", + "hardened_shielding", + "overfed_fullness", + "major_harvesting", + "greater_illumination" + ] + }, + { + "function": "treasure2:charm_randomly", + "charms": [ + "greater_healing", + "hardened_shielding", + "overfed_fullness", + "major_harvesting", + "greater_illumination" + ] + } + ] + }, + { + "entryName": "charm2", + "type": "item", + "name": "treasure2:charmed_gold_coin", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.18 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "greater_healing", + "hardened_shielding", + "overfed_fullness", + "major_harvesting", + "greater_illumination", + "greater_decay" + ] + }, + { + "function": "treasure2:charm_randomly", + "charms": [ + "grand_healing", + "powerful_shielding", + "gorged_fullness", + "grand_harvesting", + "grand_illumination" + ] + } + ] + }, + { + "entryName": "masters_pouch", + "type": "item", + "weight": 10, + "name": "treasure2:masters_pouch", + "conditions": [ + { + "condition": "random_chance", + "chance": 0.12 + } + ] + } + ] + } + ] +} diff --git a/src/resources/loot_tables/treasure2/treasure/rare.json b/src/main/resources/loot_tables/treasure2/treasure/rare.json similarity index 100% rename from src/resources/loot_tables/treasure2/treasure/rare.json rename to src/main/resources/loot_tables/treasure2/treasure/rare.json diff --git a/src/main/resources/loot_tables/treasure2/treasure/rare_charms.json b/src/main/resources/loot_tables/treasure2/treasure/rare_charms.json new file mode 100644 index 000000000..f93ffde6a --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/treasure/rare_charms.json @@ -0,0 +1,142 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "rare_charms", + "rolls": 1, + "entries": [ + { + "entryName": "charm1", + "type": "item", + "name": "treasure2:charmed_gold_coin", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.15 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "greater_healing", + "hardened_shielding", + "overfed_fullness", + "major_harvesting", + "greater_illumination" + ] + }, + { + "function": "treasure2:charm_randomly", + "charms": [ + "greater_healing", + "hardened_shielding", + "overfed_fullness", + "major_harvesting", + "greater_illumination", + "decay" + ] + } + ] + }, + { + "entryName": "charm2", + "type": "item", + "name": "treasure2:charmed_ruby", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.25 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "grand_healing", + "powerful_shielding", + "gorged_fullness", + "grand_harvesting", + "grand_illumination" + ] + } + ] + }, + { + "entryName": "medics_token", + "type": "item", + "name": "treasure2:medics_token", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.15 + } + ] + }, + { + "entryName": "salandaars_ward", + "type": "item", + "name": "treasure2:salandaars_ward", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.15 + } + ] + }, + { + "entryName": "dwarven_talisman", + "type": "item", + "name": "treasure2:dwarven_talisman", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.15 + } + ] + }, + { + "entryName": "adephagias_bounty", + "type": "item", + "name": "treasure2:adephagias_bounty", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.15 + } + ] + }, + { + "entryName": "mirthas_torch", + "type": "item", + "name": "treasure2:mirthas_torch", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.15 + } + ] + }, + { + "entryName": "apprentices_pouch", + "type": "item", + "weight": 10, + "name": "treasure2:apprentices_pouch", + "conditions": [ + { + "condition": "random_chance", + "chance": 0.12 + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/loot_tables/treasure2/treasure/scarce.json b/src/main/resources/loot_tables/treasure2/treasure/scarce.json new file mode 100644 index 000000000..a1bbe53a8 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/treasure/scarce.json @@ -0,0 +1,201 @@ +{ + "version": "1.1", + "pools": [ + { + "name": "scarce_keys", + "rolls": 1, + "entries": [ + { + "entryName": "iron_key", + "type": "item", + "name": "treasure2:iron_key", + "weight": 15, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "thiefs_lock_pick", + "type": "item", + "name": "treasure2:thiefs_lock_pick", + "weight": 10, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "leaf_key", + "type": "item", + "name": "treasure2:leaf_key", + "weight": 20, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "ember_key", + "type": "item", + "name": "treasure2:ember_key", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "lightning_key", + "type": "item", + "name": "treasure2:lightning_key", + "weight": 7 + }, + { + "entryName": "gold_key", + "type": "item", + "name": "treasure2:gold_key", + "weight": 25, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "spider_key", + "type": "item", + "name": "treasure2:spider_key", + "weight": 20 + }, + { + "entryName": "diamond_key", + "type": "item", + "name": "treasure2:diamond_key", + "weight": 10 + }, + { + "entryName": "emerald_key", + "type": "item", + "name": "treasure2:emerald_key", + "weight": 10 + } + ] + }, + { + "name": "scarce_treasure", + "rolls": 1, + "entries": [ + { + "entryName": "silver_coin", + "type": "item", + "name": "treasure2:silver_coin", + "weight": 50, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 3 + } + } + ] + }, + { + "entryName": "gold_coin", + "type": "item", + "name": "treasure2:gold_coin", + "weight": 40, + "functions": [ + { + "function": "set_count", + "count": { + "min": 1, + "max": 2 + } + } + ] + }, + { + "entryName": "skull_sword", + "type": "item", + "name": "treasure2:skull_sword", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.2 + } + ] + }, + { + "entryName": "painting_blocks_dirt", + "type": "item", + "name": "treasure2:painting_blocks_dirt", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.5 + } + ] + }, + { + "entryName": "painting_blocks_cobblestone", + "type": "item", + "name": "treasure2:painting_blocks_cobblestone", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.5 + } + ] + }, + { + "entryName": "painting_blocks_water", + "type": "item", + "name": "treasure2:painting_blocks_water", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.5 + } + ] + } + ] + }, + { + "name": "scarce_charms", + "rolls": 1, + "entries": [ + + ] + } + ] +} diff --git a/src/main/resources/loot_tables/treasure2/treasure/scarce_charms.json b/src/main/resources/loot_tables/treasure2/treasure/scarce_charms.json new file mode 100644 index 000000000..0905e73d5 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/treasure/scarce_charms.json @@ -0,0 +1,117 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "scarce_charms", + "rolls": 1, + "entries": [ + { + "entryName": "charm1", + "type": "item", + "name": "treasure2:charmed_silver_coin", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.12 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "lesser_healing", + "durable_shielding", + "fullness", + "minor_harvesting", + "lesser_illumination" + ] + } + ] + }, + { + "entryName": "charm2", + "type": "item", + "name": "treasure2:charmed_gold_coin", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.12 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "lesser_healing", + "durable_shielding", + "fullness", + "minor_harvesting", + "lesser_illumination" + ] + }, + { + "function": "treasure2:charm_randomly", + "charms": [ + "healing", + "stout_shielding", + "sated_fullness", + "harvesting", + "illumination" + ] + } + ] + }, + { + "entryName": "charm3", + "type": "item", + "name": "treasure2:charmed_gold_coin", + "weight": 10, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.1 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "greater_healing", + "hardened_shielding", + "overfed_fullness", + "major_harvesting", + "greater_illumination" + ] + } + ] + }, + { + "entryName": "fools_coin", + "type": "item", + "weight": 10, + "name": "treasure2:fools_coin", + "conditions": [ + { + "condition": "random_chance", + "chance": 0.12 + } + ] + }, + { + "entryName": "lucky_pouch", + "type": "item", + "weight": 10, + "name": "treasure2:lucky_pouch", + "conditions": [ + { + "condition": "random_chance", + "chance": 0.12 + } + ] + } + ] + } + ] +} diff --git a/src/resources/loot_tables/treasure2/treasure/uncommon.json b/src/main/resources/loot_tables/treasure2/treasure/uncommon.json similarity index 100% rename from src/resources/loot_tables/treasure2/treasure/uncommon.json rename to src/main/resources/loot_tables/treasure2/treasure/uncommon.json diff --git a/src/main/resources/loot_tables/treasure2/treasure/uncommon_charms.json b/src/main/resources/loot_tables/treasure2/treasure/uncommon_charms.json new file mode 100644 index 000000000..096f9e5a8 --- /dev/null +++ b/src/main/resources/loot_tables/treasure2/treasure/uncommon_charms.json @@ -0,0 +1,76 @@ +{ + "version": "1.0", + "pools": [ + { + "name": "uncommon_charms", + "rolls": 1, + "entries": [ + { + "entryName": "charm1", + "type": "item", + "name": "treasure2:charmed_silver_coin", + "weight": 1, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.2 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "lesser_healing", + "durable_shielding" + ] + } + ] + }, + { + "entryName": "charm2", + "type": "item", + "name": "treasure2:charmed_silver_coin", + "weight": 1, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.1 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "lesser_healing", + "durable_shielding", + "sated_fullness", + "harvesting" + ] + } + ] + }, + { + "entryName": "charm3", + "type": "item", + "name": "treasure2:charmed_silver_coin", + "weight": 1, + "conditions": [ + { + "condition": "random_chance", + "chance": 0.12 + } + ], + "functions": [ + { + "function": "treasure2:charm_randomly", + "charms": [ + "healing", + "stout_shielding" + ] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/resources/mcmod.info b/src/main/resources/mcmod.info similarity index 95% rename from src/resources/mcmod.info rename to src/main/resources/mcmod.info index 785198637..30549ae76 100644 --- a/src/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "treasure2", "name": "Treasure2!", "description": "", - "version": "1.13.1", + "version": "1.14.0", "mcversion": "1.12.2", "url": "", "updateUrl": "", diff --git a/src/resources/meta/treasure2/structures/basic1.json b/src/main/resources/meta/treasure2/structures/basic1.json similarity index 100% rename from src/resources/meta/treasure2/structures/basic1.json rename to src/main/resources/meta/treasure2/structures/basic1.json diff --git a/src/resources/meta/treasure2/structures/basic2.json b/src/main/resources/meta/treasure2/structures/basic2.json similarity index 100% rename from src/resources/meta/treasure2/structures/basic2.json rename to src/main/resources/meta/treasure2/structures/basic2.json diff --git a/src/resources/meta/treasure2/structures/basic3.json b/src/main/resources/meta/treasure2/structures/basic3.json similarity index 100% rename from src/resources/meta/treasure2/structures/basic3.json rename to src/main/resources/meta/treasure2/structures/basic3.json diff --git a/src/resources/meta/treasure2/structures/basic4.json b/src/main/resources/meta/treasure2/structures/basic4.json similarity index 100% rename from src/resources/meta/treasure2/structures/basic4.json rename to src/main/resources/meta/treasure2/structures/basic4.json diff --git a/src/resources/meta/treasure2/structures/basic5.json b/src/main/resources/meta/treasure2/structures/basic5.json similarity index 100% rename from src/resources/meta/treasure2/structures/basic5.json rename to src/main/resources/meta/treasure2/structures/basic5.json diff --git a/src/resources/meta/treasure2/structures/beached-ship1.json b/src/main/resources/meta/treasure2/structures/beached-ship1.json similarity index 100% rename from src/resources/meta/treasure2/structures/beached-ship1.json rename to src/main/resources/meta/treasure2/structures/beached-ship1.json diff --git a/src/resources/meta/treasure2/structures/beached-ship2.json b/src/main/resources/meta/treasure2/structures/beached-ship2.json similarity index 100% rename from src/resources/meta/treasure2/structures/beached-ship2.json rename to src/main/resources/meta/treasure2/structures/beached-ship2.json diff --git a/src/resources/meta/treasure2/structures/beached-ship3.json b/src/main/resources/meta/treasure2/structures/beached-ship3.json similarity index 100% rename from src/resources/meta/treasure2/structures/beached-ship3.json rename to src/main/resources/meta/treasure2/structures/beached-ship3.json diff --git a/src/resources/meta/treasure2/structures/blacksmith1.json b/src/main/resources/meta/treasure2/structures/blacksmith1.json similarity index 100% rename from src/resources/meta/treasure2/structures/blacksmith1.json rename to src/main/resources/meta/treasure2/structures/blacksmith1.json diff --git a/src/resources/meta/treasure2/structures/canopy-wishing-well1.json b/src/main/resources/meta/treasure2/structures/canopy-wishing-well1.json similarity index 100% rename from src/resources/meta/treasure2/structures/canopy-wishing-well1.json rename to src/main/resources/meta/treasure2/structures/canopy-wishing-well1.json diff --git a/src/resources/meta/treasure2/structures/castle1.json b/src/main/resources/meta/treasure2/structures/castle1.json similarity index 100% rename from src/resources/meta/treasure2/structures/castle1.json rename to src/main/resources/meta/treasure2/structures/castle1.json diff --git a/src/resources/meta/treasure2/structures/cave1.json b/src/main/resources/meta/treasure2/structures/cave1.json similarity index 100% rename from src/resources/meta/treasure2/structures/cave1.json rename to src/main/resources/meta/treasure2/structures/cave1.json diff --git a/src/resources/meta/treasure2/structures/cave2.json b/src/main/resources/meta/treasure2/structures/cave2.json similarity index 100% rename from src/resources/meta/treasure2/structures/cave2.json rename to src/main/resources/meta/treasure2/structures/cave2.json diff --git a/src/resources/meta/treasure2/structures/church1.json b/src/main/resources/meta/treasure2/structures/church1.json similarity index 100% rename from src/resources/meta/treasure2/structures/church1.json rename to src/main/resources/meta/treasure2/structures/church1.json diff --git a/src/resources/meta/treasure2/structures/cobb1.json b/src/main/resources/meta/treasure2/structures/cobb1.json similarity index 100% rename from src/resources/meta/treasure2/structures/cobb1.json rename to src/main/resources/meta/treasure2/structures/cobb1.json diff --git a/src/resources/meta/treasure2/structures/crypt1.json b/src/main/resources/meta/treasure2/structures/crypt1.json similarity index 100% rename from src/resources/meta/treasure2/structures/crypt1.json rename to src/main/resources/meta/treasure2/structures/crypt1.json diff --git a/src/resources/meta/treasure2/structures/crypt2.json b/src/main/resources/meta/treasure2/structures/crypt2.json similarity index 100% rename from src/resources/meta/treasure2/structures/crypt2.json rename to src/main/resources/meta/treasure2/structures/crypt2.json diff --git a/src/resources/meta/treasure2/structures/crypt3.json b/src/main/resources/meta/treasure2/structures/crypt3.json similarity index 100% rename from src/resources/meta/treasure2/structures/crypt3.json rename to src/main/resources/meta/treasure2/structures/crypt3.json diff --git a/src/resources/meta/treasure2/structures/desert-tower2.json b/src/main/resources/meta/treasure2/structures/desert-tower2.json similarity index 100% rename from src/resources/meta/treasure2/structures/desert-tower2.json rename to src/main/resources/meta/treasure2/structures/desert-tower2.json diff --git a/src/resources/meta/treasure2/structures/desert-wishing-well1.json b/src/main/resources/meta/treasure2/structures/desert-wishing-well1.json similarity index 100% rename from src/resources/meta/treasure2/structures/desert-wishing-well1.json rename to src/main/resources/meta/treasure2/structures/desert-wishing-well1.json diff --git a/src/resources/meta/treasure2/structures/desert-wishing-well2.json b/src/main/resources/meta/treasure2/structures/desert-wishing-well2.json similarity index 100% rename from src/resources/meta/treasure2/structures/desert-wishing-well2.json rename to src/main/resources/meta/treasure2/structures/desert-wishing-well2.json diff --git a/src/resources/meta/treasure2/structures/dingy1.json b/src/main/resources/meta/treasure2/structures/dingy1.json similarity index 100% rename from src/resources/meta/treasure2/structures/dingy1.json rename to src/main/resources/meta/treasure2/structures/dingy1.json diff --git a/src/resources/meta/treasure2/structures/fortress1.json b/src/main/resources/meta/treasure2/structures/fortress1.json similarity index 100% rename from src/resources/meta/treasure2/structures/fortress1.json rename to src/main/resources/meta/treasure2/structures/fortress1.json diff --git a/src/resources/meta/treasure2/structures/house1.json b/src/main/resources/meta/treasure2/structures/house1.json similarity index 100% rename from src/resources/meta/treasure2/structures/house1.json rename to src/main/resources/meta/treasure2/structures/house1.json diff --git a/src/resources/meta/treasure2/structures/ionic1.json b/src/main/resources/meta/treasure2/structures/ionic1.json similarity index 100% rename from src/resources/meta/treasure2/structures/ionic1.json rename to src/main/resources/meta/treasure2/structures/ionic1.json diff --git a/src/resources/meta/treasure2/structures/iron-chamber1.json b/src/main/resources/meta/treasure2/structures/iron-chamber1.json similarity index 100% rename from src/resources/meta/treasure2/structures/iron-chamber1.json rename to src/main/resources/meta/treasure2/structures/iron-chamber1.json diff --git a/src/resources/meta/treasure2/structures/iron-chamber2.json b/src/main/resources/meta/treasure2/structures/iron-chamber2.json similarity index 100% rename from src/resources/meta/treasure2/structures/iron-chamber2.json rename to src/main/resources/meta/treasure2/structures/iron-chamber2.json diff --git a/src/resources/meta/treasure2/structures/large-tower1.json b/src/main/resources/meta/treasure2/structures/large-tower1.json similarity index 100% rename from src/resources/meta/treasure2/structures/large-tower1.json rename to src/main/resources/meta/treasure2/structures/large-tower1.json diff --git a/src/resources/meta/treasure2/structures/mine1.json b/src/main/resources/meta/treasure2/structures/mine1.json similarity index 100% rename from src/resources/meta/treasure2/structures/mine1.json rename to src/main/resources/meta/treasure2/structures/mine1.json diff --git a/src/resources/meta/treasure2/structures/obsidian-chamber1.json b/src/main/resources/meta/treasure2/structures/obsidian-chamber1.json similarity index 100% rename from src/resources/meta/treasure2/structures/obsidian-chamber1.json rename to src/main/resources/meta/treasure2/structures/obsidian-chamber1.json diff --git a/src/resources/meta/treasure2/structures/pirate-chamber1.json b/src/main/resources/meta/treasure2/structures/pirate-chamber1.json similarity index 100% rename from src/resources/meta/treasure2/structures/pirate-chamber1.json rename to src/main/resources/meta/treasure2/structures/pirate-chamber1.json diff --git a/src/resources/meta/treasure2/structures/simple-well1.json b/src/main/resources/meta/treasure2/structures/simple-well1.json similarity index 100% rename from src/resources/meta/treasure2/structures/simple-well1.json rename to src/main/resources/meta/treasure2/structures/simple-well1.json diff --git a/src/resources/meta/treasure2/structures/sunken-ship1.json b/src/main/resources/meta/treasure2/structures/sunken-ship1.json similarity index 100% rename from src/resources/meta/treasure2/structures/sunken-ship1.json rename to src/main/resources/meta/treasure2/structures/sunken-ship1.json diff --git a/src/resources/meta/treasure2/structures/sunken-ship2.json b/src/main/resources/meta/treasure2/structures/sunken-ship2.json similarity index 100% rename from src/resources/meta/treasure2/structures/sunken-ship2.json rename to src/main/resources/meta/treasure2/structures/sunken-ship2.json diff --git a/src/resources/meta/treasure2/structures/sunken-ship3.json b/src/main/resources/meta/treasure2/structures/sunken-ship3.json similarity index 100% rename from src/resources/meta/treasure2/structures/sunken-ship3.json rename to src/main/resources/meta/treasure2/structures/sunken-ship3.json diff --git a/src/resources/meta/treasure2/structures/tower1.json b/src/main/resources/meta/treasure2/structures/tower1.json similarity index 100% rename from src/resources/meta/treasure2/structures/tower1.json rename to src/main/resources/meta/treasure2/structures/tower1.json diff --git a/src/resources/meta/treasure2/structures/tower2.json b/src/main/resources/meta/treasure2/structures/tower2.json similarity index 100% rename from src/resources/meta/treasure2/structures/tower2.json rename to src/main/resources/meta/treasure2/structures/tower2.json diff --git a/src/resources/meta/treasure2/structures/tower3.json b/src/main/resources/meta/treasure2/structures/tower3.json similarity index 100% rename from src/resources/meta/treasure2/structures/tower3.json rename to src/main/resources/meta/treasure2/structures/tower3.json diff --git a/src/resources/meta/treasure2/structures/tower4.json b/src/main/resources/meta/treasure2/structures/tower4.json similarity index 100% rename from src/resources/meta/treasure2/structures/tower4.json rename to src/main/resources/meta/treasure2/structures/tower4.json diff --git a/src/resources/meta/treasure2/structures/tower5.json b/src/main/resources/meta/treasure2/structures/tower5.json similarity index 100% rename from src/resources/meta/treasure2/structures/tower5.json rename to src/main/resources/meta/treasure2/structures/tower5.json diff --git a/src/resources/meta/treasure2/structures/underwater-ruin1.json b/src/main/resources/meta/treasure2/structures/underwater-ruin1.json similarity index 100% rename from src/resources/meta/treasure2/structures/underwater-ruin1.json rename to src/main/resources/meta/treasure2/structures/underwater-ruin1.json diff --git a/src/resources/meta/treasure2/structures/underwater-ruins2.json b/src/main/resources/meta/treasure2/structures/underwater-ruins2.json similarity index 100% rename from src/resources/meta/treasure2/structures/underwater-ruins2.json rename to src/main/resources/meta/treasure2/structures/underwater-ruins2.json diff --git a/src/resources/meta/treasure2/structures/underwater-ruins3.json b/src/main/resources/meta/treasure2/structures/underwater-ruins3.json similarity index 100% rename from src/resources/meta/treasure2/structures/underwater-ruins3.json rename to src/main/resources/meta/treasure2/structures/underwater-ruins3.json diff --git a/src/resources/meta/treasure2/structures/wither-chamber1.json b/src/main/resources/meta/treasure2/structures/wither-chamber1.json similarity index 100% rename from src/resources/meta/treasure2/structures/wither-chamber1.json rename to src/main/resources/meta/treasure2/structures/wither-chamber1.json diff --git a/src/resources/meta/treasure2/structures/wood-draw-wishing-well1.json b/src/main/resources/meta/treasure2/structures/wood-draw-wishing-well1.json similarity index 100% rename from src/resources/meta/treasure2/structures/wood-draw-wishing-well1.json rename to src/main/resources/meta/treasure2/structures/wood-draw-wishing-well1.json diff --git a/src/resources/structures/treasure2/submerged/dingy1.nbt b/src/main/resources/structures/treasure2/submerged/dingy1.nbt similarity index 100% rename from src/resources/structures/treasure2/submerged/dingy1.nbt rename to src/main/resources/structures/treasure2/submerged/dingy1.nbt diff --git a/src/resources/structures/treasure2/submerged/sunken-ship1.nbt b/src/main/resources/structures/treasure2/submerged/sunken-ship1.nbt similarity index 100% rename from src/resources/structures/treasure2/submerged/sunken-ship1.nbt rename to src/main/resources/structures/treasure2/submerged/sunken-ship1.nbt diff --git a/src/resources/structures/treasure2/submerged/sunken-ship2.nbt b/src/main/resources/structures/treasure2/submerged/sunken-ship2.nbt similarity index 100% rename from src/resources/structures/treasure2/submerged/sunken-ship2.nbt rename to src/main/resources/structures/treasure2/submerged/sunken-ship2.nbt diff --git a/src/resources/structures/treasure2/submerged/sunken-ship3.nbt b/src/main/resources/structures/treasure2/submerged/sunken-ship3.nbt similarity index 100% rename from src/resources/structures/treasure2/submerged/sunken-ship3.nbt rename to src/main/resources/structures/treasure2/submerged/sunken-ship3.nbt diff --git a/src/resources/structures/treasure2/submerged/underwater-ruin1.nbt b/src/main/resources/structures/treasure2/submerged/underwater-ruin1.nbt similarity index 100% rename from src/resources/structures/treasure2/submerged/underwater-ruin1.nbt rename to src/main/resources/structures/treasure2/submerged/underwater-ruin1.nbt diff --git a/src/resources/structures/treasure2/submerged/underwater-ruins2.nbt b/src/main/resources/structures/treasure2/submerged/underwater-ruins2.nbt similarity index 100% rename from src/resources/structures/treasure2/submerged/underwater-ruins2.nbt rename to src/main/resources/structures/treasure2/submerged/underwater-ruins2.nbt diff --git a/src/resources/structures/treasure2/submerged/underwater-ruins3.nbt b/src/main/resources/structures/treasure2/submerged/underwater-ruins3.nbt similarity index 100% rename from src/resources/structures/treasure2/submerged/underwater-ruins3.nbt rename to src/main/resources/structures/treasure2/submerged/underwater-ruins3.nbt diff --git a/src/resources/structures/treasure2/subterranean/basic1.nbt b/src/main/resources/structures/treasure2/subterranean/basic1.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/basic1.nbt rename to src/main/resources/structures/treasure2/subterranean/basic1.nbt diff --git a/src/resources/structures/treasure2/subterranean/basic2.nbt b/src/main/resources/structures/treasure2/subterranean/basic2.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/basic2.nbt rename to src/main/resources/structures/treasure2/subterranean/basic2.nbt diff --git a/src/resources/structures/treasure2/subterranean/basic3.nbt b/src/main/resources/structures/treasure2/subterranean/basic3.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/basic3.nbt rename to src/main/resources/structures/treasure2/subterranean/basic3.nbt diff --git a/src/resources/structures/treasure2/subterranean/basic4.nbt b/src/main/resources/structures/treasure2/subterranean/basic4.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/basic4.nbt rename to src/main/resources/structures/treasure2/subterranean/basic4.nbt diff --git a/src/resources/structures/treasure2/subterranean/basic5.nbt b/src/main/resources/structures/treasure2/subterranean/basic5.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/basic5.nbt rename to src/main/resources/structures/treasure2/subterranean/basic5.nbt diff --git a/src/resources/structures/treasure2/subterranean/cave1.nbt b/src/main/resources/structures/treasure2/subterranean/cave1.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/cave1.nbt rename to src/main/resources/structures/treasure2/subterranean/cave1.nbt diff --git a/src/resources/structures/treasure2/subterranean/cave2.nbt b/src/main/resources/structures/treasure2/subterranean/cave2.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/cave2.nbt rename to src/main/resources/structures/treasure2/subterranean/cave2.nbt diff --git a/src/resources/structures/treasure2/subterranean/cobb1.nbt b/src/main/resources/structures/treasure2/subterranean/cobb1.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/cobb1.nbt rename to src/main/resources/structures/treasure2/subterranean/cobb1.nbt diff --git a/src/resources/structures/treasure2/subterranean/crypt1.nbt b/src/main/resources/structures/treasure2/subterranean/crypt1.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/crypt1.nbt rename to src/main/resources/structures/treasure2/subterranean/crypt1.nbt diff --git a/src/resources/structures/treasure2/subterranean/ionic1.nbt b/src/main/resources/structures/treasure2/subterranean/ionic1.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/ionic1.nbt rename to src/main/resources/structures/treasure2/subterranean/ionic1.nbt diff --git a/src/resources/structures/treasure2/subterranean/iron-chamber1.nbt b/src/main/resources/structures/treasure2/subterranean/iron-chamber1.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/iron-chamber1.nbt rename to src/main/resources/structures/treasure2/subterranean/iron-chamber1.nbt diff --git a/src/resources/structures/treasure2/subterranean/iron-chamber2.nbt b/src/main/resources/structures/treasure2/subterranean/iron-chamber2.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/iron-chamber2.nbt rename to src/main/resources/structures/treasure2/subterranean/iron-chamber2.nbt diff --git a/src/resources/structures/treasure2/subterranean/mine1.nbt b/src/main/resources/structures/treasure2/subterranean/mine1.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/mine1.nbt rename to src/main/resources/structures/treasure2/subterranean/mine1.nbt diff --git a/src/resources/structures/treasure2/subterranean/obsidian-chamber1.nbt b/src/main/resources/structures/treasure2/subterranean/obsidian-chamber1.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/obsidian-chamber1.nbt rename to src/main/resources/structures/treasure2/subterranean/obsidian-chamber1.nbt diff --git a/src/resources/structures/treasure2/subterranean/pirate-chamber1.nbt b/src/main/resources/structures/treasure2/subterranean/pirate-chamber1.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/pirate-chamber1.nbt rename to src/main/resources/structures/treasure2/subterranean/pirate-chamber1.nbt diff --git a/src/resources/structures/treasure2/subterranean/wither-chamber1.nbt b/src/main/resources/structures/treasure2/subterranean/wither-chamber1.nbt similarity index 100% rename from src/resources/structures/treasure2/subterranean/wither-chamber1.nbt rename to src/main/resources/structures/treasure2/subterranean/wither-chamber1.nbt diff --git a/src/resources/structures/treasure2/surface/beached-ship1.nbt b/src/main/resources/structures/treasure2/surface/beached-ship1.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/beached-ship1.nbt rename to src/main/resources/structures/treasure2/surface/beached-ship1.nbt diff --git a/src/resources/structures/treasure2/surface/beached-ship2.nbt b/src/main/resources/structures/treasure2/surface/beached-ship2.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/beached-ship2.nbt rename to src/main/resources/structures/treasure2/surface/beached-ship2.nbt diff --git a/src/resources/structures/treasure2/surface/beached-ship3.nbt b/src/main/resources/structures/treasure2/surface/beached-ship3.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/beached-ship3.nbt rename to src/main/resources/structures/treasure2/surface/beached-ship3.nbt diff --git a/src/resources/structures/treasure2/surface/blacksmith1.nbt b/src/main/resources/structures/treasure2/surface/blacksmith1.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/blacksmith1.nbt rename to src/main/resources/structures/treasure2/surface/blacksmith1.nbt diff --git a/src/resources/structures/treasure2/surface/castle1.nbt b/src/main/resources/structures/treasure2/surface/castle1.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/castle1.nbt rename to src/main/resources/structures/treasure2/surface/castle1.nbt diff --git a/src/resources/structures/treasure2/surface/church1.nbt b/src/main/resources/structures/treasure2/surface/church1.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/church1.nbt rename to src/main/resources/structures/treasure2/surface/church1.nbt diff --git a/src/resources/structures/treasure2/surface/crypt2.nbt b/src/main/resources/structures/treasure2/surface/crypt2.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/crypt2.nbt rename to src/main/resources/structures/treasure2/surface/crypt2.nbt diff --git a/src/resources/structures/treasure2/surface/crypt3.nbt b/src/main/resources/structures/treasure2/surface/crypt3.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/crypt3.nbt rename to src/main/resources/structures/treasure2/surface/crypt3.nbt diff --git a/src/resources/structures/treasure2/surface/desert-tower2.nbt b/src/main/resources/structures/treasure2/surface/desert-tower2.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/desert-tower2.nbt rename to src/main/resources/structures/treasure2/surface/desert-tower2.nbt diff --git a/src/resources/structures/treasure2/surface/fortress1.nbt b/src/main/resources/structures/treasure2/surface/fortress1.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/fortress1.nbt rename to src/main/resources/structures/treasure2/surface/fortress1.nbt diff --git a/src/resources/structures/treasure2/surface/house1.nbt b/src/main/resources/structures/treasure2/surface/house1.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/house1.nbt rename to src/main/resources/structures/treasure2/surface/house1.nbt diff --git a/src/resources/structures/treasure2/surface/large-tower1.nbt b/src/main/resources/structures/treasure2/surface/large-tower1.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/large-tower1.nbt rename to src/main/resources/structures/treasure2/surface/large-tower1.nbt diff --git a/src/resources/structures/treasure2/surface/tower1.nbt b/src/main/resources/structures/treasure2/surface/tower1.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/tower1.nbt rename to src/main/resources/structures/treasure2/surface/tower1.nbt diff --git a/src/resources/structures/treasure2/surface/tower2.nbt b/src/main/resources/structures/treasure2/surface/tower2.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/tower2.nbt rename to src/main/resources/structures/treasure2/surface/tower2.nbt diff --git a/src/resources/structures/treasure2/surface/tower3.nbt b/src/main/resources/structures/treasure2/surface/tower3.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/tower3.nbt rename to src/main/resources/structures/treasure2/surface/tower3.nbt diff --git a/src/resources/structures/treasure2/surface/tower4.nbt b/src/main/resources/structures/treasure2/surface/tower4.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/tower4.nbt rename to src/main/resources/structures/treasure2/surface/tower4.nbt diff --git a/src/resources/structures/treasure2/surface/tower5.nbt b/src/main/resources/structures/treasure2/surface/tower5.nbt similarity index 100% rename from src/resources/structures/treasure2/surface/tower5.nbt rename to src/main/resources/structures/treasure2/surface/tower5.nbt diff --git a/src/resources/structures/treasure2/wells/canopy-wishing-well1.nbt b/src/main/resources/structures/treasure2/wells/canopy-wishing-well1.nbt similarity index 100% rename from src/resources/structures/treasure2/wells/canopy-wishing-well1.nbt rename to src/main/resources/structures/treasure2/wells/canopy-wishing-well1.nbt diff --git a/src/resources/structures/treasure2/wells/desert-wishing-well1.nbt b/src/main/resources/structures/treasure2/wells/desert-wishing-well1.nbt similarity index 100% rename from src/resources/structures/treasure2/wells/desert-wishing-well1.nbt rename to src/main/resources/structures/treasure2/wells/desert-wishing-well1.nbt diff --git a/src/resources/structures/treasure2/wells/desert-wishing-well2.nbt b/src/main/resources/structures/treasure2/wells/desert-wishing-well2.nbt similarity index 100% rename from src/resources/structures/treasure2/wells/desert-wishing-well2.nbt rename to src/main/resources/structures/treasure2/wells/desert-wishing-well2.nbt diff --git a/src/resources/structures/treasure2/wells/simple-well1.nbt b/src/main/resources/structures/treasure2/wells/simple-well1.nbt similarity index 100% rename from src/resources/structures/treasure2/wells/simple-well1.nbt rename to src/main/resources/structures/treasure2/wells/simple-well1.nbt diff --git a/src/resources/structures/treasure2/wells/wood-draw-wishing-well1.nbt b/src/main/resources/structures/treasure2/wells/wood-draw-wishing-well1.nbt similarity index 100% rename from src/resources/structures/treasure2/wells/wood-draw-wishing-well1.nbt rename to src/main/resources/structures/treasure2/wells/wood-draw-wishing-well1.nbt diff --git a/src/resources/treasure2-curseforge-logo.png b/src/main/resources/treasure2-curseforge-logo.png similarity index 100% rename from src/resources/treasure2-curseforge-logo.png rename to src/main/resources/treasure2-curseforge-logo.png diff --git a/src/resources/treasure2-github-logo.png b/src/main/resources/treasure2-github-logo.png similarity index 100% rename from src/resources/treasure2-github-logo.png rename to src/main/resources/treasure2-github-logo.png diff --git a/src/resources/assets/treasure2/textures/items/coins/charmed_gold_coin.png b/src/resources/assets/treasure2/textures/items/coins/charmed_gold_coin.png deleted file mode 100644 index 5db2a05e4..000000000 Binary files a/src/resources/assets/treasure2/textures/items/coins/charmed_gold_coin.png and /dev/null differ diff --git a/src/resources/assets/treasure2/textures/items/coins/charmed_silver_coin.png b/src/resources/assets/treasure2/textures/items/coins/charmed_silver_coin.png deleted file mode 100644 index 14ad47cf6..000000000 Binary files a/src/resources/assets/treasure2/textures/items/coins/charmed_silver_coin.png and /dev/null differ diff --git a/update.json b/update.json index 4dd31cd87..2786ff3fc 100644 --- a/update.json +++ b/update.json @@ -1,8 +1,8 @@ { "homepage": "https://minecraft.curseforge.com/projects/treasure2", "promos": { - "1.12.2-latest": "1.13.1", - "1.12.2-recommended": "1.13.1" + "1.12.2-latest": "1.14.0", + "1.12.2-recommended": "1.14.0" }, "1.12.2": { "0.5.0": "alpha release", @@ -41,6 +41,8 @@ "1.12.0": "Added Charms system.\nAdded Pouches (Coin Pouch, Lucky Pouch, Apprentice's Pouch, Master's Pouch).\nAdded versions to all loot table files - if new versions made, old version will be backed up as .bak files.\nAdded Charms to loot tables.\nAdded relative positioning for t2-chest command.\nConvert KeyRing to use Capabilities.BACKUP your world, you will lose KeyRing items on update!\nUsing GottschCore v1.13.0.\n", "1.12.1": "Fixed doubling of coins in Pouches bug (https://github.com/gottsch/gottsch-minecraft-Treasure/issues/142).\nAdded default values for MobProximitySpawners to prevent crashes (https://github.com/gottsch/gottsch-minecraft-Treasure/issues/152).\nAdded default charm assignments if loot table incorreclty configured (https://github.com/gottsch/gottsch-minecraft-Treasure/issues/146).", "1.13.0": "Added Ember Lock and Key.\nAdded Leaf Lock and Key.\nAdded Lightning Key.\nAdded ability to merge Keys on anvil.\nAdded Volcano Pit.\nAdded Blackstone Block (from mc1.16).\nIncreased Key success rate to 95%.\nIncreased Pilferer's Lock Pick success rate to 32%.\nIncreased Thief's Lock Pick success rate to 48%.\nUpdated loot tables to include Ember, Leaf and Lightning Keys.\nUpdated Chinese lang file.\n", - "1.13.1": "Fixed the large number of TileEntities created because of Gravestones. (Note, this is only for newly generated chunks).\nReduced likihood of Bound Soul gravestone to 30%.\nFixed the versioning.\n" + "1.13.1": "Fixed the large number of TileEntities created because of Gravestones. (Note, this is only for newly generated chunks).\nReduced likihood of Bound Soul gravestone to 30%.\nFixed the versioning.\n", + "1.13.2": "Fixed duplication bug on Harvesting Charms.\nFixed some loot tables with item spelling errors.Tweaked the epic charmed loot table.", + "1.14.0": "Revamped Loot Table management system - uses vanilla with tweaks.\nAdded Cardboard Box, Milk Crate and Crystal Skull chests.\nRegistered treasure loot tables with vanilla dungeon chests.\nAdded -facing, -chest, -locked and -sealed arguments to SpawnChestCommand.\nAdded Enchantment glow to Charmed Coins/Gems and updated images.\nUpdated to Forge 1.12.2-14.23.5.2854.\n" } }